2.1 - CLP - Controladores Lógicos Programáveis
-
Upload
rafael-rodrigues -
Category
Documents
-
view
65 -
download
8
description
Transcript of 2.1 - CLP - Controladores Lógicos Programáveis
CONTROLADORES PROGRAMÁVEIS
ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA
CONTROLADORES PROGRAMÁVEIS
ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA
CONFEDERAÇÃO NACIONAL DA INDÚSTRIA – CNIRobson Braga de AndradePresidente
DIRETORIA DE EDUCAÇÃO E TECNOLOGIARafael Esmeraldo Lucchesi RamacciottiDiretor de Educação e Tecnologia
SENAI-DN – SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL
Conselho Nacional
Robson Braga de AndradePresidente
SENAI – DEPARTAMENTO NACIONALRafael Esmeraldo Lucchesi RamacciottiDiretor-Geral
Gustavo Leal Sales FilhoDiretor de Operações
CONTROLADORES PROGRAMÁVEIS
ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA
SENAIServiço Nacional de Aprendizagem Industrial Departamento Nacional
SedeSetor Bancário Norte . Quadra 1 . Bloco C . Edifício Roberto Simonsen . 70040-903 . Brasília – DF . Tel.: (0xx61)3317-9190 http://www.senai.br
© 2014. SENAI – Departamento Nacional
© 2014. SENAI – Departamento Regional do Rio Grande do Sul
A reprodução total ou parcial desta publicação por quaisquer meios, seja eletrônico, mecânico, fotocópia, de gravação ou outros, somente será permitida com prévia autorização, por escrito, do SENAI – Departamento Regional do Rio Grande do Sul.
Esta publicação foi elaborada pela equipe da Gerência de Desenvolvimento Educacional – GDE/Núcleo de Educação a Distância – NEAD, do SENAI do Rio Grande do Sul, com a coordenação do SENAI Departamento Nacional, para ser utilizada por todos os Departamentos Regionais do SENAI nos cursos presenciais e a distância.
SENAI Departamento NacionalUnidade de Educação Profissional e Tecnológica – UNIEP
SENAI Departamento Regional do Rio Grande do SulGerência de Desenvolvimento Educacional – GDE/Núcleo de Educação a Distância – NEAD
S491 Serviço Nacional de Aprendizagem Industrial. Departamento Nacional Controladores programáveis / Serviço Nacional de Aprendizagem Industrial. Departamento Nacional, Serviço Nacional de Aprendizagem Industrial. Departamento Regional do Rio Grande do Sul. – Porto Alegre: SENAI-RS, 2014. 40 p.: il. (Atualização Tecnológica em Mecatrônica).
1. Sistema de controle automático I. Serviço Nacional de Aprendizagem Industrial - Departamento Regional do Rio Grande do Sul. II.Título. III. Série
CDU – 681.51
Responsável pela Catalogação na Fonte: Enilda Hack –CRB10/599
1 Introdução ........................................................................................................................................................................7
2 Controladores Programáveis ......................................................................................................................................82.1 Princípios de funcionamento ...................................................................................................................92.2 Memórias do controlador programável ...............................................................................................92.3 Arquitetura e especificação de hardware ..........................................................................................11
2.3.1 Módulos ou interfaces de entrada ......................................................................................112.3.2 Módulos ou interfaces de saída ...........................................................................................13
3 Linguagens de programação ...................................................................................................................................163.1 Norma IEC 61131-3 ....................................................................................................................................163.2 Estruturas de programação .....................................................................................................................173.3 Entradas, saídas e memórias ...................................................................................................................183.4 Leituras das entradas de programação ...............................................................................................203.5 Variáveis de programação ........................................................................................................................203.6 Comentários na programação ...............................................................................................................203.7 Dados de programação ............................................................................................................................213.8 Tipos de linguagens de programação .................................................................................................21
3.8.1 Linguagem de baixo nível .....................................................................................................213.8.2 Linguagem de alto nível .........................................................................................................21
3.9 Aplicações das linguagens de programação aos CPs ....................................................................223.10 Técnicas estruturadas de programação ............................................................................................22
4 Linguagem ladder (ld) ................................................................................................................................................234.1 Diagramas de contatos em ladder ........................................................................................................24
4.1.1 Fluxo reverso ..............................................................................................................................244.1.2 Repetição de contatos ...........................................................................................................254.1.3 Contatos na vertical .................................................................................................................264.1.4 Leitura dos degraus do diagrama Ladder ........................................................................27
4.2 Detecções de eventos ...............................................................................................................................274.3 Contador ........................................................................................................................................................30
4.3.1 Contador crescente ..................................................................................................................304.3.2 Contador decrescente .............................................................................................................304.3.3 Contador bidirecional .............................................................................................................31
4.4 Temporizador ...............................................................................................................................................334.5 Instruções de comparação ......................................................................................................................344.6 Instruções matemáticas ............................................................................................................................34
4.6.1 Parâmetros das Instruções .....................................................................................................344.7 Mover (move) ...............................................................................................................................................35
Sumário
4.8 Conversor (convert) ....................................................................................................................................354.9 PWM .................................................................................................................................................................354.10 Interrupções ...............................................................................................................................................37
5 Referências ......................................................................................................................................................................39
Introdução
1
A unidade curricular “Sistemas Lógicos Programáveis” tem o objetivo de apresentar as diversas tecnologias que permitem implementar um sistema automatizado de manufatura para o controle de máquinas e equipamentos por meio da utilização de sistemas lógicos programáveis.
O Capítulo 1 abordará os conhecimentos relacionados ao controlador programável (CP). Começaremos esse estudo apresentando o princípio de funcionamento do CP, suas regiões e unidades da memória, bem como sua arquitetura e especificação de hardware, que descreve as interfaces e módulos digitais e analógicos, de entradas e saídas.
Os conhecimentos relacionados às linguagens de programação serão abordados no Capítulo 2. Inicialmente, apresentaremos a norma internacional de padronização dessas linguagens. Posteriormente, conheceremos as estruturas de programação, as entradas, as saídas e a memória, as variáveis, os comentários, os dados de programação e os tipos de linguagem utilizados. Enfatizaremos a importância das aplicações dessas linguagens e suas técnicas estruturadas de programação.
No Capítulo 3, estudaremos a linguagem Ladder, a análise de metodologias, os diagramas de contatos e as ações impulsionais na detecção dos eventos. Apresentaremos as instruções de comando mais utilizadas, como: contador, temporizador, instruções de comparação, matemáticas e os comandos mover e conversor. Ainda, com o intuito de estudarmos os processos de automação direcionados à área da mecatrônica, conheceremos um controle de modulação por largura de pulso (PWM) e as interrupções no programa.
Controladores Programáveis
2
Os conhecimentos sobre a utilização dos CPs são fundamentais no ramo da mecatrônica, uma área altamente integradora e em constante evolução. Para auxiliar a aquisição desses conhecimentos, estudaremos o princípio de funcionamento, as memórias e a arquitetura dos CPs.
Quando pensamos na aplicação da automação na mecatrônica, uma das primeiras coisas que imaginamos é o CP. Esse importante equipamento é utilizado em diversos segmentos da indústria, como as áreas de alimentos, de bebidas, de plásticos, de papel e celulose de mineração, bem como a indústria automotiva, química, têxtil, farmacêutica, siderúrgica, metalúrgica, entre outras. A Figura 1 apresenta as múltiplas áreas de atuação do CP.
CLP
Figura 1 - Áreas de atuação do CP.Fonte: SENAI - RS.
O CP é bastante amplo. No entanto, de forma resumida, podemos dizer que um CP é um equipamento eletrônico desenvolvido para controlar diversos tipos de máquinas e processos. Por meio de uma memória programável e um software, ele armazena e executa instruções que implementam funções lógicas em sistemas de acionamentos e controle. Veja, no Quadro 1, as definições de CP conforme algumas instituições normativas.
2 CONCEITOS 9
INSTITUIÇÃO CONCEITO
Associação Brasileira de Normas
Técnicas (ABNT)
Equipamento eletrônico digital com hardware e software compatíveis com aplicações
industriais e residenciais.
International Electrotechnical
Commission (IEC)
Sistema eletrônico que opera digitalmente, projetado para uso em ambiente industrial.
Utiliza memória programável para armazenagem interna de instruções orientadas ao
usuário, realizando funções específicas, tais como lógica, sequencial, temporização,
contagem e aritmética. Controla, por meio de entradas e saídas digitais ou analógicas,
vários tipos de máquinas ou processos. O CP e seus periféricos associados são
projetados para serem facilmente integráveis em um sistema de controle industrial e
facilmente usados em todas suas funções previstas.
National Electrical Manufacturers
Association (NEMA)
Aparelho eletrônico digital que utiliza uma memória programável para o
armazenamento interno de instruções com o objetivo de realizar funções específicas,
tais como: lógica, sequenciamento, temporização, contagem e aritmética. Controla,
por meio de módulos de entradas e saídas, vários tipos de máquinas ou processos.
Quadro 1 - Definição de CP.Fonte: SENAI-RS.
Atualmente, o termo CLP (Controlador Lógico Programável) continua sendo utilizado, mas com o avanço da tecnologia dos controladores, muitos engenheiros e técnicos têm utilizado, simplesmente, CP.
VOCÊ SABIA?
2.1 PRINCÍPIOS DE FUNCIONAMENTO
O CP é um sistema microprocessado constituído de uma CPU, que contém: um microprocessador ou um microcontrolador, um programa monitor, uma memória de programa, uma memória de dados, uma ou mais interfaces de entrada, uma ou mais interfaces de saída e circuitos auxiliares. A interligação desses componentes forma o princípio de funcionamento do CP. De maneira geral, o CP possui dois modos de operação: o modo de programação e o modo de execução. Nesse último, o CP também pode assumir o estado de falha (fault). A seguir, temos as descrições dos modos de programação e execução do CP:
• Modo de programação (program) – nesse modo, o CP não executa nenhum programa, isto é, fica aguardando para ser configurado ou receber um novo programa já instalado. Esse tipo de programação é chamado de fora de operação (off-line). A operação de transferência de programas para o CP é chamada de upload;
• Modo de execução (run) – no modo de execução, o CP executa o programa que foi passado pelo usuário. Controladores de maior porte podem sofrer alterações de programa, mesmo durante a execução. Esse tipo de programação é chamado de em operação (on-line).
2.2 MEMÓRIAS DO CONTROLADOR PROGRAMÁVEL
As instruções e os dados lidos internamente e externamente pelo CP são armazenados em uma área da CPU destinada a essa função, conhecida como memória. As informações ali gravadas podem ser alteradas e acessadas em qualquer momento.
MECATRÔNICA INDUSTRIAL10
Devido a sua divisão por regiões (setores), a memória possui um recurso que informa em que parte dos setores se encontram determinados dados. Alguns desses setores são destinados ao uso restrito do software de gerenciamento do CP. Em outra grande parte da memória, encontramos as funções especiais e setores para usuários. A Figura 2 apresenta as descrições de cada setor da memória do CP.
área que armazena os dados do sistema operacional,gerencia e executa todas as funções operacionais do controlador
Memóriaexecutiva
área que armazena e apresenta os resultados e/ ou as informaçõesintermediárias geradas pelo sistema operacional
Memóriado sistema
Memóriade imagem
área que armazena o programa desenvolvido pelo usuárioMemóriado usuário
área que armazena os dados referentes aos resultados doprograma do usuário que é executado, bem como realiza a troca de dados entre equipamentos
Memóriade dados
área que armazena e apresenta as informações do estado das entradase saídas, atualiza o valor do campo e disponibiliza os valores para a memória do usuário
Figura 2 - Descrições das memórias do CP.Fonte: SENAI-RS.
O acesso à memória é feito por meio de bytes (8 bits). No entanto, para o usuário, os dados são visíveis em vários formatos: bits, bytes, words e double words, entre outras formas. As entradas/saídas analógicas, os valores numéricos, os resultados de operações matemáticas e as contagens ou as temporizações são armazenados em words. Já uma entrada/saída digital possui valor de tamanho de um bit que, agrupadas em octetos, ocupam um byte. O Quadro 2 mostra a descrição de cada tipo de unidade de memória de um CP.
UNIDADE DESCRIÇÃO
Bit Menor unidade de informação. Possui apenas dois estados: ativo (1) ou inativo (0).
Nibble ou quarteto Agrupamento de quatro bits, utilizado principalmente para armazenamento de
códigos BCD.
Byte ou octeto Agrupamento de oito bits. Pode armazenar um caractere do tipo ASCII ou um
número entre 0 e 255, dois números BCD ou oito indicadores de um bit.
Word ou palavra Uma palavra corresponde a certa quantidade de bits, podendo variar de um
processador para outro. Entretanto, o mais comum é uma palavra ter 16 bits.
Double Word
ou palavra dupla
É a composição de duas palavras, ou seja, para os processadores de 16 bits
corresponde a um agrupamento de 32 bits.
Long Word
ou palavra longa
É a composição de quatro palavras, ou seja, para os processadores de 16 bits,
corresponde a um agrupamento de 64 bits.
Quadro 2 - Descrições das unidades de memória do CP.Fonte: SENAI-RS.
2 CONCEITOS 11
Exemplo prático
Se você comprar um computador com um HD de 1 TB, por exemplo, perceberá que o sistema operacional do computador mostrará uma capacidade menor do que a que está na relação do dispositivo. Ou seja, indicará apenas 931GB de espaço livre. Isso acontece porque os sistemas operacionais, de modo geral, consideram 1 kilobyte como sendo equivalente a 1024 bytes e, assim, sucessivamente, com megabytes, gigabytes, terabytes e outros. No entanto, para os fabricantes de discos rígidos, por exemplo, 1 kilobyte corresponde a 1000 bytes. Você saberia responder quem está correto: o fabricante do hardware ou do software do sistema operacional? Seriam 1000 bytes ou 1024 bytes? Ainda não temos um sistema único para resolver esse impasse, entretanto, uma possível solução está nas terminologias e abreviações que a International Electrotechnical Commission (IEC) estabeleceu para indicar as medições baseadas em 1024 bytes.
2.3 ARQUITETURA E ESPECIFICAÇÃO DE HARDWARE
A arquitetura interna do CP é constituída de hardwares que são denominados módulos ou interfaces de entrada e de saída. Esses módulos podem ser digitais ou analógicos, conforme observamos na Figura 3.
EntradasDigitais
EntradasAnalógicas
Terminal de programação(IHM)
SaídaDigitais
SaídasAnalógicas
Unidadecentral de
processamento(CPU)
Memória
Fonte de Alimentação
Figura 3 - Arquitetura interna do CLP.Fonte: SENAI-RS.
2.3.1 MÓDULOS OU INTERFACES DE ENTRADA
As interfaces de entradas, ou módulos de entrada, tornam compatíveis os sinais que serão recebidos pela CPU. Eles representam a interface entre o CP e os elementos de sinais de entrada. Esses módulos de interligação entre os componentes e a CPU dividem-se em dois tipos: digitais e analógicos.
MECATRÔNICA INDUSTRIAL12
Entradas digitais
As entradas digitais são módulos que possuem apenas dois estados possíveis: ligado(1) ou desligado (0). Nas entradas digitais, podem ser ligados diversos componentes, dentre eles temos: botoeiras, chaves de fim de curso, sensores indutivos e capacitivos, chaves comutadoras, termostatos, pressostatos e sensores de controle de nível.
Os módulos de entradas digitais operam tanto com tensões alternadas (127 ou 220 VCA) quanto com tensões contínuas (24 VCC). A diferença entre estes dois tipos é que para acionar a entrada, no tipo N, é necessário fornecer o potencial negativo da fonte de alimentação ao borne de entrada do CP e, no tipo P, é necessário fornecer o potencial positivo. Em ambos os casos, a falta do sinal caracteriza nível lógico 0 e a presença do sinal nível lógico 1.
Algumas aplicações preferem utilizar sinais de entrada em corrente alternada, pois alguns fabricantes de PC oferecem circuitos de entrada para tensões alternadas. Entretanto, nos casos em que a distância entre os dispositivos não ultrapassa 50m, são utilizadas as entradas de 24VCC, para evitar ruídos que possam causar disparos acidentais. A Figura 4 apresenta a arquitetura interna do CP com uma entrada de corrente contínua e uma entrada de corrente alternada.
a)
ENTRADA 24 VCC
C.P.U
V
b) 110/220 VCA
VC.P.U
Figura 4 - Arquitetura interna do CP: a) entrada corrente contínua; b) entrada corrente alternada.Fonte: SENAI-RS.
FIQUE ALERTA
Nos casos de níveis elevados de tensão na entrada, deve haver uma isolação entre o circuito de entrada e a CPU para proteger os circuitos e componentes internos do CP. Essa isolação é feita normalmente por meio de optoacopladores.
Entradas analógicas
As interfaces de entrada analógicas são projetadas para tratar sinais e permitir que o CP possa manipular grandezas analógicas enviadas por esses módulos. Os sinais analógicos tratados por esses módulos são sinais elétricos de tensão ou corrente. As faixas utilizadas para a tensão são: 0 a 10 VCC, 0 a 5 VCC, 1 a 5 VCC, -5 a +5 VCC, -10 a +10 VCC. No caso de correntes, as faixas utilizadas são: 0 a 20 mA ou de 4 a 20 mA.
Os principais componentes utilizados nas entradas analógicas são: sensores de pressão manométrica, sensores de pressão mecânica (strain-gauges), tacogeradores, transmissores de temperatura, pressão, vazão, nível e umidade relativa.
A Figura 5 mostra uma entrada analógica por tensão e uma entrada analógica por corrente.
2 CONCEITOS 13
a)
C.P.UENTRADA
ADC
VINVREF +VREF -
D0D1D2D3D4D5D6D7
+
b) Entrada em corrente
bits ( digital )
Conversor decorrente
em tensão
Conversoranalógico
digital
A/D UCP
Figura 5 - Entradas analógicas: a) por tensão; b) por corrente.Fonte: SENAI-RS.
No Quadro 3 a seguir, listamos algumas características importantes para a escolha do módulo de entrada analógica.
CARACTERÍSTICAS DESCRIÇÃO
Quantidade de canais disponíveis Módulos de 2, 4, 8 ou 16 canais
Tipo e faixa de operação Corrente (0 a 20 mA, 4 a 20 mA). Tensão (0 a 10 V, ±10 V)
Resolução do conversor A/D De 8, 10, 12 ou 16 bits
Ciclo de atualização da amostragem Tempo de digitalização dos sinais analógicos para a CPU
Quadro 3 - Escolha do módulo de entrada analógica.Fonte: SENAI-RS.
De forma prática, podemos dizer que as entradas digitais transmitem à CPU informações funcionais, por exemplo: se a temperatura está adequada ou se uma determinada posição está correta. Já as entradas analógicas transmitem informações relativas a valores de temperatura, pressão, entre outras.
Há módulos de entrada com funções bastante específicas. São módulos contadores de fase única, de dupla fase, para encoder incremental e absoluto, para termopares e termorresistências, para sensores de ponte balanceada do tipo strain-gauges e para leitura de grandezas elétricas.
VOCÊ SABIA?
2.3.2 MÓDULOS OU INTERFACES DE SAÍDA
Os módulos ou interfaces de saída realizam a adequação elétrica dos sinais vindos do microprocessador, resultado da leitura do programa do usuário, para atuar nos circuitos. Existem dois tipos básicos de interfaces de saída: as digitais e as analógicas.
MECATRÔNICA INDUSTRIAL14
Saídas digitais
Da mesma forma que as entradas digitais, as saídas digitais também admitem somente dois estados: ligado e desligado. Nessas saídas, podemos controlar dispositivos do tipo: relés, contatores, relés de estado sólido, válvulas solenóides, inversores de frequência e soft starters.
As saídas digitais podem ser desenvolvidas de três formas básicas: saída digital a relé, saída digital a transistor e saída digital a tiristor, ilustradas na Figura 6.
a)
b)
c)
C.P.U. SAÍDA
C.P.U. SAÍDA
C.P.U. SAÍDA
+V
Figura 6 - Saídas digitais: a) a relé; b) transistor; c) tiristor.Fonte: SENAI-RS.
FIQUE ALERTA
Por questões de segurança, além de um circuito optoacoplado, os módulos de entrada/saída também devem possuir outras formas de proteção, como fusíveis e filtros contra ruídos eletromagnéticos.
Saídas analógicas
As saídas analógicas seguem o mesmo princípio das entradas analógicas, porém, de forma inversa. Isto é, o CP fornece um sinal com um certo número de bits, que é convertido em um sinal que geralmente está nas faixas de 0 a 5V, 0 a 10 V,+/-10V, 0 a 20 mA, 4 a 20 mA. Esses sinais são utilizados para controlar dispositivos atuadores como válvulas proporcionais, motores C.C., servomotores C.C., inversores de frequência e posicionadores rotativos. A Figura 7, a seguir, mostra um circuito com saída analógica.
+ DACV
C.P.U
+
SAÍDA
8 bits
Figura 7 - Saída analógica.Fonte: SENAI-RS.
2 CONCEITOS 15
Da mesma forma que as interfaces de entrada, as interfaces de saída também têm seus módulos específicos como os conhecidos módulos PWM para controle de motores C.C., os módulos para controle de servomotores, os módulos para controle de motores de passo e os módulos para IHM.
VOCÊ SABIA?
No Quadro 4, listamos algumas características importantes na escolha do módulo de saída analógica.
CARACTERÍSTICAS DESCRIÇÃO
Quantidade de canais disponíveis Módulos de 2, 4, 8 ou 16 canais. Esses canais podem ser isolados (isolação
galvânica) ou não isolados (comuns).
Tipo e faixa de operação dos canais Tensão (0 a 10 V, ±10 V). Corrente (0 a 20 mA, 4 a 20 mA)
Impedância de saída Resistência mínima e a máxima a que o canal de saída pode ser conectado.
Resolução do conversor D/A É o menor incremento que o dado enviado ao conversor D/A pode causar
no valor analógico de saída.
Ciclo de atualização da saída analógica Depende de um tempo e do número de canais.
Quadro 4 - Escolha do módulo de saída analógica.Fonte: SENAI-RS.
Após nosso estudo sobre os módulos de entrada e saída, digitais e analógicas, podemos compreender a utilização desses dispositivos e suas respectivas aplicações nos módulos, conforme ilustra a Figura 8.
PP
0,0000,000
RUNSTOPFAIL
CPU - DC/DC/DC
#####
IN IN IN
OUT OUT OUT
*** ***
Módulo Digital8 Entradas e8 Saídas DC
Módulo Analógico
Figura 8 - Exemplo de utilização dos módulos de entrada e saída.Fonte: SENAI-RS.
FIQUE ALERTA
Antes de fazer qualquer ligação no CP, certifique-se de que o componente seja digital ou analógico. Verifique também os locais de entrada ou de saída, evitando, dessa forma, danificar o equipamento e o próprio CP.
Linguagens de programação
3
Como você já sabe, as instruções e funções, em que são operados os bits, bytes, words e double words, são introduzidas na memória do CP por meio de uma interface destinada a esse fim. Agora, aprenderemos como essas instruções e funções formam um programa que será desenvolvido com linguagens de programação.
Imagine que você precisa se comunicar com outra pessoa. Para isso, você utiliza a linguagem, seja oral, seja escrita. Nas máquinas e computadores não é diferente. Também realizamos essa comunicação, porém de outra forma, ou seja, utiliza-se um conjunto padronizado de instruções que o sistema computacional é capaz de reconhecer, denominado linguagens de programação.
Nos sistemas lógicos programáveis, as linguagens de programação permitem ao usuário inserir programas de controle utilizando sintaxes preestabelecidas. Essa variedade de sintaxes é designada pelos vários fabricantes dos CPs.
Em 1979 foi dado o primeiro passo para se estabelecer um padrão único para a programação e comunicação dos CPs: criou-se um grupo de trabalho com o IEC para a elaboração da norma IEC 61131-3.
VOCÊ SABIA?
3.1 NORMA IEC 61131-3
Um dos principais objetivos desta norma é unificar os conceitos de programação para a aplicação dos processos de controle industrial. Quando essa norma foi desenvolvida, um grande número de conceitos e linguagens de programação era utilizado no ambiente industrial. Com a aplicação da norma, reduziu-se essa variedade de conceitos e linguagens para cinco linguagens de programação. Por isso, é fundamental que todo o profissional da área de mecatrônica conheça como aplicar a IEC 61131. O Quadro 5 apresenta as definições de cada uma das cinco linguagens de programação.
2 CONCEITOS 17
IL (INSTRUCTION LIST) Linguagem textual que utiliza uma sequência de instruções para
representar um programa. Com estrutura semelhante ao assembly, é
considerada uma linguagem de baixo nível.
ST (STRUCTURED TEXT) Linguagem textual que utiliza um texto estruturado para representar um
programa aplicativo.
FBD (FUNCTION BLOCK DIAGRAM)
Linguagem de programação gráfica que utiliza diagramas de blocos de
funções para representar o programa aplicativo.
LD (LADDER DIAGRAM) Linguagem de programação gráfica que utiliza diagramas Ladder para
representar o programa aplicativo.
SFC (SEQUENTIAL FUNCTION CHART)
Notação gráfica e textual para a utilização de passos e transições
na representação da estrutura de uma unidade de organização de
programa ou bloco de função de um sistema CP.
Quadro 5 - As linguagens de programação de acordo com a IEC 61131.Fonte: ADAPTADO DE IEC, 2003.
Aprofunde seus estudos sobre a norma IEC 61131-3, consultando o arquivo digital http://www.zpss.aei.polsl.pl/content/dydaktyka/PC/PLC_IEC61131-3.pdf
SAIBA MAIS
3.2 ESTRUTURAS DE PROGRAMAÇÃO
A estrutura de programação de um CP é semelhante a de todo sistema microprocessado, ou seja, é executada em três etapas, conforme apresenta o Quadro 6.
1ª ETAPA Transfere os sinais existentes na interface de entrada para a memória de dados (RAM).
2ª ETAPA Inicia a varredura do software aplicativo armazenando-o na memória de dados. Durante esse ciclo, executará
todas as operações que estavam programadas no software aplicativo, como intertravamentos, habilitação de
temporizadores e contadores, armazenagem de dados processados na memória de dados, etc.
3ª ETAPA Concluída a varredura do software aplicativo, o CP transfere os dados processados (resultados das operações lógicas)
para a interface de saída. Paralelamente, novos dados provenientes da interface de entrada irão alimentar a memória
de dados. O programa completo para o controle do sistema é armazenado em uma área de memória denominada
programa do usuário. Divide-se o programa em partes, conhecidas como blocos. Os blocos podem ser identificados
por letras e números.
Quadro 6 - Estrutura de programação do CP.Fonte: FRANCHI; CAMARGO, 2011.
Dentro da estrutura de programação, os CPs possuem as seguintes funções básicas de software:
• Lógica “e”, “ou” e “xor”;
• Set e reset;
• Temporização e contagem;
• Cálculos com aritmética básica (+, -, x, %);
• Parênteses (para associação de lógicas);
• Comparação de valores;
MECATRÔNICA INDUSTRIAL18
• Registrador de deslocamento;
• Salto.
À medida que os CPs têm sua capacidade de processamento aumentada, surge a necessidade de funções de software mais avançadas, tais como:
• Cálculos com ponto flutuante;
• Cálculos integrais e trigonométricos;
• Malha de controle PID;
• Posicionamento;
• Contagem rápida;
• Leitura de sinais analógicos;
• Linearização de sinais analógicos;
• Lógica fuzzy.
3.3 ENTRADAS, SAÍDAS E MEMÓRIAS
Os CPs recebem as informações externas por meio das entradas e controlam os dispositivos por meio das saídas. Na memória dos CPs, são acessadas todas as variáveis que são identificadas por três regiões lógicas.
A primeira região lógica é representada por uma letra que identifica se a variável está mapeando uma entrada, uma saída ou uma posição interna de memória, conforme mostra o Quadro 7 a seguir.
PRIMEIRA LETRA INGLÊS PORTUGUÊS
I input entrada
Q output saída
M memory memória
V memory memória
Quadro 7 - Mapeamento de posições de memória do CP.Fonte: SENAI-RS.
Na segunda região lógica, a letra identifica o tipo de dado, como se observa no Quadro 8.
Segunda letra Tipo de dadoX bitB byte (8 bits)W word (16 bits)D double word (32 bits)L long word (64 bits)
Quadro 8 - Tipos de dados.Fonte: SENAI-RS.
2 CONCEITOS 19
A terceira região lógica é para os dígitos subsequentes, que são representados pelas posições de memória, que estabelecem uma hierarquia, dependendo do designado pelo fabricante do CP utilizado. O número de níveis hierárquicos não é definido pela norma, visto que os fabricantes utilizam números separados por pontos para a definição de um endereço. É importante saber que todo comentário inicia-se com parêntese e asterisco e finaliza com asterisco e parêntese. A seguir, temos alguns exemplos das regiões com seus respectivos comentários:
• I0.5 (*memória de entrada, tipo binária, palavra 0, bit 5*);
• IX8.3 (*bit 3 da palavra 8 da área de entradas*);
• QW6 (*a sexta palavra da área de saídas*);
• MB4 (*o quarto byte da área de memória interna*);
• MW1 (*a primeira palavra da área de memória interna*).
Antes de montar, instalar ou programar, o técnico em mecatrônica ou programador de CP deverá consultar os manuais do CP a ser utilizado, a fim de conhecer como são organizadas as posições, os dados e os valores das variáveis.
VOCÊ SABIA?
As memórias auxiliares servem para armazenamento temporário de dados (bits), e seu efeito é comparável com o dos contatores auxiliares. Cada instrução de entrada ou saída indica a localização em que essa instrução será armazenada na memória do CP.
A capacidade de memória varia de acordo com o modelo e fabricante de CP. Normalmente, as memórias auxiliares dos CPs utilizam words, chamadas de registradores ou registros, bytes e variáveis de bit.
Todo controlador deverá ter uma área em sua tabela de dados que represente uma imagem virtual das entradas ligadas aos cartões de entrada e uma área da tabela de dados que represente uma imagem virtual das saídas ligadas aos cartões de saída.
No Quadro 9, vemos o descritivo das entradas, saídas e memórias auxiliares dos controladores programáveis.
ENTRADAS SAÍDAS MEMÓRIAS AUXILIARES
REPRESENTAÇÃO FUNÇÃO REPRESENTAÇÃO FUNÇÃO REPRESENTAÇÃO FUNÇÃO
I6.1 I = entrada
6. = byte
.1 = bit
Q5.6 Q= saída
5. = byte
.6 = bit
M2.1 M= memória
2. = byte
.1 = bit
I:0/3 I:= entrada
0/ = word
/3 = bit
O:0/2 O:= saída
0/ = word
/2 = bit
B5:0/6 B5:= binário (memória)
0/ = word
/6 = bit
I4 I = entrada
4 = bit
Q2 Q = saída
2 = bit
M3 M = memória
3 = bit
Quadro 9 - Descritivo das entradas, saídas e memórias do CP.Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL20
3.4 LEITURAS DAS ENTRADAS DE PROGRAMAÇÃO
A leitura das entradas é feita do seguinte modo: se a entrada estiver energizada (recebendo alimentação), armazena o valor 1; caso contrário, recebe o valor 0. O exemplo a seguir apresenta esse procedimento.
Exemplo prático
Quando o botão on/off estiver desacionado/desenergizado, a entrada armazenará o valor 0; porém, quando esse botão estiver acionado/energizado, a entrada armazenará o valor 1, conforme ilustram as Figura 9 a) e Figura 9 b).
a) b)
Tabela de Imagem das entradas
0Tabela de Imagem das entradas
1
Figura 9 - Leitura das entradas: a) valor armazenado 0; b) valor armazenado 1.Fonte: FRANCHI; CAMARGO, 2011.
3.5 VARIÁVEIS DE PROGRAMAÇÃO
O acesso direto às variáveis de programação ocorre somente pelas entradas, saídas e memória interna do controlador por meio do programa de controle. Esse acesso é definido pelo fabricante do equipamento. O endereçamento direto é reconhecido pela utilização do símbolo “%” precedendo a sua designação. A seguir temos alguns exemplos:
• %I2 (*bit 2 de entrada*);
• %IW10 (* Palavra 10 da área de entradas*);
• %QB6 (*Byte 6 da área de saídas*);
• %MW7 (*Palavra 7 da área de memória interna*).
3.6 COMENTÁRIOS NA PROGRAMAÇÃO
Conforme definido pela norma IEC 61131-3, um comentário é iniciado e finalizado pela sequência de caracteres. É recomendado comentar as linhas do programa sempre que sua interpretação não for óbvia. Como já vimos, o comentário inicia-se com parêntese e asterisco e finaliza com asterisco e parêntese, conforme exemplo a seguir.
Exemplo: %I2 (*bit 2 de entrada*)
2 CONCEITOS 21
3.7 DADOS DE PROGRAMAÇÃO
Na programação de um CP, deve ser possível especificar valores para temporizadores, contadores, variáveis discretas, variáveis analógicas, entre outros. Nesse programa de controle, todos os dados estão especificados pela norma IEC 61131-3, e os tipos básicos podem ser vistos no Quadro 10 a seguir.
PALAVRA-CHAVE TIPO DE DADO FAIXA DE VALORES
Bool boolean 0 ou 1
Sint short integer 0 a 255
Int integer -32768 a +32767
Dint double integer -2147483648 a +2147483647
Uint Unsigned integer 0 a 65535
Real floating point ± 2,9 .10-39 a ± 3,4 .10+38
Time Tempo de duração Depende da implementação
String string Depende da implementação
Byte 8 bits Faixa de valores não declarada
Word 16 bits Faixa de valores não declarada
Quadro 10 - Tipos de dados especificados pela norma IEC 61131-3.Fonte: ADAPTADO DE IEC, 2013.
3.8 TIPOS DE LINGUAGENS DE PROGRAMAÇÃO
Um programa é uma série de instruções ou comandos que o usuário desenvolve para fazer com que o CP execute determinadas ações. Uma linguagem de programação estabelece regras para combinar as instruções de forma que gerem as ações desejadas. As diversas linguagens utilizadas na programação classificam-se em dois grupos, conhecidos como linguagem de baixo nível e de alto nível, como veremos a seguir.
3.8.1 LINGUAGEM DE BAIXO NÍVEL
No início da computação, os programadores utilizavam a linguagem de máquina, que é considerada a de mais baixo nível, pois cada instrução é composta por combinações dos bits 0 e 1. Um exemplo de linguagem de baixo nível é a linguagem Assembly que, apesar de suas instruções consistirem em vocábulos simbólicos (mnemônicos), cada instrução do programa fonte corresponde a uma única instrução do programa objeto. Na utilização da linguagem de baixo nível, são apresentados alguns inconvenientes, principalmente o fato de requerer do usuário conhecimentos sobre os componentes que integram o microprocessador.
3.8.2 LINGUAGEM DE ALTO NÍVEL
Uma linguagem de programação é considerada de alto nível por apresentar uma sintaxe que se aproxima da linguagem utilizada na comunicação interpessoal. Essa linguagem apresenta uma estrutura rígida devido às regras utilizadas no momento da elaboração do programa. Uma única instrução em linguagem de alto nível (programa fonte) corresponderá a várias instruções em linguagem de máquina (programa objeto). No Quadro 11 a seguir, conhecemos algumas vantagens e desvantagens da utilização da linguagem de alto nível.
MECATRÔNICA INDUSTRIAL22
VANTAGENS DESVANTAGENS
• Não requer do usuário conhecimento sobre a
arquitetura do microprocessador.
• Reduz o tempo gasto na elaboração de programas.
• O número de instruções do programa objeto somente
será conhecido após a compilação do programa fonte.
• Programas maiores.
Quadro 11 - Vantagens e desvantagens da linguagem de alto nível.Fonte: SENAI-RS.
Os controladores programáveis utilizam linguagens de alto nível para a sua programação, visando atender aos diversos segmentos da indústria. Observamos que a norma IEC61131-3 definiu, sintática e semanticamente, cinco linguagens de programação. As linguagens ST e IL são linguagens textuais (escritas) e as linguagens FDB, LD e SFC são gráficas (por símbolos). No Quadro 12, temos um exemplo de uma mesma lógica sendo aplicada nas linguagens IL, ST, FBD e LD.
LISTA DE INSTRUÇÕES LDN A
AND B
ST L
TEXTO ESTRUTURADO L:= NOT (A) AND B
DIAGRAMA DE BLOCOS FUNCIONAIS
A
&B
L
LINGUAGEM LADDER
((A B L
Quadro 12 - Equação lógica em quatro linguagens diferentes.Fonte: SENAI-RS.
3.9 APLICAÇÕES DAS LINGUAGENS DE PROGRAMAÇÃO AOS CPS
Um item fundamental para a utilização de um controlador programável é a seleção da linguagem a ser utilizada. A escolha da linguagem adequada dependerá de diversos fatores, como:
• Disponibilidade da linguagem no controlador programável;
• Grau de conhecimento do programador;
• Solução a ser implementada;
• Nível de descrição do problema;
• Estrutura do sistema de controle.
3.10 TÉCNICAS ESTRUTURADAS DE PROGRAMAÇÃO
Em relação às técnicas estruturadas de programação, temos duas formas possíveis de programação:
• Programação linear - programa escrito usando escrita em um único bloco;
• Programação estruturada - permite a organização (divisão do programa segundo critérios funcionais, operacionais ou geográficos), o desenvolvimento de bibliotecas de rotinas utilitárias para utilização em vários programas, a facilidade de manutenção e a simplicidade de documentação e entendimento por outros usuários.
Linguagem ladder (ld)
4
Quando os profissionais da área de automação e mecatrônica debatem questões sobre os sistemas lógicos programáveis, a linguagem Ladder sempre surge nas conversas, pois foi a primeira a ser utilizada pelos fabricantes, tornando-se a mais difundida mundialmente e, consequentemente, a linguagem mais utilizada em quase todos os controladores programáveis existentes. Essa linguagem gráfica, conhecida simplesmente como Ladder, é baseada na lógica de relés e contatos elétricos, e é usada em circuitos de comandos de acionamentos.
A linguagem recebeu vários nomes desde a sua criação, entre eles diagrama escada, diagrama de contatos e linguagem de contatos. Entretanto, ficou mundialmente conhecida como Ladder (escada, em português) porque o diagrama final é semelhante à forma de uma escada. Os trilhos laterais representam as linhas de alimentação, e cada lógica é associada a uma bobina, que são os degraus ou rung. Um degrau é composto por um conjunto de condições de entrada (contatos NA e NF) e uma instrução de saída no final da linha (representada pelo símbolo da bobina). Algumas vantagens e desvantagens da utilização da linguagem Ladder estão listadas no Quadro 13 a seguir.
VANTAGENS DESVANTAGENS
• Possibilidade de rápida adaptação do pessoal técnico
(semelhança com diagramas elétricos convencionais com lógica
a relés);
• Possibilidade de aproveitamento do raciocínio lógico na
elaboração de um comando feito com relés;
• Fácil compreensão do diagrama original a partir do diagrama de
aplicação;
• Fácil visualização dos estados das variáveis sobre o diagrama
Ladder, permitindo rápida depuração e manutenção do
software;
• Documentação fácil e clara;
• Símbolos padronizados e mundialmente aceitos pelos
fabricantes e usuários;
• Técnica de programação mais difundida e aceita
industrialmente.
• Sua utilização em programas extensos ou com lógicas mais
complexas é bastante difícil;
• Programadores não familiarizados com a operação de relés
tendem a ter dificuldades com esta linguagem;
• Edição mais lenta.
Quadro 13 - Vantagens e desvantagens da linguagem Ladder.Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL24
4.1 DIAGRAMAS DE CONTATOS EM LADDER
O diagrama Ladder é uma técnica utilizada para descrever uma função lógica utilizando contatos e bobinas, que se aproxima muito do projeto elétrico. O diagrama de contato é composto de duas barras verticais que representam os polos positivos e negativos de alimentação.
A linha vertical à esquerda representa o polo positivo e a da direita, o polo negativo. A ideia principal do diagrama em Ladder é representar graficamente um fluxo de “eletricidade virtual” entre as duas barras verticais. Essa “corrente virtual” sempre flui do positivo para o negativo, conforme demonstrado na Figura 10.
Barra dealimentação
positiva
Barra dealimentação
negativa
Contato NA Contato NF Bobina
Figura 10 - Estrutura de um diagrama Ladder.Fonte: SENAI-RS.
O conjunto de contatos que compõem um Ladder pode ser conhecido como condição de entrada ou lógica de controle. As instruções de saída, como bobinas e blocos funcionais (contadores, temporizadores e outros com funções especiais), devem ser os últimos elementos a serem colocados à direita.
Um Ladder é verdadeiro quando uma saída é energizada virtualmente. O fechamento combinado de todos os contatos gera a corrente virtual que aciona a bobina. A Figura 11 mostra quatro exemplos das possíveis combinações dessa corrente virtual para habilitar uma saída.
CONTINUIDADE
CONTINUIDADE
CONTINUIDADE
CONTINUIDADE
Figura 11 - Possíveis combinações das entradas para habilitar uma saída.Fonte: SENAI-RS.
4.1.1 FLUXO REVERSO
Quando relés eletromecânicos são utilizados para implementar uma lógica Ladder, o fluxo de energia pode ocorrer em qualquer sentido por meio dos contatos. Uma regra seguida por quase todos os fabricantes de controladores é que o fluxo reverso, da direita para a esquerda, não é permitido, como se observa na Figura 12. O fluxo de corrente elétrica virtual em uma lógica Ladder flui somente da esquerda para a direita.
3 CONCEITOS DE ELETRICIDADE BÁSICA 25
10.0 10.1 10.2 00.0
10.410.3
10.5Fluxo Reverso
Figura 12 - Fluxo de corrente no sentido errado de leitura.Fonte: SENAI-RS.
Se a lógica a ser implementada necessita de um fluxo reverso, devemos refazer o circuito, de modo que o fluxo ocorra somente da esquerda para a direita, conforme demonstrado na Figura 13 a seguir.
10.0 10.1 10.2 Q 0.0
10.3 10.4
10.5 10.3 10.1 10.2
10.4
Figura 13 - Fluxo de corrente refeito no sentido correto de leitura.Fonte: SENAI-RS.
4.1.2 REPETIÇÃO DE CONTATOS
Em um diagrama Ladder, uma bobina pode ter quantos contatos NA ou NF forem necessários. Isso significa que um mesmo contato pode ser repetido diversas vezes. Cada conjunto de bobinas disponível e seus respectivos contatos no controlador são identificados por um endereço de referência único. A Figura 14 mostra essa repetitividade de entradas e saídas.
12
12
M1
M1
12
Q1
Q1
Q2
Figura 14 - Repetitividade de entradas e saídas.Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL26
4.1.3 CONTATOS NA VERTICAL
Há circuitos de comandos de contatores para os quais não é possível converter um programa eletromecânico para Ladder diretamente. Veremos um exemplo de uma chave de partida direta de motores e sua conversão em um circuito de linguagem Ladder.
Exemplo prático
Vamos utilizar uma contatora, um botão liga e um botão desliga. Ao acionar o botão liga, o CP acionará uma entrada para a atuação de uma das saídas com um nível de tensão alto. Essa tensão, por sua vez, acionará a bobina da contatora principal. Para desligar o motor, deve ser acionado o botão desliga. Para tanto, nós recebemos o seguinte circuito eletromecânico de partida direta de motor, como ilustra a Figura 15 a seguir.
B0
B1
BOBINA DACONTACTORAC1
NEUTRO
C1
CONTATO AUXILIARDE AUTO - RETENÇÃO
BOTOEIRA DEDESLIGAMENTO
CONTATO DERELÉ DE SOBRECARGA
FUSÍVELDE COMANDO
CIRCUITO DE COMANDO
FASE
M3
MOTORATERRAMENTO
R S T
CIRCUITO DE FORÇA
FUSÍVEISDE FORÇA
CONTATOS DA CONTA-CTORA C1
C1
ELEMENTOS DO RELÉ DE SOBRECARGA
Figura 15 - Circuito de partida direta de motor trifásico.Fonte: SENAI-RS.
A partir desse circuito, demonstramos a conversão lógica para o programa Ladder.
( )S1.0
S1.0E0.1 E0.0
Botão DESLIGARBotão LIGA
Contato ”Grude” da saída Q1.0
Saída para o contactor
Figura 16 - Conversão de um circuito eletromecânico em Ladder.Fonte: SENAI-RS.
3 CONCEITOS DE ELETRICIDADE BÁSICA 27
Profissionais que trabalham com circuitos elétricos têm mais facilidade de aprender a linguagem Ladder, em comparação aos profissionais de outras áreas. Por isso, geralmente o curso de eletricidade básica é pré-requisito para a realização do curso de CP.
VOCÊ SABIA?
4.1.4 LEITURA DOS DEGRAUS DO DIAGRAMA LADDER
A avaliação da leitura é que define a ordem em que o processador executa o diagrama de contatos. Programas compostos de vários degraus (também chamado de network) são executados da esquerda para a direita e de cima para baixo, uma lógica após a outra, e são repetidos ciclicamente, exceto quando houver instruções de desvio.
A prioridade de leitura é: primeiro da esquerda para a direita e depois de cima para baixo (de graus para graus). Se tiver uma lógica “ou” (um degrau abaixo do outro), esta leitura é prioritária. A Figura 17 mostra um exemplo de leitura com dois degraus.
NETWORK 0 NETWORK 1
12
10
11
Q0Q110 13
11
Figura 17 - Leitura de um programa de CLP.Fonte: FRANCHI; CAMARGO, 2011.
4.2 DETECÇÕES DE EVENTOS
Eventos ou ações impulsionais são conceitos importantes. Há situações nas quais é necessário registrar o instante em que uma entrada comuta. Para isso, as ações impulsionais podem ser de borda de subida ou borda de descida. Alguns CPs possuem uma instrução própria para essa finalidade. O Quadro 14 mostra as representações dadas pelos fabricantes para borda de subida e descida.
DETECÇÃO DE IMPULSOS DE ALGUNS CLPS
CONTATO DETECTOR DE BORDA DE SUBIDA
CONTATO DETECTOR DE BORDA DE DESCIDA
BOBINA DETECTORA DE BORDA DE SUBIDA
BOBINA DETECTORA DE BORDA DE DESCIDA
Norma IEC 61131-3
P
N P N
CP1
CP2 P
N P N
Quadro 14 - Representações para borda de subida e descida.Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL28
Observe a Figura 18, que ilustra um exemplo da utilização do contato ou bobina.
10
10P
PQ0
Q0
Figura 18 - Detecção da borda de subida por meio de um contato (cima) ou bobina (baixo).Fonte: SENAI-RS.
Há CPs que possuem duas bobinas de detecção de eventos, chamados DIFU (borda de subida) ou DIFD (borda de descida). Quando o contato “A” acionar, a bobina AU fica energizada por um único ciclo de varredura. A Figura 19 mostra a utilização desse evento.
DIFU
AUA
Figura 19 - Detecção da borda de subida.Fonte: SENAI-RS.
Alguns CPs possuem contatos de detecção de eventos chamados ONS (One Shot - borda de subida). Observe a Figura 20, que mostra a utilização desse evento. Quando o contato I:0 for fechado, a bobina B3:1 fica energizada por um único ciclo de varredura.
1: 0 B3:1 B3:1
0ONS
4 5
Figura 20 - Detecção de borda de subida.Fonte: SENAI-RS.
Também temos CPs que possuem duas bobinas de detecção de eventos, chamados OSR (One Shot Rising - borda de subida) ou OSF (One Shot Falling - borda de descida). A Figura 21 mostra a utilização desse evento.
OSR
OSF
1:0
1:0
0
0
One Shot FallingStorsge Bit B3: 1/2Output Bit B3: 1/3
One Shot RisingStorage Bit B3: 1/0Output Bit B3:1/1
Figura 21 - Detecção de borda de subida e descida respectivamente.Fonte: SENAI-RS.
3 CONCEITOS DE ELETRICIDADE BÁSICA 29
O funcionamento desse tipo de evento é o seguinte: quando é acionado o contato I:0, na transição de 0 para 1, o bit de saída (Output Bit) só vai ter o valor 1 no primeiro ciclo de varredura, enquanto que o bit de armazenamento (Storage Bit) vai permanecer em 1, enquanto o contato I:0 permanecer fechado. Quando o contato I:0 for aberto, tanto o bit de saída quanto o bit de armazenamento são postos com valor 0.
Caso o CP não possua borda de subida, esse pode ser implementado, conforme apresenta a Figura 22.
10
10
M1 M0
M1
Figura 22 - Implementação de uma borda de subida.Fonte: SENAI-RS.
O funcionamento, nesse caso, é o seguinte: inicialmente M0 e M1 estão desacionados. Quando fechar o contato I0, no primeiro ciclo de varredura (scan), estão ativas M0 e M1. No segundo ciclo de varredura, o contato NF de M1 desaciona M0, fazendo com que esse contato fique acionado somente um ciclo de varredura, quando foi fechado o contato de I0.
No próximo exemplo, deseja-se acionar e desacionar um motor utilizando somente um botão com contato NA. Primeiro, faremos com que o botão seja a entrada I0 e o motor seja a saída Q0, conforme demonstrado na Figura 23.
10
M0
M0
M0
PQ0
Q0
Q0
S
R
Figura 23 - Resolução do exemplo.Fonte: SENAI-RS.
A seguir, mostramos o funcionamento desse exemplo. Temos três linhas de programação. A linha 1 aciona M0, a linha 2 desaciona M0 e a linha 3 aciona Q0.
Inicialmente, quando se aciona o comando I0, se Q0 estiver desacionado, aciona-se M0. Toda essa ação acontece em função do comando I0 ter um contato de borda de subida na primeira linha, assim como Q0 ter um contato NF e M0 uma bobina SET.
Agora, com M0 acionado, ele se desligará automaticamente caso não tenhamos o contato de borda subida. Como no exemplo apresentado, M0 permanecerá ligado, pois temos o contato de borda de subida. Essa memória acionará a bobina Q0.
Como Q0 foi acionado no passo anterior, os contatos NF e NA de Q0, das linhas 1 e 2, modificarão seu estado. O Q0 da linha 2 se fechará, ao mesmo tempo em que o Q0 da linha 1 se abrirá. Com essa ação, I0 é novamente acionado, fazendo com que a memória M0 seja desligada, juntamente, com Q0.
Para finalizar a explicação desse exemplo, sabemos que Q0 está desacionado e o estado de seus contatos, antes invertidos, voltam à situação inicial. Com esse processo concluído, podemos reiniciar todo o ciclo de ligação de motores.
MECATRÔNICA INDUSTRIAL30
4.3 CONTADOR
O contador é um bloco lógico de incremento interno, em que sua saída é habilitada após alguns pulsos (eventos). O contador pode incrementar, aumentando uma unidade no valor de uma variável, ou decrementar, fazendo com que o valor de uma variável diminua uma unidade. Há três tipos básicos de contadores: contador crescente, contador decrescente e contador bidirecional.
4.3.1 CONTADOR CRESCENTE
Se a condição de entrada se torna verdadeira, o contador inicia a contagem incrementando de uma unidade toda vez que a linha passa de falsa para verdadeira. A Figura 24 mostra um bloco funcional de um contador crescente, conforme norma IEC 61131-3.
CTUCU
R
PV CV
Q
Figura 24 - Símbolo de um contador crescente, conforme norma IEC 61131-3.Fonte: SENAI-RS.
O Quadro 15, a seguir, mostra o formato do bloco de função de um contador crescente (CTU) da norma IEC 61131-3.
SÍMBOLO NOME ENTRADA / SAÍDA DESCRIÇÃO TIPO DE DADO
CU Count up Entrada Entrada de contagem crescente (borda subida) BOOL, R_EDGE
R Reset Entrada Entrada de reset do contador (faz CV = 0) BOOL
PV Preset value Entrada Valor do limite superior desejado de contagem INT
CV Counter value Saída Contém o valor acumulado da contagem INT
Q Quit Saída É energizado quando CV >= PV BOOL
Quadro 15 - Formato do bloco de função de um contador crescente.Fonte: SENAI-RS.
Esse bloco tem como função a contagem de eventos, isto é, contar transições falsas/verdadeiras na linha de controle. O valor limite superior de contagem desejado é fornecido à entrada PV. Quando a entrada CV detecta a mudança do nível lógico 0 para o nível lógico 1 (borda de subida), o valor acumulado CV aumenta uma unidade. A saída binária Q será energizada quando o valor acumulado CV for igual ou maior que o valor de PV. A entrada R corresponde à entrada de reinício da contagem. Sempre que for a nível lógico 1, faz com que o valor de CV fique zero. Essa entrada é dominante; se estiver ativa, o valor de CV será sempre zero.
4.3.2 CONTADOR DECRESCENTE
Se a condição de entrada se torna verdadeira, o contador inicia a contagem decrementando de uma unidade toda a vez que a linha passa de falsa para verdadeira. A Figura 25 mostra um bloco funcional de um contador decrescente, conforme norma IEC 61131-3.
3 CONCEITOS DE ELETRICIDADE BÁSICA 31
CTDCD
LD
PV CV
Q
Figura 25 - Bloco funcional de um contador decrescente (CTD).Fonte: SENAI-RS.
O Quadro 16 apresenta o formato do bloco de função de um contador decrescente (CTD) da norma IEC 61131-3.
SÍMBOLO NOME ENTRADA / SAÍDA DESCRIÇÃO TIPO DE DADO
CD Count down Entrada Entrada de contagem decrescente (borda subida) BOOL, R_EDGE
LD Load Entrada Entrada de reinício do contador (faz CV = PV) INT
PV Preset value Entrada Valor desejado de contagem INT
CV Counter value Saída Contém o valor acumulado da contagem INT
Q Quit Saída É energizado quando CV <= 0 BOOL
Quadro 16 - Formato do bloco de função de um contador decrescente.Fonte: SENAI-RS.
Quando a entrada LD recebe um valor verdadeiro (nível lógico 1), o valor presente em PV é transferido para CV (CV = PV). A cada pulso recebido na entrada CD, o valor de CV é diminuído uma unidade, e a saída Q energiza (vai para nível lógico 1) quando o valor de CV for menor ou igual a zero (CV <= 0).
4.3.3 CONTADOR BIDIRECIONAL
Alguns CPs utilizam a instrução contador crescente em conjunto com o contador decrescente, formando o contador bidirecional. Observe na Figura 26 um contador bidirecional (CTUD).
CTUDCU
CD
PV CV
QU
QD
R
LD
Figura 26 - Bloco funcional de um contador bidirecional (CTUD).Fonte: SENAI-RS.
Se for detectado um pulso na entrada de contagem crescente CU, o valor de CV será aumentado uma unidade; da mesma forma, se for detectado um pulso na entrada decrescente CD, o valor de CV será diminuído uma unidade. A saída limite superior QU é ativada quando o valor de CV for maior ou igual a PV. A saída limite inferior QD é ativada quando o contador chegar a zero.
MECATRÔNICA INDUSTRIAL32
Exemplo prático
Uma determinada máquina separa certa quantidade de cubos metálicos, que passam sobre uma esteira. O atuador linear de avanço por solenoide e retorno por mola executa o trabalho de separação desses cubos metálicos.
Figura 27 - Máquina separadora de cubos metálicos.Fonte: SENAI-RS.
Inicialmente, sabe-se que esse atuador já está avançado. Para recuar o atuador, deve-se acionar o botão de partida, permitindo a passagem das peças. O atuador só avançará novamente quando um sensor indutivo, localizado em uma das extremidades da esteira, for acionado vinte vezes. O Quadro 17 identifica as entradas e saídas para o desenvolvimento da programação em Ladder, que fará o acionamento do atuador para separação das peças.
ENTRADAS SAÍDAS
• I0 – botão de partida
• I1 – sensor indutivo
• Q0 – solenoide de avanço
do atuador
Quadro 17 - Identificação das entradas e saídas.Fonte: SENAI-RS.
Com base nessa tabela, desenvolvemos o circuito, conforme apresentado na Figura 28.
CTUCU
R
PV CV
Q
20
SQ0
Q0R
10
11
10
Figura 28 - Resolução do exemplo de acordo com a norma IEC 61131-3.Fonte: SENAI-RS.
3 CONCEITOS DE ELETRICIDADE BÁSICA 33
4.4 TEMPORIZADOR
O temporizador é um elemento fundamental na programação em Ladder. Esse componente permite rotinas temporizadas fundamentais em qualquer aplicação industrial. Todos os PCs possuem diferentes tipos de temporizadores, adaptados a várias situações de utilização.
A instrução de temporizador funciona da mesma forma que um relé de tempo nos comandos elétricos. São habitados, geralmente, por contatos NA e NF e, quando o valor do tempo decorrido fica igual ao valor pré-fixado, o temporizador energiza um bit interno que sinaliza que já transcorreu o tempo pré-programado. Normalmente, esse bit representa um contato NA ou NF e pode ser utilizado para energizar uma instrução de saída. Cada instrução de temporização tem dois registros associados, os quais devem armazenar o valor pré-selecionado e o valor acumulado, conforme definição a seguir:
• Valor pré-selecionado (PT - Preset Time): é definido pelo usuário e indica o intervalo de tempo pretendido;
• Valor acumulado (ET - Elapsed Time): armazena o valor do tempo decorrido a partir da habilitação do temporizador, isto é, a energização da bobina do temporizador.
Na Figura 29, pode-se observar um bloco genérico de um temporizador, conforme norma IEC 61131-3.
TxIN Q
PT ET
Figura 29 - Bloco genérico de um temporizador, conforme norma IEC 61131-3.Fonte: SENAI-RS.
Os tipos de dados do bloco temporizador, conforme norma IEC 61131-3, estão descritos no Quadro 18.
NOME SIGNIFICADO ENTRADA/SAÍDA DESCRIÇÃO TIPO DE DADO
IN Enable Entrada Bobina de energização do temporizador BOOL
PT Preset Time Entrada Programação do tempo desejado TIME
ET Elapsed Time Saída Valor do tempo decorrido TIME
Q Quit Saída Energiza quando ET >= PT BOOL
Quadro 18 - Tipos de dados para o bloco temporizador – IEC 61131-3.Fonte: SENAI-RS.
A base de tempo varia de controlador para controlador. Alguns admitem a base de tempo fixa, outros permitem a seleção na instrução. Esses valores podem variar de 1ms até alguns segundos. As três instruções de temporização, conforme a norma IEC 61131-3 são:
• TP (Pulse Timer): Temporizador de pulso;
• TON (Timer On Delay): Retardo para ligar;
• TOF (Timer Off Delay): Retardo para desligar.
Há vários simuladores gratuitos disponíveis na internet que utilizam programação em linguagem Ladder, entre eles estão o simulador de CP - Easy PLC encontrado na página http://saladaautomacao.com.br/download-easyclp-simulador-de-clp/
SAIBA MAIS
MECATRÔNICA INDUSTRIAL34
4.5 INSTRUÇÕES DE COMPARAÇÃO
As instruções de comparação são utilizadas para testar pares de valores, de modo que possibilite manter a continuidade lógica de uma linha. Observe as características de cada instrução de comparação no Quadro 19.
INSTRUÇÃO DESCRIÇÃO
Igual a (EQU, =) Testa se dois valores são iguais. Se a Origem A e Origem B são iguais, a lógica
da linha é verdadeira.
Diferente NEQ, <>) Testa se o primeiro valor não é igual ao segundo. Se Origem A e Origem B são
diferentes, a lógica da linha é verdadeira.
Menor que (LES, <) Testa se o primeiro valor é menor que o segundo. Se a Origem A é menor que
o valor da Origem B, a lógica da linha é verdadeira.
Menor ou igual a LEQ, <=) Testa se o primeiro valor é menor ou igual ao segundo. Se o valor da Origem A
é menor ou igual ao da Origem B, a lógica da linha é verdadeira.
Maior que (GRT, >) Testa se o primeiro valor é maior que o segundo. Se o valor da Origem A é
maior que o valor da Origem B, a lógica da linha é verdadeira.
Maior ou igual a GEQ, >=) Testa se o primeiro valor é maior ou igual ao segundo. Se o valor da Origem A
é maior ou igual ao valor da Origem B, a lógica da linha é verdadeira.
Quadro 19 - Instruções de comparação.Fonte: SENAI-RS.
4.6 INSTRUÇÕES MATEMÁTICAS
As instruções matemáticas consideram um par de valores e realizam a operação pretendida. Utilizam valores inteiros ou reais, efetuando automaticamente a conversão de tipos, quando necessário. O resultado é colocado em uma localização separada.
4.6.1 PARÂMETROS DAS INSTRUÇÕES
Os parâmetros da instruções podem ser do tipo origem e destino:
• Origem: endereços dos valores nos quais a operação matemática será executada. Podem ser endereços de palavra ou constantes de programa. Se a instrução tiver dois operandos origem, não é possível introduzir constantes de programa nestes operandos;
• Destino : endereço destino referente ao resultado da operação.
As operações matemáticas utilizadas são descritas no Quadro 20:
OPERAÇÃO AÇÃO
Adição (ADD) Adiciona o valor origem A ao valor origem B e armazena o resultado no destino.
Subtração (SUB) A instrução SUB subtrai o valor origem B do valor origem A e armazena o resultado no destino (Dest).
Multiplicação (MUL) A instrução MUL multiplica o valor origem A pelo valor origem B e armazena o resultado no destino (Dest).
Divisão (DIV) A instrução DIV divide o valor origem A pelo valor origem B e armazena o resultado arredondado no destino (Dest).
Zeramento (CLR) Zera todos os bits de uma palavra.
Quadro 20 - Operações matemáticas e suas respectivas ações.Fonte: SENAI-RS.
3 CONCEITOS DE ELETRICIDADE BÁSICA 35
4.7 MOVER (MOVE)
Sempre que a instrução move for habilitada na sua entrada EN, moverá o dado armazenado no campo IN para uma área de memória determinada pelo usuário em OUT. É a partir do bloco move que pode ser realizado o controle de saídas analógicas. O dado de entrada pode ser uma constante M, V, I, Q, no formato de byte, word ou double word. O dado de saída deverá ser obrigatoriamente do mesmo formato do dado de entrada.
4.8 CONVERSOR (CONVERT)
Sua função é converter um tipo de dado para outro. O Quadro 21 apresenta os tipos de conversão.
CONVERSOR AÇÃO
TRUNC (Truncate) Converte um dado no formato real para duplo inteiro. Só a parte inteira do número
real é convertida, a fração é descartada.
ROUND (Round) Converte um dado no formato real para duplo inteiro. Se a fração for 0,5 ou maior, o
arredondamento será para mais.
BCD_I (BCD to Integer - binary-coded
decimal to integer)
Código decimal binário para inteiro - converte um dado no formato BCD para
inteiro; I_BCD faz o inverso.
DI_R (Double Integer to Real) Converte um dado no formato duplo inteiro para real; R_DI faz o inverso.
DI_I (Double Integer to Integer) Converte um dado no formato duplo inteiro para inteiro; I_DI faz o inverso.
B_I (Byte to Integer) Converte um dado no formato de byte para inteiro; I_B faz o inverso.
Quadro 21 - Tipos de conversão.Fonte: SENAI-RS.
4.9 PWM
A modulação por largura de pulso ou PWM consiste em gerar uma onda quadrada com tempo de ciclo completo e constante. Modificando-se a largura de pulso, automaticamente aumentará ou diminuirá a tensão média na saída. A Figura 30 ilustra o processo de PWM. Abrindo e fechando em tempos controlados, variamos a tensão média.
t
Tensão na carga (%)
100
50
0
Tensão média
t1t1
t2t2=
(50% do ciclo ativo)Largura do pulso
Figura 30 - Processo de PWM.Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL36
Podemos notar que a Figura 30 mostra uma tensão média na saída de 50% em relação à tensão de alimentação. Isso acontece porque o tempo de desligado e o tempo de ligado são os mesmos. Se aumentarmos o tempo desligado (0), a largura do pulso aumentará conforme o tempo em que ele ficar nessa condição. O intervalo entre os pulsos é dado pelo tempo em que ele fica ligado. Os dois tempos juntos definem o período, isto é, uma frequência de controle. Se variarmos a largura do pulso e também o intervalo de modo, teremos ciclos ativos diferentes. Assim, poderemos controlar a tensão média aplicada a uma carga, conforme mostra a Figura 31 a seguir.
100
100
Tempo
Tempo
1%
99 %
Potênciaaplicada á carga 1%
Figura 31 - Controle da tensão média aplicada a uma carga.Fonte: SENAI-RS.
A seguir, temos um exemplo prático de um PC, baseado no método fuzzy para ligação PWM, em acionamentos de motores de indução com controle constante, relação V/Hz. O objetivo é fornecer uma ação de controle eficaz para mudanças bruscas na velocidade de referência ou torque de carga.
Exemplo prático
Um controlador de mudança possui dois modos de controle: um controlador PID do tipo fuzzy e um controlador PID convencional. Na fase inicial da ação de controle, a tarefa é tratada pelo controlador PID do tipo fuzzy. Numa fase posterior, quando o absoluto de erro for menor do que um valor de limiar, a entrada do integrador no lado de saída não será mais determinada por ação difusa, mas alimentada pela ação PID incremental.
Em termos de ação de controle, ela é reforçada proporcionalmente e derivativamente quando o valor real é fechado para referência. São apresentadas avaliações detalhadas de desempenho do controlador com base em índices pré-definidos de desempenho sob diversas condições.
Os resultados demonstram a capacidade do método de controle para fornecer uma solução viável de controle em resposta às condições de funcionamento e requisitos diferentes.
Na Figura 32, temos um controle PWM de um motor utilizando um controlador.
3 CONCEITOS DE ELETRICIDADE BÁSICA 37
Computador
IHM ControladorProgramável
InversorPWM
Controlede
Reversão
ProteçãoSinal
SinalControle
L1 L2 L3
Entrada
Dinamometro Motor de InduçãoTrifasico
Velocidade
Figura 32 - Controle PWM de um motor utilizando CLP.Fonte: SENAI-RS.
4.10 INTERRUPÇÕES
As interrupções permitem a parada momentânea da execução de um programa para possibilitar que a CPU execute uma rotina de interrupção. Depois dessa rotina, a elaboração cíclica do programa é interrompida para executar uma rotina de interrupção. Ao término dessa rotina, a CPU volta ao último ponto do programa no qual parou, antes da interrupção, e prossegue a sua elaboração normal. Em alguns CPs, as interrupções são chamadas de alarmes. As interrupções mais comuns são do tipo:
• periódico: é um sinal de tempo que obriga a CPU a interromper momentaneamente a elaboração cíclica de um programa principal para executar outro programa;
• evento: é um sinal de alarme proveniente de um processo de comutação de estado que obriga a CPU a interromper momentaneamente a elaboração cíclica de um programa principal para executar outro programa.
MECATRÔNICA INDUSTRIAL38
CASOS E RELATOS
O custo benefício de um novo processo
Uma conceituada empresa de sucos mantinha, há vários anos, seu processo produtivo desenvolvido por métodos artesanais. Os operadores tinham que acionar uma sequência enorme de botões para controlar a passagem de garrafas, a quantidade de líquido em cada garrafa e a embalagem de todos os frascos.
Maurício, um dos filhos do diretor da empresa, conheceu um instrutor de mecatrônica que sugeriu que a linha de produção de sucos fosse automatizada. De acordo com o instrutor, a automatização seria fundamental para que a empresa se mantivesse no mercado.
Entretanto, o dono da empresa, pai de Maurício, imaginou que o custo de instalação seria altíssimo. Depois de muito insistir, Maurício conseguiu que seu pai aprovasse o projeto, porém, em apenas uma das estações de trabalho. Após a instalação de um CP e de alguns sensores, foi possível realizar todo o processo da estação escolhida de forma automática. O resultado foi economia de tempo e de mão-de-obra e aumento de produtividade.
Ao comparar o custo x benefício gerado pelo novo processo, o dono da empresa aprovou o projeto para toda linha de produção de sua fábrica, além de outros projetos como o controle da iluminação e do ar-condicionado e de outras facilidades da automação. Desse modo, o processo artesanal de uma empresa foi modernizado devido à mudança de percepção sobre o custo x benefício do uso dos sistemas lógicos programáveis na indústria.
RECAPITULANDO
Neste livro, destacamos os principais aspectos dos controladores programáveis, desde os princípios de funcionamento, memória, hardware, até as interfaces de entrada e saída. Foram apresentadas, também, as linguagens de programação – normas, estruturas, variáveis, tipos e aplicações. Ressaltamos a linguagem Ladder por ser a primeira linguagem de programação utilizada pelos fabricantes, fato que a tornou a linguagem mais utilizada mundialmente pelos controladores programáveis.
Enfatizamos a importância das aplicações das linguagens e suas técnicas estruturadas de programação para a obtenção de êxito na implementação de qualquer sistema mecatrônico. Os conhecimentos aqui abordados estão diretamente relacionados à capacidade do profissional em conseguir integrar todas essas linguagens e suas tecnologias de forma a atender os requisitos do mercado industrial.
REFERÊNCIAS
FRANCHI, C. M.; CAMARGO, V. L. A. Controladores lógicos programáveis: sistemas discretos. 2. ed. São Paulo: Érica, 2011.
INTERNATIONAL ELECTROTECHNICAL COMMISSION. IEC 61131-1 ed. 2.0: programmable controllers: part 1: general information. Geneva, 2003.
______. IEC 61131-3 ed. 3.0: programmable controllers: part 3: programming languages. Geneva, 2013.
SENAI – DEPARTAMENTO NACIONALUNIDADE DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA – UNIEP
Felipe Esteves Pinto MorgadoGerente Executivo
Nathália Falcão MendesGestora do Programa SENAI de Capacitação Docente
SENAI – DEPARTAMENTO REGIONAL DO RIO GRANDE DO SUL
Claiton Oliveira da CostaCoordenação da Gerência de Desenvolvimento Educacional no Departamento Regional
Fernando R. G. Schirmbeck Coordenação Técnica
João Charles dos SantosMarcelo Luiz de QuadrosElaboração
Marcelo de QuadrosRevisão Técnica
Enrique S. BlancoPatricia C. da S. RodriguesDesign Educacional
Aurélio RauberDireção de Arte
Bárbara Polidori BackesEditoração
Aurélio RauberCamila J. S. MachadoRafael AndradeIlustrações
Roberta TriacaApoio a Normatização
Enilda HackNormatização
DuploklickRevisão Ortográfica e Gramatical