Você está na página 1de 216

Informática

Industrial
PROFESSOR
Dr. Taiser Tadeu Teixeira Barros

ACESSE AQUI O SEU


LIVRO NA VERSÃO
DIGITAL!
DIREÇÃO UNICESUMAR
Reitor Wilson de Matos Silva Vice-Reitor Wilson de Matos Silva Filho Pró-Reitor de Administração Wilson de Matos Silva Filho
Pró-Reitor Executivo de EAD William Victor Kendrick de Matos Silva Pró-Reitor de Ensino de EAD Janes Fidélis Tomelin
Presidente da Mantenedora Cláudio Ferdinandi

NEAD - NÚCLEO DE EDUCAÇÃO A DISTÂNCIA


Diretoria Executiva Chrystiano Mincoff, James Prestes, Tiago Stachon Diretoria de Graduação e Pós-graduação Kátia Coelho Diretoria
de Cursos Híbridos Fabricio Ricardo Lazilha Diretoria de Permanência Leonardo Spaine Head de Graduação Marcia de Souza Head
de Metodologias Ativas Thuinie Medeiros Vilela Daros Head de Tecnologia e Planejamento Educacional Tania C. Yoshie Fukushima
Head de Recursos Digitais e Multimídias Franklin Portela Correia Gerência de Planejamento e Design Educacional Jislaine Cristina
da Silva Gerência de Produção Digital Diogo Ribeiro Garcia Gerência de Recursos Educacionais Digitais Daniel Fuverki Hey
Supervisora de Design Educacional e Curadoria Yasminn T. Tavares Zagonel Supervisora de Produção Digital Daniele Correia

PRODUÇÃO DE MATERIAIS

Coordenador de Conteúdo Fábio Gentilin Designer Educacional Patricia Ramos Peteck Curadoria Elziane Vieira Alencar
Revisão Textual Nagela Neves; Ariane Fabreti Editoração André Morais Ilustração Bruno Cesar Pardinho; Eduardo
Aparecido; Geison Ferreira Realidade Aumentada Maicon Douglas Curriel; Matheus Alexander de Oliveira Guandalini;
César Henrique Seidel Fotos Shutterstock.

FICHA CATALOGRÁFICA

C397 CENTRO UNIVERSITÁRIO DE MARINGÁ.


Núcleo de Educação a Distância. BARROS, Taiser Tadeu Teixeira.

Informática Industrial. Taiser Tadeu Teixeira Barros. Maringá


- PR.: Unicesumar, 2021.

216 p.
ISBN: 978-65-5615-621-7
“Graduação - EaD”.

1. Informática 2. Industrial 3. Programação. EaD. I. Título.

CDD - 22 ed. 004.45

Impresso por:

Bibliotecário: João Vivaldo de Souza CRB- 9-1679 Pró Reitoria de Ensino EAD Unicesumar
Diretoria de Design Educacional

NEAD - Núcleo de Educação a Distância


Av. Guedner, 1610, Bloco 4 - Jd. Aclimação - Cep 87050-900 | Maringá - Paraná
www.unicesumar.edu.br | 0800 600 6360
A UniCesumar celebra os seus 30 anos de
história avançando a cada dia. Agora, enquanto
Universidade, ampliamos a nossa autonomia Tudo isso para honrarmos a
e trabalhamos diariamente para que nossa nossa missão, que é promover
educação à distância continue como uma das a educação de qualidade nas
melhores do Brasil. Atuamos sobre quatro diferentes áreas do conhecimento,
pilares que consolidam a visão abrangente do formando profissionais
que é o conhecimento para nós: o intelectual, o cidadãos que contribuam para o
profissional, o emocional e o espiritual. desenvolvimento de uma sociedade
justa e solidária.
A nossa missão é a de “Promover a educação de
qualidade nas diferentes áreas do conhecimento,
formando profissionais cidadãos que contribuam
para o desenvolvimento de uma sociedade
justa e solidária”. Neste sentido, a UniCesumar
tem um gênio importante para o cumprimento
integral desta missão: o coletivo. São os nossos
professores e equipe que produzem a cada dia
uma inovação, uma transformação na forma
de pensar e de aprender. É assim que fazemos
juntos um novo conhecimento diariamente.

São mais de 800 títulos de livros didáticos


como este produzidos anualmente, com a
distribuição de mais de 2 milhões de exemplares
gratuitamente para nossos acadêmicos. Estamos
presentes em mais de 700 polos EAD e cinco
campi: Maringá, Curitiba, Londrina, Ponta Grossa
e Corumbá), o que nos posiciona entre os 10
maiores grupos educacionais do país.

Aprendemos e escrevemos juntos esta belíssima


história da jornada do conhecimento. Mário
Quintana diz que “Livros não mudam o mundo,
quem muda o mundo são as pessoas. Os
livros só mudam as pessoas”. Seja bem-vindo à
oportunidade de fazer a sua mudança!

Reitor
Wilson de Matos Silva
Dr. Taiser Tadeu Teixeira Barros

Olá, estimados(as) alunos(as), meu nome é Taiser, ingressei na


engenharia, pois sempre fui muito curioso e interessado por ro-
bôs! Comecei a trabalhar com robótica, quando fiz meu mestrado
e, atualmente, tenho uma empresa de robótica educacional.
Segui meus estudos, fazendo doutorado na área de informática
na educação! Comecei a dar aulas em um cursinho de Inglês,
enquanto atuava como engenheiro na indústria e, alguns anos
depois, surgiu a oportunidade de dar aulas em uma escola téc-
nica. Já atuei como professor universitário e acredito que devo
seguir na docência, pois gosto muito desta atividade. Ainda,
estou em contato com a indústria, para a qual presto consul-
toria eventualmente na área da automação. Saindo do mundo
profissional, gosto de jogar xadrez com meu filho; praticar artes
marciais, já fiz Karatê, Tae Kwon Do, Capoeira, Muai Thay e Jiu
Jitsu. Curto Rock, desde clássicos como Beatles ao Heavy Metal
do Iron Maiden! Sou gaúcho e não posso deixar de falar que sou
um excelente churrasqueiro!!! Além das atividades que citei an-
teriormente, não posso deixar de mencionar a que mais gosto:
Aqui você pode ficar com a família, minha esposa Fabiane e meus filhos, Alice e
conhecer um Matheus! Por fim, espero que aproveitem o material que produzi
pouco mais sobre
sobre informática industrial, pois utilizei exemplos práticos que
mim, além das
informações do serão muito úteis para você! Um forte abraço e bons estudos!
meu currículo. http://lattes.cnpq.br/4244800535900925
REALIDADE AUMENTADA

Sempre que encontrar esse ícone, esteja conectado à internet e inicie o aplicativo
Unicesumar Experience. Aproxime seu dispositivo móvel da página indicada e veja os
recursos em Realidade Aumentada. Explore as ferramentas do App para saber das
possibilidades de interação de cada objeto.

RODA DE CONVERSA

Professores especialistas e convidados, ampliando as discussões sobre os temas.

PÍLULA DE APRENDIZAGEM

Uma dose extra de conhecimento é sempre bem-vinda. Posicionando seu leitor de QRCode
sobre o código, você terá acesso aos vídeos que complementam o assunto discutido

PENSANDO JUNTOS

Ao longo do livro, você será convidado(a) a refletir, questionar e transformar. Aproveite


este momento.

EXPLORANDO IDEIAS

Com este elemento, você terá a oportunidade de explorar termos e palavras-chave do


assunto discutido, de forma mais objetiva.

EU INDICO

Enquanto estuda, você pode acessar conteúdos online que ampliaram a discussão sobre
os assuntos de maneira interativa usando a tecnologia a seu favor.

Quando identificar o ícone de QR-CODE, utilize o aplicativo Unicesumar


Experience para ter acesso aos conteúdos on-line. O download do aplicativo
está disponível nas plataformas: Google Play App Store
INFORMÁTICA INDUSTRIAL

Na indústria, assim como ocorre em nosso cotidiano, é necessária a utilização de equipamentos


capazes de colaborar com as tarefas realizadas pelo ser humano. Nosso smartphone, por exemplo,
permite-nos comunicar com amigos e familiares, mantém nossa agenda atualizada e nos ajuda a
organizar e automatizar pequenas tarefas. E, na indústria, qual ou quais os equipamentos utilizados
para facilitar as tarefas de controle de um processo ou equipamento industrial?
Assim como utilizamos computadores para digitar um texto, acessar sites e controlar algumas
tarefas; na indústria, a utilização de computadores e de equipamentos similares é extensivamen-
te empregada. Tanto os nossos computadores pessoais — notebooks, smartphones — como os
consoles de jogos compartilham com os computadores e controladores industriais dispositivos
eletrônicos e estruturas de dados semelhantes.
Atualmente, os assistentes pessoais inteligentes — como é o caso do google assistant, Alexa e
Siri — permitem, com um simples comando de voz, que uma tarefa cotidiana, como acionar a ilu-
minação de um cômodo da residência, seja realizada. Da mesma forma, na indústria, um operador
de um processo pode acionar um equipamento instalado remotamente, utilizando um botão de
comando ou um comando efetuado na tela de um dispositivo, como um tablet. Você, aluno(a), já
utilizou algum assistente pessoal? Caso não conheça um destes assistentes, faça um teste com o
google assistant, por exemplo, utilizando o comando de voz e solicitando "google, me mostre ima-
gens de equipamentos elétricos”.
Ao usarmos um assistente pessoal, utilizando, por exemplo, um comando ou busca por voz,
estamos em um nível de abstração elevado, mas que possui diversas camadas inferiores respon-
sáveis por transformar nosso comando de voz em linguagem de máquina, que será interpretada/
processada por um microprocessador. E da mesma forma que podemos fazer uma pesquisa por voz
no google, ou acionar um dispositivo em nossa residência, os processos/equipamentos industriais
podem ser controlados por meio de diferentes tecnologias. A tecnologia mais comumente adotada
é o emprego dos chamados Controladores Lógicos Programáveis ou CLPs.
Os Controladores Lógicos Programáveis são dispositivos capazes de efetuar o controle de dife-
rentes equipamentos industriais, assim como atuadores, bobinas e motores. No decorrer de nos-
sas unidades de estudo, conheceremos as diferentes linguagens de programação definidas pela
norma IEC 61131-3. Veremos o hardware dos CLPs com relação às entradas, saídas e módulos de
comunicação. Uma vez conhecido o hardware dos CLPs, estudaremos seu software e como criar
programas, utilizando as diferentes linguagens disponíveis, e com elementos de temporização, con-
tagem e comunicação com outros módulos, como é o caso da comunicação com sistemas SCADA
(Softwares de supervisão, também conhecidos como supervisórios).
Ao concluir a disciplina de Informática Industrial você estará apto a atuar no contexto da utiliza-
ção de equipamentos como os CLPs, seja na aplicação ponto a ponto (utilizando somente um CLP
para controlar determinado equipamento/processo), seja comunicando diferentes controladores
via utilização de barramentos industriais, como o modbus ou devicenet. Ainda, você terá adquirido
conhecimentos relativos à estrutura de uma rede de informática industrial que comunica o “chão de
fábrica”, onde os equipamentos estão instalados com os níveis gerenciais da empresa, em que os
dados gerados na fábrica são inputs para softwares de gestão como os ERPs (Enterprise Resource
Planning).
E, então, você conseguiu vislumbrar a aplicação dos tópicos que serão abordados nesta disciplina,
dentro do seu horizonte profissional? Espero que esta visão inicial possa demonstrar a importância
da informática industrial na sua futura carreira de engenheiro. Vamos aprofundar estes conheci-
mentos, então!
CAMINHOS DE
APRENDIZAGEM

1
11 2
27
INTRODUÇÃO AO CLP: HARDWARE: CONCEITO DE
VISÃO GERAL DOS CLP, TIPOS DE ENTRADAS
CONTROLADORES E SAÍDAS, ARQUITETURA,
LÓGICOS TIPOS DE INTERFACE DE
COMUNICAÇÃO ENTRE O
PROGRAMÁVEIS CLP E O COMPUTADOR

3
43 4
65
NORMA IEC 61131-3 : OPERADORES
LINGUAGENS DE BÁSICOS: LÓGICA
PROGRAMAÇÃO COMBINACIONAL
E SEQUENCIAL NO
CLP

5 87 6
109
PROGRAMAÇÃO INSTRUÇÕES DE
EM LINGUAGEM TEMPORIZAÇÃO
LADDER E CONTAGEM
NA LINGUAGEM
LADDER
7
133
8
149
PROGRAMAÇÃO PROJETOS DE SISTEMAS
AUTOMÁTICOS
EM LINGUAGEM
UTILIZANDO
GRAFCET/SFC MODELAGEM
SFC (GRAFCET) E
CONVERSÃO SFC
(GRAFCET) – LADDER

9
169
SISTEMAS DE
SUPERVISÃO,
CONTROLE E
AQUISIÇÃO DE
DADOS (SCADA)
1
Introdução ao CLP:
Visão geral dos
Controladores Lógicos
Programáveis
Dr. Taiser Tadeu Teixeira Barros

Nesta unidade, serão apresentados conceitos básicos relativos ao


Controlador Lógico Programável (CLP). Trata-se de um dispositivo
amplamente utilizado em aplicações industriais para controle de
equipamentos e processos, permitindo, além do controle, o geren-
ciamento de dados e comunicação com outros setores da empresa.
UNICESUMAR

A indústria automobilística trouxe diversos novos conceitos, como é o caso do sistema


Ford de produção. No contexto da automação, as linhas de produção de veículos evoluí-
ram e criaram um ambiente fértil para o desenvolvimento de tecnologias, assim como
foi o caso dos painéis de controle elétricos a relé. Porém, para estabelecer uma lógica
a relés, o tempo despendido era grande, uma vez que todo o cabeamento do painel
precisava ser substituído, a cada mudança de lógica. Você saberia dizer de que forma
os engenheiros conseguiram resolver este problema, tornando o processo mais ágil?
A solução encontrada para substituir os painéis a relé passou pelo desenvolvimento
de uma nova arquitetura de equipamento, que permitia modificar a lógica do processo
não mais por meio de conexões físicas, mas sim por programação. Um destes equipa-
mentos, desenvolvido na década de 60 foi o MODICON (Modular Digital Control),
sendo esse equipamento o ponto de partida dos atuais controladores lógicos progra-
máveis (PARR, 2003).
O CLP (Controlador Lógico Programável) é um equipamento consolidado no
contexto da automação industrial e, também, em outras aplicações, como o controle
de iluminação predial e aplicações didáticas. Seja em um simples processo de auto-
mação de uma máquina, utilizando algumas unidades de pontos de entrada e saída,
seja o controle de uma planta industrial complexa, o CLP é utilizado como elemento
principal de controle, coleta e pré-processamento de dados. Com referência ao nome
deste equipamento, qual o significado que você encontra em cada uma das três palavras
“controlador”, “lógico” e “programável”? Como estas características podem auxiliar no
cotidiano fabril e social?
O CLP levou para o “chão de fábrica” uma série de novas possibilidades, tanto em
relação à automação como também na informática industrial. Processos que dependiam
de comandos totalmente elétricos, passaram a ser descritos por lógicas implementadas
“digitalmente”, ou seja, programadas. E, assim, a flexibilidade da automação deu um salto
extremamente significativo. Esta relação ao impacto do CLP para a indústria pode ser
comparada com o impacto que tivemos com a introdução do Smartphone, em nossa
sociedade, e junto com ele, toda uma gama de aplicativos que disponibilizam facilida-
des, em nosso dia a dia, assim, como foi o caso dos aplicativos de delivery, transporte e
no contexto educacional. Acesse o link do QR que disponibiliza o artigo http://www.
scielo.org.co/pdf/apl/v36n1/1794-4724-apl-36-01-00155.pdf, este traz resultados de
um estudo sobre utilização do Smartphone no contexto educacional.
Para contextualizar as facilidades que o CLP/Smartphone trouxeram para o contexto
industrial/Social, proponho avaliarmos uma situação hipotética: você não tem Smar-
tphone (sim, já existiu uma época (eu vivi nela), em que não tínhamos o Smartphone)
e você está distante de sua casa, quando inicia uma forte chuva! Quais são suas opções
para voltar para sua casa? (1) Você pode ligar para seus pais, cônjuges, irmãos ou outra
pessoa para lhe buscar (mas se lembre que você não tem o Smartphone ou, piorando,

12
UNIDADE 1

você não possui nem um celular, o que o obrigaria a buscar um telefone público para realizar a ligação).
(2) Você pode tomar o transporte público, porém não está perto de um ponto de tomada de transporte.
(3) Pode usar um serviço de táxi ou, ainda, (4) não tendo resolvido sua situação com nenhuma das três
possibilidades anteriores, você decide caminhar até sua residência, resultando em cansaço e, provavel-
mente, um resfriado por ter chegado todo molhado em casa.
Agora, vamos colocar no contexto um pequeno dispositivo, com dimensão aproximada de 200 x 100
mm, pesando menos que 200g, dotado de processador, memória, módulos GSM, GPS, tela com interface
touch screen e que possui diversos aplicativos (softwares instalados). Sim, esta é a descrição de um Smar-
tphone genérico, com o qual você poderia acionar um aplicativo de transporte, que em poucos minutos
lhe traria um motorista, este o levaria com segurança e por um preço acessível até sua residência, antes
que a chuva ficasse mais forte.
Da mesma forma que o Smartphone nos trouxe este tipo de facilidade, o CLP, no contexto industrial,
permitiu que um técnico ou engenheiro responsável pelo projeto de um comando de automação, pudesse
migrar de uma situação em que precisava fazer toda uma lógica física, conectando cabos em contatos
e bobinas de relés para uma nova situação na qual a lógica poderia ser modificada, simplesmente, pro-
gramando-a e, depois, transferindo-a para a memória do CLP.
Similarmente ao exemplo em que o Smartphone transformou a situação da chuva, traga novos exem-
plos de como este dispositivo já facilitou sua vida diária, seja em uma situação de mobilidade urbana,
de estudos, seja em um contexto geral. Anote a situação em seu diário de bordo e reflita como seria
resolvê-la, sem o uso do Smartphone.

DIÁRIO DE BORDO

13
UNICESUMAR

O Controlador Lógico Programável (CLP) é um dispositivo de controle amplamente


empregado no contexto industrial e em determinadas aplicações comerciais, prediais
e, até mesmo, residenciais. Franchi (2008) considera o CLP como um computador
projetado para trabalhar em ambiente industrial e que possui uma interface amigá-
vel com o usuário, tendo como função executar controle de vários tipos e níveis de
complexidade. Já Lamb (2015) define o CLP como um computador digital que serve
para controlar processos eletromecânicos e, diferentemente de computadores de uso
geral, possuem várias entradas e saídas e características, como imunidade a ruídos
elétricos e resistência a impactos.
Particularmente, trago a definição do CLP como sendo um dispositivo que possui
entradas e saídas (digitais e analógicas), além de módulos de comunicação, que podem
receber programação para executar diferentes tarefas, tanto no contexto industrial
como em aplicações de automação em geral.
O histórico do CLP tem relação direta com a indústria automotiva, como des-
crevem Hackworth e Hackworth Júnior (2003), trazendo as primeiras máquinas
que constituíam os processos de automação, compostas por dispositivos mecânicos
(cames, engrenagens e alavancas), e, à medida que a complexidade dos processos
aumentou, também cresceu a necessidade de mais sistema de controle sofisticado.
Com a evolução dos processos industriais, os relés foram desenvolvidos e conectados,
conforme necessidade, para fornecer a lógica de controle de operação da máquina
e dos processos que precisavam de poucas modificações ou que nunca precisavam
ser alterados.
À medida, porém, que os processos de fabricação e as máquinas evoluíram, mo-
dificar as lógicas implementadas a relé se tornou mais frequente e necessário, o que
consumia muito tempo e, por muitas vezes, gerava erros ("bugs") e retrabalho. A fim
de aprimorar as questões que limitavam os processos de fabricação e as máquinas,
uma nova tecnologia se fazia necessária. E foi através da indústria automobilística
dos EUA, nos anos 60 a 70, que surgiram os primeiros protótipos de controladores
lógicos programáveis (PARR, 2003).
As fábricas de automóveis apresentavam mudanças nas técnicas de fabricação
para cada novo modelo que era produzido e, em alguns casos, para alterações no
mesmo modelo, melhorias deveriam ser feitas durante o ano do modelo, o que exigia
um dinamismo na modificação do projeto; e o CLP forneceu uma maneira fácil de
reprogramar as conexões de lógica, ao invés de realmente reconectar toda a fiação
do sistema de controle. A primeira versão comercial do dispositivo — que conhe-
cemos, hoje, como CLP — foi o MODICON (acrônimo do inglês, modular digital
controller), sendo Richard E. Morley (Dick Morley) apontado como o inventor deste
dispositivo, sendo conhecido como o “pai” do CLP. Atualmente, a marca MODICON
pertence à Schneider Electric.

14
UNIDADE 1

Gostaria de convidar você a ler uma entrevista do grande inventor e


engenheiro Dick Morley, responsável por uma série de inventos no
campo da automação e que trouxe, dentre outros equipamentos, o
CLP no formato como o conhecemos atualmente.
Para acessar, use seu leitor de QR Code.

Com relação ao funcionamento do CLP, é fundamen-


tal compreender que o ele executa o processamento de
uma lógica programada. Basicamente, o CLP executa Leitura das
ciclos de varredura (scan) em que ocorre: (1) uma Entradas
leitura do estado de suas entradas, (2) a interpretação
do programa que contém a lógica informada pelo pro-
gramador e (3) a atualização do estado das saídas. A
Figura 1 traz uma representação destas etapas, sendo o Execução do
significado desta figura fundamental para compreen- S Programa
der como ocorre a execução da lógica programada C
A
pela CPU do CLP. (Interpretação
N da Lógica)
Uma descrição mais detalhada sobre como a lógica
programada é interpretada/executada no CLP.
Figura 1 - Ciclo de Scan do CLP / Fonte: adaptada de Parr (2003).

Descrição da Imagem: Na Figura 1, é possível observar três eta- Atualização


pas do Ciclo de Scan, no seguinte fluxograma: no topo temos um das saídas
retângulo com o texto "Leitura das Entradas", abaixo temos um
quadrado com o texto "Execução do Programa (Interpretação da
Lógica)", em seguida há um retângulo com o texto "Atualização das
saídas" e, por fim, uma seta identificada como "Scan" que retorna
para o início do ciclo.

O funcionamento do CLP referencia a leitura das suas entradas e a atualização das suas saídas.
De uma forma mais minuciosa, o que são as entradas e saídas do CLP?

15
UNICESUMAR

REALIDADE
AUMENTADA
As entradas do CLP são pontos de conexão que
possuem uma arquitetura capaz de interpretar
sinais de diferentes dispositivos (digitais ou ana-
lógicos), como botoeiras de comando e sensores.
Os dispositivos conectados nas entradas físicas
do CLP causam a comutação de contatos lógicos
endereçados nas respectivas entradas.

Como funciona um Controlador


Lógico Programável?

As saídas do CLP são pontos de conexão que podem gerar sinais (digitais ou analógicos) aplicados ao
processo/máquina/equipamento controlado. Ainda, as entradas/saídas dos CLPs poderão estar localizadas
remotamente em módulos fisicamente separados da Unidade Central de Processamento (UCP ou CPU,
do inglês “Central Processing Unity”) do CLP, comunicando-se com ele, por meio de um barramento
industrial com determinado protocolo, como é o caso do profinet, profibus, devicenet, dentre outros.
A CPU do CLP é similar a uma CPU de um computador desktop, tablet ou Smartphone, sendo ela
responsável por controlar a operação do computador e realizar suas funções de processamento de dados
(STALLINGS, 2010). Maiores detalhes sobre as estruturas de entradas e saídas dos CLPs bem como intera-
ção com o funcionamento da CPU serão discutidos, posteriormente, no decorrer das unidades de estudo.

Quando estudamos os dispositivos de automação, assim como é


o caso dos CLPs, é fundamental utilizarmos um recurso oferecido
pelos fabricantes: os catálogos técnicos. Estes são documentos
que trazem informações substanciais sobre linhas de dispositivos
e modelos oferecidos pelos fabricantes, o que facilita muito,
quando precisamos especificar um equipamento para uma
aplicação. Neste vídeo, trago para vocês uma breve análise sobre
catálogos técnicos e como eles podem contribuir para ampliar
nossos conhecimentos sobre um determinado equipamento.

16
UNIDADE 1

Com relação à programação propriamente dita, os CLPs podem ser programados utilizan-
do-se de diferentes linguagens, desde linguagens de alto nível como C# e C++ (como é o
caso da linha PLCnext da Phoenix) e linguagens com uma maior relação com o contexto
industrial, como é o caso da linguagem Ladder.
Para garantir uma padronização entre as linguagens adotadas pelos diferentes fabri-
cantes, a norma IEC 61131 na sua terceira parte (IEC 61131 - 3) especifica as linguagens
de programação para os CLPs e estabelece todos os parâmetros necessários para que
estas linguagens obedeçam, por exemplo, a sintaxe de utilização de um comando em
específico. Com a normatização das linguagens, é garantido que independentemente
de qual modelo de CLP for utilizado de um determinado fabricante, o programador
conseguirá, em um período de tempo relativamente baixo, adaptar-se com um novo
ambiente de programação.
As linguagens de programação padronizadas pela IEC 61131 são: Ladder, texto es-
truturado (ST - Structured Text), Lista de instruções (IL - Instruction List), Diagrama
de Blocos (FBD - Function Block Diagram) e Grafect (SFC - Sequential function chart).
E a escolha por uma destas linguagens em específico fica por conta do programador,
sendo muito comum optar pela linguagem ladder já que ela possui uma relação direta
com diagramas elétricos. A Figura 2 mostra a relação entre um diagrama elétrico e a
linguagem Ladder (que também é referenciada frequentemente como diagrama Ladder
ou diagrama de contatos).

+
13

14

1 2
11
K1

B0
12
A1

A2
11

12

13

14

K1
B0

B1

13 13
B1 K1 +
14 14

B0 B1 K1
A1
K1
A2 K1
3
l
Figura 2 - Relação do diagrama elétrico com Ladder: (1) diagrama elétrico; (2) diagrama elétrico rotacionado
90º no sentido anti-horário e (3) diagrama ladder correspondente / Fonte: o autor.

Descrição da Imagem: exemplo de relação entre diagrama elétrico e diagrama ladder correspondente. A figura
mostra uma linha vertical, à esquerda, com as descrições B0, B1, K1, A1, A2, 11, 12, 13 e 14 e linhas horizontais, à
direita, com as mesmas descrições em posições análogas.

17
UNICESUMAR

O item (1) da Figura 2 mostra um esquema com


duas botoeiras (B0/B1) que permitem energizar/
desenergizar a bobina K1. Se rotacionarmos o es-
quema elétrico (1) em 90° no sentido anti-horário
vamos obter o que se apresenta em (2) e substituin-
do cada elemento elétrico por seu correspondente
na linguagem ladder obtemos (3). Por analogia, é
possível observar que (2) e (3) são correspondentes.
A linguagem Ladder bem como o diagrama de
blocos (FBD) e o Grafcet são consideradas lingua-
gens gráficas, ou seja, são representadas por sím-
bolos na grande maioria de seus comandos, além
de utilizar algumas descrições no formato texto. Já
o texto estruturado (ST) e a lista de instruções (IL)
Figura 3 - Exemplo de programa desenvolvido utilizando a
são consideradas linguagens textuais, sendo estas linguagem ST - Texto Estruturado / Fonte: o autor.

similares a linguagens de alto nível, como é o caso Descrição da Imagem: programa desenvolvido utilizando
da linguagem Java. A Figura 3 traz um trecho de linguagem ST. A figura mostra um texto com os comandos
IF, THEN, ELSE junto aos símbolos :, =, ( e ).
programa escrito na linguagem ST.

Minha experiência profissional permite fazer uma analogia sobre a utilização dessas linguagens, em
que os programadores (que neste caso, são geralmente engenheiros ou técnicos) egressos de cursos
que possuem uma ênfase maior em hardware, assim como o caso de uma engenharia de automação
ou elétrica, acabam adotando o Ladder como linguagem principal utilizada. Já aqueles que possuem
uma base profissional com maior enfoque em software, assim como egressos da ciência da computação,
acabam por adotar o ST ou IL. Ainda, há uma situação que considero ideal na qual o profissional res-
ponsável pela programação do CLP consegue “unir” os pontos fortes de todas as linguagens, utilizando
todas elas em um mesmo programa.
Claro que poder se utilizar todas as linguagens dentro de um mesmo programa, depende, porém, do
ambiente de programação em permitir ou não a utilização de todas as linguagens padronizadas pela
IEC 61131. O ambiente de programação Codesys é um exemplo de ambiente que permite a utilização
de todas as linguagens, concomitantemente. E por ser um ambiente de programação completo, que
permite simulação e oferece uma licença gratuita para utilização não comercial, este será adotado para
o desenvolvimento da maioria dos exemplos apresentados no decorrer de nossas unidades de estudo.
Para realizar o download do codesys, basta acessar o endereço https://store.codesys.com/#, e me-
diante a criação de um usuário será liberado o acesso aos arquivos. A Figura 4 mostra a tela inicial do
codesys. A partir desta tela, pode ser criado um novo projeto para o qual será escolhida a linguagem
de programação a ser utilizada.

18
UNIDADE 1

Figura 4 - Tela inicial do software Codesys / Fonte: o autor.

Descrição da Imagem: tela de configuração de novo projeto para o ambiente codesys. A figura mostra uma coluna
em branco, à esquerda, com a descrição Devices no canto superior, e um retângulo, à direita, circulado por uma
área cinza escura, destacando uma pasta em amarelo com uma descrição Projects dentro de um retângulo azul.

O codesys permite a programação de controladores lógicos programáveis e de outros


hardwares, assim como é o caso do Raspberry PI e de módulos de controle automotivo
da Hydac (https://www.hydac.com.br/wp-content/uploads/p18502-0-10-14_hy-ttc_60_
web.pdf).
Assim como diferentes ambientes de programação ou também os chamados IDEs
(Integrated Development Environments, traduzido para o português corresponderia à
Ambientes de Desenvolvimento Integrado), as fabricantes disponibilizam uma série de
modelos de CLPs, compostos por CPUs, módulos auxiliares (comunicação/expansão
de I/Os), módulos de comunicação, remotas (que são módulos de I/O), dentre outros.

Neste Podcast, trago algumas situações que vivi e que se


relacionam com minha experiência profissional em automação,
no que diz respeito à programação, instalação e ensino sobre
Controladores Lógicos Programáveis. Para você, futuro engenheiro,
ter contato com a experiência profissional de engenheiros seniores
é uma ótima oportunidade de reforçar conceitos teóricos e saber
como eles são empregados na prática.

19
UNICESUMAR

Cada fabricante de CLP disponibiliza diferentes modelos com números de entradas/saídas que variam,
desde algumas unidades (por exemplo, 8 entradas/6 saídas) até alguns milhares de pontos de entrada/
saída (Input/Output (I/O)). Para conhecer cada um dos modelos disponibilizados pelos fabricantes,
eles disponibilizam catálogos técnicos e até aplicativos que orientam na escolha dos modelos de CLPs
e dos módulos disponíveis. A Figura 5 traz algumas especificações dos CLPs da linha Nexto produzida
pelo fabricante Altus.
CÓDIGO PORTAS DE COMUNICAÇÃO PROTOCOLOS EXPANSÃO DE ALIMENTAÇÃO CARTÃO DE REDUNDÂNCIA
BARRAMENTO INTEGRADA MEMÓRIA
2x Serial (RS-232 E RS-485/422) até 8
NX3010 1X Ethernet TCP/IP Protocolos padrão bastidores Não Sim Não

NX3020 2x Serial (RS-232 E RS-485/422) IEC 60870-5-104 Servidor, EtherCat até 24 Sim
CPUs 2X Ethernet TCP/IP Master e protocolos padrão bastidores Não Não

2x Serial (RS-232 E RS-485/422) IEC 60870-5-104 Servidor, EtherCat até 24


NX3030 2X Ethernet TCP/IP bastidores Não Sim Sim
Master e protocolos padrão

NX5000 Módulo Ethernet TCP/IP 10-100 Mbps


NX5001 Módulo Mestre PROFIBUS-DP
COMUNICAÇÃO NX5100 Cabeça de Rede de Campo MODBUS TCP
E REDES DE
CAMPO NX5101 Cabeça de Rede de Campo MODBUS TCP, 14 ED 24Vdc, 10 SD Transistor - sem troca a quente
NX5110 Cabeça de Rede de Campo PROFIBUS-DP
NX5210 Cabeça de Rede de Campo PROFIBUS-DP Redundante
NX1001 Módulo 16 ED 24Vdc
NX6000 Módulo 8 EA Tensão/Corrente 16 bits
ENTRADAS NX6010 Módulo 8 EA Termopar
NX6014 Módulo 8 EA Corrente com HART
NX6020 Módulo 8 EA RTD
NX2001 Módulo 16 SD 24 Vdc Transistor

SAÍDAS NX2020 Módulo 16 SD Relé


NX6100 Módulo 4 SA Tensão/Corrente 16 bits
MISTO NX1005 Módulo Misto 8 SD 24 Vdc Transistor e 8 ED 24 Vdc
ALIMENTAÇÃO NX8000 Fonte de Alimentação 24 Vdc 30 W

Figura 5 - Especificação de CLPs da linha Nexto do fabricante Altus, relação do diagrama elétrico com Ladder
Fonte: adaptada de Altus (2019).

Descrição da Imagem: trecho de catálogo técnico com informações sobre CLPs da linha Nexto da Altus. A figura traz uma coluna na
cor azul escuro, à esquerda, com as descrições CPUs, COMUNICAÇÃO E REDES DE CAMPO, ENTRADAS, SAÍDAS, MISTO e ALIMENTAÇÃO.
Uma coluna central na cor cinza, com várias descrições, estas iniciam com as letras NX seguidas por quatro dígitos numéricos e, por
fim, uma coluna mais à direita com informações complementares.

Conforme pode ser observado na Figura 5, é possível especificar três modelos de CPUs (NX3010,
NX3020 ou NX3030), módulos de entradas e saídas e fonte de alimentação, dentre outros módulos
disponíveis no catálogo, conforme disponibilizado pelo fabricante. Algumas abreviaturas que apa-
recem no catálogo são fundamentais para compreensão das funções apresentadas, assim como ED
(Entrada Digital), EA (Entrada Analógica), SD (Saída Digital, que pode ser a relé ou a transistor) e
SA (Saída Analógica).

20
UNIDADE 1

Com estas referências, é possível especificar qual o modelo mais apropriado para
uma determinada aplicação. As entradas e saídas digitais se referem a sinais booleanos,
ou seja, sinais do tipo ligado ou desligado (1 ou 0). O nível lógico 1 (ligado) correspon-
de fisicamente a 24 Volts, e o nível lógico 0 corresponde a 0 Volts. Assim, uma botoeira
do tipo NA conectada à entrada do CLP vai aplicar 24 Volts nesta entrada, quando for
acionada, o que internamente, na lógica do CLP, corresponde à aplicação de 1 lógico no
contato correspondente a esta entrada. Da mesma forma, quando acionamos uma bobina,
na lógica do CLP, a saída endereçada por esta bobina é acionada, o que corresponde ao
acionamento de um relé ou de um transistor no hardware do CLP.

Definir o número de entradas/saídas de um CLP (sejam elas digitais ou analógi-


cas) passa pela análise dos dispositivos que serão conectados ao CLP, tais com
botoeiras, sensores, atuadores, sinalizadores e outros dispositivos discretos.

Especificamente, em relação às saídas dos CLPs, elas são de dois tipos: a relé e a transistor.
A saída a relé é utilizada geralmente para aplicações mais simples em que não há a neces-
sidade de chavear a saída em uma frequência superior a 2 Hz, por exemplo, o acionamento
de bobinas de contatores. Já as saídas a transistor permitem chaveamento em frequências
que atingem algumas dezenas de quilohertz, como é o caso do acionamento, utilizando a
técnica de modulação por largura de pulso (PWM, do inglês, Pulse Width Modulation)
e trem de pulsos para posicionamento de servomotores ou de motores de passo.
Bom, com todos estes itens que discutimos referentes ao Controlador Lógico Pro-
gramável, podemos verificar que este equipamento oferece uma série de possibilidades
para a área da automação e para os engenheiros que o utilizam em aplicações diversas.
O conhecimento sobre os Controladores Lógicos Programáveis pode ser conside-
rado como mais uma ferramenta no “canivete suiço” do engenheiro, principalmente
no contexto da automação industrial, pois o CLP se tornou um dos principais hard-
wares utilizados no controle de uma máquina e/ou equipamento. Assim sendo, você,
como futuro(a) engenheiro(a), ao entrar em contato com os conceitos relativos aos
CLPs e demais equipamentos que se integram/comunicam com ele em diferentes
linguagens de programação utilizadas, estará se preparando para uma futura atuação
no mercado profissional.

21
Uma vez que discutimos sobre vários aspectos e características do Controlador Lógico Progra-
mável no decorrer deste texto, convido você para produzir um breve mapa conceitual das prin-
cipais informações sobre os CLP, tais como: O que é? Como funciona? Qual a sua origem? Como
programar? Fabricantes? Quais os modelos? etc.

Controlador Lógico Programável

Como Qual sua Como Quais os


O que é? Fabricantes?
funciona? origem? programar? modelos?

É um equipamento Efetua ciclos de Surgiu na década de 60 Pode ser programado Existem diversos Casa fabricante oferece
utilizado principalmente varredura (SCANs) que acompanhando o utilizando qualquer uma fabricantes, desde as uma diversidade de
no âmbito industrial com varificam os estados das desenvolvimento da das 5 linguagens grandes empresas de modelos compostos por
capacidade para exercer entradas, interpretam a indústria automobilística, estabelecidas conforme a material de automação diferentes módulos de
o controle de máquinas e lógica que foi sendo considerado como norma IEC 61131-1: como Siemens e WEG, e CPUs e I/Os,
processos. programada e atualizam seu inventor (”pai”) o Ladder, ST, IL, FBD, SFC. modelos espeíficos de disponibilizando estas
as saídas em funções da engenheiro Richard empresas menores. características através de
mesma. Morley. catálogos técnicos.

Figura 6 - Diagrama sobre características do CLP / Fonte: o autor.

22
1. O nome Controlador Lógico Programável (CLP) permite compreender exatamente a
função do equipamento. Como você descreveria o CLP, utilizando cada um dos três
termos que compõem o nome deste dispositivo?

2. A figura, que se apresenta mais adiante, representa um circuito simples composto por
duas botoeiras e uma bobina. Este circuito elétrico pode ser interpretado como uma
lógica OR (OU) das botoeiras, agindo como entradas, e da bobina, sendo a saída do
sistema. Se representarmos a lógica de funcionamento deste circuito, utilizando uma
tabela verdade, obtemos a seguinte tabela verdade:

Em que: os estados 0 e 1 correspondem res-


A B K1
pectivamente à botoeira aberta (0) e botoeira
fechada (1) e bobina desenergizada (0) e bobina
0 0 0
energizada (1). Tomando como referência os
0 1 1 símbolos do diagrama ladder apresentado na
Figura 2 (3), redesenhe a lógica OR elétrica em
1 0 1 seu equivalente Ladder.

1 1 1

A B

K1

Fonte: o autor.

Descrição da Imagem: diagrama elétrico referente a uma lógica OU implementada com botões e bobina.

23
3. Uma determinada aplicação industrial vai utilizar um CLP como dispositivo de contro-
le. A aplicação consiste em uma máquina que realiza a dobra de chapas, utilizando
atuadores hidráulicos. Os sinais elétricos que serão interpretados e gerados pelo CLP
serão: (i) entradas: duas botoeiras do tipo NA e uma NF, um sensor do tipo final de
curso e um sensor de altura analógico (saída em tensão), e (ii) saídas: dois sinalizadores
LED, dois relés de acoplamento e um drive para acionamento de motor de passo. Com
estas informações, qual seria a combinação de módulos a serem utilizados, tomando
como referência os códigos apresentados no catálogo da altus, conforme a Figura 3
(apresentada nesta unidade)?

4. A programação para computadores apresenta uma gama extensa de frameworks de


desenvolvimento e diferentes linguagens, como é o caso das linguagens C, C++, Java,
basic e python. Com relação à programação dos CLPs, as linguagens de programação
utilizadas são um pouco mais restritas, sendo que, conforme a norma IEC 61131, são
disponibilizadas cinco linguagens. Quais são estas linguagens?

5. Os catálogos de fabricantes utilizam nomenclaturas técnicas específicas e abreviações


para facilitar a identificação de componentes, módulos e demais dispositivos. Assim, no
contexto dos controladores lógicos programáveis, qual o significado das abreviaturas
ED, EA, SD e SA utilizadas nos catálogos e material técnicos sobre CLPs?

6. Uma das diferenças entre o CLP e um computador de uso comercial é a quantidade


de conexões possíveis com o mundo externo, utilizando pontos de entradas e saídas.
Após os tópicos discutidos no decorrer desta unidade de aprendizagem qual sua com-
preensão sobre as entradas e saídas dos CLPs?

24
25
26
2
Hardware: Conceito
de CLP, Tipos de
Entradas e Saídas,
Arquitetura, Tipos de
Interface de Comunicação
Entre o CLP e o Computador
Dr. Taiser Tadeu Teixeira Barros

Nesta unidade, analisaremos, de maneira mais aprofundada,


como funcionam as entradas, saídas e demais conexões dos Con-
troladores Lógicos Programáveis. Direcionaremos nossa atenção,
especificamente, para os itens de hardware e para os sinais que
são gerados, ou seja, qual a arquitetura dos circuitos utilizados,
quais os níveis de tensão e corrente empregados e como a inter-
pretação desses sinais se dá com relação ao programa (lógica)
desenvolvida no CLP.
UNICESUMAR

Você já tem uma noção do que é um Controlador Lógico Programável, como ele
funciona e quais são seus itens principais. Agora, aprofundaremos nossos conheci-
mentos sobre o hardware do CLP. Mas quando você escuta o termo hardware, qual
o significado que este termo lhe traz com relação ao CLP?
Quando nos referimos ao termo hardware, ele corresponde aos elementos físicos de
uma máquina ou equipamento. Geralmente, no contexto da informática comercial e/
ou industrial, o termo hardware consegue dar uma ideia do quão bom o equipamento
é, assim como definir diversas características do equipamento.
Especificamente, com relação ao CLP, uma análise sobre seu hardware permitirá
que sejam estabelecidos os seus números de pontos de I/O (I/O = Inputs/Outputs =
Entradas/Saídas), qual a tecnologia de comunicação (tipo de barramento, i.e profibus,
profinet, modbus…), sua capacidade de memória (armazenamento de programa,
memórias retentivas, de backup etc.) qual a capacidade de conectar módulos de
expansão e quais são estes módulos disponíveis, dentre outros.
Você já deve ter se preocupado anteriormente com o hardware de um equipa-
mento, por exemplo, quando foi adquirir seu smartphone, computador desktop (ou
notebook), smart tv, console de jogos, modem/roteador, dentre outros. Geralmente,
os itens principais que avaliamos são a memória RAM, memória de armazenamento
e processador, além das conexões disponíveis (como USB, HDMI, wireless etc.).
Da mesma forma, quando for necessário especificar um CLP, teremos que nos
preocupar em saber quais os requisitos de nossa aplicação para que o modelo de
CLP selecionado contenha todas as características necessárias. Para falarmos em es-
pecificação de hardware, podemos utilizar o exemplo clássico para escolher um novo
Smartphone. Então, sugiro, neste momento, que você faça um experimento e tente
descrever as características de hardware do seu Smartphone. Qual a sua capacidade
de memória? Qual a resolução da(s) câmera(s), por que você escolheu este modelo?
Avaliou a relação custo-benefício? O equipamento atendeu suas necessidades/expec-
tativas? Quais as características mais importantes que devemos considerar na hora
da compra? O processador utilizado? Ou a duração da bateria? Qual a característica
mais importante?

28
UNIDADE 2

Assim como especificar um Smartphone para o nosso uso pessoal, especificar um


CLP ou um outro equipamento de automação industrial exige o conhecimento de
suas características técnicas. Por exemplo, quando adquiri meu último Smartphone,
levei em consideração que minha maior necessidade era a presença de boas câmeras,
itens que utilizo constantemente para produzir material didático. Ainda, considerei
fundamental o armazenamento de 128 GB e uma bateria que entregasse pelo menos
24 horas de autonomia. Definidas estas especificações, cheguei em uma outra espe-
cificação que, ainda, não foi citada: o custo do equipamento. Este, assim como nas
aplicações industriais, é um ponto fundamental na escolha de itens pessoais, uma vez
que sempre tentamos equilibrar, buscando o menor custo que permita a aquisição
do melhor equipamento possível. Isto é, fundamentalmente, definido pela chamada
relação custo-benefício.
Assim, adquiri um Smartphone Android, com 6 GB de RAM, armazenamento de
128 Gb com possibilidade de expansão por cartão de 1T, Processador Snapdragon,
câmera quádrupla com sensor principal de 64 M e bateria de 5600 mA. O valor pago
ficou na faixa de R$ 2.000,00.
Anote os dados no seu diário de bordo para que possa fazer uma comparação
com a situação que apresentei.

DIÁRIO DE BORDO

29
UNICESUMAR

Para estudarmos o Controlador Lógico Programável, levando em consideração o seu


Hardware, é importante conhecermos algumas das estruturas/arquiteturas utilizadas.
Por exemplo, com relação às entradas, existem circuitos eletrônicos clássicos utilizados
para garantir o funcionamento necessário com relação às grandezas elétricas, como
tensão e corrente.
O circuito apresentado na Figura 1 traz a representação de circuito, contendo os
elementos resistor, diodo e opto acoplador, uma configuração típica de entrada com
isolamento realizado por um opto acoplador. Assim, mesmo para diferentes níveis de
tensão aplicados na entrada, será garantido que o nível utilizado internamente seja de 5
Volts (nível de tensão utilizado na lógica “digital” TTL).

+5V

TTL

COM
optoacoplador

Figura 1 - Circuito utilizado para adequação de sinal de entrada em CLPs / Fonte: adaptada de Jack (2010, p. 36).

Descrição da Imagem: a imagem mostra linhas em zigue-zague no canto esquerdo seguido por uma estrutura
triangular com a descrição COM no canto inferior. Ainda, na porção central estão duas outras estruturas triangu-
lares que representam diodos com a descrição opto acoplador na parte inferior e TTL na porção superior direita.
Ainda, um retângulo formado por linhas tracejadas na porção direita da figura contém pequenas flechas escuras
que representam o componente opto acoplador.

Da mesma forma que para as entradas, as saídas dos CLPs precisam adequar os níveis
de tensão/corrente que são entregues para a carga, assim existem algumas configurações
básicas comumente utilizadas, conforme representado na Figura 2.

30
UNIDADE 2

+V +V
optoacoplador Saída em
Corrente Saída a
TTL Alternada relé

TTL

optoacoplador
Saída em
TTL Corrente
Alternada

Figura 2 - Circuitos utilizados para adequação de sinais de saída dos CLPs. / Fonte: adaptada de Jack (2010, p. 38).

Descrição da Imagem: representação de circuitos, contendo os elementos resistor, diodo, relé, tiristor, capacitor,
transistor e opto acoplador. A imagem é composta por três blocos principais: o localizado no canto superior esquerdo
possui linhas em zigue-zague, uma estrutura triangular e flechas escuras, além das descrições opto acoplador e saída
em corrente contínua. O bloco superior à direita possui uma representação de letras m conectadas, representando
uma bobina e a descrição saída a relé. E, por fim, o terceiro bloco está localizado na região inferior central da figura
e possui elementos similares e a descrição saída em corrente alternada.

Na Figura 2, o circuito de saída em corrente contínua utiliza um transistor para entregar


um nível de tensão contínua à carga. Este tipo de saída é conhecido como saída a transistor
e é utilizado quando se faz necessário um chaveamento da saída em frequências consi-
deráveis (na faixa de algumas dezenas de Quilohertz), assim como no caso da utilização
de modulação por largura de pulso (PWM - Pulse Width Modulation) ou da geração
de trem de pulso para controle de drives. Já o circuito com saída a relé é utilizado para
chavear cargas do tipo “on-off ” que não serão acionadas frequentemente, assim como
é o caso de ligar um contator que mantém um motor acionado por um longo período.
Os relés não são projetados para operar em frequências elevadas, por isso alguns
fabricantes recomendam não os submeter a frequências superiores aos 2 Hz, mesmo
em situações de teste.

31
UNICESUMAR

As saídas a relé são comumente designadas como saídas com “contato seco” e permitem
que sejam chaveados sinais em corrente contínua ou alternada, sendo necessário observar
os limites de tensão/corrente suportados pelos contatos dos relés. Ainda, um terceiro
circuito disponibilizado em alguns modelos de CLP são as saídas em corrente alternada,
as quais utilizam tiristores para chavear os sinais.

O que muda na lógica de programação, se utilizarmos uma saída a transistor ou


a relé? Quando ambas as saídas forem associadas com bobinas comuns, não há
diferença, pois vão ser acionadas no modo on-off. Mas se for necessário utilizar
um comando específico do CLP para gerar um trem de pulso, por exemplo, é
imprescindível que a saída utilizada seja do tipo transistorizada e, consequente-
mente, a lógica aplicada deve ser adequada.

Uma observação importante sobre as saídas dos CLPs é que as elas devem ser protegidas
sempre que possível para evitar sua danificação. É uma prática comum utilizar acopla-
dores (opto acopladores ou acopladores a relé para isolar estas saídas). Assim, ao invés
de conectarmos uma saída do CLP diretamente a uma bobina de um contator, a saída do
CLP é conectada ao acoplador, que, ao ser acionado, realiza o acionamento do contator.
Assim, um eventual problema elétrico que ocorresse nos entornos da bobina do
contator não causaria danos à saída do CLP. Claro que este tipo de situação deve ser pre-
visto, juntamente com uma análise de viabilidade financeira. Até o momento, o conceito
apresentado se refere ao tipo digital de entradas e saídas, ou seja, entrada e saídas do tipo
ligadas/desligadas, associadas simplesmente com a ausência ou presença de sinal elétrico.
Por exemplo, ao trabalharmos com uma tensão de 24 Volts em corrente contínua para
alimentar as entradas/saídas do CLP, o nível de 0 Volts de tensão seria associado ao “0”
lógico, assim como 24 Volts seria associado ao “1” lógico.
Porém o CLP possui também entradas e saídas do tipo analógicas, as quais permitem
a representação de grandezas físicas em uma escala de valores além de 0 e 1.
Por exemplo, os sensores industriais que medem grandezas analógicas, como tem-
peratura e pressão, possuem saídas em corrente/tensão que seguem padrões como o de
0 a 10 Volts (em tensão) e 4 a 20 mA (em corrente). Basicamente, uma entrada analó-
gica converte um sinal contínuo para um valor digital correspondente à determinada
resolução, obtida dependendo do número de bits utilizado no processo de conversão
analógica para digital.

32
UNIDADE 2

O processo de conversão analógica digital ocorre pela utilização de um conversor


analógico para digital ou ADC (Analog to Digital Converter), o qual recebe o sinal
analógico e disponibiliza um valor digital correspondente em sua saída (TOCCI, 2019),
sendo uma das versões mais simples o ADC de rampa digital. Para compreendermos
o funcionamento da conversão analógica para digital, imaginemos a seguinte situação:
queremos monitorar um valor de temperatura com o CLP, por exemplo, de 0ºC a 100°C.
Para isto, utilizaremos um sensor de temperatura que já possui um transdutor que
fornece uma saída de 0 a 10 Volts, em corrente contínua para esta faixa de temperatura
(com uma variação perfeitamente linear de 0,1 V/ºC). Imagine, agora, que temos uma
resolução de 1 bit na entrada analógica (a mesma situação de utilizar uma entrada digital),
o que significa que só poderíamos saber se a temperatura está no mínimo (0ºC - 0V) ou
no máximo (100 ºC - 10V). Uma situação mais apropriada seria utilizar uma resolução
com 4 bits, na qual teríamos 2 elevados na potência 4, obtendo 16. E, assim, nossa re-
10V
solução passaria a ser de 16 = 0, 625V . Observando a Tabela 1, verificamos que com esta
resolução seria possível detectar variações de temperatura a cada 6.25°C.

Valor binário Valor da


Valor Temperatura
tensão de
Decimal medida (°C)
bit3 bit2 bit1 bit0 entrada (Volts)
0 0 0 0 0 0 0
1 0 0 0 1 6,25 0,625
2 0 0 1 0 12,50 1,25
3 0 0 1 1 18,75 1,875
4 0 1 0 0 25 2,5
5 0 1 0 1 31,25 3,125
6 0 1 1 0 37,5 3,75
7 0 1 1 1 43,75 4,375
8 1 0 0 0 50 5
9 1 0 0 1 56,25 5,625
10 1 0 1 0 62,5 6,25
11 1 0 1 1 68,75 6,875
12 1 1 0 0 75 7,5
13 1 1 0 1 81,25 8,125
14 1 1 1 0 87,5 8,75
15 1 1 1 1 93,75 9,375

Tabela 1 - Valores associados com a conversão digital com resolução de 4 bits


Fonte: o autor.

33
UNICESUMAR

Claro que esta resolução precisaria ser avaliada para verificar, por exemplo, se ela atenderia
ou não uma especificação de projeto. Para o caso, por exemplo, em que fosse necessário
detectar variações de temperatura de uma unidade de ºC, o que não poderia ser obtido
com apenas 4 bits. Outro detalhe importante é observar que, no programa do CLP, é
necessário compreender, exatamente, o formato da informação que será processada.
Digamos que o projetista desenvolveu um programa para acionar um alarme, quando a
temperatura atingisse exatamente 60°C; como podemos observar na Tabela 1, este valor
nunca será gerado. O projetista precisaria, então, utilizar comparações que fizessem o
alarme acionar para a faixa de 56.25ºC a 62.5ºC.
Os exemplos sobre conversão A/D que foram apresentados utilizaram valores para
facilitar a didática e a compreensão dos exemplos; na prática, estes números são um pouco
diferentes. Os CLPs da família S7-1500 da SIEMENS, por exemplo, armazenam o sinal da
conversão A/D em uma variável de 16 bits com sinal (a qual varia de -32768 a +32767).
A divisão dos valores se dá de forma que a variação de 0 a 100% do sinal convertido
fica armazenada na faixa de 0 a 27648, “over range” de sinal de 27649 a 32511 e valores
superiores a esse, sendo considerados “overflow”. Ainda, valores de -1 a -4864 estão na
faixa de “under range” e, a partir desta até -32768, temos “underflow”.

A explicação completa sobre o funcionamento dos mó-


dulos analógicos da família S7-1500 pode ser verificada
no manual técnico referência A5E03461439-AC, basta
acessar o QR Code, utilizando o seu celular. Este manual
traz também referências sobre a utilização/conexão de
transdutores, termopares e atuadores, dentre outros,
nos módulos analógicos.
Para acessar, use seu leitor de QR Code.

34
UNIDADE 2

Além da resolução, nas aplicações industriais que utilizam entradas analógicas do CLPs, deve-se levar
em consideração outros itens, como a precisão dos transdutores e erros de conversão, mas não vamos
desenvolver aqui a discussão sobre estes erros, a fim de facilitar a compreensão didática. Sugiro, para
aqueles que buscam um aprofundamento sobre análise destes erros, a leitura de manuais de fabricantes
ou de literatura técnica específica, assim como apresentado em Parr (2003, p.151).
Um detalhe sobre as entradas analógicas é que existem diversas configurações de conexão com
transmissores de sinal, assim como as conexões a 2, 3 e 4 fios. Ainda, o sinal predominante na leitura
analógica é a tensão, e, quando existe a transmissão em corrente, utiliza-se um valor de resistor conhe-
cido, chamado resistor shunt, o qual permite a conversão tensão/corrente.
Assim como entradas analógicas, os fabricantes de CLPs disponibilizam módulos de saídas analógi-
cas, estas geram valores em tensão/corrente (i.e 0-10V e 4-20mA) para controlar outros equipamentos.
Por exemplo, é possível realizar o controle da velocidade de saída de um inversor de frequência, utili-
zando uma saída analógica do CLP e comunicando-se com a entrada analógica do inversor.
Uma saída analógica pode ser obtida, utilizando uma diversidade de circuitos, assim como ampli-
ficadores operacionais na configuração somador com resistores ponderados, redes R2R (representado
na Figura 3) e circuitos integrados (TOCCI, 2019).
+VREF

R
2R 2R 2R 2R
2R R R R
-
IOUT VOUT
+

VOUT= -VREF xB
B0 B1 B2 B3 16
(LSB) (MSB)
Figura 3 - Conversor Digital Analógico (ou DAC do inglês Digital to Analog Converter) com rede R2R / Fonte: Tocci (2019, p. 639).

Descrição da Imagem: representação de circuito contendo resistores e amplificador operacional, gerando uma rede R2R. A figura mos-
tra uma linha tracejada na porção esquerda seguida por diversas estruturas em zigue-zague associadas com as descrições R e 2R, pos-
suindo ainda pequenos triângulos na cor cinza escuro, na parte inferior, e um triângulo grande na cor cinza escuro, localizado à direita.

35
UNICESUMAR

Utilizamos, agora, o conversor D/A representado na Figura 3 para


compreender o funcionamento de uma saída analógica do CLP. Neste
caso, temos uma saída com 4 bits (que geram 16 possibilidades numé-
ricas) e, assim, se considerarmos que a tensão de referência utilizada no
circuito é de 10 V, teremos uma resolução (de tensão) de 10V = 0, 625V .
16
É importante observar que a tensão de saída para o caso do circui-
to apresentado na Figura 3 é negativa, já que sua saída passa por um
amplificador com configuração inversora.

Qual será o valor de fundo de escala (máxima tensão gerada


na saída) para o conversor D/A da Figura 3? Os valores de saída
são gerados pela configuração binária das entradas, desde o
bit menos significativo LSB (Least Significant Bit) até o bit mais
significativo MSB (Most Significant Bit). Neste caso, como o con-
versor possui 4 bits, a entrada máxima binária é 1111 (ou 15
decimais), e se utilizarmos a formulação da saída apresentada
na Figura 3, obteremos:
10V
VOUT   * 15  9, 375V
16

36
UNIDADE 2

Assim, conhecido o funcionamento da conversão D/A, o exemplo de controle de um


inversor, utilizando o CLP por meio de canais analógicos, pode ser implementado, con-
figurando a saída analógica do CLP para gerar um sinal que será aplicado na entrada
analógica do inversor.
Digamos que temos um processo no qual as peças de cerâmica passam por um túnel
de resfriamento, e que nesse túnel elas precisam ser resfriadas conforme uma curva de-
terminada de redução de temperatura, garantindo que não haverá trincas no produto
final. Assim, a velocidade da esteira que transporta as peças precisa ser regulada, confor-
me a temperatura com que o produto chega na esteira. As peças chegam na esteira com
temperaturas na faixa de 100 °C a 120 °C e precisam ser resfriadas até atingirem 90 °C
ou menos para seguirem à próxima etapa do processo.
Calculado o comprimento da esteira e a velocidade associada aos parâmetros me-
cânicos, verificou-se que o número de rotações por minuto (RPM) do motor precisava
variar de 1600 RPM a 1200 RPM para a faixa de temperatura das peças, ou seja, uma
resposta inversamente proporcional.
Agora, em posse destes dados, bastaria verificar as faixas de variação do sensor de
temperatura das peças, adequá-la à entrada analógica do CLP e gerar, em sua saída, o
sinal analógico necessário para alimentar a entrada analógica do inversor. E, no inversor,
parametrizar a sua frequência de saída para variar em resposta ao sinal analógico de sua
entrada.
Uma vez que já discutimos as entradas e saídas e temos uma noção sobre o funcio-
namento delas, trataremos de outro componente fundamental do CLP, a sua CPU. A
CPU (do inglês: Central Processing Unit) ou UCP (Unidade Central de Processamento)
é o dispositivo responsável por controlar a operação de um computador e realizar suas
funções de processamento de dados (STALLINGS, 2010).
A CPU do CLP é responsável por “conectar” as entradas e saídas, seguindo a lógica
que foi programada, em uma sequência de processamento constituída pela leitura das
entradas, interpretação da lógica programada e atualização das saídas, com esta sequência
de etapas conhecida como ciclo de scan do CLP.

Neste vídeo, trago para você uma análise sobre a conversão


A/D e sua importância no contexto da automação industrial.
Para isto, avaliamos uma aplicação que utiliza um conversor
A/D para interpretar o sinal de um sensor de temperatura.
Realizo uma simulação e utilizo o software Proteus ISIS,
avaliando a utilização do conversor A/D.

37
UNICESUMAR

A Figura 4 traz uma representação referente à estrutura do CLP, considerando a interação das entra-
das/saídas/CPU.

Módulo de Módulo da fonye


Módulo
entrada de alimentação
de saída
Módulo do processador
Dispositivo Unidade central
sensor de M Dispositivo
de processamento
entrada de saída
(CPU)
de carga
Memória
Programa Dados

Isolamento Isolamento
óptico óptico

Dispositivo de programação

Figura 4 - Estrutura do CLP em detalhes / Fonte: Petruzella (2014, p. 4).

Descrição da Imagem: blocos representando a estrutura de um CLP, com um bloco representando as entradas, na cor azul escuro
localizado à esquerda; bloco de saídas também na cor azul escuro à direita e bloco de CPU na cor cinza com flechas pretas que apontam
para outros blocos, incluindo o ícone de um computador na parte inferior da figura.

Se utilizarmos uma visão “macro” sobre o CLP, podemos analisá-lo como um dispositivo cons-
tituído principalmente por suas entradas/saídas e CPU. E à medida que desenvolvemos os
conceitos, é possível agregar os diferentes módulos disponíveis pelos fabricantes, assim como
é o caso dos módulos de comunicação.

38
UNIDADE 2

Além do controle de entradas e saídas do CLP, a sua CPU realiza um processo fundamen-
tal, que é controlar a comunicação com outros dispositivos, sendo, inclusive, a programa-
ção do CLP realizada desta forma. Existem diversos meios de comunicação entre CLP e
demais dispositivos de automação, dentre eles, podemos citar os barramentos Profinet,
Devicenet, Modbus e Profibus. Sendo estes os barramentos que obedecem a protocolos
de comunicação, permitem comunicar uma diversidade de dispositivos de automação.
Para realizar a programação do CLP, é possível utilizar alguns dos barramentos industriais,
como é o caso das famílias S7 da Siemens, que utilizam o barramento Profinet, tanto para
programação como para comunicação e, também, alguns métodos específicos como a
comunicação Serial (RS232, RS485, USB).

Neste podcast, trago para vocês algumas considerações


sobre os componentes eletrônicos utilizados nos circuitos de
entradas/saídas dos CLPs. Considero interessante abordarmos
este tópico, pois esses componentes são bastante comuns na
eletrônica industrial e conhecê-los pode ser um diferencial na
aplicação dos CLPs. Acesse o QRCode e entenda!

Cada fabricante traz um método diferente para programar seus CLPs, inclusive, os mo-
delos que não utilizam um protocolo padrão, os quais necessitam de cabos específicos
de programação.
O conhecimento do hardware do CLP — entradas, saídas, módulos de comunicação
etc. — permite ao engenheiro especificar corretamente um modelo de CLP adequado
para a necessidade de uma determinada aplicação. Os conhecimentos que foram apre-
sentados nesta unidade são fundamentais para que você possa avaliar catálogos de fabri-
cantes e determinar quais são os módulos necessários para atender os requisitos de um
projeto/aplicação, seja industrial, seja comercial. Em unidades de aprendizagem futuras,
relacionaremos a utilização dos tipos de entradas com os comandos disponíveis em um
ambiente de programação para CLPs, em específico o ambiente Codesys.

39
Nesta unidade, discutimos os diversos itens de hardware do CLP, dentre eles, suas entradas,
saídas e CPU. A seguir, trago para você uma sugestão de mapa mental. Desse modo, para rela-
cionar a função dos tipos de entradas/saídas e da CPU do CLP, crie um semelhante no espaço
disponibilizado em seu livro. Você pode seguir este modelo proposto, modificá-lo ou, até, criar
uma proposta diferente.

Entradas Digitais:
descreva aqui o que
são as entradas digitais
do CLP ...

Entradas Analógicas: Barramentos:

CLP

Saídas Digitais: CPU:

Saídas Analógicas:

Figura 5 - Mapa mental / Fonte: o autor.

40
1. Um técnico estava com uma dúvida na utilização de um CLP em uma aplicação indus-
trial, na qual ele queria acionar um motor, utilizando uma entrada do CLP. Ele solicitou,
então, a análise do engenheiro supervisor. Qual foi a resposta do Engenheiro?

2. Qual o efeito de exceder a tensão de trabalho utilizada em uma entrada do CLP? Diga-
mos, aplicar uma tensão de 50 Volts CC em que está prevista a aplicação de 24 Volts
CC? Ou, ainda, aplicar 220 Volts CA nesta mesma entrada?

3. Um engenheiro adquiriu um CLP de baixo custo para uma aplicação de testes e somente
verificou o número de bits utilizados para conversão A/D da entrada analógica durante o
projeto. O teste consiste em fazer a pesagem de peças, sendo necessário rejeitar peças
com mais de 700g com uma tolerância de até menos 2%. E para realizar a pesagem
será utilizado um transdutor que realiza a leitura de um strain gauge e fornece uma
variação linear de 0 a 10V para uma variação de peso de 0 a 1Kg. Conhecidos os dados
do problema e sabendo que são utilizados 3 bits para a conversão A/D, será possível
para o engenheiro utilizar o CLP adquirido na aplicação de pesagem das peças?

4. Com relação ao mesmo problema apresentado na atividade anterior, o engenheiro res-


ponsável pelo projeto adquiriu um módulo de expansão para o CLP com uma entrada
analógica, capaz de realizar a conversão A/D, utilizando 8 bits. Considerando todos os
dados apresentados anteriormente e utilizando, agora, a entrada analógica com reso-
lução de 8 bits, seria possível descartar as peças com 700 g de peso?

5. Um CLP utiliza um conversor D/A do tipo R2R semelhante ao apresentado na Figura 3.


Sabendo-se que a tensão de referência utilizada para o circuito é de 5V, qual a resolu-
ção em Volts para este circuito e qual o máximo valor de tensão gerado em sua saída?

6. Com relação aos itens de hardware do CLP que foram discutidos nesta unidade de estu-
dos, foi possível verificar tópicos referentes às entradas, saídas e CPU do CLP. Utilizando
os conhecimentos adquiridos, formule uma explicação de como é realizada a progra-
mação do CLP e quais conexões ele utiliza para se comunicar com um computador.

41
42
3
Norma IEC 61131-3 :
Linguagens de
Programação
Dr. Taiser Tadeu Teixeira Barros

Nesta unidade, conheceremos as linguagens de programação pa-


dronizadas, conforme a norma IEC 61131. Mais especificamente,
esta norma, em sua terceira parte (por isto, IEC 61131-3), estabelece
as regras para que os fabricantes de CLP providenciem as linguagens
de programação utilizadas em seus ambientes de programação,
disponibilizados para programar os modelos de CLPs fornecidos.
UNICESUMAR

No ciclo de aprendizagem anterior, você teve uma visão abrangente do hardware


do Controlador Lógico Programável. Agora, verificaremos de que forma podemos
utilizar este hardware, por meio da programação. Diferentemente do que acontece
na programação para computadores, em que a interação física ocorre por meio de
mouse, teclado e displays; nos CLPs, a programação gera resultados que podem ser
avaliados fisicamente, assim como é o caso do acionamento de uma eletroválvula
pneumática ou motor elétrico.
Assim, a programação dos CLPs exige um conhecimento mais aprofundado da
máquina ou do processo que é programado. E como você pode relacionar a progra-
mação do CLP com os componentes físicos que este acionará?
Programar um dispositivo, basicamente, refere-se a introduzir comandos inter-
pretáveis pelo dispositivo, de forma que ele possa executar uma tarefa determinada.
Por exemplo, quando um programador cria um aplicativo, ele utiliza uma linguagem
de programação determinada, que interage com o hardware do Smartphone, tablet
ou computador para produzir uma saída determinada em resposta a um sinal de
entrada. Como exemplo, um jogo responde aos comandos da tela touch, fazendo
com que um personagem mude sua movimentação.
Quando programamos um Controlador Lógico Programável, utilizamos como
referência as suas entradas e saídas, para saber quais dispositivos estão conectados
nestas entradas e nas saídas, assim como é o caso de sensores e atuadores. Dessa
forma, uma vez que conhecemos quais os dispositivos conectados, é necessário co-
nhecer, também, qual a sequência de acionamento deles, ou requisitos do processo
a ser controlado.
Se pensarmos em um jogo criado para um dispositivo mobile, por exemplo,
um erro na programação do jogo causaria um mal funcionamento do jogo, ou no
máximo um bug no sistema. Agora, no caso de um CLP, um erro na programação
poderia fazer com que dois atuadores entrassem em operação simultaneamente, em
um momento em que isto não era possível mecanicamente, causando a danificação
desses atuadores e/ou de outras peças de uma máquina.
Para avaliar a importância do software no contexto dos Controladores Lógicos
Programáveis, proponho que você avalie situações em que um erro na programação
causaria uma falha sem gravidade — assim como é o travamento da tela de nosso
celular — ou uma falha mais grave, como o caso exemplificado sobre os atuadores
acionados, simultaneamente, pelo CLP.

44
UNIDADE 3

Atualmente, vivemos em um mundo cada vez mais digital e que possui diversos dispositivos con-
trolados por computadores (independentemente do formato que o computador tome no processo,
seja ele um computador de mesa, servidor, smartphone, tablet, microcontrolador etc.). Para avaliar a
gravidade de um erro de programação, basta considerarmos o que é controlado, por exemplo, processos,
em que a vida humana depende do equipamento, poderiam ser listados, aqui, em nosso experimento,
como sendo de prioridade máxima.
Assim, um erro na programação do sistema de acionamento de um elevador poderia causar um
acidente fatal e, consequentemente, a programação deste equipamento deveria ser efetuada dentro de
rigorosas normatizações, controles e testes para garantir uma confiabilidade elevada. Anote em seu
diário de bordo os exemplos que você propôs e reflita, ainda, se estes processos utilizam Controladores
Lógicos Programáveis ou outro tipo de computador.

DIÁRIO DE BORDO

45
UNICESUMAR

Nesta unidade, estudaremos, ainda, com maiores detalhes, a terceira parte da norma IEC
61131, a qual especifica a sintaxe e a semântica de um conjunto unificado de linguagens
de programação para Controladores Lógico Programáveis. As linguagens apresentadas na
norma são classificadas em linguagens textuais: Lista de Instruções ou IL (Instruction List)
e Texto Estruturado ou ST (Structured Text) e linguagens gráficas: Diagrama Ladder ou LD
(Ladder Diagram), Diagrama de bloco ou FBD (Function Block Diagram) e o gráfico de
função sequencial ou SFC (Sequential Function Chart), também conhecido como Grafcet.

O que diferencia uma linguagem textual de uma linguagem gráfica? As linguagens


textuais utilizam basicamente texto, assim como é o caso da linguagem C, JAVA
e PYTHON. Já as linguagens gráficas utilizam elementos gráficos, como blocos e
símbolos que representam operações determinadas.

Na Figura 1, apresenta-se um trecho de programa desenvolvido com a utilização da


linguagem python, que é uma linguagem textual, assim como as linguagens IL e ST. É
possível verificar a presença de comandos relacionados às estruturas condicionais, como
o “if”, e de laços de repetição, como o “for” e o “while”.

Figura 1 - Trecho de programa desenvolvido em linguagem Python

Descrição da Imagem: a figura apresenta um fundo preto com numerações do lado esquerdo que vai do 58 ao 63.
É possível verificar, em destaque, a presença de comandos relacionados às estruturas condicionais, como o “if”, e
de laços de repetição, como o “for” e o “while”.

46
UNIDADE 3

E, na Figura 2, apresenta-se um trecho de programa desenvolvido no Scratch, este é um


ambiente gráfico de programação, assim como as linguagens LD, FBD e SFC, que utiliza
blocos coloridos para auxiliar na compreensão da lógica de programação, principalmente
para iniciantes.

when I receive enemy0 come

show

go to x: 0 y: 150

forever

repeat until touching blaster ?

glide 2 secs to x: pick random -210 to 210 y: 150

broadcast blaster enemy0

hide

broadcast enemy1 come

stop this script

Figura 2 - Trecho de programa desenvolvido no Scratch / Fonte: o autor.

Descrição da Imagem: no sentido de cima para baixo, no primeiro bloco está escrito “when i receive”. O bloco abaixo
em cor roxa está escrito “show” e, logo após, alguns comandos como “go to”, “forever”, “repeat”, “touching”, “glide”,
“broadcast”. No outro bloco de cor roxa, está escrito “hide” e, logo após, alguns comandos como “broadcast” e “stop”.

Cada um dos tipos de linguagens, sejam elas textuais, sejam gráficas, possuem seus pontos
fortes e fracos, fazendo com que uma ou outra seja adotada para determinada situação.

47
UNICESUMAR

Na programação de um controlador lógico programável, assim como preconizado


na norma IEC61131-3, deve ser possível para o programador utilizar qualquer
tipo de linguagem (JOHN, 2010) em um bloco de programa (POU - Program
Organization Unit), sem que a utilização posterior deste bloco dependa do tipo
de linguagem adotado.
Interpretando esta definição da norma, um programa de maior porte poderia ser
formado por pequenos pedaços (POUs), sem a necessidade de saber qual a lingua-
gem utilizada em cada um destes pedaços, ou seja, cada programador pode trabalhar
com a linguagem de programação com a qual tiver mais familiaridade, garantindo
interoperabilidade de todos os pedaços do programa.
Avaliemos, agora, cada uma das linguagens disponibilizadas pela IEC 61131-3,
iniciando pela linguagem IL, observando que o item 7.2.1 da norma cita a linguagem
IL como sendo ultrapassada e, consequentemente, não fará parte da próxima edição
da norma.
Como a linguagem IL não fará mais parte do conjunto de linguagens disponíveis,
vamos somente avaliar um simples exemplo, utilizando-a:

LD E0

AND E1

OR E2

ST S0

No exemplo anterior, temos quatro operadores booleanos: E0, E1, E2 e S0; supondo
que os três primeiros seriam associados às entradas do CLP, e S0 seria associado com
uma saída. Assim, a lógica desenvolvida realiza a operação “AND” entre E0 e E1, e a
operação “OR” de E2 com o resultado da operação anterior, armazenando o resultado
em S0. Ou seja, a saída S0 é acionada quando as entradas E0 e E1 forem acionadas
simultaneamente ou quando a entrada E2 for acionada. Os operandos da linguagem
IL disponibilizados, conforme IEC 61131-3, são apresentados na Tabela 1.

48
UNIDADE 3

Operando Descrição
LD O resultado da operação assume o operando.
ST Armazena o resultado da operação.
S Atribui estado lógico TRUE ao operando.
R Atribui estado lógico FALSE ao operando.
AND, OR e XOR Operações lógicas AND, OR, XOR.
ADD, SUB, MUL e DIV Operações aritméticas de adição, subtração, multiplicação e divisão.
GT, GE, EQ, NE, LE, LT Operadores relacionais: > maior que, >= maior igual que, = igual, <> diferente,
<= menor igual que e < menor que.
JMP Jump to label (saltar para a etiqueta).
CAL call function block (chamar bloco de função).
RET Return from call of a function block (retornar de uma chamada de bloco de função).
) Evaluate deferred operation (avaliar operação deferida).
Tabela 1 - Operandos da linguagem IL / Fonte: adaptada de IEC 61131-3 (ABNT, 2013).

A próxima linguagem que estudaremos é a ST, derivada da linguagem Pascal (IEC 61131-3) e com-
posta por expressões que são formadas por operadores e operandos. Nessa, um operando pode ser,
por exemplo, um literal, uma variável ou uma chamada de função. Alguns operadores da linguagem
ST são apresentados na Tabela 2.

Símbolo Descrição Exemplo Precedência


() Parênteses (A+B)/C 11 (maior de todas)
Complemento NOT NOT A 8
Exponenciação ** A**B 7
Multiplicação e divisão *e/ A*B, A/B 6
Módulo MOD A MOD B 6
Adição e subtração e- A+B, A-B 5
Comparações <, >, <=, >= A <= B 4
Igual = A=B 4
Diferente <> A<>B 4
AND Booleano AND A AND B 3
XOR Booleano XOR A XOR B 2
OR Booleano OR A OR B 1 (menor de todas)

Tabela 2 - Operadores da linguagem ST / Fonte: adaptada de IEC 61131-3 (ABNT, 2013).

Além dos operadores mostrados na Tabela 2, a linguagem ST possui outras estruturas, os “statements” aos
quais estão associados, por exemplo, à estrutura condicional IF-THEN-ELSE e os laços FOR e WHILE.
Para começarmos a compreender estes elementos da linguagem, desenvolveremos alguns exemplos.

49
UNICESUMAR

01. EXEMPLO ST em um CLP são utilizadas três entradas digitais e uma saída digital. As entradas
foram nomeadas como E0, E1 e E2, e a saída nomeada como S0. Para acionarmos a
saída S0, é necessário que as entradas E0 ou E1 estejam em estado lógico 0 (falso ou
não ativadas) e que a entrada E2 esteja em estado lógico 1 (verdadeiro ou ativada).
Assim, utilizando a linguagem ST podemos escrever:

IF (E0 = FALSE OR E1 = FALSE) AND E2 = TRUE THEN


S0 := TRUE;
ELSE
S0 := FALSE;
END_IF

Observar, no exemplo, a presença do operador de atribuição “:=”, o qual atribui para o


elemento à esquerda, o valor do elemento à direita do símbolo, ou seja, para o exemplo
S0 := FALSE, S0 vai receber o estado lógico FALSE.
A simulação deste exemplo, no ambiente Codesys, está disponível neste vídeo:

A simulação deste exemplo, no ambiente


Codesys, está disponível neste vídeo.

02. EXEMPLO ST em um processo industrial, o CLP é utilizado para realizar um cálculo matemático
de duas variáveis. Nomearemos as duas variáveis de y e x. Sabendo que a relação entre
as variáveis é expressa pela formulação y = 2*x + 10, como podemos implementar
esta relação, utilizando a linguagem ST?
Este exemplo traz a oportunidade de utilizarmos os operadores aritméticos, sendo
implementado com uma única linha de programação:

Y := 2 * x + 10;

50
UNIDADE 3

Isso significa que a variável y recebe o resultado da operação 2 * x + 10, observando


que novamente foi utilizado o símbolo de atribuição (:=) para “conectar” as variáveis.
Este exemplo pode ser incrementado, se definirmos agora um valor de y que será
responsável por acionar uma saída do CLP. Criamos uma nova variável chamada
valor, e quando o resultado de y se igualar a valor, a saída será acionada:

Y := 2 * x + 10; //CÁLCULO DE Y
IF Y = VALOR THEN
SAIDA := TRUE;
ELSE
SAIDA := FALSE;
END_IF

Observe que, no exemplo, foi adicionado um comentário ao programa, após as duas


barras (//), na primeira linha. Os comentários servem apenas para documentar e
tornar o programa mais fácil de compreender, não fazendo parte do programa.

A simulação deste exemplo, no ambiente


Codesys, está disponível neste vídeo.

As linguagens IL e ST são linguagens textuais, como foi possível verificar nos exemplos
anteriores. Agora, verificaremos as linguagens gráficas, iniciando com a linguagem
FBD (Diagrama de bloco) que, conforme a norma IEC 61131-3, é composta de
elementos gráficos conectados, por meio de linha que representam o fluxo de sinal,
sendo o fluxo na direção da saída de um bloco (lado direito do bloco) para a entrada
de outro bloco (lado esquerdo do bloco).
Para avaliarmos um diagrama de blocos, refaremos o primeiro exemplo utilizado
na linguagem ST, em que a saída S0 era acionada, sempre, que as entradas E0 ou E1
estavam em estado lógico 0, e a entrada E2 estava em estado lógico 1. Assim, o dia-
grama de blocos que executa a mesma lógica está representado na Figura 3.

51
UNICESUMAR

OR AND
E0 S0
E1

NOT
E2

Figura 3 - Diagrama de blocos com lógica equivalente ao exemplo ST 1 / Fonte: o autor.

Descrição da Imagem: a imagem ilustra um diagrama de blocos. No bloco, à direita, está


escrito “And” e o símbolo &, seu comprimento é na vertical, e contém uma saída S0 ao lado
direito. O bloco, à esquerda, na parte superior, é menor e está escrito “OR” e o símbolo
maior igual 1, e contém duas entradas, à esquerda, E0 e E1. E outro bloco na parte inferior
(no formato de um retângulo) escrito “not” com uma entrada, à esquerda E2.

Na sequência, repetimos também o segundo exemplo criado em lin-


guagem ST, em que implementamos a formulação y = 2*x + 10 e acio-
namos uma saída, quando o valor calculado de y for igual a um valor
informado. Assim, o diagrama de blocos que executa a mesma lógica
se representa na Figura 4.
MUL ADD
2 Y
X +
X

10

EQ
Y SAÍDA
=
VALOR

Figura 4 - Diagrama de blocos com lógica equivalente ao exemplo ST 2 / Fonte: o autor.

Descrição da Imagem: a imagem ilustra um diagrama de blocos, com todos os blocos


representados por caixas retangulares, na cor azul. No bloco superior, à esquerda, está
escrito “Mul”, com uma saída para o bloco “Add” que possui entrada com valor 10 e direciona
sua saída para “Y”. O bloco inferior é o “EQ”, possuindo entradas “Y” e “VALOR” e direciona
sua saída para a variável “SAIDA”.

52
UNIDADE 3

A segunda linguagem gráfica que estudaremos é a linguagem ladder, esta, por sua semelhança com os
diagramas elétricos, geralmente, é adotada por profissionais que possuem uma formação na área de
elétrica, eletrônica e automação.
Assim como o próprio histórico do desenvolvimento do CLP indica (PARR, 2003), a linguagem
ladder surgiu para atender às demandas na linha automotiva e utilizava símbolos similares aos de um
diagrama a relé, com os quais os técnicos da época estavam familiarizados.
Ainda, para Petruzella (2014), a linguagem ladder é uma das linguagens de programação de CLPs
mais populares e foi criada, especificamente, para este fim, utilizando símbolos gráficos de fácil com-
preensão aos familiarizados com o controle lógico a relé.

Neste podcast, conversamos sobre as linguagens de programação


da IEC 61131-3 com relação à utilização das diferentes linguagens.
Trago para você um pouco da minha experiência com a
programação de CLPs e quando utilizei cada um dos tipos de
linguagem disponibilizada. É fundamental para você, futuro
engenheiro, conhecer estas linguagens para poder atuar na área da
programação de CLPs, automação industrial e afins.

Símbolo

Símbolo Elétrico Ladder


Os elementos básicos da linguagem ladder são os contatos e bobinas, os quaisSímbolo
possuem relação direta
com os símbolos elétricos, assim como podemos
Botoeira/Contato NASímboloobservar
Elétrico na Tabela
Símbolo 3. Ladder
Símbolo
Símbolo
Símbolo Elétrico
Símbolo Elétrico Ladder
Símbolo Ladder
Botoeira/Contato NA
Símbolo Elétrico Ladder
SimbologiaSímbolo elétrica
Elétrico Ladder Simbologia LADDER
Botoeira/Contato NA
Botoeira/Contato NA
Botoeira/Contato NA
Botoeira/Contato NA

Botoeira/Contato do tipo nor-


malmente aberto (NA) Botoeira/Contato NF

Botoeira/Contato
Botoeira/Contato NF NF
Botoeira/Contato NF
Botoeira/Contato NF
Botoeira/Contato NF
Botoeira/Contato do tipo nor-
malmente fechado (NF)
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide

Tabela 3 - Comparação de alguns símbolos elétricos com símbolos utilizados no diagrama ladder / Fonte: o autor.
Retenção elétrica Equivalente à
Retenção elétrica Equivalente à
Retenção elétrica Equivalente à
Retenção elétrica utilização
Equivalente dasà
Uma vez que há uma forte relação entre o diagrama elétrico e o diagrama ladder, podemos
utilização
utilização dasdas começar a
Retenção elétrica Equivalente à
bobinas
utilizaçãodo tipo
das
nossa análise da linguagem ladder, utilizando a conversão
K
de um diagrama elétrico em diagrama
bobinas do tipo
bobinas do tipo ladder,
set (S) edoreset
bobinas
utilização tipo
Retenção elétrica Equivalente das
à
assim como apresentado na Figura 5, em que temos, no K lado esquerdo (1), um diagrama
K K
set elétrico (que
(S) e reset
set (S) e reset
(R) (S) e reset
set
bobinas
utilizaçãodo tipo
das
efetua a parte lógica de uma partida direta). (R)
(R)
(R)
K set (S) edoreset
S bobinas tipo
K S
S (R) (S) e reset
set
K S
K (R)
K
53 R
K S
R
R
S
K
UNICESUMAR

O diagrama elétrico foi rotacionado 90º no sentido anti-horário em (2) e um diagra-


ma ladder equivalente foi criado em (3). É importante observar que os barramentos que
energizam o diagrama elétrico (positivo + e negativo -) estão na posição horizontal e,
consequentemente, ficam na posição vertical no diagrama ladder.
Ainda, no diagrama ladder (3) apresentado na Figura 5, observa-se que, após a bobina,
não há a representação do ramo negativo, isto varia entre os diferentes ambientes for-
necidos pelos fabricantes, sendo que, neste exemplo, foi utilizado uma imagem retirada
do ambiente Codesys.
+
2

13

14
1
11

K1
B0
12

A1

A2
11

12

13

14

K1
B0

B1
13 13
B1 K1 +
14 14

B0 B1 K1
A1
K1
A2 K1
3

Figura 5 - Comparação entre diagrama elétrico e diagrama ladder / Fonte: o autor.

Descrição da Imagem: a imagem possui três diagramas elétricos, sendo o mais à esquerda disposto na vertical e
outros dois, à direita, dispostos na horizontal, um sobre o outro. Ainda, os diagramas possuem contatos NA, NF e
bobinas. Há uma linha vertical, à esquerda, com as descrições B0, B1, K1, A1, A2, 11, 12, 13 e 14 e linhas horizontais,
à direita, com as mesmas descrições em posições análogas.

Da mesma forma que para as linguagens anteriores, desenvolvemos os dois exemplos


— inicialmente, na linguagem ST —, utilizando a linguagem ladder. Para o primeiro
exemplo, no qual tínhamos três entradas digitais (E0, E1 e E2) e uma saída digital (S0),
o diagrama ladder equivalente é representado na Figura 6.

E0 E2 S0

E1

Figura 6 - Exemplo ST1 solucionado com diagrama ladder / Fonte: o autor.

Descrição da Imagem: diagrama ladder disposto na horizontal com três contatos, sendo 2 NA, 1 NF e uma bobina.
Os contatos do tipo NF possuem duas barras verticais paralelas e uma barra vertical centralizada na diagonal e as
descrições E0 e E1. Ainda, o contato NA possui duas barras verticais e a bobina se assemelha a dois parênteses
colocados frente a frente.

54
UNIDADE 3

Para o segundo exemplo desenvolvido, implementou-se a formulação y = 2*x + 10 com


o acionamento de uma saída, quando o valor de y fosse igual a um valor determinado;
o diagrama ladder correspondente está representado na Figura 7.
MUL ADD
EN ENO EN ENO
X +
2 AUX 10 Y
X AUX

EQ SAÍDA
EN
=
Y
VALOR

Figura 7 - Exemplo ST2 solucionado com diagrama ladder / Fonte: o autor.

Descrição da Imagem: a imagem ilustra um diagrama de blocos, com todos os blocos representados por caixas
retangulares na cor azul. O bloco superior, à esquerda, está escrito “Mul”, com uma saída para o bloco “Add” que
possui entrada com valor 10 e direciona sua saída para “Y”. O bloco inferior é o “EQ”, possuindo entradas “Y” e “VA-
LOR” e direciona sua saída para a bobina “SAIDA”.

É interessante observar que devido ao formato dos blocos aritméticos disponibilizados


em ladder, foi necessário a criação de uma variável auxiliar (“nomeada como “AUX”)
para armazenar a operação 2 * x e, depois, utilizá-la no bloco de adição com a variável y.

Neste vídeo, trago para você uma abordagem do ambiente Codesys,


utilizado para criar os exemplos de programação disponibilizados
nas unidades de estudo.

Para completar o estudo das linguagens disponibilizadas pela norma IEC 61131-3, verificaremos alguns
exemplos relativos à linguagem Grafcet (gráfico de função sequencial ou SFC (Sequential Function
Chart)). Vale salientar que a estrutura desta unidade de estudos foi organizada para discutirmos essa
linguagem. Desse modo, por último, trazemos algumas características que a permitem ser considerada
uma linguagem que propicia a organização do programa.

55
UNICESUMAR

Assim como traz a norma IEC61131-3, os elementos da linguagem SFC fornecem meios de par-
ticionar um programa criado para um CLP em um conjunto de etapas e transições interconectadas
por links. Cada uma das etapas criadas possui associada a ela um conjunto de ações; assim como para
cada transição, há uma condição associada.
Ainda, cada uma das etapas criadas na linguagem Grafcet podem utilizar uma das outras lingua-
gens disponibilizadas pela norma. Para analisar a linguagem, iniciamos com um exemplo simples de
um semáforo.

03. EXEMPLO SFC 1 para criar o semáforo, foram definidas três variáveis booleanas referentes a
cada uma das três lâmpadas que serão acionadas: am, vd e vm. Ainda, uma variável
booleana foi criada para ser associada a um botão que inicia o processo. O diagrama
Grafcet criado está representado na Figura 8.

Init

bt

Step0 N vd

Step0.t > t#5s

Step1 N am

Step1.t > t#3s

Step2 N vm

Step2.t > t#5s

Init

Figura 8 - Exemplo SFC, lógica de funcionamento de um semáforo / Fonte: o autor.

Descrição da Imagem: diagrama do tipo SFC com 4 blocos dispostos na vertical indicando sua sequência de acio-
namento. O primeiro bloco é denominado Init e os blocos, abaixo, em sequência, são denominados Step0, Step1 e
Step2. Também podem ser observadas as descrições Step0.t > t#5s, Step1.t > t#3s e Step2.t > t#5s e caixas retan-
gulares com disposição horizontal com a letra N na parte esquerda e as descrições vd, am e vm na parte direita.

56
UNIDADE 3

Na Figura 8, é possível observar os principais elementos de um programa desenvolvido


em Grafcet, assim como é o caso das Etapas (são os retângulos nos quais estão descritos
Init, Step 0 …), as transições (traços entre etapas, assim como bt e Step0.t > t#5s) e as
ações (retângulos mais à direita com as descrições vd, am e vm).
É importante destacar que a etapa inicial sempre é representada por retângulos duplos,
assim como é o caso da etapa “Init” representada na Figura 8. Há, no programa, também, a
presença de transições temporizadas, assim como é o caso de Step0.t > t#5s, este indica que
a transição ocorrerá quando se passarem cinco segundos, desde a ativação da etapa 0 (os
temporizadores serão estudados em unidades posteriores, mas foi imprescindível utilizar
esta transição temporizada, neste exemplo, para simular o funcionamento do semáforo).

Uma vez que a utilização da linguagem Grafcet permite também o uso de outras
linguagens padronizadas pela IEC 61131-3, podemos utilizar este recurso para
criar programas mais complexos.

Em nosso próximo exemplo, utilizaremos o Grafcet para criar quatro etapas, nele traba-
lharemos com três linguagens: Grafcet para o programa principal, uma implementação
em ladder e outra em ST. Para esse exemplo, utilizaremos cinco elementos lógicos: três
lâmpadas (que fisicamente poderiam estar associadas com saídas do CLP) e duas chaves
com retenção (que fisicamente poderiam estar associadas com entradas do CLP)
As variáveis das lâmpadas foram nomeadas como lamp0, lamp1 e lamp2 e as chaves
nomeadas como chave0 e chave1. A Figura 9 mostra o diagrama Grafcet que implementa
o fluxo principal de funcionamento do sistema. Para acionar as lâmpadas, duas etapas
modificam seus estados (Init e step1), e as outras duas etapas implementam tempori-
zações. As transições ocorrem por dependência do estado das chaves e por finalização
das temporizações.
Na etapa inicial (Init), as lâmpadas 0 e 2 são setadas, e a transição que conduz para a
próxima etapa (step0) depende do estado das chaves (chave1 = 0 e chave0 = 1). A etapa
step0 aciona uma temporização de cinco segundos implementada em linguagem ladder,
e a transição ocorre em função do fim da temporização.
A etapa step1 muda os estados das lâmpadas, acionando somente a lamp1 e a transição
ocorre quando as chaves 1 e 0 estiverem nos estados ligado e desligado respectivamente.
E, na última etapa (step2), ocorre outra temporização, implementada em linguagem ST,
com a transição ocorrendo ao final da temporização e retornando para a etapa inicial.

57
UNICESUMAR

Os vídeos disponibilizados pela organização PLCO-


pen trazem base para a utilização dos princípios
da norma IEC 61131, incluindo itens referentes às
linguagens de programação.
Para acessar, use seu leitor de QR Code.

Agora considere:

Init S lamp0
R lamp1
S lamp2

chave1 = false and chave0 = true

Step0

ton_0.Q

Step1 R lamp0
S lamp1
R lamp2

chave1 = true and chave0 = false

Step2

ton_1.Q

Init
Figura 9 - Exemplo SFC, sistema implementado em quatro etapas / Fonte: o autor.

Descrição da Imagem: diagrama do tipo SFC com quatro blocos dispostos na vertical, indicando sua sequência
de acionamento. O primeiro bloco é denominado Init e os blocos, abaixo, em sequência, são denominados
Step0, Step1 e Step2. Há também a presença de blocos auxiliares na parte direita da figura dispostos em con-
juntos de três barras horizontais uma abaixo da outra, com o bloco superior possuindo a sequência S - R - S e
as descrições lamp0, lamp1 e lamp2, e o bloco inferior possuindo a sequência R - S - R e as descrições lamp0,
lamp1 e lamp2.

58
UNIDADE 3

A implementação da etapa “Step0” em linguagem ladder está apresentada na Figura 10.

TON_0
TON_0.Q TON
IN Q
t#5s PT

Figura 10 - Detalhe de implementação da etapa “Step0” do programa apresentado na Figura 9 Fonte: o autor.

Descrição da Imagem: diagrama ladder com um contato NF e um bloco temporizador TON. Na parte esquerda da
figura, há um contato do tipo NF com duas barras verticais paralelas e uma barra central diagonal, seguida por um
bloco retangular na cor cinza que possui um ícone de relógio em seu centro.

E a implementação da etapa “Step2” em linguagem ST é apresentada abaixo:

TON_1(IN := TRUE, PT := T#3S)

As duas etapas de temporização serão explicadas com maiores detalhes, quando discu-
tirmos os temporizadores em unidades subsequentes.
O conhecimento das linguagens de programação disponibilizadas pela norma per-
mite que o engenheiro possa ter uma visão mais abrangente sobre as lógicas que podem
ser desenvolvidas nos ambientes de programação para CLPs. O mercado de trabalho na
área de programação apresenta uma grande demanda por profissionais capacitados e,
principalmente, com relação ao conhecimento das linguagens de programação para CLPs.
Portanto, dominar todas as linguagens da norma é um diferencial para os profissionais
que buscam atuar em um mercado tão dinâmico.

59
O foco desta unidade de estudos foi avaliar as linguagens de programação para CLP estabelecidas
pela norma IEC 61131-3. Assim, trago para você a sugestão de revisitarmos — por meio do mapa
mental — o conceito de cada uma das cinco linguagens apresentadas, seguindo o formato que se
apresenta na sequência. Utilize o espaço reservado em seu livro para desenvolver esta atividade.

Linguagens de Programação

IL:
é uma linguagem textual muito similar a linguagem Assembly...

ST

Ladder

FBD

Grafcet (SFC)

Figura 11 - Mapa mental / Fonte: o autor.

60
1. A norma IEC 61131-3 apresenta cinco linguagens de programação utilizadas com os
Controladores Lógicos Programáveis. Quais são essas linguagens? Você possui expe-
riência com alguma delas ou se identificou mais com alguma dessas linguagens?

2. O programa seguinte foi desenvolvido em linguagem IL e deve ser substituído pela


linguagem ST, já que a linguagem IL não mais fará parte da norma IEC 61131-3, nas
próximas edições. Utilizam-se três entradas digitais e uma saída digital, as entradas
foram nomeadas como E0, E1 e E2, e a saída nomeada como S0.

LD E0
OR E1
AND E2
ST S0

Sua tarefa é criar o programa equivalente, escrito em linguagem ST.

3. O engenheiro responsável pelo teste de um equipamento desenvolveu o seguinte


programa, utilizando a linguagem ST:
IF (E0 = FALSE OR E1 = FALSE) AND (NOT E2 = TRUE OR NOT E3 = TRUE) THEN
S0 := TRUE;
ELSE
S0 := FALSE;
END_IF

Neste programa, E0 - E1 - E2 e E3 representam conexões de entradas no CLP, e S0 re-


presenta uma conexão de saída. Sabendo que as quatro entradas podem ser interpre-
tadas como sinais booleanos, e assim consideradas quatro bits, quantas combinações
das entradas (ligadas/desligadas) vão resultar em acionamento da saída S0 ativada?

61
4. A figura, a seguir, traz o diagrama elétrico de uma partida direta com reversão.

L1 L2 L3 PE
1
F0
2

11 1 3 5
B0 Q1
12
13
Q1 2 4 6
14

13 13 13 13 1 3 5 1 3 5
B1 K1 B2 K2 K1 K2
14 14 14 14 2 4 6 2 4 6

11 11
K2 K1
1 2 3 PE
12 12
M
A1 A1 3
K1 K2
A2 A2 4 5 6

Fonte: o autor.

Descrição da Imagem: diagrama elétrico disposto na vertical com botoeiras, contatos NA, NF e bobinas, à esquerda.
À direita, temos o diagrama de potência com um círculo, representando o motor elétrico. No diagrama de comando, à
esquerda, podemos verificar as descrições F0, B0, Q1, B1, B2, K1 e K2. No diagrama de força, à direita, podemos observar
um bloco retangular na parte superior, representando o dispositivo de proteção e uma circunferência na parte inferior
com a descrição M3, representando um motor.

62
Já a figura seguinte representa as conexões de entradas e saídas em um CLP que per-
mite implementar a lógica desta partida.

11 13 13 95
B0 B1 B2 FT
12 14 14 96

COM I0 I1 I2 I3

CLP

M+ Q0 Q1

A1 A1
K1 K2
A2 A2

Fonte: o autor.

Descrição da Imagem: bloco que representa um CLP com quatro entradas I0, I1, I2 e I3, e duas saídas Q0 e Q1. Podemos
observar um retângulo que se estende por toda a extensão da figura com linhas verticais na parte superior, representando
a conexão das entradas e linhas verticais na parte inferior conectadas com pequenos retângulos com as descrições K1 e
K2, constituindo as saídas conectadas a bobinas.

Agora, você, como engenheiro responsável pelo projeto, deve apresentar o diagrama
ladder que permitirá a operação desta partida.

5. Em um processo industrial, a mistura de componentes químicos é realizada conforme


controle de um CLP, que realiza o cálculo Z = 3*X + 4*Y, em que Z representa a variável
de saída que será convertida posteriormente em velocidade de rotação de uma heli-
coide, e x e y são os pesos de dois produtos reagentes. Foi solicitado pelo engenheiro
responsável desenvolver esta formulação, utilizando a linguagem FBD e você, como
engenheiro auxiliar, deverá desenvolver este programa.

6. Com relação ao programa desenvolvido na atividade anterior, a mesma formulação


vai ser implementada em um segundo controlador lógico programável, porém ele já
possui o programa principal desenvolvido em linguagem ST, desta forma você deverá
implementar a formulação nesta linguagem.

63
64
4
Operadores Básicos:
Lógica Combinacional
e Sequencial no CLP
Dr. Taiser Tadeu Teixeira Barros

Nesta unidade, conheceremos as lógicas combinacional e sequen-


cial, muito utilizadas em eletrônica digital, mas que também pos-
suem aplicação no contexto da programação em geral e, conse-
quentemente, na programação de CLPs. A aplicação de algumas
ferramentas, como a soma de produtos e do mapa de Karnaugh,
em determinados casos, pode facilitar o desenvolvimento de lógicas
de programação.
UNICESUMAR

As lógicas combinacional e sequencial são teorias fundamentais que


possuem aplicações em vários campos da engenharia, assim como é o
caso da eletrônica digital (na engenharia elétrica) e da arquitetura de
computadores (na engenharia da computação). Mas, afinal, como po-
demos utilizar essas lógicas na criação de programas para controladores
lógicos programáveis?
Muitas vezes, frente a um projeto lógico, o engenheiro se depara com
situações que são complexas no sentido de transformar informações
sobre o processo ou funcionamento do equipamento em linhas de
programação. Assim, a utilização de algumas técnicas, como é o caso
de associar as lógicas combinacional e sequencial aos sinais/estados/
informações do projeto, permite abstrair a solução e, consequentemente,
facilitar o trabalho do engenheiro/projetista/programador.
Vamos supor que você se depara com um projeto, em que o equi-
pamento possui cinco sinais de entradas provenientes de sensores e
precisa gerar o acionamento de três saídas em um Controlador Lógico
Programável. De que forma é possível relacionar os sinais de entrada e
de saída no CLP para criar o programa que implementará esta relação?
Tomando como base os conhecimentos discutidos nas unidades
anteriores, como você imagina a descrição das funcionalidades do
equipamento que utiliza cinco entradas e três saídas do CLP, descrito
anteriormente?
Uma dica: você pode supor que uma entrada se associa a um sensor
que detecta a abertura da porta de uma máquina e, consequentemente,
esta abertura de porta precisa sinalizar uma situação de emergência na
qual desliga um motor (acionado por um contator que foi energizado
por uma das saídas do CLP).
Crie e descreva a funcionalidade das entradas e saídas em seu diário
de bordo, imaginando uma aplicação, na qual fosse solicitada a criação
de um programa para o controlador lógico programável.

66
UNIDADE 4

DIÁRIO DE BORDO

Vamos iniciar, desse modo, nosso referencial teórico discutindo a lógica combinacional, a qual refere-se
aos circuitos combinacionais. Recebem esta denominação devido ao fato de que, em qualquer instante
de tempo, o nível lógico da saída do circuito depende da combinação dos níveis lógicos presentes nas
entradas deste mesmo circuito. E, um circuito combinacional não possui memória, o que implica que sua
saída depende, apenas, dos valores atuais de suas entradas (TOCCI, 2019).
Assim como os circuitos combinacionais que são implementados com portas lógicas, o Controlador
Lógico Programável pode ser considerado um equipamento com funcionamento combinacional, quando,
obviamente, sua programação for criada para que ele apresente o comportamento combinacional.
A palavra combinacional traz a ideia de combinação, ou seja, combinar os diferentes sinais lógicos das
entradas para gerar um resultado lógico na saída. É, portanto, fundamental observar que uma mudança
nas entradas gera uma mudança imediata nas saídas.
Antes de discutirmos como implementar a lógica combinacional no CLP, verificaremos os conceitos
básicos sobre portas lógicas, revisando as três portas lógicas básicas: NOT (NÃO ou INVERSORA), AND
(E) e OR (OU). A Figura 1 traz a simbologia de cada uma das respectivas portas bem como a tabela verdade,
que é uma forma de mostrar como a saída de um circuito lógico depende de suas entradas (TOCCI, 2019).

67
UNICESUMAR

A A B Q A A B Q
Q Q
A Q B 0 0 0 B 0 0 0
A Q 0 1 0 0 1 1
0 1
1 0 1 0 0 1 0 1
NOT AND 1 1 1 OR 1 1 1

Figura 1 - Portas Lógicas NOT, AND e OR

Descrição da Imagem: na figura, há três retângulos distribuídos horizontalmente lado a lado, representando as tabelas verdade de
portas lógicas. No primeiro, identificado como "NOT", estão as informações "A" de onde parte uma seta, na horizontal, com um pequeno
círculo na ponta, seguido de uma linha reta com a letra "Q" em sua extremidade e, logo, ao lado, há uma tabela com as colunas "A e
B", com os valores "0;1" em A e "1;0" em B. No segundo retângulo, identificado como "AND", estão as informações "A" e "B" na vertical
seguido de duas linhas na horizontal, que parte de cada uma das letras, ligadas a um retângulo com a extremidade direita arredondadas
ligados por uma linha reta a letra "Q" em sua extremidade seguido e, ao lado, há uma tabela com as colunas "A; B e Q", com os valores
"0; 0; 1; 1" em A, "0; 1; 0; 1" em B e "0; 0; 0; 1" em Q. E, por fim, no terceiro retângulo, identificado como "OR", estão as informações "A"
e "B" na vertical seguido de duas linhas na horizontal, que parte de cada uma das letras, ligadas a um retângulo com a extremidade
esquerda levemente curvada para dentro e sua extremidade direita fazendo uma curva levemente triangular seguido de uma reta com
o "Q" no final e, ao lado, há uma tabela com as colunas "A; B e Q", com os valores "0; 0; 1; 1" em A, "0; 1; 0; 1" em B e "0; 1; 1; 1" em Q.

A porta NOT realiza a inversão do sinal de entrada de 0 para 1 e de 1 para 0. A porta AND aciona sua
saída sempre que todas as suas entradas estão ativas e, por fim, para a porta OR basta que pelo menos
uma entrada esteja ativa para que sua saída também seja ativada. A combinação destas três lógicas
(portas) básicas originou tudo o que conhecemos em termos de sistemas computacionais.
Para projetar um circuito lógico combinacional, podemos utilizar o método da soma dos produtos
ou do produto das somas, adotando neste material o primeiro método. O termo soma de produtos
indica que teremos termos formados por operadores lógicos que realizam multiplicação (operação
AND na álgebra booleana) entre si e que cada um dos termos será somado aos demais (neste caso,
realizando operação OR).

A álgebra booleana é utilizada para auxiliar na análise de um circuito


lógico e como expressar matematicamente a operação. Para com-
plementar seu estudo da unidade, peço que assista a esse vídeo,
ele apresenta uma revisão sobre os conceitos de álgebra booleana.
Para acessar, use seu leitor de QR Code.

68
UNIDADE 4

Assim, por exemplo, se tivermos um sistema que possui duas entradas (A e B) e uma
saída (S), esta poderia ser dada pela expressão: S = AB’ + A’B, em que o apóstrofo indica
que a variável está “negada”, ou seja, será ativa em zero.
A expressão S = AB’ + A’B indica que temos dois termos (realizando operação AND),
em função das variáveis A e B, e que eles são “somados” ou realizam operação OR. O
circuito equivalente está representado na Figura 2.

A B

Figura 2 - Circuito equivalente à expressão S = A’B + AB’ / Fonte: o autor.

Descrição da Imagem: linhas horizontais conectadas em estruturas geométricas triangulares e retangulares com as
letras A e B na parte superior, representando portas NOT seguidas por duas portas AND que estão conectadas nas
duas entradas de uma porta OR, com a letra S na lateral direita, representando a saída do circuito lógico.

Na Figura 2, as portas inversoras poderiam ser representadas somente pelo círculo após
o triângulo, para permitir um desenho mais enxuto. Vamos representar desta forma, na
Figura 3, e adicionalmente indicar o símbolo e a tabela verdade da porta lógica XOR
(OU exclusivo), que se comporta conforme a expressão S = AB’ + A’B.
A B

ABS
A 000
S 0 11
B 101
110
Figura 3 - Porta lógica XOR / Fonte: o autor.

Descrição da Imagem: linhas horizontais conectadas em duas portas do tipo AND com um pequeno círculo na sua
entrada, sendo este uma identificação de porta NOT. As duas portas AND estão conectadas nas duas entradas de
uma porta OR com a letra S na lateral direita, representando a saída do circuito lógico. Na parte inferior da figura,
há uma tabela com números zeros e uns representando uma tabela verdade.

69
UNICESUMAR

REALIDADE
AUMENTADA

Simulando uma porta lógica

O caminho que seguimos, neste exemplo, foi partir da expressão


lógica e obter o circuito equivalente e sua tabela verdade. Já no
método da soma dos produtos, faremos o caminho inverso, ou
seja, partiremos da tabela verdade para obtermos a expressão e,
consequentemente, o circuito equivalente. Então, analisaremos a
tabela verdade da porta XOR, seguindo os passos:

70
UNIDADE 4

a) Identificando cada uma das saídas que estão em estado lógico alto (1).
b) Para cada uma das saídas identificadas, formaremos um termo em função das
suas variáveis, sendo estes termos representados pela própria letra, se seu estado
na tabela for 1, ou a letra com apóstrofo, se seu estado na tabela for 0:

A B S

0 0 0

0 1 1 = A’B

1 0 1 = AB’

1 1 0

Tabela 1 - Tabela verdade da porta XOR / Fonte: o autor.

c) Escrevendo a expressão da variável de saída em função dos termos gerados nos


passos anteriores, observando que todos os termos gerados serão agora “somados”,
ou seja, será realizada a operação OR entre os mesmos: S = A’B + AB’.

Para fixar os conceitos discutidos até aqui, analisaremos um segundo exemplo, dada a
tabela verdade a seguir, na qual temos três variáveis de entrada (A, B e C) e uma variável
de saída (S):

A B C S
0 0 0 1 = A’B’C’
0 0 1 1 = A’B’C
0 1 0 0
0 1 1 0
1 0 0 1 = AB’C’
1 0 1 1 = AB’C
1 1 0 0
1 1 1 0

Tabela 2 - Tabela verdade exemplo / Fonte: o autor.

Na tabela já foram escritos os termos para cada saída “1” da variável S e, assim, podemos
escrever a expressão: S = A’B’C’ + A’B’C + AB’C’ + AB’C. Com esta expressão, podemos
desenhar o circuito equivalente representado na Figura 4.

71
UNICESUMAR

A B C

Figura 4 - Circuito equivalente para a expressão S = A’B’C’ + A’B’C + AB’C’ + AB’C / Fonte: o autor.

Descrição da Imagem: linhas horizontais conectadas em estruturas geométricas triangulares e retangulares com as
letras A, B e C na parte superior e a letra S na lateral direita, representando um circuito com portas lógicas. No canto
superior esquerdo, há três letras (A, B e C), representando as entradas lógicas do circuito, as quais se conectam por
linhas horizontais em quatro portas do tipo AND, com pequenos círculos em algumas das suas entradas, sendo estes
uma identificação de portas NOT. As quatro portas AND estão conectadas nas quatro entradas de uma porta OR
com a letra S na lateral direita, representando a saída do circuito lógico. Na parte inferior da figura, há uma tabela
com números zeros e uns representando uma tabela verdade.

A expressão S = A’B’C’ + A’B’C + AB’C’ + AB’C pode ser simplificada, se utilizarmos alguns
dos teoremas fundamentais da Álgebra Booleana apresentados na Tabela 3.

Soma “+” (OR) Multiplicação “.” (AND)


1 A+0=A A·1=A
2 A + A’ = 1 A · A’ = 0
3 A+A=A A·A=A
4 A+1=1 A·0=0
5 (A’)’ = A

6 (A + B)’ = A’ · B’ (A · B)’ = A’ + B’
7 A + (A · B) = A A · (A + B) = A
8 A + (A’ · B) = A + B A · (A’ + B) = A · B
9 A’ + (A · B) = A’ + B A’ · (A + B) = A’ · B
10 A+B=B+A A·B=B·A
11 A + (B+C) = (A+B) + C A · (B· C) = (A · B) · C
12 A · (B+C) = (A · B)+(A · C) A+(B · C) = (A+B) · (A+C)

Tabela 3 - Teoremas da Álgebra Booleana / Fonte: o autor.

72
UNIDADE 4

Para simplificarmos a expressão S = A’B’C’ + A’B’C + AB’C’ + AB’C, colocamos os termos


comuns em evidência: A’B’(C’ + C) + AB’(C’ + C). E, observando o teorema 2 da soma na
Tabela 3, verificamos que C’ + C = 1. Posteriormente, pelo teorema 1 da multiplicação
na Tabela 3, obtemos: A’B’ + AB’ e, novamente, podemos colocar o termo comum em
evidência, obtendo: B’(A’ + A), que, consequentemente, será igual a B’. Ou seja, na Tabela
2 podemos observar que a saída S se comporta conforme B’, e assim a expressão sim-
plificada do circuito seria S = B’ e o circuito equivalente está representado na Figura 5.

B S
Figura 5 - Circuito equivalente para a expressão S = B’ / Fonte: o autor.

Descrição da Imagem: a ilustração apresenta um circuito com uma estrutura triangular, em que do lado direito
temos a saída S e do lado esquerdo a entrada B.

PROGRAM PLC_PRG
Agora, verificaremos como imple- VAR
mentar estes mesmos exemplos A: BOOL;
B: BOOL;
com o ambiente codesys. Utilizare- C: BOOL;
SS: BOOL;
mos, inicialmente, a linguagem FBD
END_VAR
devido ao fato dos blocos presentes
na linguagem possuírem grande
similaridade com as portas lógi- AND OR
C SS
cas apresentadas. Assim, o circuito B
apresentado na Figura 4 pode ser A

implementado em linguagem FBD,


conforme apresentado na Figura 6.
AND
C
B
A

Figura 6 - Circuito equivalente para a expres-


são S = A’B’C’ + A’B’C + AB’C’ + AB’C imple- AND
mentado em linguagem FBD / Fonte: o autor. C
B
Descrição da Imagem: blocos retangula- A
res na cor cinza com as letras A, B e C no
lado esquerdo de cada bloco. Na lateral
esquerda da figura, estão quatro blocos
menores que se conectam em um bloco
maior à direita, representando um circui-
AND
to digital implementado em linguagem de
C
blocos. No bloco maior, está representa-
do o símbolo com significado de maior ou B
igual, representando a operação or. A

73
UNICESUMAR

Observamos que, na Figura 6, a variável de saída foi nomeada como SS, pois a letra S é
reservada para a operação “SET”. O circuito simplificado que foi apresentado, na Figura
5, não será implementado por ser trivial. Desse modo, analisemos, agora, mais um exem-
plo que pode ser solucionado, utilizando ferramentas de lógica combinacional: o motor
“M” deve ser acionado sempre que os botões de comando “B1” e “B2” forem acionados
simultaneamente ou, ainda, quando o final de curso F1 for acionado. A Tabela 4 expressa
todas as possibilidades lógicas de acionamento para o motor “M”:

F1 B2 B1 M
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1

Tabela 4 - Lógica de acionamento para o motor M / Fonte: o autor.

Conforme podemos analisar na Tabela 4, sempre que o final de curso está acionado, o
motor também está acionado; quando, porém, o final de curso não está acionado, a lógica
depende somente dos botões, que atuam conforme a lógica AND.
A interpretação da tabela mostra que o motor estará acionado se (B1 AND B2) OR
F1 estiverem acionados. Ou seja, o acionamento do motor depende de uma associação
série dos botões, e essa associação série estará em paralelo com o final de curso. Para
obtermos a expressão lógica, aplicaremos o método da soma dos produtos, escrevendo:

M = F1’B2B1 + F1B2’B1’ + F1B2’B1 + F1B2B1’ + F1B2B1

Para simplificar esta expressão, introduziremos uma ferramenta auxiliar utilizada na


lógica combinacional que é o diagrama de Veitch-Karnaugh, comumente referenciado
como mapa de Karnaugh. O diagrama de Veitch-Karnaugh permite simplificar, de forma
mais rápida, os casos extraídos das tabelas-verdade (CAPUANO; IDOETA, 2018). Na
Tabela 5, está apresentado o mapa de Karnaugh para a lógica combinacional.

74
UNIDADE 4

00 01 11 10

B2’B1’ B2’B1 B2B1 B2B1’

F1’B2’B1’ (000)
0 F1’ 0 1 0
0

1 F1 1 1 1 1

Tabela 5 - Mapa de Karnaugh para a Tabela 4 / Fonte: o autor.

Podemos observar, na Tabela 5, conforme célula destacada, que ela representa a combi-
nação de variáveis F1’B2’B1’, em termos binários corresponde a “000”, ou seja, a primeira
linha da Tabela 4 possui valor “0” para a saída M. Também, é possível observar que o mapa
de Karnaugh é montado de forma que colunas vizinhas possuem diferença de apenas um
bit, por exemplo: da coluna B2’B1’ para a coluna B2’B1, somente a variável B1 variou e,
assim, podemos identificar graficamente ocorrências do teorema 2 da soma apresentado
na Tabela 3, o qual elimina uma variável.
Nos mapas de Karnaugh, ocorrências de bits 1 de forma isolada geram o termo binário
correspondente, ocorrências de duplas de bits 1 eliminam uma variável, e ocorrências de
conjuntos com 4 bits ou quadras eliminam duas variáveis.

Quanta informação, não é mesmo? Para aprofundar a


compreensão sobre a utilização do mapa de Karnaugh,
indico para você este vídeo que apresenta, de forma
interessante, o assunto:
Para acessar, use seu leitor de QR Code.

Se redesenharmos, agora, o mapa da Tabela 5, conforme apresentado na Tabela 6, obtemos:

B2’B1’ B2’B1 B2B1 B2B1’

F1’ 0 0 1 0

F1 1 1 1 1

Tabela 6 - Mapa de Karnaugh da Tabela 5 redesenhado / Fonte: o autor.

75
UNICESUMAR

Podemos observar que na linha de F1 todas as células possuem 1, formando uma quadra
e eliminando as variáveis B2 e B1 que variaram em todas as possibilidades, resultando
somente no termo F1. E, na coluna de B2B1, temos uma dupla que elimina a variável
F1, resultando no termo B2B1 e, assim, para gerar a expressão resultante, somamos os
termos obtidos:

M = F1 + B2B1

Esta expressão modela o comportamento do circuito elétrico representado no diagrama


da Figura 7.

13
B1
14 13
F1
13 14
B2

14

A1
M
A2

Figura 7 - Circuito equivalente para a expressão M = F1 + B2B1 / Fonte: o autor.

Descrição da Imagem: linhas verticais com elementos, representando botoeiras de comando com a descrição B1
e B2 à esquerda, em paralelo com um final de curso F1 e linhas horizontais superiores e inferiores, representando
barramentos de alimentação. Na parte inferior da figura, há um pequeno retângulo com a letra M, indicando uma
bobina que possui terminais de conexão A1 e A2. Em todos os contatos, há a indicação da numeração 13 – 14,
indicando que eles são do tipo normalmente abertos.

Como a Figura 7 representa um diagrama elétrico, a relação dele com a linguagem


ladder facilita a implementação nesta linguagem, assim como apresentado na Figura 8.
A linguagem ladder será extensivamente utilizada no próximo ciclo de aprendizagem.

76
UNIDADE 4

B1 B2 M

F1

Figura 8 - Implementação em linguagem Ladder para a expressão M = F1 + B2B1 / Fonte: o autor.

Descrição da Imagem: linhas horizontais com estruturas, representando contatos do tipo NA e uma bobina M. Os
contatos indicam as tags B1 e B2 na parte superior do diagrama em paralelo com o contato identificado pela tag F1.

Após os exemplos apresentados, os quais se referiam à lógica combinacional e à correspon-


dente implementação no CLP, podemos verificar agora a teoria referente à lógica sequencial.

Neste vídeo, trago para vocês uma demonstração de como utilizar


os teoremas da álgebra booleana para simplificar expressões
lógicas e, consequentemente, facilitar o projeto destes circuitos.

A lógica sequencial se caracteriza por suas variáveis de saída dependerem das suas variáveis
de entrada e de seus estados anteriores, os quais permanecem armazenados (CAPUANO;
IDOETA, 2018), ou, de outra forma, podemos dizer que os circuitos sequenciais são aqueles
que possuem memória. Assim, circuitos sequenciais permitem criar estruturas como os
contadores, registradores e memórias, dentre outros. A célula básica de um circuito com
lógica sequencial é o flip flop, este se caracteriza por armazenar uma informação binária.

Conforme conceitos apresentados, a lógica combinacional e a sequencial se


diferenciam pelo fato de que, na lógica sequencial, a dependência das saídas
do sistema, além das suas entradas, depende também do estado anterior, mas
como ocorre a mudança de um estado para outro?

77
UNICESUMAR

Os flip flops são elementos que mudam de estado, conforme o ritmo Atual Futuro
estabelecido por um sinal de comando, conhecido como clock, e,
quanto mais rápido o clock, ou em termos técnicos: quanto maior
Qa Qb Qa’ Qb’
a sua frequência, maior será a velocidade de mudança nas saídas
dos flip flops e dos circuitos construídos, utilizando-os.
Um circuito típico implementado com os flip flops é o de um 0 0 0 1
contador. No exemplo a seguir, será apresentado um contador de
dois bits, utilizando flip flops do tipo D, o qual fornece na saída a 0 1 1 0
informação de sua entrada, ao receber um pulso no clock.
Como o contador se enquadra como um circuito sequencial, a
sua tabela verdade será especificada em termos de estado atual (a 1 0 1 1

contagem atual) e próxima contagem (estado futuro). Vamos no-


mear os flip flops como A e B e utilizar suas saídas Qa e Qb como 1 1 0 0
os bits que representam o estado do sistema.
Assim, quando as duas saídas estiverem em 0, teremos a conta- Tabela 7 - Dados para projeto de um
contador de 2 bits / Fonte: o autor.
gem 00 (0), depois 01 (1), 10 (2) e 11 (3) em sequência. A Tabela 7
apresenta o projeto deste contador.

Conforme podemos observar na Tabela 7, as saídas atuais são representadas pela letra Q, e as saídas
futuras pela letra Q’. Para gerar o estado futuro, verificamos as combinações binárias que estão nas
colunas futuras e, assim, para o flip flop A, o seu estado futuro é gerado por uma lógica XOR que tem
como entradas Qa e Qb. E o estado futuro do flip flop B é gerado pela saída negada do próprio Qb. O
circuito digital gerado conforme a Tabela 7 está representado na Figura 9.

D Q D Q

CLK A CLK B
clock Q Q

Figura 9 - Circuito digital sequencial de um contador de 2 bits que implementa os dados da Tabela 7 / Fonte: o autor.

Descrição da Imagem: quadrados distribuídos lado a lado, representando flip flops associados com uma estrutura triangular e oval,
à esquerda, associada a uma porta xor. Cada um dos quadrados representa 1 de dois flip flops, sendo o da esquerda identificado com
a letra A e o da direita com a letra B. Ainda, cada flip flop possui as descrições D para sua entrada, Q para sua saída normal e Q com
uma barra em cima, indicando sua saída negada.

78
UNIDADE 4

Este circuito tem objetivo didático de demonstrar a lógica sequencial, já que internamente,
nos CLPs, são disponibilizados os contadores (assim como veremos em unidades futuras).
Nos CLPs, também, são disponibilizados os flip flops para operações de memorização,
assim como é o caso do flip flop do tipo SR (SET - RESET).
O comportamento do flip flop SR é tal que sua saída vai para o nível lógico 1, quando
a entrada Set for ativada; e para nível lógico 0, quando sua saída Reset é ativada. Ainda,
se por algum motivo, as duas entradas forem ativadas, o Reset possui prioridade sobre
o Set. Por exemplo, para o programa implementado em FBD, mostrado na Figura 10, ao
ativarmos o sinal “bs”, o flip flop terá sua saída ativada, acionando o sinal “motor”, que
será desligado imediatamente ao acionamento do sinal “bs”.
FFA
SR
bs SET1 Q1 motor
br RESET

Figura 10 - Bloco de um flip flop do tipo SR na linguagem FBD / Fonte: o autor.

Descrição da Imagem: bloco representando um flip flop SR com entradas set e reset, à esquerda, e saída Q1, à
direita. Na entrada do flip flop, estão conectados os sinais bs e br e, em sua saída, o sinal motor. No centro do flip
flop, há um símbolo similar a uma balança.

Nos CLPs, os sistemas com lógica sequencial são, geralmente, implementados, utilizando a
linguagem SFC, própria de sistemas sequenciais. Desta forma, o conhecimento das lógicas
combinacionais e sequenciais, a partir dos sistemas digitais, são ferramentas auxiliares
à programação dos CLPs.

Neste podcast, conversaremos sobre a importância da lógica


no contexto dos projetos e criação de programas para CLPs,
enfatizando que se a lógica for compreendida, a implementação
da mesma é similar independentemente de qual equipamento
ou tecnologia seja utilizado, seja esta a utilização de CLP,
microcontrolador, programação em sistema operacional específico,
dentre outros. Uma vez que a lógica é o pilar fundamental da
programação e de todo o contexto que discutimos, convido você
para escutar este áudio.

79
UNICESUMAR

Por exemplo, para o circuito do contador de 2 bits que foi apresentado na Figura 9,
podemos simplesmente utilizar, no CLP, um contador do tipo CTU (UP Counter) que
realiza contagens crescentes, fazendo com que ele conte de 0 a 3 e seja representado na
próxima contagem. Ainda, os 2 bits que representam o valor da contagem poderiam ser
representados fisicamente por saídas do CLP. Exemplos similares, utilizando contadores,
serão apresentados nas próximas unidades. A implementação do contador de dois bits,
utilizando a linguagem SFC está representada na Figura 11:

Init R bl
R b0

Init.t > t#2s

Step0 S b0
R b1

Step0.t > t#2s

Step1 R b0
S b1

Step1.t > t#2s

Step2 S b0
S b1

Step.t > t#2s

Init

Figura 11 - Implementação de um contador de dois bits, utilizando linguagem SFC / Fonte: o autor.

Descrição da Imagem: programa em linguagem SFC. A figura mostra blocos na cor cinza distribuídos verticalmente,
representando diferentes etapas de um programa. À esquerda, estão as etapas e, à direita, estão as ações. As etapas
representadas pelos retângulos, à esquerda, da figura são identificadas de cima para baixo por Init, Step0, Step1
e Step2 e em cada uma destas etapas estão conectados retângulos que se estendem à direita com as respectivas
identificações: R - b1 e R - b0, S - b0 e R - b1, R - b0 e S - b1, S - b0 e S - b1.

80
UNIDADE 4

Na Figura 11, é possível observar que foram criadas quatro etapas, uma vez que o
contador de dois bits gera as contagens de 0 a 3, correspondendo às quatro etapas.
Ainda, as transições entre etapas para este exemplo foram geradas, por meio de tem-
porizações; assim, as temporizações podem ser comparadas com o clock deste sistema.
As ferramentas — utilizadas, nesta unidade, assim como é o caso dos teoremas
booleanos, soma dos produtos, mapa de Karnaugh e máquina de estados — são
usadas amplamente no contexto da eletrônica digital. Além disso, estas ferramentas
possuem aplicação direta na lógica de programação, principalmente quando tratamos
de controladores, como os CLPs, os quais podem ter suas entradas e saídas inter-
pretadas como bits. Desta forma, toda a teoria, aqui, desenvolvida pode ser aplicada
diretamente para contribuir na criação de programas, tanto para CLPs como para
sistemas embarcados e computadores.

81
Nesta unidade, discutimos os vários aspectos e características das lógicas combinacional e se-
quencial, contextualizando sua aplicação na programação do Controlador Lógico Programável.
Agora, convido você a produzir um resumo sobre o que assimilou dos tópicos desenvolvidos.
Trago, abaixo, uma sugestão de mapa mental no formato de um diagrama e solicito que você
desenvolva uma análise similar, anotando-a em seu livro didático.

Lógica Combinacional
A saída do sistema depende somente da
combinação de suas entradas...

Lógica Sequencial

Soma dos Produtos

Mapa de Karnaugh

Figura 12 - Mapa mental / Fonte: o autor.

Descrição da Imagem: mapa mental, destacando os itens Lógica combinacional, Lógica sequencial, Soma dos produtos e Mapa
de Karnaugh.

82
1. Um equipamento precisa gerar um sinal de saída, conforme a expressão booleana S =
ABC’ + A’BC + AB. Você foi contratado como estagiário de engenharia da empresa e foi
desafiado a desenhar o circuito equivalente (utilizando portas lógicas) que implementa
esta expressão. Esta expressão lógica pode ser minimizada? Em caso afirmativo, qual
a expressão mínima?

2. Conforme teoria desenvolvida nesta unidade de estudos, utilizamos o método da soma


de produtos para obtenção da expressão lógica, a partir de uma tabela verdade. Assim,
demonstre seu conhecimento adquirido sobre a soma de produtos, gerando a expres-
são lógica referente à tabela verdade apresentada na tabela seguinte. Como seria a
implementação da expressão resultante desta tabela, utilizando a linguagem ladder?

A B C S
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Fonte: o autor.

3. Outra ferramenta fundamental para análise de lógicas é o mapa de Karnaugh, este


auxilia na identificação de simplificações de uma tabela verdade. Assim, seu desafio é
utilizar o mapa de Karnaugh para obter a expressão da tabela verdade apresentada
na tabela da Atividade 2.

4. Conforme conceitos apresentados sobre as lógicas combinacional e a lógica sequencial,


elas se diferenciam pelo fato que, na lógica sequencial, as saídas do sistema, além das
suas entradas, dependem do estado anterior. Ainda, na lógica sequencial, há a presença
do clock, este comanda a frequência de alteração das saídas e, consequentemente, dos
estados do sistema. Para um sistema sequencial implementado em um controlador
lógico programável, qual parâmetro corresponde à frequência de troca dos estados?

5. Na análise de um sistema digital que foi substituído por um CLP, o engenheiro do pro-
jeto verificou a existência de células de memória implementadas com flip flops. Qual a
função de um flip flop em um sistema digital e como os mesmos são implementados
internamente nos CLPs?

83
6. Ao analisar um programa, o engenheiro responsável pelo projeto descreveu o funcio-
namento do programa na linguagem SFC, apresentado na seguinte. Você foi contratado
como engenheiro auxiliar e precisa descrever o funcionamento deste mesmo programa
para certificar a validade da sua análise.

Init R b2
R b1
R b0

Init.t > t#2s

Step0 R b2
R b0
S b1

Step0.t > t#2s

Step1 S b2
R b0
R b1

Step1.t > t#2s

Step2 S b2
R b0
S b1

Step2.t > t#2s

Init
Fonte: o autor.

Descrição da Imagem: a figura mostra blocos na cor cinza distribuídos verticalmente, representando diferentes etapas
de um programa. À esquerda, estão as etapas e, à direita, estão as ações. As etapas representadas pelos retângulos, à
esquerda da figura, são identificadas de cima para baixo por Init, Step0, Step1 e Step2 e, em cada uma destas etapas,
estão conectados retângulos que se estendem à direita com as respectivas identificações: R - b2 e R - b1 e R - b0, R - b2
e R - b0 e S - b1, S - b2 e R - b0 e R - b1 e S - b2 e R - b0 e S - b1.

84
85
86
5
Programação em
Linguagem Ladder
Dr. Taiser Tadeu Teixeira Barros

Nesta unidade, aprofundaremos no estudo da linguagem Ladder,


esta é uma das mais utilizadas para a programação dos CLPs. Todos
os exemplos desenvolvidos utilizaram o ambiente de programação
Codesys, buscando, assim, uma aproximação com uma ferramenta
utilizada profissionalmente.
UNICESUMAR

Mesmo que você não possua experiência profissional com a utilização dos controladores
lógicos programáveis, acredito que já tenha lido ou escutado um professor ou colega falar
sobre a linguagem ladder, quando discutiam o contexto dos CLPs. Mas o que faz a linguagem
ladder ter este destaque diante das demais linguagens propostas pela norma IEC 61131-3?
A programação é uma área que se desenvolve, constantemente, com o surgimento de
novas linguagens e frameworks. Nunca a profissão de programador foi tão demandada
como nos últimos anos. E, assim como em qualquer área profissional, existem ferramen-
tas que melhor se adaptam para cada situação; no caso da programação, a analogia com a
utilização de determinada linguagem.
Algumas linguagens são específicas para criação de jogos, outras para programação
web e, também, há linguagens mais utilizadas para a programação de hardware, como é o
caso da linguagem assembly. Da mesma forma, quando programamos um CLP, seja por
experiência, seja por acaso da formação técnica, optamos por uma das cinco linguagens
IEC, uma linguagem específica de fabricante, mas com certeza, em algum momento, o
contato com a linguagem ladder vai ocorrer, seja na análise de um programa, seja em sua
utilização, especificamente.
A linguagem ladder, por ter sido a opção original derivada diretamente dos diagramas
a relé, conseguiu se popularizar e, ainda, é muito utilizada em cursos da área, pois facilita
a relação do programa com diagramas elétricos de automação.
Para iniciarmos a unidade, peço que faça uma pesquisa sobre linguagens de progra-
mação para CLP no google ou, ainda, pesquise em livros e/ou materiais complementares,
como catálogos de fabricantes. Encontrou alguma referência sobre a linguagem ladder?
Tenho convicção que sim, pois, além de ser uma das linguagens mais utilizadas, possui
vasta documentação disponível. Anote em seu diário de bordo os resultados encontrados
referentes à linguagem ladder.
A popularidade da linguagem ladder (ou diagrama ladder, como também é referenciado)
tem forte relação com a invenção do Controlador Lógico Programável, na década de 60.
Naquela época, todos os controles industriais eram realizados com implementação de lógica
a relé; e, assim, a linguagem ladder foi criada, justamente, para substituir os diagramas a
relé; consequentemente, muito similar a eles. Dessa forma, os programadores que utilizam
a linguagem ladder, normalmente, possuem um sólido background técnico na área elétrica.
Você, como futuro engenheiro da área elétrica, já deve ter uma boa noção sobre dia-
gramas elétricos, ou seja, poderia utilizar os conhecimentos associados com a elétrica para
implementar uma lógica em um Controlador Lógico Programável. É esta a facilidade que
a linguagem ladder nos proporciona: poder criar um programa de forma muito similar a
um diagrama elétrico. Faça uma breve descrição em seu diário de bordo, relatando seus
conhecimentos sobre diagramas elétricos e se já teve contato com um diagrama ladder.

88
UNIDADE 5

DIÁRIO DE BORDO

A linguagem ladder é uma das linguagens de programação de CLPs mais utilizada,


principalmente, pelo fato de possuir grande semelhança com os diagramas elétricos
industriais e por ser desenvolvida a partir de símbolos gráficos de fácil compreensão
para os profissionais que dominavam o controle lógico a relé (PETRUZELLA, 2014).
O termo ladder vem da mesma palavra em inglês que significa escada, e o diagrama
gráfico gerado, por sua vez, possui o formato de uma escada; na qual, as laterais corres-
pondem aos barramentos de alimentação e nos degraus estão os elementos como
contatos e bobinas. Na Figura 1, há a representação de um diagrama ladder que permite
visualizar seu formato de “escada”.

89
UNICESUMAR

Figura 1 - Estrutura de um diagrama ladder / Fonte: o autor.

Descrição da Imagem: a figura mostra do lado direito um desenho de escada com três degraus, representando o
formato do diagrama de ladder. À esquerda, temos o diagrama disposto no mesmo formato da escada e, em cada
“degrau”, temos os símbolos de contatos do tipo normal aberto (duas barras paralelas), normal fechado (duas barras
paralelas com uma terceira na diagonal, atravessando as duas) e bobinas (parênteses).

Para demonstrar a relação direta entre um diagrama elétrico e o diagrama ladder, vamos
avaliar a Figura 2.
+
13

14
1 2
11
K1

B0
12 A1

A2
11

12

13

14

K1
B0

B1

13 13
B1 K1 +
14 14

B0 B1 K1
A1
K1
A2 K1
3

Figura 2 - Diagrama elétrico x diagrama ladder: (1) diagrama elétrico, (2) diagrama elétrico rotacionado 90º no
sentido anti-horário e (3) diagrama ladder correspondente / Fonte: o autor.

Descrição da Imagem: a imagem possui três diagramas elétricos, sendo o mais à esquerda disposto na vertical e
outros dois, à direita, dispostos na horizontal, um sobre o outro. Ainda, os diagramas possuem contatos NA, NF e
bobinas. Há uma linha vertical, à esquerda, com as descrições B0, B1, K1, A1, A2, 11, 12, 13 e 14 e linhas horizontais,
à direita, com as mesmas descrições em posições análogas.

90
UNIDADE 5

Ao realizarmos a comparação entre o diagrama elétrico e o diagrama ladder, verificamos que, para
Símbolo
obter o diagrama ladder, basta rotacionar o diagrama elétrico 90º no sentidoSímboloanti-horário. Assim, na
Figura 2, temos em (1) o diagrama Símbolo Elétrico
elétrico,
Símbolo Ladder
rotacionado 90º no sentido anti-horário,
Elétrico Ladder obtendo a re-
presentação em (2) e o diagrama ladder correspondente em (3). Neste, observa-se que, após a bobina,
Botoeira/Contato
não há a representação do ramo
Botoeira/Contato NA
NAnegativo, característica de alguns ambientes de programação, assim
como é o caso do Codesys.
Deve ser observado, também, que os barramentos que energizam os diagramas elétricos (positivo
Símbolo
Símbolo
(+) e negativo (-)) estão na posição horizontal no diagrama elétrico e, consequentemente, ficam na
Símbolo
Símbolo
Símbolo ElétricoElétrico Ladder Ladder
Símbolo
posição vertical no diagrama ladder. A simbologia utilizada no diagrama
Símbolo Elétrico Ladder
ladder é muito similar a dos
diagramas elétricos, principalmente para osElétrico
Símbolo Símbolo
elementos básicos, como os contatos e a bobina que estão
Ladder
Símbolo
Botoeira/Contato
Botoeira/Contato NA NA
Símbolo
apresentados na Tabela NA1. Símbolo
Botoeira/Contato
Botoeira/Contato
Botoeira/Contato NF ElétricoElétrico
NFSímbolo Ladder Ladder
Botoeira/Contato NA Elétrico
Símbolo Ladder
Botoeira/Contato NASímbolo Elétrico Símbolo Ladder
Botoeira/Contato NA
Botoeira/Contato NA

Botoeira/Contato NA
Botoeira/Contato NF
Botoeira/Contato NF
Botoeira/Contato NF
Bobina/Solenoide
Bobina/Solenoide
Botoeira/Contato NF
Botoeira/Contato NF
Botoeira/Contato
Botoeira/Contato NF NF

Botoeira/Contato NF
Bobina/Solenoide

Bobina/Solenoide
Bobina/Solenoide
Retenção
Retenção elétrica
elétrica Equivalente
Equivalente à
à
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide
Bobina/Solenoide utilização
utilização das
das
Bobina/Solenoide
bobinas
bobinas do
do tipo
tipo
Retenção elétrica Equivalente à
K set
K set (S)
Equivalente(S) e
e reset
reset das
à utilização
utilização das
bobinas do tipo set (S) e
(R)
(R)
Retenção elétrica elétrica
Retenção reset
bobinas do(R)
Equivalente
tipoà
Equivalente à
Retenção elétrica K utilização
Equivalente
set àdas
(S) e reset
Retenção elétrica utilização
Equivalente das à
Retenção elétrica Equivalente à SS
bobinas do das
(R)
utilização tipo
Retenção elétrica bobinas
utilização
Equivalente do tipo
das
à
Retenção elétrica K utilização das
K K set (S) edoreset
bobinas tipo
K set (S) edoreset
bobinas
utilização tipo
das
K bobinasS do tipo
(R) (S) e reset
set
K K (R)
set (S) edoreset
bobinas tipo
set (S) e reset R
K (R) R
K (R) (R)
set (S) e reset
S
R S
S (R)
K
Tabela 1 - Símbolos elétricos e símbolos equivalentes utilizados no diagrama ladder / Fonte: o Sautor. S
K
K
K S
K R
R
R
K
R
R
91
R
UNICESUMAR

Para utilizarmos a linguagem ladder, em exemplos práticos, trabalharemos com um


CLP didático, composto por cinco entradas e cinco saídas digitais, conforme a proposta
representada na Figura 3.
+
-

COM I0 I1 I2 I3 I4

CLP CLP

M+ Q0 Q1 Q2 Q3 Q4

Figura 3 - CLP didático composto por 5 entradas digitais e 5 saídas digitais / Fonte: o autor.

Descrição da Imagem: estrutura retangular com conexões I0, I1, I2, I3 e I4 na parte superior e conexões Q0, Q1, Q2,
Q3 e Q4 na parte inferior. As conexões superiores representam as entradas de um controlador lógico programável
e as conexões inferiores representam as saídas. Em cada uma das entradas, está conectado uma estrutura similar
a um “T” rotacionado 90º no sentido anti-horário, representando botoeiras elétricas. Ainda, no canto esquerdo da
figura, está escrito COM e M+ indicando as conexões de tensão comum e tensão positiva.

Como podemos utilizar a lógica combinacional que aprendemos na unidade ante-


rior para resolver um problema proposto, utilizando o CLP e a linguagem ladder?

Nosso primeiro exemplo utiliza três entradas e três saídas de nosso CLP didático. O
problema a ser resolvido consiste na implementação de um controle de velocidade e
de sentido de giro de um motor utilizado em um processo automatizado. A função de
cada entrada/saída está descrita a seguir.

92
UNIDADE 5

Entradas:
• I0 - chave de habilitação do processo: 0 - processo desabilitado (o motor fica
desabilitado), 1 - sistema habilitado (o motor pode operar conforme determinado
pelas demais entradas do processo).
• I1 - sentido de giro do motor: 0 - sentido horário, 1 - sentido anti-horário.
• I2 - sentido de giro do motor: 0 - velocidade mínima do motor, 1 - velocidade
máxima do motor.

Saídas:
• As saídas Q0 e Q1 controlam o sentido de giro do motor e sua habilitação con-
forme tabela seguinte.

Q0 Q1 Motor
0 0 Desabilitado.
0 1 Habilitado para giro no sentido horário.
1 0 Habilitado para giro no sentido anti-horário.
Tabela 2 - Possibilidades lógicas com duas saídas digitais / Fonte: o autor.

Ainda, a saída Q2 controla a velocidade do motor, sendo: 0 - motor opera na velocidade


mínima e 1 - motor opera na velocidade máxima. Compilando estas informações, po-
demos gerar a tabela verdade correspondente:

I0 I1 I2 Q0 Q1 Q2
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 0 0
1 0 0 0 1 0
1 0 1 0 1 1
1 1 0 1 0 0
1 1 1 1 0 1
Tabela 3 - Tabela verdade relativa ao primeiro exemplo / Fonte: o autor.

Analisando a Tabela 3, podemos verificar que a lógica é bastante simples, pois, para a
metade superior da tabela, que corresponde à entrada I0 em 0, o motor deve estar desa-
bilitado e, assim, todas as saídas estarão em estado 0. Podemos, agora, desenvolver nosso
diagrama ladder com base na análise da tabela de duas formas: (1) análise lógica e (2)
equações geradas pela soma dos produtos.

93
UNICESUMAR

Para (1) análise lógica, basta observar que sempre que I0 estiver habilitado: o estado
da saída Q0 é idêntico ao estado da entrada I1; o estado da saída Q1 corresponde ao
estado da entrada I1 invertido; e o estado da saída Q2 é idêntico ao estado da entrada I2.
Assim, nossa solução correspondente em linguagem ladder está representada na Figura 4.

I0 I1 Q0

I0 I1 Q1

I0 I2 Q2

Figura 4 - Solução para a tabela verdade, utilizando análise lógica / Fonte: o autor.

Descrição da Imagem: a figura apresenta três linhas horizontais em paralelo, representando linhas de programa
em linguagem ladder. A primeira linha de cima para baixo tem as descrições I0, I1 (contato NA) e Q0 (bobina), a
segunda linha I0, I1(contato NA) e Q1 (bobina), e a terceira I0, I2 (contato NA) e Q2 (bobina).

Para (2) equações geradas pela soma dos produtos: somente nos interessa as saídas em
estado lógico “1” e, assim, podemos utilizar apenas as linhas de interesse da Tabela 3,
gerando a Tabela 4:

I0 I1 I2 Q0 Q1 Q2 E, conforme Tabela 4, podemos escrever:


1 0 0 0 1 0
1 0 1 0 1 1
Q0 = I0I1I2’ + I0I1I2 = I0I1
1 1 0 1 0 0
Q1 = I0I1’I2’ + I0I1’I2 = I0I1’
1 1 1 1 0 1
Tabela 4 - Tabela verdade derivada da Tabela 3 Q2 = I0I1’I2 + I0I1I2 = I0I2
Fonte: o autor.

94
UNIDADE 5

Ao interpretar as expressões desenvolvidas, podemos verificar que o diagrama ladder,


apresentado na Figura 4, atende-as. Com relação aos elementos disponíveis na linguagem
ladder, as bobinas comuns caracterizam-se por não possuírem capacidade de memória,
ou seja, só mantém seu estado enquanto forem acionados por algum sinal.
Para permitir as operações que necessitam de memorização sejam efetuadas, pode-
mos utilizar a memória do tipo SET; esta, após acionada, mantém seu estado mesmo
que o sinal que a levou ao nível lógico “1” seja desativado. A memória SET possui uma
operação complementar efetuada pela memória do tipo RESET, ou seja, que desativa o
bit SETADO, levando-o ao nível lógico “0”.
Na Figura 5, podemos observar um programa desenvolvido na linguagem ladder,
em que o contato I0 vai setar a bobina M0, e o contato I1 vai resetar a mesma bobina.

I0 M0
S

I1 M0
R

Figura 5 - Utilização das bobinas do tipo SET e RESET / Fonte: o autor.

Descrição da Imagem: a figura apresenta duas linhas horizontais em paralelo, representando linhas de programa
em linguagem ladder. A primeira linha de cima para baixo tem as escritas I0 (contato NA), M0 (S) (bobina), e a segunda
linha I1 (contato NA), M0 (R) (bobina).

Outro exemplo que pode auxiliar na compreensão da utilização das bobinas do tipo SET
e RESET é o acionamento de um sistema eletropneumático representado na Figura 6.
Nesta, é possível observar a presença de dois atuadores denominados X e Y. O atuador X
será utilizado para prensar uma peça no molde, enquanto que o atuador Y será utilizado
para estampar a peça (forçando-a contra o molde). A sequência de acionamento que será
efetuada é: X+Y+Y-X-, ou seja, X avança, Y avança, Y recua e X recua, finalizando o ciclo.
Ainda, cada ciclo será realizado após o acionamento de uma botoeira, denominada B1.

95
UNICESUMAR

Y+

Y
1

y0
3

50%

50%

y1
x0 x1

50%

50%

x+ 1 3

Figura 6 - Representação de processo de estampagem composto por dois atuadores e molde / Fonte: o autor.

Descrição da Imagem: dois atuadores pneumáticos acoplados em válvulas acopladas em um molde. No lado esquer-
do da figura, há a representação de um atuador com retorno por mola que efetua o movimento X e, na parte supe-
rior, o segundo atuador que efetua o movimento Y. Ainda, à direita, temos um bloco cinza, representando o molde.

Na Figura 6, podemos observar a presença de sensores de posição acoplados ao corpo


dos atuadores, sendo eles: x0: indica que o atuador X está na posição recuado, x1: indica
que o atuador X está na posição avançado, y0: indica que o atuador Y está na posição
recuado e y1: indica que o atuador Y está na posição avançado. Ainda, todos estes sensores
são magnéticos do tipo NA e acionados por um imã acoplado ao êmbolo do atuador.
É importante observar, também, que as válvulas que acionam os atuadores X e Y são
do tipo 3/2 vias simples solenóide com retorno por mola, ou seja, quando for aplicado
sinal elétrico na solenóide da válvula, o atuador avança, recuando por mola, quando o
sinal elétrico for removido.

96
UNIDADE 5

De posse das informações sobre os elementos eletropneumáticos, podemos proceder ao desenvol-


vimento do diagrama ladder, o qual está representado na Figura 6.

B1 x
S

x1 aux0 Y
S

x1 aux0
S
y
R

aux0 y0 x
R

x0 aux0
R

Figura 7 - Diagrama ladder com a solução para automação do processo representado na Figura 6 / Fonte: o autor.

Descrição da Imagem: cinco linhas horizontais com contatos e bobinas, representando um diagrama ladder. Na primeira linha, temos
as descrições B1 (associada a um contato do tipo normal aberto) e X (associado a uma bobina set). Na segunda linha, x1 (contato NA),
aux0 (contato NF) e Y (bobina set), destacando que os dois contatos estão em série, ou seja, estão em sequência na linha horizontal.
Na terceira linha, y1 (contato NA) aciona as duas bobinas do tipo set aux0 e Y, estas ficam uma abaixo da outra, indicando que são
associadas simultaneamente. Na quarta linha, aux0 (contato NA), y0 (contato NA) também associados em lógica and, finalizando a linha
com a bobina reset de X. E na última linha o contato NA de x0 aciona uma bobina de reset de aux0.

Podemos observar na Figura 7 que, ao ser gerado um sinal no contato de B1 (início do ciclo), ele vai
setar a bobina X, que fisicamente vai energizar a solenóide X, efetuando o avanço do atuador X (mo-
vimento X+). Ao avançar, o atuador X causa o acionamento do sensor x1, este vai setar a bobina Y que,
consequentemente, realiza o avanço do atuador Y (movimento Y+).
Com o avanço do atuador Y, o sensor y1 é acionado e, assim, a bobina Y é resetada, fazendo com
que o atuador Y recue (movimento Y-). Observe que o avanço de Y também vai setar a bobina “aux0”
a qual possui duas funções: (1) impedir que o sensor x1 continue setando a bobina Y e (2) habilitar o
reset da bobina X, quando o recuo do atuador Y (movimento Y-) for detectado em y0.
Ao final do movimento de recuo do atuador Y, a bobina X é resetada e acontece o recuo do atuador
X (movimento X-), encerrando o ciclo de acionamento dos atuadores. E, assim, um novo ciclo pode
ser iniciado através de um pulso na botoeira B1.

97
UNICESUMAR

Nesta unidade, verificamos a existência das bobinas comuns e das bobinas do


tipo SET e RESET disponíveis na linguagem ladder. Mas qual seria a diferença
básica entre estes tipos de bobinas e quando devemos utilizar um ou outro tipo?

As bobinas do tipo comum não podem ser repetidas no programa, pois devido ao fluxo
de processamento do diagrama ladder (da esquerda para a direita e de cima para bai-
xo) somente o último acionamento da bobina será considerado e, desta forma, todos
os acionamentos relativos a uma bobina comum precisam ser endereçados por outras
bobinas auxiliares.
Como exemplo, verificaremos o diagrama ladder apresentado na Figura 8 que re-
presenta uma situação em que o programador repetiu a bobina comum Q0. Neste caso,
a saída Q0 do CLP só será acionada quando a entrada I1 for ativada. Este fato ocorre
porque, ao processar o programa, se a bobina for acionada pelo acionamento de I0, o
seu estado é atualizado para “1” na tabela de memória e, em seguida, atualizado para “0”
na linha posterior, sendo o último estado o que vai ser transferido para o hardware do
CLP. Então, a saída Q0 só poderá ser acionada por I1.

I1 Q0

I1 Q0

Figura 8 - Repetição de bobinas comuns / Fonte: o autor.

Descrição da Imagem: diagrama ladder com duas linhas horizontais, sendo a primeira composta pelo contato na
de I0 e bobina de Q0, e a segunda composta pelo contato na de I1 e bobina de Q0.

Para solucionar este fato, pode ser utilizada uma lógica OR de I0 com I1 para acionar
Q0, em que se realiza um paralelo dos contatos e utiliza-se a bobina somente uma vez,
assim como representado na Figura 9.

98
UNIDADE 5

I0 Q0

I1

Figura 9 - Lógica OR de I0 e I1 em Q0 / Fonte: o autor.

Descrição da Imagem: diagrama ladder com duas linhas horizontais conectadas com a descrição I0 e I1, represen-
tando contatos paralelos conectados à descrição Q0, que representa a bobina.

Digamos, porém, que agora precisamos realizar uma outra lógica resultante na saída Q0,
utilizando as entradas I2 e I3, como faremos para que esta nova lógica não interfira na
atual? No caso de lógicas simples, como as que desenvolvemos aqui, seria possível criar
uma tabela verdade e solucionar o problema, porém para programas grandes, geralmente,
este tipo de solução se torna muito complexo. Assim, para implementar a lógica AND
de I2 e I3, também, na saída Q0, recorreremos ao artifício de utilizar bobinas auxiliares,
assim como representado na Figura 10.
I0 I4 m0

I1

I2 I3 I4 m0

m0 Q0

m1

Figura 10 - Implementando diferentes lógicas em uma mesma saída do CLP / Fonte: o autor.

Descrição da Imagem: cinco linhas horizontais com contatos e bobinas, representando um diagrama ladder. Na
primeira linha, temos as descrições I0 (contato NA), I4 (contato NF) e m0(bobina); na segunda linha I1, que se conecta
a primeira linha, entre I0 e I4; na terceira linha I2, I3, I4 (contato NA) e m1 (bobina); na quarta linha, m0(contato NA)
e Q0(bobina) e, na última linha, m1(contato NA) que se conecta com a quarta linha entre m0 e Q0.

99
UNICESUMAR

Assim como podemos observar na Figura 10, a lógica OR é realizada na bobina auxiliar
“m0”; a lógica AND, na bobina auxiliar “m1”, e o acionamento de Q0 pode ser realizado
por m0 ou m1, permitindo assim que as duas lógicas possam ser aplicadas a Q0, sem
que ela se repita no programa.
É importante observar, também, que por meio de I4, podemos selecionar qual lógica
vai estar ativa em determinado momento, sendo que para I4 não ativado Q0 obedece à
lógica OR entre I0 e I1, e para I4 ativado Q0 obedece à lógica AND entre I2 e I3.
Já com relação às bobinas SET e RESET, elas podem ser repetidas conforme neces-
sidade do programador (porém alguns ambientes de programação, como é o caso do
GXWorks da Mitsubishi, geram warnings, quando da repetição de bobinas SET/RESET).

Neste vídeo, trago para você a utilização dos blocos de transição


de subida e de transição de descida, os quais são fundamentais
na solução de diversos problemas de automação.
Para demonstrar o seu funcionamento, simularemos uma
aplicação de contagem no ambiente codesys.

Dentre os elementos da linguagem ladder disponíveis nos ambientes de programação, é


muito útil para o programador conhecer também as transições de borda, ou contatos de
detecção de borda. Esses contatos ou blocos permitem detectar se o sinal digital mudou
de “0” para “1” (transição de subida) ou de “1” para “0” (transição de descida), permane-
cendo ativos somente no ciclo de scan, no qual a transição foi detectada!
O conceito é bastante simples, utilizaremos um exemplo prático para compreendê-lo!
Na Figura 11, temos um bloco matemático de adição habilitado toda vez que o contato
I0 for acionado.
I0 ADD
EN ENO
+
contagem contagem
1

Figura 11 - Bloco matemático de adição acionado pelo contato de I0 / Fonte: o autor.

Descrição da Imagem: bloco cinza representando um bloco de adição com entradas “contagem” e “1” e saída “con-
tagem”. No lado esquerdo do bloco, está escrito “EN”, indicando a habilitação do bloco realizada pelo contato NA de
I0. No centro do bloco, encontra-se o símbolo “+”, caracterizando a função principal do bloco.

100
UNIDADE 5

Sempre que o bloco for habilitado, a variável “contagem” vai ser adicionada com “1”, ou seja, contagem
= contagem + 1. Então, toda vez que acionamos o contato de I0, a variável contagem é incrementada
em 1 unidade, correto? Na realidade, não! Pois quando o contato de I0 fecha, devido ao período do
ciclo de scan ser menor que o tempo entre abertura e fechamento do contato (associado a uma entrada
física ou entrada no simulador), o bloco de soma é executado diversas vezes!
No caso de uma simulação realizada no codesys, acionei o contato I0 com uma botoeira pulsante e
a contagem que iniciou em zero mudou para 39, ou seja, o tempo entre acionar o botão associado ao
contato I0 e liberá-lo foram realizados 39 ciclos de scan!

Neste Podcast, trago para você algumas considerações sobre a


linguagem ladder de programação, considerando a experiência
prática que tenho com ela, atuando profissionalmente.
Faço uma comparação com as demais linguagens propostas
pela IEC, com vantagens e desvantagens na utilização da
linguagem ladder diante das demais linguagens disponíveis!
Tenho convicção que este tipo de discussão ampliará sua visão
sobre as formas de programar os CLPs.

Como, porém, procedemos se for necessário executar o bloco de adição uma única vez por pulso
da botoeira? Neste caso, a utilização de um bloco de detecção de borda de subida pode solucionar o
problema proposto. Na Figura 12, é apresentada a adequação do programa da Figura 11, utilizando o
bloco “R_TRIG” (do inglês Rising Trigger ou Gatilho/Disparo de Subida).

R_TRIG_0
I0 R_TRIG ADD
CLK Q EN ENO
contagem contagem
1

Figura 12 - Bloco matemático de adição acionado pelo contato de I0 com detecção de borda e subida / Fonte: o autor.

Descrição da Imagem: dois blocos cinza associados em série com o primeiro bloco representando um detector de borda de subida e o
segundo representando um bloco de adição com entradas “contagem” e “1” e saída “contagem”. O bloco de detecção de borda denomi-
nado R_TRIG possui a descrição clk no lado esquerdo e Q no lado direito, além de possuir o símbolo de uma lâmpada no centro do bloco.

101
UNICESUMAR

Conforme apresentado na Figura 12, o bloco de detecção de borda


de subida faz com que o acionamento de I0 seja detectado somente
uma vez, executando assim o bloco de adição uma única vez. Isto
ocorre porque o bloco “R_TRIG” só permanece ativo durante 1
ciclo de scan e, consequentemente, mesmo que o botão que aciona
I0 permaneça ativo o bloco só será ativado novamente quando, na
sua entrada, for detectada outra transição de subida (de “0” para “1”).
Agora, ao executarmos o programa apresentado na Figura 12,
cada pulso no botão vai gerar o incremento de uma unidade na
variável de contagem. O bloco “R_TRIG” que foi apresentado é
utilizado para detecção das bordas de subida, enquanto o bloco
F_TRIG (do inglês Falling Trigger ou Gatilho/Disparo de Descida)
é utilizado para detecção das bordas de descida (nível lógico “1”
para nível lógico “0”).
Na Figura 12, verificamos também a utilização de um bloco
que implementa a operação algébrica da soma (“ADD”). Os blocos
matemáticos disponíveis, conforme preconizados pela norma IEC
61131 vão além da soma, incluindo as demais operações básicas de
subtração (“SUB”), multiplicação (“MUL”) e divisão (“DIV”), além
de outras operações como raiz quadrada e exponencial.
Todos os conhecimentos discutidos nesta unidade de estudos
servem como uma base sólida para o desenvolvimento de pro-
gramação de Controladores Lógicos Programáveis, utilizando a
linguagem ladder. Assim como discutimos nesta unidade e em
unidades anteriores, a linguagem ladder é amplamente utilizada
na programação dos CLPs, tanto no contexto acadêmico como em
aplicações industriais. Assim, conhecendo os principais elementos
da linguagem ladder, sua base de conhecimentos sobre programa-
ção permite a compreensão de diversos tópicos de estudo e uma
possível carreira na área de programação.

102
A seguir, trago para você um mapa mental, referenciando alguns elementos e termos relacio-
nados à linguagem ladder. Sua tarefa é completar este mapa, considerando os itens que foram
apresentados nesta unidade.

Ciclo de SCAN

NA
Contatos
NF
Linguagem
Ladder
??? ???
Bobinas
???
Figura 13 - Mapa mental / Fonte: o autor.

103
1. Na Figura 5 da unidade, foi apresentado um exemplo de utilização das bobinas do tipo
SET e RESET, em que um sinal seta a bobina m0 e outro sinal a reseta. O programa
representado na figura em questão precisa ser reproduzido em um modelo de CLP,
utilizando somente a bobina do tipo comum. Como engenheiro auxiliar do projeto,
você foi contratado para desenvolver este programa. Apresente o diagrama ladder
correspondente a este desafio.

2. A figura seguinte representa a solução no formato de comando elétrico para a automa-


ção do conjunto composto pelos atuadores e molde que realizam a sequência X+Y+Y-X-.
Utilizando o CLP didático que foi apresentado na Figura 4 da unidade, proponha um
esquema de representação das conexões entre os elementos elétricos do problema
com as entradas/saídas do CLP de forma que o diagrama ladder desenvolvido e apre-
sentado na Figura 7 possa ser utilizado.

13 13 X1 1 y1 1 13
B1 K1 K2
14 14 2 2 14

11
11 x0 1 y0 1
K2
K3
12
12 2 2

A1 A1 A1 A1 A1
K1 X+ Y+ K2 K3
A2 A2 A2 A2 A2

Fonte: o autor.

Descrição da Imagem: comando elétrico de um sistema eletropneumático, representado com linhas verticais com
elementos de contato, botoeiras, bobinas e solenóides. As bobinas e solenóides estão na parte inferior da imagem e são
representados por retângulos.

3. O contato de detecção da borda de subida (R_TRIG) pode ser criado, utilizando apenas
contatos NA, NF e bobinas do tipo comum. Um exemplo clássico da utilização desta
funcionalidade é criar um programa que permita acionar e desacionar uma saída do
CLP, utilizando uma única entrada. Assim, um pulso na entrada aciona uma saída de-
terminada e o próximo pulso desativa a mesma saída. Ou, explicando de outra forma,
cada pulso na entrada do CLP inverte o estado da saída! Ainda, caso o sinal que ativa
a entrada do CLP seja mantido, a saída não poderá apresentar um comportamento
aleatório (ficar "piscando'').

104
4. O técnico responsável pelos testes de campo de um equipamento automatizado por um
CLP verificou, durante os testes, que, ao ocorrer o acionamento simultâneo do sensor
“0” do pressostato e do intertravamento, não ocorreu o acionamento da saída do CLP
que deveria ter sido acionada. Uma vez que você presta consultoria para este projeto,
verifique o diagrama ladder apresentado na figura a seguir; corrija o erro encontrado
e proponha uma solução para ele.

sensor_1 intertravamento m0

sensor_2

sensor_0 pressostato intertravamento m1

sensor_final_curso sensor_termico m1

Q1 m2

m0 Q0

m1

m2

Fonte: o autor.

Descrição da Imagem: diagrama ladder composto por 7 linhas horizontais com barras paralelas no lado esquerdo,
representando contatos e círculos à direita representando bobinas. Na primeira linha, temos o contato NA do sensor_1
em série com o contato NF de intertravamento acionando a bobina de m0, adicionalmente com o contato NA de sensor
2 em paralelo a sensor_1. Já na segunda linha temos uma lógica and de três contatos NA sendo os mesmos de sensor_0,
pressostato e intertravamento. Na linha final, as bobinas de m0, m1 e m2 estão em paralelo, acionando a bobina de Q0.

105
5. Assim como foi apresentado na Figura 12 da unidade, o bloco matemático de adição
foi acionado pelo contato de I0 com detecção de borda e subida. Assim, sempre que
um pulso fosse gerado neste contato ocorria uma contagem. Se o botão associado a
I0 for acionado e permanecer acionado a contagem incrementa em 1. Como podemos
alterar este programa para que, se acionarmos o botão e permanecermos com ele
acionado, o incremento de contagem só aconteça quando o botão for desacionado?
Represente o diagrama ladder que implementa esta função.

6. Um determinado processo industrial precisa implementar uma função matemática no


formato y = 3*x + 10, na qual y vai gerar uma referência de velocidade para um inver-
sor, e x é obtido de um sensor de temperatura. Você foi contratado para implementar
esta função no programa, utilizando os blocos matemáticos disponíveis na linguagem
ladder. Apresente o respectivo diagrama ladder.

106
107
108
6
Instruções de
Temporização
e Contagem na
Linguagem Ladder
Dr. Taiser Tadeu Teixeira Barros

Neste estudo, conheceremos dois elementos da linguagem ladder,


os quais são fundamentais nas aplicações industriais: os temporiza-
dores e os contadores. A utilização desses dois elementos amplia,
consideravelmente, as lógicas que podem ser desenvolvidas para
automatizar máquinas e processos.
UNICESUMAR

Cada vez mais somos controlados por nosso tempo diário! Te-
mos, sempre, mais tarefas a cumprir e o nosso tempo está cada vez
mais escasso! Eu mesmo tenho que dividir minhas 24 horas diárias
entre minhas atividades como professor, empresário, lutador, pai,
marido, escritor de livros técnicos, entre outros!
De que forma você planeja o seu dia a dia? Você depende de horá-
rios e datas para conseguir se preparar para um compromisso, chegar
no horário combinado na sua aula e/ou serviço? Provavelmente, a
resposta a todas as perguntas é sim, já que as atividades citadas são
comuns na rotina humana!
Você já imaginou se não possuíssemos dispositivos que nos auxi-
liassem a gerenciar o tempo? Como nos planejaríamos? Gerenciar o
tempo e as datas correspondentes a eventos foi, no contexto histórico,
preocupação constante do ser humano. Tanto é que criamos disposi-
tivos, como o relógio e o calendário, para nos ajudar a medir o tempo
e a contabilizar os dias. Extrapolando o nosso exemplo, evoluímos
nossos dispositivos até o momento atual, em que mensuramos, com
precisão, unidades de tempo e contabilizamos os nossos dias, os quais
compõem semanas, meses e anos.
Qual dispositivo você utiliza, atualmente, para mensurar o tem-
po? Como esse dispositivo influencia a sua vida? Consegue imagi-
nar-se sem utilizá-lo? Além do tempo, você considera importante
contabilizar eventos e quantidades? Vamos pensar nestes itens no
contexto de nossa rotina.
Independentemente se o dispositivo utilizado para controlar o
seu tempo é um relógio de pulso, um aplicativo do smartphone ou
um relógio de parede, de alguma forma, você precisa saber a hora
atual para atender a um compromisso ou saber o dia do presente mês.
Faça uma análise de situações nas quais você depende de horá-
rios ou da contagem de eventos. Anote-as no seu Diário de Bordo!
Depois, faça uma comparação com aplicações de indústrias que
dependem de intervalos de tempo e contagens, tais como: temporizar
quantos minutos uma peça ficou em uma estufa; contar quantas
caixas já foram carregadas; mensurar o intervalo de tempo, em uma
esteira transportadora, entre a entrada e a saída de uma peça.

110
UNIDADE 6

DIÁRIO DE BORDO

Os temporizadores e os contadores são elementos que agregam uma gama significativa de funcionalidades
aos Controladores Lógicos Programáveis. Parr (2003) considera os temporizadores uma parte fundamental
de quase todos os sistemas de controle, trazendo, como exemplo, um trecho de lógica onde uma bomba
hidráulica deve ser acionada, caso um contato auxiliar não fechar dentro do tempo de 0,7 segundos.
Em concordância com Parr (2003) sobre o quão fundamental são os temporizadores, Petruzella (2014)
traz que, depois das bobinas e dos contatos, os temporizadores são os tipos de instrução mais utilizados
na programação de CLPs. De acordo com Parr (2003), da mesma forma que os temporizadores, os con-
tadores são elementos fundamentais de uma grande gama de programas de CLPs, sendo utilizados, por
exemplo, para mensurar o número de partidas de motores elétricos de grande porte.
Iniciaremos o nosso estudo pelos temporizadores, verificando os tipos utilizados e a sua aplicação.
Posteriormente, verificaremos os contadores e, para finalizar a nossa unidade, serão propostos exemplos
que utilizam as funcionalidades de ambos os elementos (temporizadores + contadores).
Os temporizadores ou instruções de temporização disponíveis nos CLPs são tais que oferecem a mes-
ma função de temporizadores do tipo mecânicos e eletrônicos, possuindo vantagens como: facilidade
nas configurações de temporização e, também, mais precisão e repetibilidade, uma vez que a sua base de
tempo é gerada no processador do CLP (PETRUZELLA, 2014).

111
UNICESUMAR

Os três tipos de temporizadores listados pela norma IEC 61131-3, segundo John e
Tiegelcamp (2010), são:
TP: Pulse Timing (temporizador de pulso).
TON: On-Delay Timing (temporizador com retardo na energização).
TOF: Off-Delay Timing (temporizador com retardo na desenergização).

Iniciaremos o nosso estudo pelo temporizador TON, o qual é o mais, comumente, utili-
zado (PETRUZELLA, 2014) e, didaticamente, oferece mais facilidade de compreensão.
O símbolo do temporizador do tipo TON, disponível na linguagem ladder, é mostrado
na Figura 1.
TON_0

TON
IN Q

PT ET

Figura 1 - Símbolo do temporizador tipo On-Delay / Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de um retângulo, na cor cinza, com a descrição TON_0, na parte
superior, IN e PT no canto esquerdo, Q e ET no canto direito. Ao centro, vemos o bloco que representa o temporizador
do tipo TON inserido na ilustração de um relógio.

Na Figura 1, podemos observar que o bloco do temporizador apresenta quatro conexões


(são iguais para todos os modelos de temporizadores que estão sendo estudados), sendo elas:

IN: habilita o temporizador quando recebe sinal lógico.


PT – Preset Time: é o tempo a ser “programado” no temporizador. No ambiente Co-
desys, a sintaxe para programar o tempo é T#tempo (por exemplo, T#300ms estabelece
uma temporização de 300 milissegundos).
Q: é a saída do temporizador que estará em estado lógico alto após transcorrido o
tempo programado.
ET – Elapsed Time: indica o tempo transcorrido desde o momento em que o temporiza-
dor foi ativado. Serve, por exemplo, para que seja criada a comparação entre o tempo
atual e algum intervalo de tempo em que se pretende criar determinado acionamento.

112
UNIDADE 6

O funcionamento do temporizador do tipo On-Delay é apresentado, na Figura 2, por meio de um


gráfico de temporização:

On-delay (TON) timing

+ + + + + +

IN
+ + + + + +
t0 t1 t2 t3 t4 t5

+ + + +
Q
+ + + +
t0+PT t1 t4+PT t5

PT + + + +
: +
ET :
:
:
0-+ + + + + +
t0 t1 t2 t3 t4 t5

Figura 2 - Funcionamento do temporizador tipo On-Delay / Fonte: adaptada de IEC 61131-3 (1970 apud JOHN; TIEGELCAMP, 2010).

Descrição da Imagem: a figura apresenta conjuntos de linhas tracejadas que demonstram o funcionamento do temporizador tipo TON.
A primeira porção de linhas indica o evento de energização da entrada do temporizador e, na sequência, seguindo o fluxo de cima para
baixo, temos as linhas que apontam o acionamento das saídas e, depois, os tempos programado e transcorrido.

Assim, conforme a Figura 2, quando o temporizador TON tiver a sua entrada IN energizada, o mesmo
inicia o processo de temporização e, após o tempo programado, a saída Q será acionada (vai para o
estado lógico alto).
Se por algum motivo, o temporizador tiver a entrada desenergizada antes que a sua saída seja acio-
nada, o tempo atual transcorrido é zerado e a saída não liga. Após o tempo programado, a saída Q é
acionada e permanecerá assim até o instante em que a entrada IN for desativada.
Um exemplo de utilização do temporizador TON está na Figura 3, a qual mostra um diagrama
ladder cujo botão start (bstart), ao ser energizado, aciona a bobina M1 (esta, fisicamente, acionará o
Motor 1 de determinado processo).

113
UNICESUMAR

BSTART M1
S

2
T1
M1 TON M2
IN Q
T#3S PT ET

BSTOP M1
R

Figura 3 - Programa-exemplo com temporizador tipo On-Delay / Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de uma linha vertical, à esquerda, representando o barramento
do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por contatos,
bobinas de set (S) e reset (R) bem como um temporizador TON caracterizado por um bloco que traz, ao centro, o
símbolo de um relógio.

Por meio do contato NA de M1, o Temporizador T1 é acionado iniciando a temporização


de 3 segundos e, após este tempo, o Motor 2 (Bobina M2) será ativado, permitindo, assim,
pequeno atraso de tempo entre as partidas dos motores, o que é, comumente, utilizado
para evitar muitas solicitações de corrente de partida.
O sistema pode ser desativado por meio do botão stop (BSTOP), o qual resetará a
Bobina M1, desligando, consequentemente, o Temporizador T1. Este, por sua vez, desliga
a Bobina M2.

Por que a Bobina M2 não precisou ser do tipo SET?

114
UNIDADE 6

Como a Bobina M1 é do tipo SET, uma vez que ela foi acionada, garante-se que o temporizador ficará
acionado até M1 ser resetada e, assim, o contato de T1 garante que o temporizador fique energizado,
mantendo a Bobina M2, também, energizada até o momento de a Bobina M1 ser resetada.
Seguindo a nossa análise sobre os tipos de temporizadores, verificaremos, agora, o temporizador
do tipo TOF, avaliando, na Figura 4, o seu gráfico de temporização:

Off-delay (TOF) timing

+ + + + + +
IN
+ + + + + +
t0 t1 t2 t3 t4 t5

+ + + +
Q
+ + + +
t0 t1+PT t2 t5+PT

PT + + +
: +
ET :
:
:
0 + + + + +
t1 t3 t5

Figura 4 - Funcionamento do temporizador tipo Off-Delay / Fonte: adaptada de IEC 61131-3 (1970 apud JOHN; TIEGELCAMP, 2010).

Descrição da Imagem: a figura apresenta conjuntos de linhas tracejadas que demonstram o funcionamento do temporizador tipo TOF.
A primeira porção de linhas indica o evento de energização da entrada do temporizador, na sequência, seguindo o fluxo de cima para
baixo, temos as linhas que indicam o acionamento das saídas e, depois, os tempos programado e transcorrido.

Assim, conforme a Figura 4, quando o temporizador TOF tiver a sua entrada IN energizada, ele efe-
tua, imediatamente, a ativação de sua saída Q. Então, a partir do momento em que a entrada IN do
temporizador for desativada, será dado o início ao processo de temporização, com a saída Q sendo
desativada (vai para o estado lógico alto), ao final deste tempo.
Se por algum motivo, o temporizador tiver a entrada reenergizada antes que a sua saída seja desa-
tivada, o tempo atual transcorrido é recarregado e a saída não desativará. Após o tempo programado,
a saída Q é desativada e permanecerá assim até o instante em que a entrada IN for reativada.
Um exemplo de utilização do temporizador TOF está na Figura 5. Ela mostra o diagrama ladder
onde o contato do botão de start (bstart), ao ser ativado, aciona, simultaneamente, os três temporiza-
dores do tipo TOF (T1, T2 e T3).

115
UNICESUMAR

BSTART TOF AT1


IN Q
T#2S PT

TOF AT2
IN Q
T#3S PT

TOF AT3
IN Q
T#4S PT

Figura 5 - Programa-exemplo com temporizador tipo Off-Delay / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobinas e temporizadores do tipo TOF, sendo três destes temporizadores distribuídos, verticalmente, um
sobre o outro, caracterizados por um bloco com o símbolo de um relógio, ao centro.

No momento em que há o pulso de bstart, os temporizadores, imediatamente, acionam


as suas saídas, as quais ativam as bobinas dos atuadores (AT1, AT2 e AT3). Quando o
pulso em bstart cessa, os temporizadores iniciam a temporização conforme o tempo
programado, o que, consequentemente, desativa os atuadores na ordem AT1-AT2-AT3,
com defasagem de tempo de 1 segundo entre eles.
O terceiro tipo de temporizador que estudaremos é o temporizador de pulso TP
(Pulse Timing), cujo funcionamento é apresentado na Figura 6, por meio de um gráfico
de temporização:

116
UNIDADE 6

Pulse (TP) timing


+ + ++ ++ + +
IN
+ + ++ ++ + +
t0 t2 t3 t4 t5

+ + + + + +
Q
+ + + + + +
t0 t0+PT t2 t2+PT t4 t4+PT

PT + + + + +
:
ET :
:
:
0 + + + + + +
t0 t1 t2 t4 t5

Figura 6 - Funcionamento do temporizador tipo pulso


Fonte: adaptada de IEC 61131-3 (1970 apud JOHN; TIEGELCAMP, 2010).

Descrição da Imagem: a figura apresenta conjuntos de linhas tracejadas que demonstram o funcionamento do
temporizador tipo TP. A primeira porção de linhas indica o evento de energização da entrada do temporizador e, na
sequência, seguindo o fluxo de cima para baixo, temos as linhas que indicam o acionamento das saídas e, depois,
os tempos: “programado” e “transcorrido”.

Assim, conforme a Figura 6, quando o temporizador TP tiver a sua entrada IN energizada,


ele efetua, imediatamente, a ativação de sua saída Q. Então, a partir do momento em que
a entrada IN do temporizador for ativada, independentemente se a mesma for mantida
ativa ou se for desativada, após o tempo programado no temporizador, a sua saída Q será
desativada. Para que a saída Q seja, novamente, ativada, será necessário um novo pulso
na entrada IN do temporizador.
Pulsos na entrada IN que ocorram durante a temporização não afetam o estado da
saída. Mesmo na situação em que a entrada IN for mantida acionada após o tempo pro-
gramado, a saída Q será desligada.
Um exemplo de utilização do temporizador TP está na Figura 7, que mostra o dia-
grama ladder onde o contato de um sensor aciona um temporizador TP, que manterá
um atuador acionado por 2 segundos.

117
UNICESUMAR

1
T0
sensor TP AT1
IN Q
t#2S PT

Figura 7 - Programa exemplo com temporizador tipo pulso / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com uma linha horizontal que associa um contato normal aberto a um temporizador TP e a
uma bobina. O temporizador é caracterizado por um bloco com o símbolo de um relógio, ao centro.

Conforme o programa apresentado na Figura 7, o sensor, ao ser acionado, ativa a entrada


do temporizador TP, o qual ativará o atuador AT1. Este precisa permanecer neste estado
por, no máximo, 2 segundos, assim, a utilização do TP garante que, mesmo para uma
situação em que o sensor permaneça por mais de 2 segundos ativo, não haverá influên-
cia no tempo de ativação do atuador, pois será necessário que o sensor seja desativado
e ativado, novamente, para, desse modo, gerar outro pulso na entrada do temporizador,
que, por sua vez, acionará, novamente, a sua saída, durante o tempo programado.
Analisaremos, agora, mais uma aplicação com temporizadores, para ampliar o nosso
conhecimento sobre a utilização deles: projetaremos um sinalizador intermitente para
uma aplicação industrial. O sinalizador será ativado sempre que o sensor de parada estiver
ativo e deve acionar uma saída do CLP, fazendo-a permanecer ativa por um período de
1 segundo e desligada por 500 milissegundos.
Para este projeto, utilizaremos dois temporizadores do tipo TON. A proposta do
diagrama ladder a esta aplicação está na Figura 8:
1
t0
sensor_de_parada t1.Q ton
IN Q

T#1S PT

sensor_de_parada t0.Q sinalizador

t1
t0.Q ton
IN Q

T#500mS PT

Figura 8 - Programa-exemplo com aplicação de acionamento de um sinalizador intermitente, utilizando tem-


porizadores do tipo TON / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração, à esquerda, de uma linha vertical representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobinas e temporizadores do tipo TON cascateados. Estes são caracterizados por um bloco que tem, ao
centro, o símbolo de um relógio.

118
UNIDADE 6

Assim como observamos na Figura 8, quando o sensor de parada for acionado, imediatamente, o tem-
porizador t0 terá a sua entrada ativada, iniciando a temporização de um segundo (T#1S). Ao mesmo
tempo, o sinalizador será acionado pelo contato NF da saída de t0 (t0.Q), permanecendo ativo por
1 segundo até o momento em que a saída de t0 é acionada, desse modo, o sinalizador é desligado e a
entrada do temporizador t1, acionada.
O temporizador t1, por sua vez, temporizará 500 milissegundos e, no momento em que sua saída
(t1.Q) for acionada, ela desliga o temporizador t0 e reinicia o ciclo. Com esse diagrama, teremos o
sinalizador conectado à saída do CLP “piscando”, enquanto o sensor de parada encontrar-se ativo.
Seguiremos com os nossos estudos, agora, conhecendo os contadores, os quais são similares aos
temporizadores, porém dependem de eventos externos ou de programação ao invés de uma base de
tempo interna, como o clock da CPU (PETRUZELLA, 2014).
Em relação aos tipos de contadores disponíveis na programação de CLPs, estudaremos três deles: o
contador crescente ou CTU (UP Counter), o contador decrescente ou CTD (Down Counter) e
o contador crescente-decrescente ou CTUD (Up-Down) que agrega a funcionalidade dos modelos
anteriores em um único contador CTUD (Up-Down Counter), sendo que esses tipos de contadores
estão em conformidade com a IEC 61131-3.
O contador crescente CTU, assim como pode ser observado em sua simbologia, apresentada na
Figura 9, possui as seguintes conexões:

CU – Count Up: sempre que um pulso for gerado nesta conexão, o contador incremen-
tará a sua contagem em uma unidade (observando que, somente, pulsos incrementam
a contagem). Sendo assim, se esta conexão for energizada e assim permanecer, a
contagem não permanecerá incrementando, indefinidamente.
Reset: sempre que um pulso for gerado nesta conexão, o contador, automaticamente,
reseta (leva a 0) o seu valor de contagem CV.
PV – Preset Value: indica o valor alvo do contador, ou seja, quando a contagem atingir
este valor, a saída Q do contador será ativada.
Q – Saída do contador: será ativada quando CV > = PV.
CV – Count Value: é o valor atual da contagem. Pode ser utilizado no programa para
realizar comparações entre o valor de contagem atual e os valores predefinidos.

119
UNICESUMAR

CTU
CU Q
CV

RESET
PV

Figura 9 - Símbolo do contador crescente CTU / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de um bloco retangular, na cor cinza, com entradas CU, Reset e
PV, à esquerda, e saídas Q e CV, à direita. O bloco representa o contador crescente CTU e é caracterizado por possuir,
na sua porção central, a representação de um display digital com números que indicam a operação de contagem.

Avaliaremos, agora, um exemplo, na Figura 10, que utiliza o contador CTU no diagrama
ladder. Nela, o sensor de caixas aciona a entrada CU do contador CTU até o momento
em que a contagem atinge o valor 10. Neste instante, a saída do contador será acionada,
ativando a bobina “sinalizador” e, assim, a saída correspondente do CLP pode acionar
um sinalizador físico. Este indicará ao operador do processo que o número de caixas
solicitado foi atingido e que as elas podem ser recolhidas.
Ainda, a saída do contador (c0.Q) aciona um temporizador TON, o qual temporizará 3
segundos e, assim, realizará o reset do contador, preparando o processo para um novo ciclo.
1
c0
sensor_de_caixas CTU sinalizador
CU Q

t0.Q
RESET
10 PV

2
t0
c0.Q TON
IN Q
t#3s PT

Figura 10 - Programa-exemplo com aplicação de contagem de caixas, utilizando contador do tipo CTU
Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobinas, contador do tipo CTU e temporizador do tipo TON.

120
UNIDADE 6

Agora, verificaremos o funcionamento do contador decrescente CTD, observando a


sua simbologia, apresentada na Figura 11, que traz as seguintes conexões:

CD – Count Down: sempre que um pulso for gerado nesta conexão, o contador de-
crementa a sua contagem em uma unidade.
Load: sempre que um pulso for gerado nesta conexão, o contador automaticamente,
carregará o valor de PV no seu valor de contagem CV.
PV – Preset Value: indica o valor a ser carregado no valor de contagem do contador e,
a partir do carregamento desse valor, cada pulso gerado em CD decrementa a conta-
gem atual. Quando a contagem atingir o valor 0, a saída Q do contador será ativada.
Q – Saída do contador: será ativada quando CV < = 0, observando que, se nenhum
valor inicial for carregado na contagem do contador, a saída Q inicia acionada, pois
a contagem inicia-se em 0.
CV – Count Value: valor atual da contagem.

CTD
CD Q
CV

LOAD
PV

Figura 11 - Símbolo do contador decrescente CTD / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de um bloco retangular, na cor cinza, com entradas CD, Load e
PV, à esquerda, e saídas Q e CV, à direita. O bloco representa o contador decrescente CTD e é caracterizado por pos-
suir, na sua porção central, a representação de um display digital com números indicando a operação de contagem.

Adaptaremos o exemplo apresentado, na Figura 10, para utilizar o contador CTD, obser-
vando que, inicialmente, precisamos carregar o valor de PV no valor de contagem CV.
Para isso, podemos utilizar o contato do botão bstart, o qual iniciará o processo, assim
como pode ser observado na Figura 12:

121
UNICESUMAR

1
c0
sensor_de_caixas CTD sinalizador
CD Q

t0.Q
LOAD

bstart

10 PV

2
t0
c0.Q ton
IN Q
t#3s PT

Figura 12 - Programa-exemplo com aplicação de contagem de caixas, utilizando contador do tipo CTD / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barramento do sinal lógico,
com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por contatos, bobinas, contador do tipo CTD
e temporizador do tipo TON.

Uma vez que o valor de PV foi carregado em CV, cada uma das contagens de caixa decrementa o
valor de contagem e, quando CV = 0, a saída c0.Q é acionada e, em 3 segundos, o valor é carregado,
novamente, na memória, o que permite reiniciar o processo.
Para finalizar a análise sobre os tipos de contadores, verificaremos o contador do tipo contador
crescente-decrescente CTUD, o qual é um “híbrido” dos contadores CTU e CTD, possuindo as carac-
terísticas de ambos os modelos. Observando o símbolo do contador CTUD, na Figura 13, verificamos
que as suas conexões incluem todas aquelas disponíveis nos contadores do tipo CTU e CTD com uma
pequena modificação na descrição das suas saídas, sendo:

QU – Saída Up: esta saída estará ativa quando o valor de contagem CV do contador CTUD
apresentar valor igual ou superior a CV, assim como o comportamento do contador tipo CTU.

QD – Saída Down: esta saída estará ativa quando o valor de contagem CV do contador CTUD
apresentar valor igual ou inferior a 0, assim como o comportamento do contador tipo CTD.

122
UNIDADE 6

CTUD
CU QU
QD
CV
CD

RESET

LOAD
PV

Figura 13 - Símbolo do contador crescente-decrescente CTUD / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de um bloco retangular, na cor cinza, com entradas CU, CD,
Reset, Load e PV, à esquerda, e saídas QU, QD e CV, à direita. O bloco representa o contador crescente-decrescente
CTUD e é caracterizado por possuir, na sua porção central, a representação de um display digital com números
indicando a operação de contagem.

Como exemplo de utilização do contador CTUD, avaliaremos o diagrama ladder da


Figura 14, que representa a automação de um estacionamento com dez vagas.

1
c0
entrada_de_carro CTUD lotado
CU QU

saída_de_carro
CD
10 PV

Figura 14 - Programa-exemplo com aplicação de automação de estacionamento, utilizando contador do tipo


CTUD / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobina e contador do tipo CTUD.

123
UNICESUMAR

Na Figura 14, podemos observar que foram utilizadas, somente, as conexões CU e CD


para contabilizar os carros que entram no estacionamento e os que saem. Assim, todo
carro que entra incrementa a contagem e todo carro que sai a decrementa.
Quando o número máximo de automóveis for atingido (especificado em PV = 10
carros), a saída QU aciona o sinalizador, indicando que a lotação máxima do estaciona-
mento foi atingida, o que evita, assim, o ingresso de novos carros. Caso um carro saia, a
contagem cai abaixo do valor PV, e o sinalizador de “lotado” é desacionado, permitindo
que outro automóvel entre.

Neste vídeo, analisaremos o exemplo apresentado na Figura 14, com


o foco na implementação de detalhes fundamentais desta automa-
ção, prevendo a necessidade de evitar contagens superiores a dez
ou inferiores a 0 e, também, verificar uma simulação desse exemplo
no ambiente codesys. Acesse o QR-Code e entenda.

Agora, o nosso próximo exemplo explorará a utilização conjunta dos contadores e tempo-
rizadores. O exemplo consiste em um processo onde quatro atuadores pneumáticos são
acionados em sequência. Não nos preocuparemos, neste momento, com a implementação
física do circuito eletropneumático.
Para simplificar a nossa análise, supomos que, ao ser energizada a bobina com o nome
do atuador, este último avança e, ao ser desenergizada a bobina, o atuador (de simples
ação com retorno por mola) recua. O diagrama ladder proposto está na Figura 15.

124
UNIDADE 6

1
t0
t0.q TOM
IN Q
t#1s PT

2
c0
habilita_processo t0.q CTU
CU Q

EQ
EN RESET
c0.cV
5

3
EQ at1
EN
c0.cV
1

EQ at2
EN
c0.cV
2

EQ at3
EN
c0.cV
3

EQ at4
EN
c0.cV
4

Figura 15 - Programa-exemplo com acionamento sequencial de atuadores, utilizando contagem, comparações


e temporização / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobinas, contador do tipo CTUD, temporizador do tipo TON e blocos de comparação de igualdade (EQ).

Assim como podemos observar, na Figura 15, a ordem de acionamento dos atuadores é
efetuada por meio da utilização do contador e de comparadores (comparador de igual
“EQ”), os quais verificam se a contagem atual é igual a um valor específico (1, 2, 3 e 4).
No caso de a contagem ser igual ao número comparado, a saída do comparador é ativada
pelo acionamento da bobina correspondente ao atuador.
Ainda, o acionamento sequencial dos atuadores obedece à temporização, na qual o
intervalo de acionamento entre eles será de 1 segundo. Essa temporização é obtida na
estrutura apresentada na primeira linha do diagrama: o temporizador t0 é acionado por
um contato NF (t0.Q) presente em si mesmo.

125
UNICESUMAR

Assim, o temporizador é mantido ativo por 1 segundo e, após este tempo, ele aciona
a sua saída, a qual permanecerá ativa por um ciclo de scan, pois, no próximo ciclo, o
temporizador é desligado pelo contato de sua saída.
Neste podcast, trago para vocês alguns conceitos relacionados
às instruções de temporização e contagem no contexto da
automação industrial, demonstrando que elas são fundamentais
tanto nos controladores lógicos programáveis quanto em outros
dispositivos, como microcontroladores, circuitos elétricos/
eletrônicos e na programação em geral. De que forma essas
instruções são fundamentais para incrementar os primeiros
programas, nos quais utilizamos, somente, a lógica de contatos?
Acredito que você esteja ansioso(a) para ampliar o seu
conhecimento sobre o assunto! Então, venha escutar este podcast.

Um item fundamental a ser discutido, quando trabalhamos com instruções de tempori-


zação e contagem, são os tipos de dados utilizados nessas instruções.
No caso dos contatos e bobinas, precisamos, apenas, de 1 bit para representar o estado
deles. Por exemplo, uma bobina normal pode estar desligada (nível lógico 0 ou false) ou
ligada (nível lógico 1 ou verdadeiro). Contudo, em uma instrução cuja contagem exceda 1,
precisamos de um tipo de variável que consiga armazenar um range de valores maior, como
é o caso de uma variável do tipo Word (16 bits), que é o padrão utilizado nos contadores.
Assim, com 16 bits, o range de contagem pode variar de 0 a 65535. Para valores supe-
riores a esse, é possível cascatear contadores ou utilizar uma variável com range superior.
No caso das instruções de temporização, o tempo programado (PT – Preset Time) é ar-
mazenado em uma variável de 32 bits, a qual possui um range numérico de 0 a 4294967295.
Assim como o problema de gerenciarmos, diariamente, os nossos tempo e eventos,
temos, no contexto industrial, problemas que precisam ser solucionados com elementos
de temporização e contagem.
O conhecimento dos elementos de temporização e de contagem disponíveis na lingua-
gem ladder amplia, significativamente, as possibilidades de criação de lógicas, por meio
do Controlador Lógico Programável.
O(a) engenheiro(a), ao criar um programa para automatizar um equipamento ou
processo, se depara com diversas situações nas quais mensurar quantidades (contar) e
mensurar o tempo (temporizar) são fundamentais.
Assim, os conhecimentos adquiridos nesta unidade terão aplicações práticas, no contex-
to da automação industrial, permitindo que o(a) engenheiro(a) possa modelar processos
mais complexos do que seria possível utilizando, somente, contatos, bobinas e operações
com memórias.

126
Agora, chegou o momento de você demonstrar os conhecimentos adquiridos nesta unidade de
estudos. Desenvolva um Mapa Mental considerando as instruções de temporização e contagem
apresentadas nesta unidade!
A seguir, trago uma sugestão que pode servir como um ponto de partida ao desenvolvimento do
seu Mapa. Neste exemplo, retomei os principais conceitos associados com os tipos de tempori-
zadores e contadores!

IN: entrada do
temporizador:
habilita o
funcionamento

PT:

Q:

ET:
Conexôes

TP: completar ... Temporizadores

TON Tipos

TOF
Instruções de
Temporização
e Contagem

Conexões CU:

Contadores

Tipos CTU:

Figura 16 - Mapa mental / Fonte: o autor.

127
1. Um programador foi contratado para fazer a manutenção em um programa desen-
volvido em linguagem ladder, que é utilizado para acionar um conjunto de esteiras. A
respeito, especificamente, dos acionamentos relacionados à temporização, o programa
utiliza temporizadores do tipo TON e TOF.
A título de padronização, porém, o programador solicitou a você, como engenhei-
ro(a), a auxiliar na modificação de todos os temporizadores do tipo TOF para o tipo
TON. A fim de verificar esta funcionalidade, você deve apresentar o diagrama ladder
com um temporizador do tipo TON realizando um acionamento com comportamento
de temporizador TOF: um contato denominado bstart deve gerar um pulso que habilita
uma saída denominada sistema.
Enquanto o contato de bstart estiver ativo, a saída estará ativa, mas sem iniciar a
temporização. Quando bstart não estiver mais ativo, o tempo programado é mensu-
rado e, passado esse tempo, a saída é desativada. Se a qualquer momento, durante
a temporização, bstart for ativado, a temporização reinicia, assim como ocorre no
temporizador TOF.
Desenvolva o diagrama ladder com a proposta de solução para este desafio!

2. Uma empresa que fabrica equipamentos para sinalização está testando um novo
dispositivo eletrônico e precisa criar um dispositivo de testes capaz de simular os tem-
pos utilizados no protótipo real. Para isso, foi solicitado ao programador da empresa
a criação de um programa, em linguagem ladder, que utilize três temporizadores: 1
TON, 1 TOF e 1 TP, em qualquer ordem, desde que o programa, ao ser executado, faça
o acionamento de três saída do CLP, segundo a sequência:
Saída 1 liga - pausa de 1 segundo - Saída 1 desliga, Saída 2 liga - pausa de 2 segundos
- Saída 2 desliga, Saída 3 liga - pausa de 1 segundo - Saída 3 desliga, processo reinicia.
Desenvolva o diagrama ladder que implementa o acionamento das saídas na ordem
e dentro das temporizações especificadas.

3. O projetista de um equipamento utilizado para testar peças automotivas solicitou, para


a bancada de testes, um CLP com duas botoeiras pulsantes, uma saída conectada em
um comando elétrico que aciona um motor e duas saídas conectadas em dois sinali-
zadores luminosos.
Um dos botões serve como seletor de tempo de giro do motor e o outro botão
aciona o motor pelo tempo determinado. Os dois sinalizadores indicam qual a seleção
de tempo atual, de forma binária, conforme a tabela a seguir.
Assim, por exemplo, com a seleção de tempo em 00, ao pulsar o botão de aciona-
mento do motor, ele permanecerá ativo por 2 segundos. Ainda, para cada pulso no
botão de seleção de tempo, a seleção muda, de forma cíclica, conforme a sequência:
00 - 01 - 10 - 11 - 00 ….

128
Sinalizador 1 Sinalizador 0 Tempo (segundos)
Desligado (0) Desligado (0) 2
Desligado (0) Ligado (1) 3
Ligado (1) Desligado (0) 5
Ligado (1) Ligado (1) 10
Fonte: o autor.

Desenvolva o diagrama ladder que permite criar a automação proposta para a bancada
de testes.

4. Suponhamos que determinado modelo de CLP possui restrições de memória e que


os contadores disponíveis só podem atingir a contagem com valor máximo 10. Desen-
volva o diagrama ladder que implemente um contador crescente. Este deve efetuar
a contagem cíclica de 0 a 9 (0, 1, …, 9, 0, 1 …). O único sinal acessível ao usuário será
um contato denominado “contar”, o qual, a cada ativação, incrementará a contagem.

5. Utilizando o contador desenvolvido na Questão 4, qual é o máximo número de con-


tagens que podemos alcançar, se utilizarmos dois desses contadores? Desenvolva o
diagrama ladder indicando de que forma os contadores precisam ser associados para
gerar a contagem máxima indicada.

129
6. Uma empresa de automação está realizando upgrade em um equipamento industrial
que utiliza um CLP como dispositivo de controle. Ao avaliar um trecho do programa,
o engenheiro trainee da empresa deparou-se com o diagrama ladder apresentado na
figura seguinte:

1
CTU_0
pulso CTU
CU Q
CV
GT
EN RESET
>
CTU_0.CV
100

MUL
EN ENO
X
CTU_0.CV contagem
3

Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barramento do
sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por contato, contador
do tipo CTU, bloco de comparação do tipo maior do que GT e bloco matemático de multiplicação.

A sua tarefa é descrever o funcionamento desse trecho de programa para auxiliar o


engenheiro trainee no preenchimento do relatório de manutenção de software.

130
131
132
7
Programação em
Linguagem Grafcet/SFC
Dr. Taiser Tadeu Teixeira Barros

Mesmo que você não pretenda atuar como engenheiro(a) progra-


mador(a), conhecer tópicos básicos de programação é fundamental
no atual contexto tecnológico! Você lembra de ter se deparado com
os termos “linguagem de máquina”, “linguagem orientada a objetos”
e “linguagem de baixo/alto nível”?
UNICESUMAR

As linguagens de programação utilizadas para criar aplica-


tivos mobile, aplicativos desktop ou programas que rodam
em sistemas embarcados se dividem em grupos específicos,
por exemplo, as linguagens de alto e de baixo nível.
Uma linguagem de alto nível está mais próxima do ser
humano, ou seja, é mais fácil de ser interpretada por ele. Já as
linguagens de baixo nível estão mais próximas da máquina,
ou seja, possuem mais eficiência, entretanto exigem que o(a)
programador(a) tenha mais domínio de particularidades do
hardware, por exemplo.
Qual o seu conhecimento sobre as linguagens de progra-
mação que você utiliza, como usuário(a)? O seu smartphone
é da Apple ou é Android? E o seu computador/notebook é
da Apple ou de outra marca, como Asus ou Acer? No caso
de um Iphone, este tem um sistema operacional específico,
assim como os computadores da Apple! Computadores de
outros fabricantes, geralmente, utilizam o sistema operacio-
nal Windows, ou, ainda, o Linux. Você está familiarizado(a)
com estes termos?
Para cada tipo de sistema computacional que utilizamos
(computador desktop, notebook, smartphone, smartwatch,
CLPs etc.) existem sistemas operacionais ou firmwares que
serão responsáveis por gerenciar programas e aplicativos
desenvolvidos em diferentes linguagens de programação.
No caso específico dos CLPs, este fato, também, é verda-
deiro, por isso, já passamos por uma linguagem mais próxi-
ma dos diagramas elétricos, como a ladder e, agora, verifica-
remos uma linguagem de mais alto nível, como é o Grafcet.
Para ampliar o seu conhecimento sobre as diferentes lin-
guagens de programação, proponho que você escolha um
dispositivo de seu uso diário (smartphone, notebook, ou,
até mesmo, o seu console de games) e busque informações
sobre o sistema operacional utilizado.
Qual ou quais as principais linguagens de programação
utilizadas para criar os jogos, aplicativos e serviços disponi-
bilizados para esse dispositivo? Registre a sua pesquisa em
seu Diário de Bordo.

134
UNIDADE 7

DIÁRIO DE BORDO

A linguagem SFC (acrônimo para a sigla, em inglês, Sequential Function Chart) conhecida, também,
como Grafcet (termo adotado pela empresa Telemecanique) é uma linguagem, extremamente, poderosa,
fato que levou a grande maioria dos fabricantes a adotarem-na como opção para a programação de
seus CLPs de médio porte (PARR, 2003). Ainda, Prudente (2011) traz que a SFC é considerada mais
uma técnica de programação do que uma linguagem propriamente dita.
A norma IEC 61131-3 (2003) descreve a linguagem SFC como indicada para dividir uma tarefa
de controle em partes que podem ser executadas, sequencialmente, ou, paralelamente, enfatizando
a importância da linguagem em auxiliar na estruturação de programas para CLPs. Conforme Jack
(2010), a linguagem SFC é muito similar aos fluxogramas, porém é mais poderosa e foi desenvolvida
para acomodar a programação de sistemas de mais complexidade.
Ainda com relação à norma IEC 61131-3 (2003), ela destaca que as subdivisões de um programa na
linguagem SFC (etapas: steps e transições: transitions) podem ser programadas, independentemente,
utilizando qualquer uma das outras quatro linguagens disponibilizadas.

135
UNICESUMAR

A Figura 1 traz um exemplo de programa desenvolvido na linguagem SFC com destaque


para os principais elementos da linguagem.

Início

2 transição0

Etapa_1 N Ação1 8

4 transição1

Etapa_final N Ação2 9

6 transição2

início 7
Figura 1 - Exemplo de programa em linguagem SFC / Fonte: o autor.

Descrição da Imagem: a figura apresenta uma ilustração que mostra blocos, na cor cinza, distribuídos, vertical-
mente, representando diferentes etapas de um programa. Os blocos à esquerda são as etapas e os blocos à direita
são as ações.

Assim como podemos observar na Figura 1, é possível identificar os seguintes elementos:


a etapa inicial do diagrama (1): início, uma etapa intermediária; (3): Etapa_1 e a
etapa final; (5): Etapa_final. As transições (2, 4 e 6): transicao0, transicao1 e transicao2;
as ações (8 e 9): Acao1 e Acao2.
Ainda, é possível observar, na figura, um “salto” (jump), que faz a execução do diagra-
ma seguir um fluxo de execução cíclico, isto é, retorna à etapa inicial, após a etapa final.
Petruzella (2014), com relação aos elementos da linguagem SFC, traz que as etapas
possuem ações, e as transições associadas a essas ações têm condições (lógicas) associa-
das, as quais conduzem a execução do fluxo do programa, a partir de uma etapa atual
para uma etapa posterior.

136
UNIDADE 7

Conforme a norma IEC 61131-3 (2003), podemos definir, da seguinte forma, os ele-
mentos apresentados na Figura 1:
A. Etapas: representam situações nas quais um bloco de programa segue um con-
junto de regras que consideram o estado de suas entradas/saídas e cujas ações
são associadas com a etapa. Esta pode estar ativa ou inativa a cada instante, e
o estado do programa geral é determinado pelos estados de todas as etapas
individuais. É importante observar que a etapa inicial é representada por um
retângulo com borda dupla.
B. Transições: são as condições lógicas que permitem que o controle do programa
passe de uma etapa anterior para uma posterior, quando a condição lógica for
verdadeira.
C. Ações: cada etapa de um programa em SFC pode ter nenhuma ou várias ações,
as quais podem ser variáveis booleanas ou qualquer conjunto de instruções
de uma das linguagens padronizadas (IL, ST, ladder, FBD, ou, até mesmo, SFC).
Quando uma etapa não possui ações associadas a ela mesma, representa um
bloco do tipo wait, ou seja, que está, somente, esperando uma transição.

A seguir, avaliaremos um exemplo Início S Verde


em que o funcionamento de um se- R Amarelo
máforo foi modelado por meio da R Vermelho
linguagem SFC, como apresentado
na Figura 2. Início.t > t#3s

Etapa_1 R Verde
S Amarelo
R Vermelho

Etapa_1.t > t#2s


Figura 2 - Programa em linguagem SFC que
modela o funcionamento de um semáforo
/ Fonte: o autor. Etapa_final R Verde

Descrição da Imagem: a figura mostra R Amarelo


uma ilustração de blocos, na cor cinza,
distribuídos, verticalmente, representan- S Vermelho
do diferentes etapas de um programa. À
esquerda, estão as etapas (Início, Etapa_1
e Etapa_2) e, à direita, estão as ações Etapa_2.t > t#2s
(acionamento das saídas verde, amarelo
e vermelho).
início

137
UNICESUMAR

Na Figura 2, podemos verificar que o programa segue três etapas e, associadas a elas, temos as ações. Na
etapa de início, a lâmpada verde do semáforo é setada (modificador S), enquanto as lâmpadas amarela
e vermelha são resetadas (modificador R).
A sequência de ativação das etapas ocorre conforme as temporizações indicadas nas transições, por
exemplo, da etapa de início para a Etapa 1, ocorre uma temporização de três segundos, a qual aguarda
que o tempo de ativação da etapa de início atinja um valor superior aos três segundos, assim como
declarado na transição: “Inicio.t > t#3s”.
Com relação às letras S e R, que foram utilizadas nas ações apresentadas na Figura 2, elas servem
como indicação do tipo de ação que está sendo tomada. Dentre os indicadores disponíveis, podemos
destacar: N (indica uma ação que ocorre, imediatamente, na etapa que está ativa); L (para indicar ações
temporizadas com limitação do tempo); D (para indicar ações temporizadas com atraso de tempo); P
(para indicar ações que executam no modo pulso).
Conforme citado, previamente, a linguagem SFC permite que as suas etapas sejam programadas
pelas demais linguagens de programação que são propostas na norma IEC 61131-3.
Na Figura 3, é apresentado o programa do semáforo com a implementação, em uma linguagem
diferente, de cada uma das etapas.
1
GVL.Verde
Início S
GVL.Amarelo
R
GVL.Vermelho
R
Início.t > t#3s

Etapa_1 1 GVL.Verde := FALSE;


2 GVL.Amarelo := TRUE;
3 GVL.Vermelho := FALSE;

Etapa_1.t > t#2s

Etapa_final 1 GVL.Amarelo FALSE

2 GVL.Verde FALSE

3 GVL.Vermelho FALSE

Etapa_2.t > t#2s

início
Figura 3 - Programa em linguagem SFC que modela o funcionamento de um semáforo, por meio de diferentes linguagens, na
implementação de cada etapa / Fonte: o autor.

Descrição da Imagem: a figura apresenta uma ilustração de blocos, na cor cinza, distribuídos, verticalmente, representando diferen-
tes etapas de um programa. À esquerda, estão as etapas (Início, Etapa_1 e Etapa_2) e, à direita, os códigos de implementação delas.

138
UNIDADE 7

Assim como podemos observar na Figura 3, as variáveis Verde, Amarelo e Vermelho não
são mais acionadas como ações externas às etapas, mas sim, como variáveis utilizadas
nos códigos internos de cada etapa.
Na etapa de Início, foi utilizada a linguagem ladder; na Etapa 1, a linguagem ST; na
Etapa 2, a linguagem FBD.

Qual a vantagem de utilizarmos a linguagem SFC, se podemos, por exemplo,


desenvolver o mesmo programa utilizando, somente, a linguagem ladder?

Ao utilizarmos a linguagem SFC, obtemos um programa principal cuja apresentação


gráfica facilita a identificação, pelo usuário, das diferentes etapas. Assim, após definidas
as etapas, cada uma delas pode ser trabalhada, separadamente, inclusive, com a utilização
de diferentes linguagens, ampliando, assim, as opções do(s) programador(es).
Ainda, esta sistemática facilita, por exemplo, a divisão do programa entre diferentes
programadores, com cada um produzindo uma etapa de programação.

Neste vídeo, verificaremos a execução de um programa


desenvolvido na linguagem SFC com o ambiente Codesys.
O programa desenvolvido refere-se a um processo que possui
etapas de execução paralela. Acesse o QR-Code e entenda.

O diagrama SFC permite trabalhar com etapas que são processadas em paralelo, ou
seja, as etapas ocorrem em paralelo e a transição posterior às mesmas depende de uma
ocorrência lógica combinada das etapas. Para demonstrar, analisaremos o diagrama
apresentado na Figura 4.

139
UNICESUMAR

Com relação às letras S e R, utilizadas nas ações apresentadas na Figura 2, ambas


servem como indicação do tipo de ação que está sendo tomada. Dentre os indicadores
disponíveis, podemos destacar: N (indica uma ação que ocorre, imediatamente, na etapa
ativa); L (para indicar ações temporizadas com limitação do tempo); D (para indicar ações
temporizadas com atraso de tempo); P (para indicar ações que executam no modo pulso).

Início

Início.t > t#3s


Bran...

Etapa_1 Etapa_2

Etapa_1.t > t#2s and sensor

Etapa_3

Etapa_3.t > t#5s

Início
Figura 4 - Programa em linguagem SFC demonstrando etapas que ocorrem em paralelo / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de blocos, na cor cinza, distribuídos, verticalmente, repre-
sentando diferentes etapas de um programa. No centro da figura, estão distribuídos, lado a lado, blocos, os quais
representam etapas sendo executadas em paralelo.

Na Figura 4, é possível observar que as Etapas 1 e 2 ocorrem de forma paralela, ou seja,


iniciam a sua execução, simultaneamente, mas podem encerrá-la em momentos distintos.
Ainda, é possível observar que a transição anterior à Etapa 3 é uma lógica and (E) de duas
outras condições: que a Etapa 1 permaneça ativa por 2 segundos E que o “sensor” esteja ativo.
Este exemplo foi desenvolvido com propósito didático e modificou o funcionamento
do semáforo apresentado na Figura 3, incluindo a etapa paralela, a qual implementa
uma contagem do número de execuções dessa etapa e, ainda, condiciona a execução do
programa ao acionamento de um sinal denominado sensor.

140
UNIDADE 7

O código da Etapa 2 da Figura 4 está na Figura 5. Nesta, podemos observar um dia-


grama ladder com um contador do tipo CTU que incrementa a contagem sempre que
o sinal “sensor” é ativado.
1

GVL.CRU_0
sensor CTU
CU Q
CV GVL.cont
FALSE
RESET

Figura 5 - Implementação da Etapa 2 do programa em linguagem SFC da Figura 4 / Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de um bloco, na cor cinza, com linhas horizontais conectadas
ao mesmo, representando um contador crescente.

É comum, nos programas desenvolvidos na linguagem SFC, ocorrerem a repetição de


sequências e o salto de sequência. Na Figura 6, é apresentada uma repetição.

Init R atuador1
R atuador2
R atuador3

trans1

Step0 R atuador2
R atuador3
S atuador1

trans2
Bran...

Step1 R atuador1 Step2


S atuador2
R atuador3

trans4 trans3

Init Step0
Figura 6 - Repetição de sequência em linguagem SFC / Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de blocos, na cor cinza, alinhados na posição vertical, com linhas
horizontais conectadas aos mesmos, representando as ações.

141
UNICESUMAR

Conforme podemos observar na Figura 6, a Etapa 2 (Step2) não possui ações associa-
das, servindo para retornar o fluxo do programa para a Etapa 0 (Step0), caso ocorra a
Transição 3 (trans3). No caso da ocorrência da Transição 4 (trans4), o programa segue
o fluxo normal.
A repetição de sequência é útil quando determinado evento de um processo precisa
ser repetido em determinado número de vezes! Por exemplo, se for necessário que um
atuador pneumático repita o seu ciclo de avanço e recuo mais de uma vez.
Neste podcast, conversaremos sobre a importância da
disponibilidade de diferentes métodos e técnicas de programação
disponíveis para programarmos os Controladores Lógicos
Programáveis. Neste contexto, trago para você uma análise da
linguagem SFC, não, somente, como uma linguagem de programação
em si, mas também como uma técnica de programação a qual
facilita a criação de programas de mais complexidade, assim como
o caso de programas utilizados no controle de processos contínuos,
por exemplo, os de indústrias químicas e plataformas petrolíferas.
Convido você, então, a escutar este podcast e aprimorar a sua
compreensão sobre os métodos de programação para CLPs.

O salto de sequência, por sua vez, ocorre em uma situação onde uma ou mais etapas do
programa não precisam ser executadas e, assim, o fluxo de execução do programa salta
as etapas, sendo direcionado a uma etapa posterior.
Na Figura 7, temos um exemplo de programa com salto de sequência cuja ocorrência
da Transição 4 (Trans4) direciona o fluxo do programa à Etapa 3. É importante observar
que, neste caso, as Transições 0 e 2 não devem acontecer.

142
UNIDADE 7

Início

Trans0 Trans1

Etapa_0 Etapa_1

Trans2 Trans4

Etapa_3
Etapa_2

Trans5

Etapa_3

Figura 7 - Salto de sequência em linguagem SFC / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de blocos, na cor cinza, alinhados na posição vertical, representando as etapas
Início, Etapa_0, Etapa_1, Etapa_2 e Etapa_3. Destaca-se que a Etapa 1 está em paralelo, em relação às demais.

Conforme podemos observar na Figura 7, após a etapa de Início, caso ocorram as transições 1 e 4 o
fluxo do programa será direcionado imediatamente para a etapa 3 que é a etapa final do programa,
sem passar pelas etapas 0 e 2.
O conhecimento da linguagem SFC amplia, consideravelmente, a capacidade profissional do(a)
programador(a) de Controladores Lógicos Programáveis, por se tratar de uma linguagem que permite
modelar, de forma eficaz, os processos.
Ainda, ao utilizar a linguagem SFC, o(a) programador(a) pode, de forma sistematizada, particionar
um programa complexo, em etapas de menor complexidade, que podem ser implementadas por um
time com vários programadores, cada um implementando uma etapa por meio de qualquer uma das
que estão linguagens disponíveis conforme a IEC 61131-3.

143
Nesta unidade, discutimos sobre a linguagem SFC e os seus principais elementos, assim como é
o caso das etapas e transições. No Mapa Mental, a seguir, trago uma proposta de descrição de
alguns desses elementos e sugiro que você complete as demais descrições apresentadas. Caso
prefira, você pode criar o seu próprio Mapa Mental ou análise similar.

Etapas em paralelo são


Etapas são...completar...
executadas
simultaneamente,
dependendo das
transições que SFC
Transições são condições
precedem as mesmas. lógicas que habilitam o
fluxo do programa para
seguir de uma etapa
Salto de estpas é... para outra.
completar...

Ações são...
Repetição de completar...
etapas é...
completar...
Figura 8 - Mapa mental / Fonte: o autor.

144
1. A linguagem SFC ou Grafcet é uma das cinco linguagens padronizadas pela norma
IEC61131-3. Quais são os principais elementos dessa linguagem e qual a função de
cada um, no diagrama?

2. Em determinado equipamento que realiza a mistura e pesagem de diferentes compo-


nentes químicos para a produção de um composto químico, solicita-se que o controle
do processo seja modelado utilizando a linguagem SFC. O engenheiro responsável
pela programação dos CLPs da indústria química criou o programa apresentado na
figura seguinte.

Início

TRUE

Etapa_0 N dosador1

dsg_cmp1_ok

Etapa_1 N dosador2

dsg_cmp2_ok

Etapa_2 N dosador3

dsg_cmp3_ok
Bran...

Etapa_3 N balança Etapa_4 N balança

peso_ok NOT peso_ok

Etapa_5 N embalagem Etapa_6 N balança

ajuste_peso
produto_ok
Etapa_0
Início

Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de blocos, na cor cinza, alinhados na posição vertical, representando a
transição de etapas com elementos em paralelo, indicando processos em paralelo. Nesta figura, são apresentadas seis etapas.

145
A sua tarefa, aluno(a), é descrever o diagrama SFC apresentado, explicando o que ocorre
em cada uma das etapas. Atenção! Nas anotações do engenheiro, foi verificado que o
item de descrição da Transição 1 “dsg_cmp1_ok” significa: a dosagem do Componente
Químico 1 foi realizada, da mesma forma que o significado serve para as próximas
duas transições similares.

3. O salto e a repetição de sequência são estruturas comuns nos diagramas criados na


linguagem SFC. No exemplo anterior, utilizado na Questão 2, foi realizada uma re-
petição de sequência, quando o peso do composto não estava correto. A sua tarefa,
aluno(a), agora, é criar um exemplo de diagrama com linguagem SFC que utilize o salto
de sequência.

4. O exemplo apresentado na Questão 2 utilizou ações com o modificador N, indicando


que as ações são do tipo imediatas e que ocorrem, somente, durante a ativação da
etapa. Ao invés do modificador N, poderíamos utilizar uma ação do tipo S para acionar
os dosadores 1, 2 e 3? Explique.

5. Modifique o diagrama SFC apresentado na figura da Questão 2, substituindo as ações


N, associadas com cada um dos dosadores, por ações do tipo Set (utilizando modifica-
dores S). Apresente o diagrama equivalente e realize todas as alterações necessárias
para garantir que o funcionamento do programa não seja alterado.

6. Traga uma comparação da linguagem SFC com as demais linguagens que você teve
contato, nas unidades anteriores, e expresse a sua opinião sobre a linguagem SFC,
indicando se ela seria uma opção, para você, como programador(a) de Controladores
Lógicos Programáveis.

146
147
148
8
Projetos de Sistemas
Automáticos
Utilizando Modelagem
Sfc (Grafcet) e Conversão SFC
(Grafcet) – Ladder
Dr. Taiser Tadeu Teixeira Barros

Você teve contato, anteriormente, com a linguagem SFC, também


conhecida como Grafcet! Nesta unidade, a utilizaremos para pro-
jetar sistemas automáticos, convertendo os programas criados
nesta linguagem para o seu equivalente em linguagem ladder. Você
consegue relacionar os conhecimentos prévios sobre linguagens
de programação de CLP com as possibilidades que a utilização da
Grafcet traz em situações comuns nos ambientes industriais?
UNICESUMAR

A linguagem SFC não é considerada, somente, uma linguagem de programação de


Controladores Lógicos Programáveis em si, mas também um método de programa-
ção de CLPs. Assim como a utilização de um fluxograma em um processo gerencial
traz a visão macro do processo, a SFC permite que um processo industrial complexo
possa ser modelado como um diagrama SFC.
Posteriormente, cada etapa do diagrama pode ser tratada, separadamente, re-
duzindo o problema maior em problemas menores, que, consequentemente, têm
menos complexidade. Imagine que você é um(a) programador(a) de CLPs iniciante
e a utilização da linguagem SFC pode ampliar a sua capacidade de transformar um
problema dado em um programa.
Você pode fazer uma analogia entre a utilização da linguagem SFC/Grafcet com o
seu dia a dia enquanto estudante de Engenharia. Acredito que, em algum momento,
você tenha realizado um trabalho em grupo, com um ou mais colegas, pois o traba-
lho apresentava relativa dificuldade e a divisão dele com outros “cérebros” tornou o
problema mais simples de ser solucionado.
Assim, cada um dos membros do seu grupo de trabalho ficou com uma tarefa
específica a ser resolvida e, no final do prazo estabelecido, todos reuniram as infor-
mações, gerando o trabalho final! Correto? Você se lembra de uma situação na qual
trabalhou dessa forma com um grupo de colegas?
Outra situação na qual você poderia aplicar a linguagem SFC seria no projeto
de uma máquina complexa que contém um número considerável de etapas, assim
como é o caso de máquinas de jogos eletrônicos! Como você faria para descrever o
funcionamento de um pinball controlado por um CLP?
A proposta de descrever o pinball passaria, necessariamente, por uma etapa inicial,
em que faríamos a relação entre os botões de acionamento do jogo e as entradas do
CLP bem como relacionaríamos o acionamento das luzes e dos sons com as saídas.
Ainda, contabilizar as pontuações, verificar os créditos do jogador e gerenciar o
tempo de jogo seriam etapas fundamentais do programa criado. Assim, toda a com-
plexidade de programar essa máquina poderia ser minimizada graças à utilização
da linguagem SFC/Grafcet.
Agora, traga uma proposta similar, ou, até mesmo, reescreva, em seu Diário de
Bordo, a proposta da máquina pinball e relacione elementos físicos e de software da
máquina à implementação no CLP, utilizando a linguagem SFC.
Começaremos a nossa análise de utilização da linguagem SFC com um exemplo
de estrutura sequencial linear, a qual modela o funcionamento de uma máquina de
estampagem de peças plásticas, conforme o exercício proposto por Silveira e Santos
(1999), apresentado na Figura 1.

150
UNIDADE 8

DIÁRIO DE BORDO

Dispositivo de
Carregamento

EV2

Cilindro 2
EV4
S2
Foto
Sensor
Estampo
Cilindro 1

Peça
S1

EV1

S3
EV3 Cilindro 3

Figura 1 - Representação de uma máquina de estampagem de peças plásticas / Fonte: Silveira e Santos (1999, p. 33).

Descrição da Imagem: a figura mostra a ilustração de um retângulo, à esquerda, representando um cilindro, na parte superior, uma
estrutura retangular, com divisões que lembram uma escada, e, na parte inferior, estruturas retangulares não isométricas, represen-
tando a base da máquina.

151
UNICESUMAR

O processo que podemos observar, na Figura 1, con- Init


siste em: um dispositivo de carregamento de peças
(por gravidade); o Cilindro 1 (atua como alimentador
PTD AND (NOT(S1) AND NOT (S2) AND NOT (S3))
de peças); o Cilindro 2 (atua como estampador das
peças) e o Cilindro 3 (realiza a extração das peças). Step1 N EV1
Todos os cilindros são do tipo de simples ação e
retorno por mola e são comandados, respectivamen-
S1
te, pelas eletroválvulas EV1, EV2 e EV3. A máxima
excursão de cada um dos cilindros é detectada pelos Step2 N EV2

sensores S1, S2 e S3, ainda, a expulsão da peça é rea-


lizada por um jato de ar comprimido liberado por
S2
meio da eletroválvula EV4 e monitorada pelo sensor
Step3 N EV2
FS de presença de peça, no molde que consiste em
um fotossensor.
O cilindro, à esquerda, é identificado como Cilin- Step3.t > t#2s

dro 1, com a informação EV1 (eletroválvula) na ex- Step4 N EV3


tremidade esquerda e S1 (sensor) na extremidade di- N EV4
reita. Há, na parte superior, uma estrutura retangular
com divisões que lembram uma escada, identificada S3

como Dispositivo de Carregamento. Ao lado, há ou- Step5 N EV4


tra eletroválvula, a qual é identificada como EV4; ao
lado direito do Dispositivo de Carregamento, existe
FS
um cilindro nomeado Cilindro 2, trazendo a infor-
Init
mação EV2 (eletroválvula) na extremidade superior
Figura 2 - Programa desenvolvido utilizando a linguagem SFC
e a informação S2 (sensor) na extremidade inferior, a para o acionamento da máquina de estampagem de peças
plásticas / Fonte: o autor.
qual está ligada, por uma linha, a um retângulo iden-
tificado como Estampo. Abaixo dessas, há estruturas Descrição da Imagem: a figura mostra uma ilustração de blo-
cos, na cor cinza, distribuídos, verticalmente, representando
retangulares não isométricas, representando a base diferentes etapas do programa. À esquerda, estão as etapas
Init, Step1, Step2, Step3, Step4 Step5, à direita, estão as ações.
da máquina, nomeada Peça, e que se divide em duas
partes. Entre elas, existe outra estrutura cilíndrica, a
qual é nomeada Cilindro 3, com a informação EV3
(eletroválvula) na extremidade inferior e S3 (sensor)
na extremidade superior. Há um retângulo ligado,
por uma linha traçada, à segunda parte da peça, iden-
tificado como Fotossensor.
O diagrama SFC/Grafcet, que modela o processo
de estampagem de uma peça, está representado na
Figura 2.

152
UNIDADE 8

Assim, como podemos observar, na Figura 2, o processo possui seis etapas: a etapa inicial,
Init, não tem ações associadas e permanece ativa até o momento em que uma chave de
partida PTD é acionada. Então, se nenhum sensor de detecção de avanço dos cilindros
estiver atuado, o programa segue à etapa Step1.
A Etapa 1 tem a ação de acionar a eletroválvula EV1 e aguardar a transição gerada pelo
acionamento do Sensor S1. A Etapa 2, Step2, faz a ação de acionar a eletroválvula EV2 e
aguardar a transição gerada pelo acionamento do sensor S2. A Etapa 3, Step3, realiza a
ação de acionar a eletroválvula EV2, durante 2 segundos, sendo o final da temporização
a transição que faz o fluxo do programa seguir para a Etapa 4, Step4.
Na Etapa 4, são acionadas as eletroválvulas EV3 e EV4 e, então, a transição gerada pelo
acionamento do Sensor S3 é aguardada. Na ocorrência do acionamento de S3, o fluxo do
programa chega à Etapa 5, Step5, na qual a eletroválvula EV4 é mantida acionada, desse
modo, aguarda-se pela transição gerada pelo acionamento do Sensor FS.
Por fim, o acionamento desse sensor direciona o fluxo do programa à etapa inicial,
reiniciando, assim, o programa.

A linguagem SFC auxilia no modelamento de um processo. Dessa forma, podemos


supor que processos os quais apresentam mais complexidade geram programas
em SFC com maior número de elementos?

Para avaliarmos a complexidade relativa associada a um programa desenvolvido em lin-


guagem SFC, analisaremos o segundo exemplo, o qual se refere a uma estrutura com seleção
de sequências, diferentemente da estrutura sequencial linear apresentada na Figura 1.
O exemplo com seleção de sequências refere-se à Figura 3, que traz a representação
de uma máquina dispensadora de bebidas quentes, conforme exercício proposto por
Silveira e Santos (1999).
As seguintes opções são fornecidas ao usuário: B1 (café puro), B2 (café com leite) e
B3 (chocolate quente), sendo estas três opções disponíveis por uma chave seletora de três
posições. Os produtos para preparo das bebidas estão nos reservatórios R1 (café solúvel);
R2 (leite em pó); R3 (chocolate); R4 (açúcar) e R5 (água quente), e a dosagem de cada um
desses produtos é realizada, respectivamente, pelo acionamento das válvulas VR1, VR2,
VR3, VR4 e VR5.

153
UNICESUMAR

Café Leite Chocol. Açucar Água


quente
VR1 VR2 VR3 VR4 VR5

Alimentador
de copos

SC
Figura 3 - Representação de uma máquina dispensadora de bebidas quentes / Fonte: Silveira e Santos (1999, p. 34).

Descrição da Imagem: a figura mostra uma ilustração de cilindros na parte superior, representando reservatórios com os ingredientes
para a fabricação das bebidas quentes. Na parte inferior, estão os blocos representativos do alimentador de copos e dos próprios copos.

O sistema utiliza, também, um dispositivo (AC) para a alimentação dos copos descartáveis bem como
permite a seleção de três graduações do nível de açúcar: A1 (amargo), A2 (doce) e A3 (extradoce),
selecionadas por uma chave seletora (A) com três posições.
O funcionamento da máquina é tal que a condição inicial é a presença de um copo em determi-
nada posição, a qual é monitorada pelo sensor de presença de copo (SC), sendo o processo finalizado
quando o copo é retirado, após ser preenchido com a bebida selecionada. Uma vez que a condição
inicial ocorra e estando o nível de açúcar e o tipo de bebida já selecionados, é possível iniciar o pro-
cesso por meio do botão de partida (PTD). Iniciado o processo, a abertura temporizada das válvulas
garante o preparo de cada um dos tipos de bebidas, por meio da liberação da quantidade de açúcar:
sem liberação para amargo, 4 segundos para doce e 6 segundos para extradoce. Em relação às receitas
de preparação das bebidas, tem-se:

• Café puro: 3 segundos de café e 5 segundos de água quente.


• Café com leite: 2 segundos de café, 3 segundos de leite e 7 segundos de água quente.
• Chocolate quente: 2 segundos de leite, 3 segundos de chocolate e 6 segundos de água quente.

154
UNIDADE 8

A Figura 4 mostra o diagrama SFC para gerar a sequência de controle proposta à máquina
de bebidas quentes. É importante observar que esse diagrama representa um exemplo
de seleção entre sequências, ou seja, as sequências que estão representadas em paralelo
serão executadas, apenas, uma por vez.
No caso de o cliente escolher a opção de café puro doce, as transições do diagrama
farão o fluxo de etapas ser: Init-Step1-Step2-Step3-Step5-Step6-Step7-Step14-Init.

Uma vez que a linguagem SFC auxilia no modelamento de processos de mais


complexidade, ela pode ser utilizada, também, como ponto de partida para o
desenvolvimento de programas em outra linguagem, por exemplo, a ladder.
Neste caso, a utilização de mais de uma linguagem, junto com a SFC, pode trazer
benefícios ao(s) programador(es)?

Verificaremos, agora, uma metodologia que permite modelar o processo em SFC e, pos-
teriormente, convertê-lo para o correspondente diagrama ladder. Prudente (2011) traz
que o método de conversão SFC-ladder é útil quando o(a) projetista não dispõe de um
software específico à criação do diagrama SFC.

155
UNICESUMAR

Init

PTD
STEP1 N AC

SC
STEP2

A1 A2 A3
STEP3 N VR4 STEP4 N VR4

STEP3.t > t#4s STEP4.t > t#6s

STEP5

B1 B2 B3
STEP6 N VR1 STEP8 N VR1 STEP11 N VR2

STEP6.t > t#3s STEP8.t > t#2s STEP11.t > t#2s


STEP7 N VR5 STEP9 N VR2 STEP12 N VR3

STEP7.t > t#5s STEP9.t > t#3s STEP12.t > t#3s


STEP10 N VR5 STEP13 N VR5

STEP10.t > t#7s STEP13.t > t#6s

STEP14

NOT SC
Init

Figura 4 - Programa desenvolvido utilizando a linguagem SFC para o acionamento da máquina de bebidas quentes
Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de blocos, na cor cinza, distribuídos, verticalmente, representando diferentes
etapas do programa. À esquerda, estão as etapas Init, Step1, Step2, Step5, Step6, Step7 e Step14, na porção central, as etapas Step3,
Step4, Step8, Step9 e Step10, à direita, as etapas Init, Step11, Step12 e Step13.

156
UNIDADE 8

Neste vídeo, verificaremos a simulação do programa criado em SFC


para os gerenciamento e controle da máquina de bebidas quentes,
permitindo, assim, que possamos compreender a relação entre os
sinais utilizados, as correspondentes transições/etapas e as ações
presentes no diagrama SFC. Acesse o QR-Code e confira!

Com o objetivo de compreender o


método da conversão SFC-ladder,
utilizaremos o exemplo de uma
furadeira de bancada automática
proposto por Franchi e Camargo
(2009). Neste exemplo, se o ca-
beçote da furadeira de bancada
vertical estiver na posição alta (h),
e acionarmos o botão de partida
(P), deverá ser acionado o motor
da broca que desce em velocidade
alta até o sensor de posição inter-
mediária (b1).
Posteriormente, a velocidade de
descida será reduzida até atingir o h

sensor de posição baixa (b2) e, a b1


partir deste momento, a furadeira
volta a subir em velocidade alta até Avanço em alte b2
velocidade
retornar à posição detectada por
(h), quando, então, os motores de
subida e da broca são desligados.
O exemplo prevê a utilização Aproximação em
de cinco saídas de um CLP, sendo velocidade reduzida

duas saídas para o controle de velo-


cidade (velocidade alta e velocida- Figura 5 - Esquema representativo da furadeira de bancada vertical
de baixa), duas saídas destinada ao Fonte: Franchi e Camargo (2009, p. 28).

controle de sobe e desce da furadei- Descrição da Imagem: a figura mostra uma ilustração de blocos retangulares as-
ra (motor do cabeçote) e uma saída sociados, verticalmente, representando a furadeira. Há as seguintes descrições, à
esquerda: “Avanço em alta velocidade” e “Aproximação em velocidade reduzida”. À
para o motor da broca. A Figura 5, a direita, há blocos com as inscrições “h”, “b1” e “b2” inseridas em retângulos menores,
representando os sensores do equipamento.
seguir, representa a furadeira.

157
UNICESUMAR

Uma vez que conhecemos a estru-


tura da máquina e como a mesma Init R mtr_broca
deve funcionar, criaremos o diagra-
ma SFC correspondente a ela. A me-
todologia de conversão SFC-ladder, P and h
aqui, empregada, tem, por base, as
Step0 N cabct_desce
propostas de Franchi e Camargo
(2009) e Silveira e Santos (1999), N vel_alta
porém, a título de simplificação, S mtr_broca
suprimirei alguns passos dos mé- b1
todos propostos por esses autores.
Step1 N cabct_desce
O diagrama SFC de acionamento
N vel_baixa
da furadeira está representado na
Figura 6.
Figura 6 - Programa desenvolvido utilizando
b2
a linguagem SFC para o acionamento da fu-
radeira de bancada vertical / Fonte: o autor. Step2 N cabct_sobe
Descrição da Imagem: a figura mostra
N vel_alta
uma ilustração de blocos, na cor cinza,
distribuídos, verticalmente, represen-
tando diferentes etapas do programa.
De cima para baixo, estão as etapas Init, h
Step0, Step1 e Step2. Associadas com as
etapas, estão as ações representadas por Init
retângulos, ao lado direto de cada bloco.

Uma vez definido o diagrama SFC, serão criadas tabelas que representarão os elementos físicos utili-
zados (botoeiras, sensores, motores etc.) com correspondência aos endereços usados no CLP e demais
endereços de memória empregados na programação.
A Tabela 1 traz a correspondência entre elementos físicos e entradas/saídas do CLP.

Elemento Endereço Descrição

P I1 Botão de partida.

h I2 Sensor de posição alta.


b1 I3 Sensor de posição intermediária.
b2 I4 Sensor de posição baixa.
1st scan M1 Detecção do primeiro ciclo de programa.

Tabela 1 - Elementos físicos x memórias do CLP / Fonte: o autor.

158
UNIDADE 8

A seguir, criamos uma tabela para representar as transições que ocorrem durante o
programa, associando-as com memórias. A Tabela 2 representa as transições que devem
acontecer, a fim de que o fluxo do programa seja seguido conforme o previsto.

Transição Endereço Descrição


P and h M7 Transição da etapa inicial para a Etapa 0.
b1 M8 Transição da Etapa 0 para a Etapa 1.
b2 M9 Transição da Etapa 1 para a Etapa 2.
h MA Transição da Etapa 2 para a etapa inicial.
Tabela 2 - Transições x memórias do CLP / Fonte: o autor.

Assim como a representação das transições, é necessário que sejam utilizadas memórias
para armazenar o estado de cada uma das etapas. A correspondência entre etapas e me-
mórias está representada na Tabela 3.

Etapa Endereço Descrição


Init M3 Etapa inicial
Step0 M4 Etapa 0
Step1 M5 Etapa 1
Step2 M6 Etapa 2
Tabela 3 - Etapas x memórias do CLP / Fonte: o autor.

Por último, criamos a correspondência entre as saídas do CLP e as ações físicas que devem
ocorrer na máquina. Tal correspondência é representada na Tabela 4.

Ação Endereço Descrição


cabct_desce Q1 Cabeçote desloca-se para baixo.
Aciona o deslocamento do cabeçote com velocidade
vel_alta Q2
alta.
Aciona o deslocamento do cabeçote com velocidade
vel_baixa Q3
baixa.
cabct_sobe Q4 Cabeçote desloca-se para cima.
mtr_broca Q5 Aciona o motor da broca.
Tabela 4 - Ações x saídas do CLP / Fonte: o autor.

159
UNICESUMAR

Ainda, é necessário que o programador especifique as lógicas de intertravamento res-


ponsáveis por gerar as transições. Essas lógicas estão representadas na Tabela 5.

Transição Endereço Descrição


M7 = M3 and I1
Init and P and h Transição da etapa inicial para a Etapa 0.
and I2
Step0 and b1 M8 = M4 and I3 Transição da Etapa 0 para a Etapa 1.
Step1 and b2 M9 = M5 and I4 Transição da Etapa 1 para a Etapa 2.
Step2 and h MA = M6 and I2 Transição da Etapa 2 para a etapa inicial.

Tabela 5 - Lógicas de intertravamento das transições / Fonte: o autor.

Finalmente, são implementadas as equações ás ações, conforme apresentado na Tabela 6.

Ação Endereço Etapas


cabct_desce Q1 = M4 or M5 E1 or E2
vel_alta Q2 = M4 or M6 E1 or E3
vel_baixa Q3 = M5 E2
cabct_sobe Q4 = M6 E3
liga mtr_broca SET Q5 = M4 E1
desliga mtr_broca RESET Q5 = M3 E0
Tabela 6 - Lógicas das ações / Fonte: o autor.

A partir dos sinais e das lógicas propostas nas tabelas, podemos desenvolver o diagrama
ladder equivalente. O diagrama criado está apresentado nas Figuras 7, 8 e 9. A Figura 7
traz a ativação da etapa inicial, que é executada, uma única vez, por meio da utilização
de uma varredura do tipo First Scan, ou seja, que permanece ativa, somente, durante o
primeiro ciclo de execução do programa.

160
UNIDADE 8

1 M1 VAI ESTAR ATIVO SOMENTE NO PRIMEIRO CICLO DE SCAN - SENDO ESTA LINHA RESPONSÁVEL PELA ATIVAÇÃO DA
ETAPA INICIAL
M2 M1

M2

M3 I1 I2 M7

M4 I3 M8

M5 I4 M9

M6 I2 MA

Figura 7 - Programa em linguagem ladder, equivalente ao programa SFC, para o acionamento da furadeira de bancada vertical
(seção de ativação inicial) / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de linhas horizontais distribuídas, verticalmente, de cima para baixo. Nas linhas,
podemos ver contatos e bobinas. Nos contatos, temos as descrições M2, M3, M4, M5, M6, I1, I2, I3 e I4, enquanto que, nas bobinas,
temos as descrições M1, M2, M7, M8, M9 e MA.

Com a ativação da etapa inicial e o desenvolvimento das lógicas básicas, seguimos à seção de acio-
namento das demais etapas, conforme as transições que podem ser geradas, movimento que é apre-
sentado na Figura 8.

161
UNICESUMAR

7 TRANSIÇÕES QUE LIGAM/DESLIGAM AS ESTAPAS

M1 M3
S

M6

M7 M3
R
M4
S

10

M8 M4
R
M5
S

11

M9 M5
R
M6
S

12

MA M6
R

Figura 8 - Programa em linguagem ladder, equivalente ao programa SFC, para o acionamento da furadeira de bancada vertical
(seção de ativação das etapas, conforme transições) / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de linhas horizontais distribuídas, verticalmente, de cima para baixo. Nas linhas,
podemos ver contatos e bobinas. Nos contatos, temos as descrições M1, M6, M7, M8, M9 e MA, nas bobinas, temos as descrições M3,
M4, M5 e M6.

Na sequência, é apresentada a seção do programa onde são implementadas as ações, as quais efetuam
o acionamento das saídas do CLP, realizando, consequentemente, as atuações físicas na máquina. A
Figura 9 traz a representação dessa seção do programa.
14 IMPLEMENTAÇÃO DAS AÇÕES
M4 Q1

M5

15

M6 Q4

16

M5 Q3

17

M4 Q2

M6

18
M4 Q5
S

19
M3 Q5
R

Figura 9 - Programa em linguagem ladder, equivalente ao programa SFC, para o acionamento da furadeira de bancada vertical
(seção de implementação das ações) / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de linhas horizontais distribuídas, verticalmente, de cima para baixo. Nas linhas,
podemos ver contatos e bobinas. Nos contatos, temos as descrições M3, M4, M5 e M6, enquanto que, nas bobinas, temos as descrições
Q1, Q2, Q3, Q4 e Q5.

162
UNIDADE 8

Neste podcast, trago para você uma análise sobre a utilização da


linguagem SFC como uma ferramenta de programação e, também,
como uma forma de gerenciar projetos de médio/grande porte que
contenham mais complexidade agregada. Acesse o nosso QR-Code
para aprender mais!

A execução do programa, por meio da integração entre as três seções apresentadas nas
Figuras 7, 8 e 9, equivale ao programa SFC representado na Figura 6. Convém ressaltar
que esta metodologia possui fins didáticos, demonstrando como obter, a partir de um
programa criado na linguagem SFC/Grafcet, o diagrama ladder.
Em termos práticos, para os casos nos quais o(a) projetista dispõe de um editor que
disponibiliza a linguagem SFC, é pouco provável que essa metodologia seja adotada.
Por outro lado, efetuar algumas conversões SFC-ladder amplia a capacidade analítica
do(a) engenheiro(a)/programador(a). Adicionalmente, permite ao(à) profissional usar
a analogia do diagrama SFC, quando o editor de programa utilizado não disponibilizar
a edição direta em SFC.
Para os profissionais oriundos da Engenharia ou de formação técnica similar, a área
de programação de CLPs é um nicho de atuação, extremamente, rico em oportunidades,
dentro do contexto da automação. O conhecimento da linguagem SFC e da conversão
dela em linguagem ladder amplia, consideravelmente, o leque de habilidades do(a)
programador(a).
Ao utilizar, para um ou mais CLPs, a linguagem SFC como uma ferramenta de ge-
renciamento do programa que está sendo criado, o(a) programador(a) obtém uma fer-
ramenta poderosa que facilitará a distribuição do programa em blocos (etapas). Estes,
individualmente, serão mais fáceis de organizar, de programar e, se necessário, de corrigir.
Ao final desta unidade, você deve ter observado que descrever o funcionamento do
pinball controlado por CLP, funcionamento o qual foi proposto no início de nossos
estudos, seria uma tarefa trivial quando da utilização da linguagem SFC, assim como o
caso da máquina de bebidas quentes apresentado como exemplo.

163
A conversão à linguagem Ladder de um programa desenvolvido na linguagem SFC pode ampliar
a capacidade analítica do(a) programador(a), ou, até mesmo, permite utilizar o diagrama SFC
para organizar a ideia do programa e, depois, implementar o diagrama em ladder, caso o editor
utilizado não disponibilize a linguagem SFC.
No Mapa Mental, a seguir, apresento uma proposta sobre os principais tópicos referentes à
metodologia de conversão SFC-ladder. Complete as demais descrições apresentadas, ou, caso
prefira, crie o seu próprio Mapa Mental ou análise similar.

Ações: completar!!!

Conversão do
doagrama SFC
para diagrama
ladder
Transições: são caracteristicas pelas
lógicas e intertravamentos que vão
permitir que ocorra a execução do
programa conforme previstas.
Etapas: completar!!!

Figura 10 - Mapa mental / Fonte: autor.

164
1. Conforme o exemplo da máquina dispensadora de bebidas quentes, apresentado nas
Figuras 3 e 4 desta unidade, descreva a sequência de etapas que seriam ativadas no
diagrama SFC para o caso em que o usuário selecionasse a opção “chocolate quente
extradoce”. A sua tarefa é descrever as etapas desde a inicial (Init) até o retorno à etapa
inicial, após a ocorrência de todas as transições.

2. No trecho do programa desenvolvido em linguagem ladder, apresentado na Figura 7


desta unidade, referente ao acionamento da furadeira vertical de bancada, as memó-
rias M1 e M2 são utilizadas para gerar uma varredura do tipo First Scan. Explique como
essa varredura funciona.

3. A figura, a seguir, apresenta um diagrama SFC com seleção entre sequências. Os itens
l1, l2 e l3 referem-se às saídas do CLP que acionam três lâmpadas sinalizadoras, en-
quanto t1, t2 e t3 são as transições que habilitam a ocorrência das etapas do diagrama.
Conforme os seus conhecimentos acerca da linguagem SFC, descreva o funcionamento
do programa apresentado na figura seguinte.

Init S 11

TRUE

Step0 S 12

t1

Step1 R 12

S 13

t2 t3

Step2 R 11 Step0

R 13

Step2.t > t#3s

Init

Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de blocos, na cor cinza, distribuídos, verticalmente, representando
diferentes etapas do programa. De cima para baixo, estão as etapas Init, Step0, Step1 e Step2. Associadas com as etapas,
estão as ações representadas por retângulos, ao lado direito de cada bloco, com as descrições l1, l2 e l3.

165
Atenção! As Questões 4, 5 e 6 referem-se à figura apresentada, a seguir, a qual repre-
senta o esquema de um carro sobre trilhos. O carro pode ser comandado para seguir
em uma das duas direções possíveis.
a b

Ordem da Marcha

vai para a vai para


esquerda a direita

Fonte: Silveira e Santos (1999, p. 46).

Descrição da Imagem: a figura mostra a ilustração de um retângulo, à esquerda, representando um botão, acompanhado
pela descrição “Ordem de marcha”. À direita, outro retângulo, representando o carro, está sobre uma linha horizontal e
entre duas linhas na vertical, identificadas como “a” e ”b”. Próximo ao retângulo que representa o carro, há as descrições
“Vai para a esquerda e “Vai para a direita”.

4. No carro sobre trilhos representado na figura, o botão denominado “Ordem de mar-


cha”, toda vez que é acionado, faz com que o carro se movimente entre as estações “a”
e “b”. O veículo sempre parte de “a”, desloca-se até “b” e retorna para “a”. A sua tarefa,
aluno(a), nesta atividade, é apresentar o diagrama SFC de comando para o carro.

5. Uma vez criado o diagrama SFC para o carro sobre trilhos, solicitou-se ao engenheiro
responsável pelo projeto converter o SFC em ladder, sendo, então, necessária a apre-
sentação das tabelas de correspondência entre elementos físicos e entradas/saídas
do CLP, assim como os demais sinais necessários para criar o diagrama ladder. A sua
tarefa, aluno(a), nesta atividade, é apresentar as tabelas necessárias à especificação
dos sinais que serão utilizados no diagrama ladder.

6. Definidos todos os sinais, memórias e endereços do CLP que serão utilizados, é possível
prosseguir com a transformação do diagrama SFC no correspondente diagrama ladder.
Assim, nesta atividade, aluno(a), a sua tarefa é desenvolver o diagrama ladder relativo ao
carro sobre trilhos, considerando os elementos desenvolvidos nas atividades anteriores.

166
167
168
9
Sistemas de
Supervisão, Controle
e Aquisição de
Dados (SCADA)
Dr. Taiser Tadeu Teixeira Barros

Neste ciclo de aprendizagem, conheceremos os chamados sistemas


supervisórios. Estes sistemas juntamente com os demais compo-
nentes de automação (como os CLPs) permitem que os processos
fabris sejam monitorados e controlados. Ainda, a utilização de um
sistema supervisório permite gerar dados que podem ser analisados
e utilizados para um melhor gerenciamento dos processos.
UNICESUMAR

Com certeza, você possui uma série de aplicativos que utiliza em seu smartphone, facilitando sua rotina
diária! E se fosse possível você controlar uma indústria inteira, apenas, utilizando um aplicativo, que
roda em um smartphone ou tablet?
Atualmente, com o avanço tecnológico, principalmente no contexto da indústria 4.0, existem proces-
sos e setores da indústria que já podem ser controlados via utilização de aplicativos e sem a intervenção
direta do ser humano. Os sistemas de supervisão permitem que processos — conhecidos como “chão
de fábrica”, que, inclusive, em determinados casos, podem ser insalubres ao ser humano — possam ser
supervisionados de locais remotos e de forma segura.
Ainda, os processos, além de serem monitorados em tempo real, geram informações (dados) que
são enviados a níveis gerenciais superiores, em que é possível tomar decisões sobre processos, graças
aos dados coletados.
Você já parou para pensar que, ao utilizar um aplicativo como o da empresa Amazon, você é o
responsável por iniciar um processo dentro de uma empresa? Quando o produto que você selecionou
em sua compra é confirmado, toda uma cadeia produtiva é colocada em operação.
Digamos que você comprou o exemplar de um livro, este está armazenado em algum depósito,
livraria ou loja física, e, a partir do momento em que foi adquirido por você, ele precisará ser separado,
embalado e enviado até chegar em suas mãos.
Você já pensou, também, que ao utilizar um aplicativo de compra online, você é, de alguma forma,
um dos “operadores do processo”? Traga mais exemplos que relacionam a utilização da tecnologia com
um processo fabril ou comercial. Anote em seu diário de bordo o exemplo, descrevendo as suas etapas
e de que forma você imagina (ou conhece) as etapas do processo.

DIÁRIO DE BORDO

170
UNIDADE 9

Em determinadas aplicações, o Controlador Lógico Programável, adicionalmente às suas funções


normais de controle, é responsável por realizar a coleta de dados, a qual pode ser simplificada com a
utilização de um sistema supervisório de controle e aquisição de dados — SCADA (do inglês Super-
visory Control And Data Acquisition System) (PETRUZELLA, 2014).
Como os computadores possuem capacidade gráfica superior à dos Controladores Lógicos Progra-
máveis, eles são cada vez mais usados como link entre o homem e os sistemas SCADA (PARR, 2003),
conhecidos também como sistemas de supervisão ou sistemas supervisórios.
O sistema SCADA foi concebido com o intuito de supervisionar e controlar uma quantidade elevada
de variáveis digitais/analógicas (de entrada ou saída) distribuídas (CASTRUCCI; MORAES, 2012).
Alguns exemplos de sistemas supervisórios disponíveis comercialmente são o ELIPSE E3, SIEMENS
SIMATIC WINCC, INDUSOFT WEB STUDIO e o BLUE PLANT. Todos estes softwares são pagos,
possuindo versões de demonstração. As imagens e os exercícios propostos neste ciclo de aprendizagem
serão criados, utilizando uma versão de demonstração do Blue Plant disponível. Como uma alternativa
aos softwares pagos, existem versões open source, como é o caso do Open SCADA e do SCADA BR,
ambos gratuitos.

Considero interessante que você experimente realizar algumas ati-


vidades no software supervisório Blue Plant para fixar os conceitos
discutidos neste ciclo. Para obter o Blue Plant, basta acessar o link e
realizar o download.
Para acessar, use seu leitor de QR Code.

171
UNICESUMAR

Em termos práticos, utilizar uma opção gratuita permite que pequenas empresas, hobbistas e em-
preendedores — que não pretendem despender valores em um projeto — possam utilizar um software
supervisório, sem a necessidade de investir valores. Claro que as opções gratuitas não possuem todas
as vantagens das opções pagas, assim como é o caso de uma lista de drivers para comunicação com
uma variada gama de fabricantes. E a possibilidade de se comunicar com diferentes equipamentos de
diferentes fabricantes é, justamente, uma das vantagens da utilização dos softwares supervisórios, assim
como trazem Silveira e Santos (1999).
Nos sistemas supervisórios, a interação do usuário com um processo acontece por meio de inter-
faces gráficas que permitem configurar arquivos de alarmes e eventos, relatórios, receitas e funções
avançadas, a partir da utilização de scripts, os quais são trechos de programas que ampliam as funcio-
nalidades do sistema supervisório (CASTRUCCI; MORAES, 2012). A Figura 1 mostra uma tela de
sistema supervisório utilizado em um processo de envase de bebidas.

Figura 1 - Representação de um processo de envase de bebidas.

Descrição da Imagem: a figura mostra garrafas vazias posicionadas sobre uma esteira, entrando pela lateral esquerda e saindo cheias
pela lateral direita de uma estrutura retangular em que são adicionados rótulos a elas.

172
UNIDADE 9

Conforme podemos observar na Figura 1, há um processo industrial representado por ela.


O processo consiste em envase, inspeção e aplicação de rótulos em garrafas.

REALIDADE
AUMENTADA

Processo de envase de bebidas.

173
UNICESUMAR

Qual ou quais as vantagens que existem na implantação de um sistema de


supervisão em um processo industrial, como aquele representado na Figura 1?

No contexto da automação industrial, a utilização de equipamentos que automatizam os


processos permitiu ao ser humano aprimorar processos e delegar às máquinas muitas
tarefas repetitivas. Além disso, os sistemas SCADA adicionaram funções substanciais aos
processos de automação, permitindo, por exemplo, que um processo automatizado possa
ser monitorado remotamente, gerando informações (dados) que permitam analisá-lo e
aprimorá-lo.
Dentre os recursos disponíveis nos sistemas supervisórios, sejam eles embarcados
em interfaces homem-máquina (IHMs) ou instalados em computadores, podemos citar
(SILVEIRA; SANTOS, 1999):
d) A interface gráfica de usuário (GUI – Graphical User Interface): traz ao
operador/usuário informações sobre o status do processo, utilizando visualiza-
ção gráfica com diferentes cores e em alta definição, podendo dispor elementos
animados graficamente que representam o processo físico.
e) Receitas: são conjuntos de setpoints gravados em arquivos que, ao serem lidos,
configuram o processo com valores armazenados previamente. Assim, por exem-
plo, em uma máquina que fabrica “n” tipos de peças, pode ser utilizada uma receita
para cada peça, otimizando o tempo de setup da máquina.

As receitas estão associadas ao conceito de “tags”, estas são variáveis que armazenam as
informações de processo em uma ihm ou computador.
f) Alarmes e eventos: o constante monitoramento de tags do processo, as quais
são suscetíveis a falhas permitem que alarmes sejam gerados, quando as falhas
ocorrerem.

Ainda, cada ocorrência de alarme pode ser registrada, permitindo que, posteriormente,
os alarmes/eventos ocorridos sejam analisados para gerar soluções para falhas de pro-
cessos ou permitir melhorias.

174
UNIDADE 9

Avaliaremos, agora, alguns componentes básicos disponibilizados no blue plant, com-


ponentes estes comuns em ambientes SCADA. Iniciamos pelas “Tags”, estas são identi-
ficadores que armazenam variáveis de um determinado tipo, assim como itens do tipo
booleano, inteiro ou de ponto flutuante.
Especificamente no blue plant, os tipos recebem denominações particulares, como
o caso de “digital” para uma variável booleana (a qual possui valores do tipo verdadeiro
ou falso - 1 ou 0), o que seria equivalente a uma variável do tipo “BOOL” utilizada no
Codesys, assim como estudamos em ciclos de aprendizagem anteriores. Na Figura 2,
podemos observar a tela nas quais são definidas as tags utilizadas em determinada apli-
cação criada no Blue Plant.

Figura 2 - Criação de tags no software Blue Plant / Fonte: o autor.

Descrição da Imagem: a figura mostra um retângulo amarelo no canto esquerdo e as descrições S1 e V1 no lado
direito acompanhadas das palavras “Digital”.

As tags “S1” e “V1” definidas serão, posteriormente, utilizadas para criar a “comunicação”
entre os elementos gráficos do supervisório desenvolvido. Os elementos gráficos são sele-
cionados em uma outra tela, apresentada na Figura 3, e, para este exemplo, selecionamos
um botão do tipo “push button” e uma bomba.

Figura 3 - Exemplo de elementos gráficos utilizados no software Blue Plant / Fonte: o autor.

Descrição da Imagem: a figura mostra dois círculos vermelhos, o da esquerda representa um botão de pulso, e o
da direita, uma bomba.

175
UNICESUMAR

Cada um dos elementos gráficos apresentados na Figura 3 possuem propriedades de animação que
permitem ao usuário interagir com eles, quando o supervisório desenvolvido estiver em execução.
Neste caso, o botão, ao ser clicado, representa esta ação e a bomba ao ser ativada muda da cor vermelha
para a cor verde.
Para que possamos acessar cada uma das propriedades destes elementos gráficos, é necessário
associar as tags a eles. Especificamente para o presente exemplo, tanto o botão quanto a bomba são
elementos que serão associados com tags do tipo digital, pois eles possuem apenas dois estados pos-
síveis. Na Figura 4, está representada a configuração do botão, o qual está associado com a tag “S1”
criada anteriormente.

Figura 4 - Exemplo de configuração de um elemento gráfico no software Blue Plant / Fonte: o autor.

Descrição da Imagem: a figura mostra um círculo vermelho representando um botão de pulso e um campo de entrada de dados com
a descrição Tag.S1 à direita do mesmo.

Podemos observar na Figura 4 que a propriedade “IsPressed” do botão foi associada com a tag S1, ou
seja, quando o botão for acionado, o seu estado lógico será 1; e, quando não estiver associado, será zero,
com estes valores sendo armazenados na tag S1. Da mesma forma, a bomba foi associada com a tag V1.
Seguindo com o exemplo, vamos agora associar as tags S1 e V1 para que, no momento em que o
botão for acionado, a bomba entre em funcionamento, sendo necessário indicar uma relação entre as
tags, por meio da utilização de um script de programação.

Neste vídeo, trago para você uma demonstração da utilização do


Blue Plant, conforme exemplo relacionado às Figuras 2, 3 e 4. Ve-
rificamos como criar uma aplicação, as tags e inserir os elementos
gráficos, relacionando-os conforme as tags criadas e a automação
por script. Acesse o QRCode e confira!

176
UNIDADE 9

Nos softwares SCADA, assim


como citado anteriormente,
os scripts ampliam as funcio-
nalidades do sistema supervi-
sório. No blue plant, os scripts
podem ser desenvolvidos em
duas linguagens: VBDotNet
e CSharp. Neste exemplo, foi
utilizada a linguagem CSharp,
com o trecho de código de-
senvolvido e apresentado na
Figura 5 - Trecho de código desenvolvido Blue Plant / Fonte: o autor.
Figura 5.
Descrição da Imagem: a figura mostra um retângulo cinza escuro com um texto nas
cores azul e preta, destacando as tags S1 e V1.

Examinando o código apresentado na Figura 5, verificamos a utilização de uma estrutura condicional


if - else (se - senão). Neste caso, será verificado se a tag S1 possui valor igual a “1”, ou seja, se ela está
ativa, fato relacionado à ativação do botão. Se S1 estiver ativo, então, V1 recebe o valor “1”, ou seja,
também estará ativo, que na animação gráfica corresponderá ao acionamento da bomba. E se S1 não
estiver ativo, neste caso, se ele for igual a “0”, a bomba estará desligada, o que corresponde à tag V1
receber “0”, na condição “else”.

As tags são elementos fundamentais de um supervisório (e de IDEs, utilizadas para programa-


ção de CLPs), uma vez que, por meio delas, toda a comunicação interna e externa ao software
é realizada! “Tag” pode ser traduzida do inglês como “etiqueta”, e na prática indica um nome
que identifica uma variável do processo, por exemplo. Em termos comerciais, geralmente uma
licença de uso de um software supervisório é vendida, tomando por base o número de tags
disponibilizado para o desenvolvedor, também conhecido como integrador do software SCADA.

Desenvolveremos, agora, um segundo exemplo no blue plant, utilizando tags do tipo inteiros, repre-
sentando variáveis analógicas, as quais, diferentemente das tags digitais, poderão assumir valores dife-
rentes de “0” e “1” (True/ False). Neste exemplo em específico, simula-se uma aplicação com variáveis
temperatura e pressão em um range de 0 a 100.

177
UNICESUMAR

O processo a ser simulado está representado na Figura 6, com a possibilidade de o usuário


informar os valores de temperatura e nível nas caixas de I/O localizadas à esquerda, nas
quais o usuário indica os valores de setup de temperatura e nível que devem ser atingidos
no processo. Os sliders (botões de arrasto), à direita, permitem simular os níveis e tem-
peratura do tanque superior. Assim, uma das propostas de simulação é fazer com que
o tanque superior seja esvaziado, quando a temperatura e o nível simulado do tanque
forem superiores às temperaturas e níveis de setup.

Figura 6 - Processo de monitoramento de temperatura e nível desenvolvido no Blue Plant / Fonte: o autor.

Descrição da Imagem: a figura mostra dois retângulos brancos à esquerda, representando campos de entrada de
valores. No centro da figura, estão dois cilindros cinza que representam tanques de armazenamento e, à direita,
estão dois elementos verticais numerados, representando botões do tipo sliders que servem para informar valores
como “Temp Cº” e “Nível”.

Assim, podemos criar um script de


programação para fazer com que
o comportamento do supervisó-
rio ocorra conforme descrito. Para
compreender este processo, avalia-
remos, inicialmente, as tags criadas,
conforme apresentado na Figura 7.
Figura 7 - Tags criadas para o processo de
monitoramento de temperatura e nível /
Fonte: o autor.
Descrição da Imagem: a figura mostra
duas colunas, sendo que na coluna da
esquerda estão descritos os nomes das
tags criadas e, à esquerda, o tipo de cada
uma das tags.

178
UNIDADE 9

Uma vez conhecidas as tags, podemos verificar a lógica de programação proposta, lem-
brando que a ideia é fazer com que o tanque superior seja esvaziado, quando a tempe-
ratura (tprocesso_sim) e o nível (ntanque_sim) simulados do tanque forem superiores
às temperaturas (tempProg) e nível (nivelProg) de setup. O que pode ser implementado,
por exemplo, com uma cláusula if - else: if (@Tag.ntanque_sim > @Tag.nivelProg &&
@Tag.tprocesso_sim > @Tag.tempProg).
É importante observar a presença do identificador “@Tag.”, antes do nome de cada
variável utilizada na cláusula if - else, indicando que cada uma das variáveis utilizadas
corresponde a uma tag definida no blue plant.

Neste podcast, conversamos sobre os softwares SCADA disponíveis


comercialmente. Enfatizo os softwares com os quais já trabalhei,
trazendo as suas características. Ainda, trago uma análise sobre a
forma como um sistema SCADA se comunica com os Controladores
Lógicos Programáveis e como essa característica permite ampliar os
horizontes dos processos de automação. Acesse o QRCode e entenda.

Os exemplos criados no blue plant não possuíam comunicação externa ao supervisório,


ou seja, todos as tags criadas somente se comunicavam internamente no software. Como
estes exemplos são de caráter didático, eles são suficientes para uma compreensão so-
bre o funcionamento de um software supervisório. Porém é fundamental que se tenha
consciência de que, em uma aplicação industrial, comumente, o supervisório funciona
como uma ferramenta de gestão do processo, capaz de se comunicar com os dispositivos
de chão de fábrica, assim como é o caso dos CLPs.
Neste caso, o sistema supervisório (sistema SCADA) está localizado nos níveis mais
altos da pirâmide da automação, ou seja, é utilizado junto com outras ferramentas que
auxiliam no nível de gerenciamento, acima de dispositivos de automação, como os CLPs
e sensores, estes instalados no chão de fábrica. Uma representação da chamada pirâmide
da automação, a qual traz a ideia dos níveis de automação e quais os elementos localizados
em cada nível estão representados na Figura 8.

179
UNICESUMAR

TI- Systems

Planejamento
ERP de Negócios
e logística
Nível 4

Operação de
MES Manufatura e
Contrle
Nível 3

Monitoramento,
PLC Supervisão e Controle
Nível 2

Dispositivo e Sensores e Atuadores


sensores
Nível 1

Processo Produtivo
Nível 0

Figura 8 - Pirâmide da automação / Fonte: adaptada de Körner et. al. (2019, p. 999).

Descrição da Imagem: a figura mostra uma pirâmide com as descrições ERP, MES e PLC, à esquerda, e Nível 0 à
Nível 4, à direita.

Uma outra perspectiva para ser exemplificada é a questão da comunicação do software


supervisório, como os elementos que estão em níveis inferiores da pirâmide da automação,
assim como é o caso do controlador lógico programável. Na Figura 9, apresenta-se uma
tela de configuração do software Indusoft Web Studio referente a uma pequena aplicação
didática que criei para testes de laboratório.

180
UNIDADE 9

Figura 9 - Tela de configuração de comunicação do software Indusoft Web Studio / Fonte: o autor.

Descrição da Imagem: a figura mostra uma tela com pastas (diretórios), à esquerda, e uma planilha à direita, onde se destacam as
colunas “nome da Tag”, “estação” e “endereço de I/O”.

A Figura 9 mostra uma tela de configuração de comunicação. Nela, é importante observar os seguintes
elementos:
• A comunicação é baseada na utilização de um driver específico de fabricante; neste caso, o driver
SIETH da Siemens permite a comunicação com os CLPs da família S7.
• As tags criadas no supervisório estão listadas na coluna “nome da tag”, sendo que, neste caso,
foram criadas três tags: “led”,“botoeira” e “temperatura”. Essas tags são responsáveis por armazenar
informações relacionadas a dispositivos conectados ao CLP: um led de sinalização acionado por
uma saída, uma botoeira conectada em uma entrada e um endereço de memória que armazena
a leitura analógica de um sensor de temperatura.
• A coluna “Estação” da planilha do drive SIETH mostra que as tags criadas serão utilizadas para
a comunicação do supervisório com dois dispositivos; e cada um deles é identificado por um
endereço de IP (192.168.0.107 e 192.168.0.108), uma vez que o tipo de barramento utilizado
para essa comunicação utiliza o protocolo PROFINET (padrão de automação normatizado pela
PROFIBUS internacional que implementa e integra soluções com base em Ethernet Industrial
(LUGLI; SANTOS, 2019)).
• A coluna “Endereço I/O” da planilha do drive SIETH indica os endereços de entrada, saída e
memória dos CLPs. Estes serão acessados via barramento industrial. Neste caso, o CLP aces-
sado pelo IP 192.168.0.107 terá sua saída Q0.2 acionada e sua entrada I0.3 lida pelo software
supervisório. E o CLP acessado pelo IP 192.168.0.108 terá seu endereço de memória MW100
lido pelo software supervisório.

181
UNICESUMAR

Os sistemas SCADA permitem trazer para a tela de nosso dispositivo


(computador, tablet ou smartphone) as informações do chão de fábrica,
sejam de processos fabris, sejam de uma máquina ou dispositivo em
específico. Neste ciclo de aprendizagem, você conheceu uma série de
conceitos relacionados aos sistemas SCADA, os quais permitem ter
uma visão da utilização do sistema em específico e de como este sistema
pode se comunicar em uma rede local ou compartilhada.
Agora, você consegue criar facilmente exemplos de utilização de um
sistema SCADA e prever a comunicação desse com um controlador
lógico programável? Pois saiba que esta é uma habilidade importante
para um engenheiro que atua na área de automação. E com relação ao
processo de compra na Amazon, você conseguiu visualizar como seria a
comunicação de um software, enviando informações para dispositivos
físicos (CLPs ou robôs, por exemplo), os quais fariam a separação de
um pedido, garantindo que os objetos selecionados pelo Smartphone
do cliente fossem separados e enviados para ele?

182
Agora chegou o momento de você demonstrar os conhecimentos adquiridos neste ciclo de apren-
dizagem. Desenvolva um mapa mental, considerando os conceitos apresentados relativos aos
sistemas SCADA. Você pode trazer características referentes à utilização das tags, comunicação
do supervisório com os CLPs ou algum outro item característico, como é o caso de uma receita
ou alarme.
Como sugestão para você, trago, na sequência, um pequeno esboço de um mapa mental; neste,
retomei as características de uma GUI e deixei por completar as características das tags e dos
scripts. Você pode concluir esta minha proposta e/ou desenvolver a sua própria, com base neste
exemplo ou trazer uma ideia nova.

Tags: completar!!!

Sistema
SCADA

Interface gráfica de usuário (GUI): traz


ao usuário informações sobre o status
do processo utilizando visualização
gráfica que representa o processo
Scripts: completar!!! físico.

Figura 10 - Mapa mental / Fonte: o autor.

183
1. Dentre os elementos que compõem um sistema supervisório, conforme o conteúdo
estudado neste ciclo de aprendizagem, distinguem-se as tags. Estes são fundamentais
para o desenvolvimento das aplicações. Descreva o que é uma tag e como ela é utilizada.

2. Uma vez conhecido o funcionamento de um sistema SCADA e de que forma ele é criado
e se comunica com um processo e/ou máquina/dispositivo. Traga um exemplo do seu
dia a dia, para o qual você considera que a utilização de um sistema SCADA poderia
aprimorar o processo. Descreva seu exemplo em um texto breve.

3. O exemplo sobre comunicação do software supervisório com o CLP, associado à Figura


8, indicou que os CLPs seriam acessados conforme o seu endereço de IP. Quais outros
dispositivos que você conhece utilizam endereçamento por IP?

4. Nos exemplos apresentados, utilizando o software blue plant, foi citada a utilização
de tags dos tipos “digitais” e “inteiros”, relacionando-os com elementos específicos da
interface gráfica, assim como foi o caso de botoeiras e representação de níveis dos
tanques. Explique as características de cada um destes tipos de tags, relacionando-os
com as variáveis reais que podem ser medidas no chão de fábrica.

5. As receitas são um conjunto de setpoints gravados em arquivos que, ao serem lidos,


configuram um processo com valores armazenados previamente. As receitas são um
recurso amplamente utilizado tanto em softwares supervisórios como em controladores
lógicos programáveis com o intuito de facilitar o setup de uma máquina ou processo que
possa ser reconfigurado. Conforme sua compreensão sobre as receitas, proponha um
exemplo de processo ou de uma máquina que possa utilizar este recurso para otimizar
seu funcionamento. Sua tarefa é descrever a máquina e/ou processo.

6. Muitos operadores/supervisores de processos fabris, atualmente, não precisam mais


estar localizados fisicamente no processo e, em alguns casos, nem dentro de uma fá-
brica ou planta industrial. Graças à utilização de um software de supervisão, é possível
obter informações do processo e, até mesmo, atuar de forma remota, utilizando, por
exemplo, um smartphone. Descreva com base nos conceitos discutidos, neste ciclo de
aprendizagem, como seria possível a um operador, intervir em um processo fabril sem
estar presente no local em que o processo ocorre. Ainda, se possível, traga um exemplo
de um processo em que isto poderia ocorrer.

184
185
Unidade 1
ALTUS. Série Nexto: de controladores programáveis. São Leopoldo, 2019. Disponível em: https://
www.altus.com.br/suporte/download/baixararquivo/BgY=/2. Acesso em: 31 ago. 2021.

FRANCHI, C.M. Controladores Lógicos Programáveis: Sistemas Discretos. 1. ed. São José dos
Campos: Érica, 2008.

HACKWORTH, J. R. HACKWORTH JÚNIOR, F. D. Programmable Logic Controllers: Program-


ming Methods and Applications. 1. ed. [S. l.]: Prentice Hall, 2003.

LAMB, F. Automação Industrial na Prática. 1. ed. [S. l.]: Mc Graw Hill, 2015.

PARR, A. E. Programmable Controllers: An Engineer's Guide. 3. ed. [S. l.]: Newnes, 2003.

STALLINGS, W. Arquitetura e Organização de Computadores. 8. ed. São Paulo: Pearson Prentice


Hall, 2010.

Unidade 2
JACK, H. Automating Manufacturing Systems with Plcs. 1st edition. [S. l.]: Lulu.com, 2010.

PARR, A.E. Programmable Controllers: An Engineer's Guide. 3rd Edition. [S. l.]: Newnes, 2003.

PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

STALLINGS, W. Arquitetura e Organização de Computadores. 8. Ed. São Paulo: Pearson Prentice


Hall, 2010.

TOCCI, R. J. SISTEMA DIGITAIS – Princípios e aplicações. 12. ed. [S. l.]: Pearson, 2019.
#Referências on-line#

Em: https://www.quicktimeonline.com/1746-ni8. Disponível em: 3 set. 2021.


1

Unidade 3
ABNT. IEC 61131-3: Controladores programáveis ​​- Parte 3: Linguagens de programação. Brasília:
ABNT; IEC, 2013.

JOHN, K-L.; TIEGELKAMP, M. IEC 61131-3: Programming Industrial Automation Systems Con-
cepts and Programming Languages, Requirements for Programming Systems, Decision-Making
Aids. 2nd edition. [S. l.]: Springer, 2010.

PARR, A. E. Programmable Controllers: An Engineer's Guide. 3rd Edition. [S. l.]: Newnes, 2003.

PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

186
Unidade 4
CAPUANO, F. G.; IDOETA, I. V. Elementos de eletrônica digital. 42. ed. Editora Érica: 2018.

TOCCI, R. J. Sistema digitais: princípios e aplicações. 12. ed. Pearson: 2019.

Unidade 5
PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

Unidade 6
JOHN, K.-H.; TIEGELKAMP, M. IEC 61131-3: Programming Industrial Automation Systems
Concepts and Programming Languages, Requirements for Programming Systems, Decision-Making
Aids. 2nd ed. New York: Springer, 2010.

PARR, A. E. Programmable Controllers: An Engineer’s Guide. 3rd ed. Newnes: 2003.

PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

Unidade 7
IEC. Programmable Controllers – Part 3: Programming Languages. IEC 61131-3. Geneva: IEC,
2003.

JACK, H. Automating Manufacturing Systems with PLCs. 7th ed. Durham: Lulu.com, 2010.

PARR, A. E. Programmable Controllers: An Engineer’s Guide. 3rd ed. Newnes: 2003.

PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

PRUDENTE, F. Automação Industrial PLC: Teoria e Aplicações – Curso Básico. 2. ed. Rio de
Janeiro: LTC, 2011.

Unidade 8
FRANCHI, C. M.; CAMARGO, V. L. A. de. Controladores Lógicos Programáveis. 2. ed. São Paulo:
Érica, 2009.

PRUDENTE, F. Automação Industrial PLC: Teoria e Aplicações – Curso Básico. 2. ed. Rio de
Janeiro: LTC, 2011.

SILVEIRA, P. R. da; SANTOS, W. E. Automação e Controle Discreto. 2. ed. São Paulo: Érica,1999.

187
Unidade 9
CASTRUCCI, P. de L.; MORAES, C. C. de. Engenharia de automação industrial. 2. ed. Rio de
Janeiro: LTC, 2012.

KÖRNER, M-F. et al. Extending the Automation Pyramid for Industrial Demand Response. Procedia
CIRP, v. 81, p. 998-1003, 2019. Disponível em: https://www.sciencedirect.com/science/article/pii/
S2212827119305463. Acesso em: 15 set. 2021.

LUGLI, A. B.; SANTOS, M. M. D. Redes Industriais para Automação Industrial: As-i, Profibus e
Profinet. 2. ed. São Paulo: Érica, 2019.

PARR, A. E. Programmable Controllers: An Engineer's Guide. 3. ed. Newnes: 2003.

PETRUZELLA, F. Controladores Lógicos Programáveis. 4. ed. Porto Alegre: AMGH, 2014.

SILVEIRA, P. R. da; SANTOS, W. E. Automação e Controle Discreto. 2. ed. São Paulo: Érica,1999.

188
Unidade 1
1. O CLP é um dispositivo de automação que permite que uma determinada lógica de controle
possa ser programada no dispositivo e, depois, executada em uma determinada aplicação. Os
termos que geram a sigla CLP trazem a referência à forma como este equipamento atua, sendo
que a palavra Controlador indica que ele possui a capacidade de controlar uma máquina, equi-
pamento ou processo. A palavra Lógico indica que o equipamento permite ao usuário informar
qual a lógica de controle será utilizada e, por fim, a palavra Programável se refere ao fato de
que a lógica será desenvolvida por meio da utilização de uma linguagem de programação que
será embarcada no CLP.

2. Basicamente, o diagrama ladder é obtido por uma rotação em 90º no sentido anti-horário do
diagrama elétrico, e para obtermos o diagrama ladder, basta substituirmos, no diagrama elétrico
rotacionado, os símbolos elétricos pelos correspondentes no diagrama Ladder. Seguindo estes
procedimentos obtemos o diagrama ladder representado a seguir.

A K1

Figura 1 - Lógica OR (OU) implementada em Ladder / Fonte: o autor.

Descrição da Imagem: Lógica OR (OU) implementada em Ladder.

Observação: O diagrama Ladder apresentado na figura anterior pode ser implementado utili-
zando outros elementos, como é o caso do bloco OR, disponível no ambiente Codesys. O bloco
em questão está representado na Figura 2:

OR

A
EN
>1 ENO K1
B

Figura 2 - Bloco Lógico do operador booleano OR (OU) / Fonte: o autor.

Descrição da Imagem: Bloco Lógico OR (OU).

3. Considerando as entradas: duas botoeiras do tipo NA e uma NF, um sensor do tipo final de
curso e um sensor de altura analógico (saída em tensão), temos cinco entradas, sendo as qua-
tro primeiras entradas do tipo digital e a última uma entrada analógica. Com relação às saídas,
também temos cinco saídas digitais, porém será necessário utilizar saídas a transistor, já que
uma das saídas precisa gerar um trem de pulsos para acionamento do drive de um motor de
passo. Com estas informações podemos definir os módulos que serão utilizados: para atender
as quatro entradas digitais, utilizamos o módulo NX1001 que possui 16 ED de 24 Vdc. E para
atender a entrada analógica utilizamos o módulo NX6000 que possui 8 EA do tipo tensão/cor-
rente com 16 bits de resolução. Já para atender as saídas utilizamos o módulo NX2001 com 16
SD 24 Vdc a transistor. Ainda, precisamos da fonte de alimentação NX8000 e definir uma dentre
as 3 CPUs, que, neste caso, como não temos nenhuma especificação, poderíamos optar pela
CPU mais simples NX3010.

189
4. Com relação à programação dos Controladores Lógicos Programáveis, a 3ª parte da norma
IEC 61131 traz a padronização das linguagens: (a) Ladder (também conhecida como diagrama
Ladder), (b) ST - Texto estruturado, (c) IL - Lista de Instruções, (d) FBD - Diagrama de blocos e (e)
SFC ou Grafcet. As linguagens Ladder, FBD e Grafcet são linguagens gráficas, enquanto que ST
e IL são linguagens textuais.

5. ED (Entrada Digital), EA (Entrada Analógica), SD (Saída Digital) e SA (Saída Analógica).

6. As entradas do CLP são pontos de conexão com arquitetura capaz de interpretar sinais digitais
ou analógicos, assim como as botoeiras de comando e os sensores. Já as saídas são pontos
de conexão que podem gerar sinais digitais ou analógicos que serão aplicados a um processo,
máquina ou equipamento que será controlado pelo CLP.

Unidade 2
1. O engenheiro orientou o técnico, explicando que para acionar o motor seria necessária a utili-
zação de uma saída do CLP e não a sua entrada, assim como o técnico pensou. Ainda, a saída
do CLP deveria ser conectada em um acoplador óptico ou a relé para, depois, ser conectado à
bobina do contator de acionamento do motor, preservando assim a integridade da saída do CLP.

2. Ao aplicarmos uma tensão fora dos limites permitidos pelo fabricante na entrada do CLP, é
provável que esta entrada seja danificada, podendo ocorrer a queima dos componentes ele-
trônicos que compõem o circuito da entrada. Ainda, dependendo do nível de tensão aplicada,
o dano causado na entrada poderia ser mais severo e, talvez, comprometer outras partes do
CLP, como a CPU ou componentes da memória, danificando permanentemente o dispositivo.

3. Analisando os valores apresentados, sabemos que o sinal gerado pelo transdutor fornece 0,01
V/g, o que atenderia a necessidade da aplicação, porém como a conversão A/D conta com so-
mente 8 bits, teremos os resultados apresentados na tabela seguinte, uma vez que com 3 bits
temos 2 elevado no expoente 3, obtemos 8 possibilidades numéricas e, assim, a resolução de
tensão vai ser de 10V = 1, 25V .
8
Assim, é possível verificar que o valor de 700g fica na faixa entre 625 g e 750 g e, desta forma,
como não são permitidas peças com mais de 700 g, a única possibilidade de utilização com esta
configuração seria descartar peças a partir de 625 g o que não atende ao projeto, já que este
valor está aproximadamente 11% abaixo do valor alvo.

Valor binário Valor da tensão de


Valor Peso medido
Decimal (gramas) entrada (Volts)
bit2 bit1 bit0
0 0 0 0 0 0
1 0 0 1 125 1,25
2 0 1 0 250 2,5
3 0 1 1 375 3,75
4 1 0 0 500 5
5 1 0 1 625 6,25
6 1 1 0 750 7,5
7 1 1 1 875 8,75
Tabela 1 - Valores associados com a conversão digital com resolução de 3 bits / Fonte: o autor.

190
1. Como o número de bits utilizado na conversão A/D agora é 8, temos 2 elevado a 8, gerando 256
possibilidades numéricas, que resulta em uma resolução de tensão de 10V = 0, 0390625V . Para uma
256 7
peça com 700g teríamos então 7V sendo gerados o que corresponde a 0, 0390625 = 0179, 2 ou seja,

quando a combinação binária for 179 (10110011 em binário), teríamos o valor de pesagem que
mais se aproxima de 700 e que corresponde a 179 * 0, 0390625V = 6, 992188V o que pode ser aproxi-
mado para uma pesagem de 699g que atenderia os 2% de tolerância solicitado no problema.

2. A resolução do circuito é dada pela divisão da tensão de referência pelo número de possibilidades
5V
numéricas correspondente ao número de bits, assim teremos = 0, 3125V e a tensão máxima gerada
5V 16
na saída do circuito será dada por VOUT   *15  4, 6875V .
16

3. A programação do CLP é realizada de forma diferente por cada fabricante, com alguns implemen-
tando a comunicação com o computador por meio de um barramento industrial como o Profinet
e outros utilizando um outro meio físico, este é o caso da comunicação serial via RS232 ou USB.

Unidade 3
1. A norma IEC 61131-3 apresenta cinco linguagens de programação, sendo estas divididas em
duas linguagens textuais: IL e ST e três linguagens gráficas: FBD, LADDER e SFC (GRAFCET). Par-
ticularmente, utilizo na maior parte do tempo a linguagem LADDER devido à familiaridade de
minha formação com a simbologia elétrica, mas já utilizei também a linguagem ST em algumas
atividades.

2. O programa apresentado em linguagem IL implementa a lógica OR entre os operadores E0 e E1,


e o resultado desta operação é a entrada da lógica AND com o operador E3, finalizando a lógica
com o acionamento de S0, conforme resultado final da lógica. Assim, utilizando a linguagem ST
podemos escrever: S0 := (E0 OR E1) AND E2.

3. Para verificar quantas possibilidades das


E3 E2 E1 E0 S0
combinações das entradas resultarão
em acionamento da saída S0, monta- 0 0 0 0 1
remos a tabela verdade para avaliar a 0 0 0 1 1
lógica proposta:
0 0 1 0 1
Como temos quatro entradas disponí- 0 0 1 1 0
veis, teremos 16 possibilidades de com-
0 1 0 0 1
binação de acionamento das chaves e,
destas possibilidades, nove delas geram 0 1 0 1 1
acionamento da saída S0, conforme ló- 0 1 1 0 1
gica implementada. 0 1 1 1 0
1 0 0 0 1
1 0 0 1 1
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 0
Tabela 1 - Possibilidades de combinações / Fonte: o autor.

191
4. O diagrama ladder desenvolvido está apresentado na Figura 1, a seguir:

IO I1 I3 Q1 Q0

Q0

IO I2 I3 Q0 Q1

Q0

Figura 1 - Lógica de comando da partida direta com reversão implementada em linguagem ladder
Fonte: o autor.

Descrição da Imagem: conjunto de linhas distribuídas horizontalmente, sendo a linha superior formada por
contatos do tipo NA (barras paralelas na vertical) e NF (barras paralelas na vertical com linha diagonal centralizada)
e uma bobina formada por parênteses, colocados frente a frente. Nesta linha superior, estão as descrições I0, I1,
I3, Q0 e Q1. A linha inferior é idêntica, mas com as descrições I0, I2, I3, Q0 e Q1.

5. O diagrama de blocos que implementa a formulação está representado na Figura 2:

MUL ADD
3
  Z
X

MUL
4

Y

Figura 2 - Implementação da formulação Z = 3*X + 4*Y em linguagem FBD / Fonte: o autor.

Descrição da Imagem: a imagem ilustra um diagrama de blocos, com todos os blocos representados por caixas
retangulares na cor azul. O bloco superior, à esquerda, está escrito “Mul” em dois blocos, com saídas para o bloco
“Add” (saídas 3 e x e 4 e y), o bloco Add possui saída “z”.

6. Para implementar a formulação Z = 3*X + 4*Y em linguagem ST, utilizamos a sentença: Z := 3*X
+ 4*Y.

192
Unidade 4 A B C S
1. Inicialmente, montaremos a tabela 0 0 0 0
verdade correspondente à expres- 0 0 1 0
são S = ABC’ + A’BC + AB, ela está
apresentada na Tabela 1, a seguir. 0 1 0 0
O circuito digital combinacional 0 1 1 1
que implementa os estados gera-
dos na Tabela 1 está representado 1 0 0 0
na figura seguinte: 1 0 1 0
1 1 0 1
1 1 1 1
Tabela 1 - Tabela verdade para a expressão S = ABC’ + A’BC + AB
Fonte: o autor.

A B C

Figura 1 - Circuito digital combinacional que implementa a expressão S = ABC’ + A’BC + AB / Fonte: o autor.

Descrição da Imagem: na parte superior existem três entradas representadas pelas letras A, B e C que se conec-
tam em estruturas triangulares e retangulares-ovais, representando portas lógicas, conectando-se em uma saída
S. No canto superior esquerdo, há três letras (A, B e C), representando as entradas lógicas do circuito, as quais
se conectam por linhas horizontais em quatro portas do tipo AND. As três portas AND estão conectadas nas três
entradas de uma porta OR com a letra S na lateral direita, representando a saída do circuito lógico.

Com relação à simplificação da expressão, podemos evidenciar AB presente no primeiro e ter-


ceiro termos da expressão, assim obtemos:

AB(C’ + 1) + A’BC

Observando o item 4 referente à operação OR (soma) da Tabela 1, podemos escrever:

AB + A’BC

Ainda, podemos evidenciar B obtendo:

B(A + A’C)

E, utilizando o item 8 referente à operação OR (soma) da Tabela 1, obtemos a expressão sim-


plificada:

AB + BC

193
O circuito equivalente para esta expressão está representado na Figura 2:

A B C

Figura 2 - Circuito digital combinacional para a expressão minimizada S = AB + BC / Fonte: o autor.

Descrição da Imagem: na parte superior, existem três entradas representadas pelas letras A, B e C que se
conectam em estruturas retangulares-ovais, representando portas lógicas AND seguidas de uma porta OR, co-
nectando-se em uma saída S. As portas AND estão conectadas nas duas entradas da porta OR com a letra S na
lateral direita, representando a saída do circuito lógico.

2. Para obtermos a expressão pela soma dos produtos, verificamos todos os termos das tabelas
que resultam em saída lógica 1, obtendo:

AB’C’ + AB’C + ABC’ + ABC

Colocando termos comuns em evidência, podemos reescrever:

AB’(C’ + C) + AB(C’ + C)

E uma vez que C’ + C = 1, obtemos:

AB’ + AB

E podemos colocar A em evidência obtendo:

A (B’ + B) = A

Ou seja, a saída S, neste caso, depende somente da variação do termo A. Este fato pode ser
evidenciado, observando que a coluna da variável S na tabela é exatamente igual à coluna da
variável A. Na linguagem ladder, a expressão resultante S = A é implementada por um contato
da variável A que corresponde a um sinal ou entrada do CLP aplicada a uma bobina de sinal ou
que corresponda a uma saída assim como representado a seguir, em que S foi substituído por
“X” pelo fato de que a letra S é reservada para a operação de “SET”:

A X

Figura 3 - Implementação na linguagem ladder da expressão S = A / Fonte: o autor.

Descrição da Imagem: entrada A representada por barras paralelas conectadas em uma linha vertical na extre-
midade esquerda a uma estrutura oval representando a bobina X na extremidade direita.

194
3. Inicialmente montamos o mapa de Karnaugh com os dados da Tabela 2:

B’C1’ B’C BC BC’


A’ 0 0 0 0
A 1 1 1 1
Tabela 2 - Mapa de Karnaugh / Fonte: o autor.

Analisando o mapa, é possível identificar uma quadra na linha correspondente ao termo “A”,
este será o termo resultante desta quadra, confirmando que a expressão resultante é S = A.

4. Nos controladores lógicos programáveis, a frequência de execução dos programas está associada
ao ciclo de scan, que, em nível de hardware, está associado também a um clock que comanda
a CPU do CLP.

5. Os flip flops são elementos que armazenam os estados de bits, ou seja, sua função é a de arma-
zenar ou memorizar. Nos CLPs, os flip flops são disponibilizados como blocos de função, mas
poderiam ser implementados também de outras formas, como lógica de contatos.

6. O programa foi desenvolvido na linguagem SFC e apresenta quatro etapas, nas quais observamos
o acionamento de três saídas: b2, b1 e b0. Essas saídas são acionadas a cada etapa, seguindo a
sequência 000, 010, 100 e 110, e representa, em binário, a contagem dos números decimais pares
0, 2, 4 e 6. Ainda, cada etapa da sequência ocorre após transição temporizada de dois segundos.

Unidade 5
1. A solução para esta proposta passa pelo conceito de retenção elétrica, que, desenvolvida na
linguagem ladder, está representada na figura seguinte:

IO MO

MO I1

Figura 1 - Retenção implementada em linguagem ladder / Fonte: o autor.

Descrição da Imagem: diagrama ladder composto por duas linhas horizontais, sendo a primeira composta pelo
contato NA de I0 e bobina M0. A linha de baixo está em paralelo com o contato de I0, sendo composta pelos
contatos série de M0 (NA) e I1 (NF).

Conforme apresentado na Figura 1, ao ser acionada a entrada I0, a memória M0 será energizada
e, consequentemente, seu contato comutará, mantendo M0 acionada (similarmente à operação
SET). E o acionamento da entrada I1 abrirá o contato NF, este, por sua vez, vai abrir o caminho
da retenção, desligando M0 (similarmente à operação RESET).

195
2. As conexões entre os elementos do comando eletropneumático e o CLP estão representadas
na figura a seguir, na qual é possível observar que a relação entre as I/Os do CLP e os tags —
utilizados no programa representado na Figura 2 — são tais que I0: B1, I1: x0, I2: x1, I3: y0, I4:
y1, Q0: X+ e Q1: Y+.

1 x1 1 y0 1 y1 1
B1
2 2 2 2

COM I0 I1 I2 I3 I4

CLP

M+ Q0 Q1 Q2

X+ Y+

Figura 2 - Conexões entre elementos do comando eletropneumático e CLP / Fonte: o autor.

Descrição da Imagem: estrutura retangular com conexões I0, I1, I2, I3 e I4 na parte superior e conexões Q0,
Q1 e Q2 na parte inferior, com duas solenóides X+ e Y+ conectadas respectivamente em Q0 e Q1. As conexões
superiores representam as entradas de um controlador lógico programável e as conexões inferiores representam
as saídas. Em cada uma das quatro entradas mais à direita está conectado uma estrutura retangular com um
símbolo que se assemelha à letra C espelhada em negrito, representando sensores de detecção magnética. Ainda,
no canto esquerdo da figura, está escrito COM e M+, indicando as conexões de tensão comum e tensão positiva.

3. A solução para o problema proposto apresenta-se na Figura 3. A proposta foi desenvolvida uti-
lizando o ambiente TIA Portal da SIEMENS. Fisicamente, a entrada I0.0 do CLP estava conectada
a uma botoeira pulsante NA e a saída Q0.2 conectada em um sinalizador LED. Assim, a cada
pulso na botoeira o LED mudava seu estado.

196
(( ??

Network 1: ....
Comment

%d0.0 %M10.0 %M9.0


"Tag_1" "Tag_2" "Tag_3"
( )

Network 2: ....
Comment

%d0.0 %M10.0
"Tag_1" "Tag_2"
( )

Network 3: ....
Comment

%M9.0 %Q0.2 %Q0.2


"Tag_3" "Tag_4" "Tag_4"
( )

%M9.0 %Q0.2
"Tag_3" "Tag_4"

Figura 3 - Programa em linguagem ladder que implementa a função de acionar/desacionar uma mesma
saída com pulso em uma entrada do CLP / Fonte: o autor.

Descrição da Imagem: linhas horizontais representando um diagrama ladder. As linhas escuras com linhas
paralelas são as linhas de programação, e as barras cinzas que as separam representam a divisão das networks
de programação. Na primeira linha, temos o contato NA da entrada I0.0 em série com o contato NF da memória
M10 e com esta lógica acionando a bobina de M9.0. Na segunda linha, o contato de I0.o (NA) aciona a bobina da
memória M10.0. E a última linha do programa constitui uma lógica xor das memórias M9.0 e saída Q0.2 caracte-
rizadas por contatos NA e NF em série espelhados e em paralelo.

É importante observar que a detecção de borda de subida é implementada nas Networks 1 e 2,


pois a bobina de memória M9.0 será acionada por I0.0 e este contato também aciona M10.0
e, assim, no atual ciclo de scan, M9.0 está ativa. Na ocorrência do próximo ciclo de scan, a bo-
bina de M10.0 estará acionada, desligando M9.0 que, consequentemente, permaneceu ativa
somente por 1 ciclo de scan, sendo este comportamento igual ao de um bloco de detecção de
subida de borda!

4. Conforme pode ser observado no diagrama ladder, as segunda e terceira linhas do programa
acionam uma mesma bobina do tipo comum denominada “m1” e, assim, somente a terceira
linha a acionará. Desta forma, a segunda linha que corresponde à lógica que foi colocada em
teste pelo técnico ficou sem efetividade. Como solução, podemos substituir a segunda ocor-
rência de “m1” por “m3”, adicionando-a na última linha do programa e permitindo que a lógica
correspondente também realize o acionamento da saída Q0. A Figura 4 representa o diagrama
ladder com as modificações propostas.

197
sensor_1 intertravamento m0

sensor_2

sensor_0 pressostato intertravamento m1

sensor_final_curso sensor_termico m3

Q1 m2

m0 Q0

m1

m2

m3

Figura 4 - Diagrama ladder com as correções propostas / Fonte: o autor.

Descrição da Imagem: diagrama ladder composto por 7 linhas horizontais com barras paralelas no lado esquer-
do representando contatos e círculos à direita representando bobinas. Na primeira linha temos o contato NA do
sensor_1 em série com o contato NF de intertravamento acionando a bobina de m0, adicionalmente com o contato
NA de sensor 2 em paralelo a sensor_1. Já na segunda linha temos uma lógica and de três contatos NA sendo os
mesmos de sensor_0, pressostato e intertravamento. Na linha final as bobinas de m0, m1, m2 e m3 estão em
paralelo acionando a bobina de Q0.

198
5. A função solicitada corresponde ao comportamento de detecção de uma borda de descida, a
qual pode ser implementada com a utilização de um bloco do tipo “F_TRIG” assim como repre-
sentado na Figura 5.

F_TRIG_0
I0 _ 
CLK Q EN ENO
contagem 
1

Figura 5 - Diagrama ladder com a solução utilizando o bloco F_TRIG / Fonte: o autor.

Descrição da Imagem: dois blocos cinza associados em série com o primeiro bloco representando um detector
de borda de subida e o segundo representando um bloco de adição com entradas “contagem” e “1” e saída “con-
tagem”. O bloco de detecção de borda denominado F_TRIG possui a descrição clk no lado esquerdo e Q no lado
direito, além de possuir o símbolo de uma lâmpada no centro do bloco.

6. A implementação da fórmula no programa é realizada de maneira relativamente simples, sendo


necessário apenas que o programador crie as variáveis respectivas e realize o cálculo, utilizando
os blocos necessários, assim como apresentado na figura seguinte.

 


EN ENO EN ENO
3
 x3 x3 y
x 10

Figura 6 - Diagrama ladder que implementa a equação y = 3*x + 10 / Fonte: o autor.

Descrição da Imagem: dois blocos cinza associados em série com o primeiro bloco representando um bloco de
multiplicação com entradas “3” e “x” e saída “x3” no lado esquerdo da figura e o segundo bloco representando
um bloco de adição com entradas “x3” e “10” e saída “y” no lado direito.

Na Figura 6, é possível observar que foi necessário criar uma variável para armazenar o resul-
tado do bloco de multiplicação e, posteriormente, utilizar esta variável como entrada no bloco
de soma. Ainda, neste caso, as variáveis x, y e x3 precisam ser do tipo “INT”, o que significa que
elas representam números inteiros, diferentemente de variáveis booleanas que servem para
representar apenas dois estados.

199
Unidade 6
1. A ideia desta atividade é recriar o funcionamento do temporizador TOF utilizando um tempo-
rizador do tipo TON. Uma proposta de diagrama ladder para implementar esta ideia está na
Figura 1, a seguir.

bstart aux
S

2
TON_0
aux bstart TON aux
IN Q R

t#3s PT

sistema

Figura 1 - Funcionamento de um temporizador TOF utilizando um temporizador TON / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o bar-
ramento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído
por contatos, bobinas e temporizador do tipo TON.

Na Figura 1, podemos observar que, ao acionarmos bstart, a memória auxiliar “aux” é setada,
habilitando o temporizador TON. Caso bstart seja mantida acionada, ou seja, acionada durante
a temporização, teremos o desacionamento de TON_0, resetando a temporização. Se, ao con-
trário, TON_0 permanecer, durante toda a temporização, ativado, a bobina “aux” será resetada
e desliga o sistema.

2. O diagrama ladder, apresentado na Figura 2, traz a implementação conforme solicitado, ob-


servando que as três saídas indicadas na proposta foram denominadas out0, out1 e out2. O
primeiro temporizador (TON) inicia o ciclo e mantém a saída out0 ativa por 1 segundo. Quando
o TON aciona a sua saída, o segundo temporizador (TOF) é acionado, setando a memória auxiliar
“aux”, que retira o seu sinal e inicia a temporização de 2 segundos de out1 (com um contato de
out1 desligando out0). Ao final da temporização do TOF, o terceiro temporizador (TP) é ativado
por meio da ligação da saída out2, a qual, ao desligar, reinicia o ciclo, gerando, novamente, a
energização do temporizador T0.

200
t0
out2 TON
IN Q
t#1s PT

out1 out0
1

aux
R

2
t1
t0.Q aux TOF aux
IN Q S

t#2s PT

out1

3
t2
t1.Q aux TP out2
IN Q

t#1s PT

Figura 2 - Acionamento de três saídas de forma sequencial utilizando 1 temporizador TON, 1 temporizador
TOF e 1 temporizador TP / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o bar-
ramento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído
por contatos, bobinas e temporizadores dos tipos TON, TOF e TP.

3. Na Figura 3, podemos observar uma proposta de solução da atividade, na qual o contato de


“selecao_de_tempo”, associado ao botão de seleção, incrementa a contagem do contador CTU,
o qual, com um PV estabelecido em 4, efetua uma contagem cíclica: 0-1-2-3- 4-0 e, assim, suces-
sivamente. O valor atual de contagem do CTU (CV) é utilizado para efetuar as 4 comparações
de igual (“EQ”) e, assim, por exemplo, para a contagem 0, movemos o valor t#2s para o tempo-
rizador TP. Este acionará a bobina referente à saída conectada ao motor, consequentemente,
acionando o mesmo, pelo tempo determinado.

201
1
CTU_0
selecao_de_tempo CTU
CU 7 2 8 Q

CTU_0.Q
RESET
4 PV

EQ sinalizador0
R
CTU_0.CV
EN
 sinalizador1
0 R

MOVE
EN ENO
t#2s tempo

EQ sinalizador0
S
CTU_0.CV
EN
 sinalizador1
1 R

MOVE
EN ENO
t#3s tempo

EQ sinalizador0
R
CTU_0.CV
EN
 sinalizador1
2 S

MOVE
EN ENO
t#5s tempo

EQ sinalizador0
EN S
CTU_0.CV  sinalizador1
3 S

MOVE
EN ENO
t#1s tempo

3
TON_0
aciona_motor TP
IN PT
tempo PT

Figura 3 - Seleção de acionamento temporizado de uma saída para acionamento de um motor / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o barra-
mento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído por
contatos, bobinas, contador do tipo CTU, temporizador do tipo TP, blocos de movimentação de memória (MOVE)
e blocos de comparação de igualdade (EQ).

Ainda, em cada uma das comparações, realiza-se, também, a atualização do estado dos sinali-
zadores, os quais devem indicar, em binário, o número da seleção de tempo. Como exemplo,
quando a seleção de tempo for referente à contagem 3, os dois sinalizadores são setados
indicando 11.

202
4. Para limitar a contagem a um valor máximo, podemos utilizar a própria saída do contador para
resetar a contagem, assim como mostra a Figura 4:

1 CTU_0
contar CTU
CU 7 2 8 Q
CV
CTU_0.Q
RESET
10 PV

2
Figura 4 - Contador com limitação de contagem máxima “9” / Fonte: o autor.
CTU_1
contar CTU à esquerda, representando o bar-
Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical,
CU
ramento do sinal lógico, com linhas horizontais distribuídas de cima para
7 2baixo. Q ladder é constituído
8 O diagrama
por um bloco retangular, na cor cinza, com entradas CU, Reset e PV, à esquerda, e saídas Q e CV, à direita, que
representam o contador do tipo CTU. CV
CTU_0.Q
RESET
Neste caso, foi utilizado um contador do tipo CTU com um Preset Value de 10, ou seja, após a
décima contagem, a saída do contador10 é ativadaPV e efetua o reset, o que, consequentemente,
leva a contagem a zero (0).

203
5. Como estamos utilizando um contador limitado à contagem 9, podemos “cascatear” dois con-
tadores de forma que, sempre que o primeiro contador atingir a sua contagem máxima, efe-
tue uma contagem em um segundo contador. Assim, obteremos uma contagem do segundo
contador para cada 10 contagens do primeiro contador (considerando que, para ir de 9 a 0, é
necessário gerar uma contagem), contabilizando um total de 100 contagens desde 00 até 99.
Na Figura 5, podemos observar o diagrama ladder com o arranjo dos contadores, de forma a
criar a sequência de contagem descrita.

1 CTU_0
contar CTU
CU 7 2 8 Q
CV
CTU_0.Q
RESET
10 PV

2 CTU_1
contar CTU
CU 7 2 8 Q
CV
CTU_0.Q
RESET
10 PV

Figura 5 - Contadores com limitação de contagem máxima “9” cascateados / Fonte: o autor.

Descrição da Imagem: a figura apresenta a ilustração de uma linha vertical, à esquerda, representando o bar-
ramento do sinal lógico, com linhas horizontais distribuídas de cima para baixo. O diagrama ladder é constituído
por dois blocos retangulares, na cor cinza, com entradas CU, Reset e PV, à esquerda, e saídas Q e CV, à direita, as
quais representam contadores do tipo CTU.

O contato da saída do CTU_0 é utilizado para resetar a contagem própria e incrementar a con-
tagem em CTU_1. Assim, podemos considerar que, em CTU_0, estamos contabilizando unidades
e, em CTU_1, as dezenas da contagem total.

6. No trecho do diagrama ladder apresentado, há um contato denominado pulso, o qual incre-


mentará a contagem do contador CTU_0. Ela é utilizada como uma das estradas do bloco de
multiplicação que efetua a multiplicação pela constante 3. Dessa forma, a saída do bloco de
multiplicação será movida à variável “contagem”. Esta armazenará contagens múltiplas de 3 (3,
6, 9, …, 300), sendo a contagem máxima dessa variável igual a 300, pois a máxima do contador
é 100. Verificamos a máxima de 100 para o contador, por meio da observação do bloco de
comparação GT (Greater Than, ou seja, “maior do que”) o qual reseta o contador, quando a sua
contagem for maior do que 100.

204
Unidade 7
1. Um diagrama SFC é composto por três elementos principais: as etapas, as transições e as
ações. As etapas indicam estados de execução do programa que consideram o estado de suas
entradas/saídas tendo ações associadas. As transições são as condições lógicas que permitem
que o controle do programa passe de uma etapa anterior para uma etapa posterior, quando
a condição lógica for verdadeira. E as ações são os eventos associados a uma etapa, os quais
ocorrem quando ela se torna ativa.

2. O diagrama SFC apresentado mostra o processo de dosagem dos diferentes componentes quí-
micos utilizados no processo. Após a etapa de início, há a dosagem do primeiro componente
com o acionamento do Dosador 1. Quando a dosagem estiver correta, o sinal “dsg_cmp1_ok”
libera o fluxo para a ocorrência da Etapa 1, com acionamento do Dosador 2 e, posteriormente,
a liberação para a Etapa 2, pelo sinal “dsg_cmp2_ok”. A Etapa 2 acontece, similarmente, por meio
da liberação pelo sinal “dsg_cmp3_ok”, que direciona o fluxo do programa a uma ramificação.
Após a ramificação, ocorrem duas etapas de pesagem do composto, podendo o mesmo estar
com o peso correto ou não. No caso de o peso estar correto, o produto é embalado na Etapa
5, e o processo é reiniciado. Caso contrário, o produto é pesado e gera uma transição de ajuste
de peso que faz o fluxo do programa utilizar uma repetição de sequência, a fim de acontecer
uma nova dosagem para ajustar o peso do produto.

205
3. O exemplo de salto de sequência proposto segue a estrutura apresentada na Figura 1. O con-
texto do programa desenvolvido foi o controle de uma máquina que serve bebidas quentes.
Assim como podemos observar na figura a seguir, o usuário pode realizar a seleção de café
puro ou café com leite. No caso do café puro, o sinal de transição “so_cafe” direciona o fluxo do
programa para a Etapa 3 e, quando da transição “cafe_ok” ocorre, o salto de sequência à Etapa
5 monitora se o copo foi retirado pelo usuário. Caso o usuário escolha a opção café com leite, o
fluxo do programa segue as Etapas 2 e 4, nas quais o café é servido e, posteriormente, o leite,
sendo a transição das etapas associadas aos sinais “cafe_ok” e “leite_ok”.

Inicio

true
Bran...

Etapa_0 Etapa_1

so_cafe
Etapa_3 N serve_cafe

cafe_ok
Etapa_5

cafe_leite

Etapa_2 N serve_cafe

cafe_ok

Etapa_4 N serve_leite

leite_ok

Etapa_5

sensor_copo
Inicio
Figura 1 - Programa em SFC para modelar o funcionamento de uma máquina de bebidas quentes com salto de
sequência / Fonte: o autor.

Descrição da Imagem: a figura mostra a ilustração de blocos, na cor cinza, alinhados na posição vertical, repre-
sentando a transição de etapas com elementos em paralelo, indicando processos em paralelo.

206
4. Sim, o modificador S, que representa uma ação do tipo set, poderia ser utilizado, mas, neste
caso, cada uma das ações precisaria setar e resetar os respectivos dosadores, para garantir que
os mesmos não ficassem acionados, indefinidamente.

5. Para substituir as ações de acionamento imediato (N) por ações do tipo set (S), é necessário que
os sinais setados em uma etapa anterior sejam, posteriormente, resetados. No caso do programa
apresentado, resetar os sinais se faz necessário, pois, caso contrário, os dosadores ficariam, in-
definidamente, acionados e, consequentemente, a quantidade de produto entregue ao processo
ultrapassaria a quantidade necessária. O programa que apresentamos na figura do enunciado
foi modificado, com as ações necessárias, e está, agora, representado na Figura 2, a seguir. Des-
tacamos que, somente, a parte modificada do programa original foi apresentada nesta figura.

Etapa_0 S dosador1
R dosador2
R dosador3
dsg_cmp1_ok
Etapa_1 R dosador1
S dosador2
R dosador3
dsg_cmp2_ok
Etapa_2 R dosador1
R dosador2
S dosador3
dsg_cmp3_ok
Bran...

Etapa_3 N balanca Etapa_4 N balanca


R dosador3 R dosador3

Figura 2 - Programa em SFC para modelar o funcionamento de uma máquina de bebidas quentes com salto de
sequência / Fonte: o autor.

Descrição da Imagem: a figura mostra uma ilustração de blocos, na cor cinza, alinhados na posição vertical,
representando a transição de etapas com elementos em paralelo, indicando processos em paralelo.

Podemos observar, na Figura 2, que, ao invés de, somente, uma ação N associada a cada dosa-
dor, foi associada uma ação de set para o atuador da etapa e foi feita uma associação reset aos
demais atuadores. Ainda, após a Etapa 2, na qual o Dosador 3 foi setado, o mesmo é resetado
tanto nas ações associadas à Etapa 3 quanto nas associadas à Etapa 4, garantindo que o Dosador
3 será resetado após a dosagem do Componente 3.

6. Particularmente, considero a linguagem SFC muito funcional, principalmente, quando é neces-


sário criar um programa de maiores dimensões associado a processos industriais complexos.
Geralmente, trago a comparação da linguagem SFC com a linguagem ladder; em CLPs que
possuem ambientes de programação as quais não disponibilizam a linguagem SFC, é possível
implementar a estrutura SFC com a linguagem ladder. Porém há certo nível de dificuldade em
criar a estrutura SFC com ladder ao invés de utilizar, diretamente, o SFC. Em minha atuação
profissional, já utilizei a linguagem SFC e a minha percepção foi: ela, realmente, facilita o tra-
balho do(a) programador(a), uma vez que permite considerar, de forma macro, os processos a
serem programados.

207
Unidade 8
1. Para o caso em que o usuário selecionar a opção de chocolate quente extradoce as transições
ocorrem são: PTD, SC, A3, B3 e, posteriormente, NOT SC (ou seja, o sensor de copos desativado,
quando da retirada pelo usuário). Assim, a sequência de etapas será: Init - Step1 - Step2 - Step4
- Step5 - Step11 - Step12 - Step13 - Step14 - Init.

2. A detecção de first scan é bastante comum nos CLPs; inclusive, a maior parte dos ambientes de
programação já disponibilizam bits com esta função. No caso do programa desenvolvido, temos
na linha 1 o acionamento da bobina de M1 por meio do contato normal fechado de M2. Assim,
quando o CLP for energizado, M1 estará ativa durante o primeiro ciclo de scan somente, pois
na segunda linha do programa temos a ativação permanente da bobina M2. Ou seja, a partir do
segundo ciclo de programa, o contato normal fechado de M2 ficará aberto e, consequentemente,
M1 estará desligado. Desse modo, a memória M1 ficou ativa por apenas 1 ciclo de varredura,
especificamente o primeiro ciclo.

3. O programa possui quatro etapas, com a etapa inicial setando a lâmpada l1 e seguindo por uma
transição “TRUE” para a etapa “step0”, na qual a lâmpada l2 é setada. Com a transição “t1”, o
programa segue para a etapa “step1”, onde a lâmpada l2 é resetada, e a lâmpada l3 é setada.
Da etapa “step1”, é possível retornar à etapa “step0”, por meio da transição “t3”, ou seguir para
a etapa “step2” por meio da transição “t2”, o que caracteriza a seleção de sequências. Por fim,
na ocorrência da transição “t2”, o programa segue para a etapa “step2”, na qual as lâmpadas l2
e l3 são resetadas e a etapa permanece ativa por três segundos, retornando para a etapa inicial.

4. O diagrama SFC — referente ao carro sobre trilhos apresentado na figura proposta para a ati-
vidade — está representado, a seguir, na Figura 1. Na etapa inicial, aguarda-se pela ordem de
marcha, com o carro estando na posição detectada pelo final de curso “a”. Uma vez que a ordem
seja acionada, o programa segue para a etapa “step0” que comanda o carro para se deslocar
para “b”. Ao atingir a posição “b”, detectada pelo respectivo final de curso, o programa segue
para a etapa “step1”, comandando o carro para retornar para a posição “a”, e quando ele atingir
o respectivo final de curso o programa retorna à etapa inicial.

Init R sentido_a

ordem and fcurso_a


Step0 S sentido_b

fcurso_b
Step1 S sentido_a
R sentido_b

fcurso_a

Init
Figura 1 - Programa desenvolvido utilizando a linguagem SFC para comandar o carro sobre trilhos / Fonte: o autor.

Descrição da Imagem: a figura mostra blocos na cor cinza distribuídos verticalmente, representando diferentes
etapas do programa. De cima para baixo estão as etapas: Init, Step0 e Step1. E associadas às etapas estão as
ações representadas por retângulos, ao lado direito de cada bloco, com as descrições sentido_a e sentido_b.

208
5. Iniciamos nossa análise, criando a Tabela 1 para relacionar os sinais representados no diagrama
SFC com as entradas utilizadas no CLP.

Sinal lógico Endereço do CLP


Ordem de marcha I0
Final curso a I1
Final curso b I2

Tabela 1 - Elementos físicos x endereços do CLP / Fonte: o autor.

Na sequência, criamos a Tabela 2 para relacionar as transições do diagrama SFC com as memó-
rias que serão utilizadas no CLP.

Transição Endereço
Da etapa “Init” para “step0” M10
Da etapa “step0” para “step1” M11
Da etapa “step1” para “step2” M12

Tabela 2 - Transições x memórias do CLP / Fonte: o autor.

Outra tabela, ainda, é necessária para relaciona as etapas do diagrama SFC com as memórias
que as representam no diagrama Ladder:

Etapa Endereço
Init M0
Step0 M1
Step1 M2
Tabela 3 - Etapas x memórias do CLP / Fonte: o autor.

E, por fim, criamos a correspondência entre as saídas do CLP e as ações físicas que devem
ocorrer, representadas na Tabela 4:

Ação Endereço Descrição


Motor do carro é acionado de forma a deslocá-lo
sentido_a Q0
na direção de “a”.
Motor do carro é acionado de forma a deslocá-lo
sentido_b Q1
na direção de “b”.
Tabela 4 - Ações x saídas do CLP / Fonte: o autor.

209
6. Com todos os sinais utilizados definidos e correspondendo com entradas/saídas e memórias
do CLP, desenvolve-se o diagrama ladder correspondente, representado a seguir.

 

MO I0 I1 M10

M1 l2 M11

M2 l1 M12

 

MO M1 M2 MO
S

M12

M10 MO
R
M1
S

M11 M1
R
M2
S

M12 M2
R

 

M1 Q0

M2 Q1

Figura 2 - Programa em linguagem ladder equivalente ao programa SFC para acionamento do carro sobre trilhos
Fonte: o autor.

Descrição da Imagem: a figura mostra linhas horizontais distribuídas verticalmente de cima para baixo. Nas
linhas, podemos ver contatos e bobinas. Nos contatos, temos as descrições M0, M1, M2, M10, M11, M12, e nas
bobinas temos as descrições M0, M1, M2, Q1 e Q2.

Unidade 9
1. As tags são variáveis que criam relação entre elementos gráficos do supervisório, incluindo a
comunicação de um elemento do supervisório com elementos externos, assim como é o caso
de uma tag que recebe os valores de um contador de um clp ou lê uma entrada/ou saída do clp
ou outro equipamento que se comunica com o supervisório.

210
2. Uma situação que observei há algum tempo e que poderia ser solucionada pela utilização de um
sistema supervisório era a medição do índice de pH e temperatura da água de uma central de
efluentes. Um técnico precisava se deslocar por um trajeto de mais de 300 metros para coletar
a amostra de água e, assim, realizar a medição do pH e anotar o valor de temperatura conforme
medição de um termômetro instalado localmente em vários tanques. Neste caso, seria possível
instalar transmissores de temperatura nos tanques e eles iriam se comunicar com um CLP capaz
de realizar a leitura de cada uma das temperaturas. Ainda, a amostra de água de cada um dos
tanques poderia ser coletada por meio de tubulação específica e passar por um medidor de pH
centralizado que também se comunicaria com o CLP. Já no sistema escada, poderíamos definir
tags de temperatura e pH que mostrariam, na tela, os valores relativos a cada um dos tanques.

3. Todos os dispositivos conectados à internet estão endereçados por IP, por exemplo, nossos
computadores pessoais, smartphones, smartwatches, eletrodomésticos inteligentes, assistentes
pessoais como Alexia e Siri, dentre outros.

4. As tags “digitais” são utilizadas para armazenar valores do tipo verdadeiro ou falso (0 ou 1) assim
como variáveis booleanas, sendo utilizados para referenciar elementos que geram somente dois
sinais, como as botoeiras que, ao serem acionadas, podem, por exemplo, energizar a entrada
de um controlador lógico programável. Já as tags “inteiras” equivalem à utilização de variáveis
que armazenam valores dentro de um range numérico maior, assim como armazenar uma
informação de temperatura que varia de 0 a 100 graus.

5. A palavra receita, assim como a conhecemos da culinária, traz a ideia de que vamos utilizar
quantidades já conhecidas para produzir um bolo ou prato, por exemplo. Na indústria, as recei-
tas são utilizadas da mesma forma para agilizar o setup de um processo. Por exemplo, vamos
supor que uma máquina produz peças cortadas de diferentes barras de ferro. Assim, estão,
essa máquina poderia produzir por exemplo peças de 200, 300 e 500 mm de comprimento,
quando alimentada por barras de ferro de 1/2, 3/4 e 1 polegada de diâmetro. Vamos supor,
ainda, que os parâmetros para mudar a barra desejada sejam a posição de uma serra fita que
corta a barra e uma pinça acionada por motor de passo que é ajustada para segurar a barra
alimentada na máquina. Assim, sempre que se desejar uma peça de diferente comprimento/
diâmetro o operador precisará programar a máquina. Desta forma, utilizando uma receita,
bastaria informar, por meio de uma IHM, por exemplo, qual o modelo da peça a ser cortado e
os parâmetros de ajuste que poderiam ser carregados diretamente nas variáveis apropriadas,
agilizando o processo.

6. Os protocolos de comunicação entre equipamentos de automação permitem que diferentes


dispositivos possam trocar informações. Por exemplo, um software de supervisão pode ler/
escrever em um Controlador Lógico Programável, utilizando comunicação via padrão Ethernet,
como é o caso do barramento Profinet. Assim, digamos que a função de um operador seja ve-
rificar o nível de dois ingredientes que estão armazenados em dois tanques e direcionar quan-
tidades destes ingredientes para um determinado processo, por meio de válvulas dosadoras.
O operador poderia, em determinado momento, utilizar um tablet conectado por meio de uma
rede wifi ao servidor de uma aplicação para enviar o tempo de abertura de cada válvula. Todos
os dispositivos estariam endereçados por IP e as informações seriam direcionadas ao software
de supervisão, o qual escreveria os valores em variáveis específicas da memória do controlador
e, fisicamente, teríamos como resultado a abertura das válvulas que permitiriam a dosagem
correta dos ingredientes armazenados nos tanques.

211
212
213
214
215
216

Você também pode gostar