Você está na página 1de 42

ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

CONTROLADORES
PROGRAMÁVEIS
ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

CONTROLADORES
PROGRAMÁVEIS
CONFEDERAÇÃO NACIONAL DA INDÚSTRIA – CNI
Robson Braga de Andrade
Presidente

DIRETORIA DE EDUCAÇÃO E TECNOLOGIA


Rafael Esmeraldo Lucchesi Ramacciotti
Diretor de Educação e Tecnologia

SENAI-DN – SERVIÇO NACIONAL DE APRENDIZAGEM INDUSTRIAL

Conselho Nacional

Robson Braga de Andrade


Presidente

SENAI – DEPARTAMENTO NACIONAL


Rafael Esmeraldo Lucchesi Ramacciotti
Diretor-Geral

Gustavo Leal Sales Filho


Diretor de Operações
ATUALIZAÇÃO TECNOLÓGICA EM MECATRÔNICA

CONTROLADORES
PROGRAMÁVEIS
© 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 Nacional


Unidade de Educação Profissional e Tecnológica – UNIEP

SENAI Departamento Regional do Rio Grande do Sul


Gerê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

SENAI Sede
Serviço Nacional de Setor Bancário Norte . Quadra 1 . Bloco C . Edifício Roberto
Aprendizagem Industrial Simonsen . 70040-903 . Brasília – DF . Tel.: (0xx61)3317-9190
Departamento Nacional http://www.senai.br
Sumário
1  Introdução.........................................................................................................................................................................7

2  Controladores Programáveis.......................................................................................................................................8
2.1 Princípios de funcionamento....................................................................................................................9
2.2 Memórias do controlador programável................................................................................................9
2.3 Arquitetura e especificação de hardware...........................................................................................11
2.3.1 Módulos ou interfaces de entrada.......................................................................................11
2.3.2 Módulos ou interfaces de saída............................................................................................13

3  Linguagens de programação....................................................................................................................................16
3.1 Norma IEC 61131-3 .....................................................................................................................................16
3.2 Estruturas de programação......................................................................................................................17
3.3 Entradas, saídas e memórias....................................................................................................................18
3.4 Leituras das entradas de programação................................................................................................20
3.5 Variáveis de programação.........................................................................................................................20
3.6 Comentários na programação................................................................................................................20
3.7 Dados de programação.............................................................................................................................21
3.8 Tipos de linguagens de programação..................................................................................................21
3.8.1 Linguagem de baixo nível......................................................................................................21
3.8.2 Linguagem de alto nível..........................................................................................................21
3.9 Aplicações das linguagens de programação aos CPs.....................................................................22
3.10 Técnicas estruturadas de programação.............................................................................................22

4  Linguagem ladder (ld).................................................................................................................................................23


4.1 Diagramas de contatos em ladder.........................................................................................................24
4.1.1 Fluxo reverso...............................................................................................................................24
4.1.2 Repetição de contatos ............................................................................................................25
4.1.3 Contatos na vertical..................................................................................................................26
4.1.4 Leitura dos degraus do diagrama Ladder.........................................................................27
4.2 Detecções de eventos................................................................................................................................27
4.3 Contador.........................................................................................................................................................30
4.3.1 Contador crescente...................................................................................................................30
4.3.2 Contador decrescente..............................................................................................................30
4.3.3 Contador bidirecional..............................................................................................................31
4.4 Temporizador................................................................................................................................................33
4.5 Instruções de comparação.......................................................................................................................34
4.6 Instruções matemáticas.............................................................................................................................34
4.6.1 Parâmetros das Instruções......................................................................................................34
4.7 Mover (move)................................................................................................................................................35
4.8 Conversor (convert).....................................................................................................................................35
4.9 PWM..................................................................................................................................................................35
4.10 Interrupções................................................................................................................................................37

5  Referências.......................................................................................................................................................................39
Introdução

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

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 Equipamento eletrônico digital com hardware e software compatíveis com aplicações
Técnicas (ABNT) industriais e residenciais.

International Electrotechnical Sistema eletrônico que opera digitalmente, projetado para uso em ambiente industrial.
Commission (IEC) 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 Aparelho eletrônico digital que utiliza uma memória programável para o
Association (NEMA) 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.

VOCÊ Atualmente, o termo CLP (Controlador Lógico Programável) continua sendo utilizado,
SABIA? mas com o avanço da tecnologia dos controladores, muitos engenheiros e técnicos têm
utilizado, simplesmente, CP.

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 INDUSTRIAL
10

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.

Memória área que armazena os dados do sistema operacional,


executiva gerencia e executa todas as funções operacionais do controlador

Memória área que armazena e apresenta os resultados e/ ou as informações


do sistema intermediárias geradas pelo sistema operacional

Memória área que armazena e apresenta as informações do estado das entradas


e saídas, atualiza o valor do campo e disponibiliza os valores para a
de imagem
memória do usuário
Memória área que armazena o programa desenvolvido pelo usuário
do usuário

Memória área que armazena os dados referentes aos resultados do


programa do usuário que é executado, bem como realiza a troca
de dados de dados entre equipamentos

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 É a composição de duas palavras, ou seja, para os processadores de 16 bits
ou palavra dupla corresponde a um agrupamento de 32 bits.
Long Word É a composição de quatro palavras, ou seja, para os processadores de 16 bits,
ou palavra longa 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.

Terminal de programação
(IHM)

Entradas Saída
Digitais Unidade
Digitais
central de
Memória
processamento
(CPU)
Entradas Saídas
Analógicas Analógicas

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 INDUSTRIAL
12

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) V

C.P.U

ENTRADA 24 VCC

b) V
110/220 VCA C.P.U

Figura 4 - Arquitetura interna do CP: a) entrada corrente contínua; b) entrada corrente alternada.
Fonte: SENAI-RS.

FIQUE 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.
ALERTA 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) ADC D0
+ D1
VIN D2
ENTRADA VREF + D3
D4 C.P.U
VREF - D5
D6
D7

b) bits ( digital )
Entrada em
corrente

A/D UCP

Conversor de
corrente Conversor
em tensão analógico
digital

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


VOCÊ de fase única, de dupla fase, para encoder incremental e absoluto, para termopares e
SABIA? termorresistências, para sensores de ponte balanceada do tipo strain-gauges e para
leitura de grandezas elétricas.

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 INDUSTRIAL
14

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)

C.P.U. SAÍDA

b) +V

C.P.U. SAÍDA

c)

C.P.U. SAÍDA

Figura 6 - Saídas digitais: a) a relé; b) transistor; c) tiristor.


Fonte: SENAI-RS.

FIQUE Por questões de segurança, além de um circuito optoacoplado, os módulos de


ALERTA 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.
8 bits

C.P.U

+
DAC
V +

SAÍDA

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
VOCÊ módulos específicos como os conhecidos módulos PWM para controle de motores C.C.,
SABIA? os módulos para controle de servomotores, os módulos para controle de motores de
passo e os módulos para IHM.

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.

0,000
0,000

IN IN IN

#####
RUN Módulo Digital
STOP Módulo Analógico
FAIL 8 Entradas e
CPU - DC/DC/DC
8 Saídas DC

OUT OUT OUT

*** ***

Figura 8 - Exemplo de utilização dos módulos de entrada e saída.


Fonte: SENAI-RS.

FIQUE 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
ALERTA forma, danificar o equipamento e o próprio CP.
Linguagens de programação

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.

VOCÊ Em 1979 foi dado o primeiro passo para se estabelecer um padrão único para a
SABIA? 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.

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 Linguagem de programação gráfica que utiliza diagramas de blocos de
DIAGRAM)
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 Notação gráfica e textual para a utilização de passos e transições


FUNCTION CHART)
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.

SAIBA Aprofunde seus estudos sobre a norma IEC 61131-3, consultando o arquivo digital
MAIS http://www.zpss.aei.polsl.pl/content/dydaktyka/PC/PLC_IEC61131-3.pdf

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 INDUSTRIAL
18

• 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 dado


X bit
B 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*).

VOCÊ Antes de montar, instalar ou programar, o técnico em mecatrônica ou programador


SABIA? 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.

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 Q5.6 Q= saída M2.1 M= memória


6. = byte 5. = byte 2. = byte
.1 = bit .6 = bit .1 = bit
I:0/3 I:= entrada O:0/2 O:= saída B5:0/6 B5:= binário (memória)
0/ = word 0/ = word 0/ = word
/3 = bit /2 = bit /6 = bit
I4 I = entrada Q2 Q = saída M3 M = memória
4 = bit 2 = bit 3 = bit
Quadro 9 - Descritivo das entradas, saídas e memórias do CP.
Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL
20

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


Tabela de Imagem das entradas
0
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 INDUSTRIAL
22

VANTAGENS DESVANTAGENS
• Não requer do usuário conhecimento sobre a • O número de instruções do programa objeto somente
arquitetura do microprocessador. será conhecido após a compilação do programa fonte.
• Reduz o tempo gasto na elaboração de programas. • 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
& L
B

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)

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 • Sua utilização em programas extensos ou com lógicas mais
(semelhança com diagramas elétricos convencionais com lógica complexas é bastante difícil;
a relés); • Programadores não familiarizados com a operação de relés
• Possibilidade de aproveitamento do raciocínio lógico na tendem a ter dificuldades com esta linguagem;
elaboração de um comando feito com relés; • Edição mais lenta.
• 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.
Quadro 13 - Vantagens e desvantagens da linguagem Ladder.
Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL
24

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.

Contato NA Contato NF Bobina

Barra de Barra de
alimentação alimentação
positiva negativa
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.3 10.4

Fluxo Reverso
10.5

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 M1

M1 12 Q1

12 Q1 Q2

Figura 14 - Repetitividade de entradas e saídas.


Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL
26

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.

CIRCUITO DE COMANDO CIRCUITO DE FORÇA


R S T
FASE
FUSÍVEL FUSÍVEIS
DE COMANDO DE FORÇA

CONTATO DE CONTATOS
RELÉ DE SOBRECARGA C1 DA CONTA-
CTORA C1
BOTOEIRA DE
B0
DESLIGAMENTO ELEMENTOS
DO RELÉ DE
CONTATO AUXILIAR SOBRECARGA
B1 C1 DE AUTO - RETENÇÃO

BOBINA DA
C1 CONTACTORA ATERRAMENTO
M MOTOR
3
NEUTRO

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.

Botão DESLIGAR Saída para o contactor


Botão LIGA
E0.1 E0.0 S1.0
( )
Contato ”Grude” S1.0
da saída Q1.0

Figura 16 - Conversão de um circuito eletromecânico em Ladder.


Fonte: SENAI-RS.
3 CONCEITOS DE ELETRICIDADE BÁSICA
27

VOCÊ 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
SABIA? o curso de eletricidade básica é pré-requisito para a realização do curso de CP.

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 Q0
10 13 Q1

10
11

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 CONTATO DETECTOR CONTATO DETECTOR BOBINA DETECTORA BOBINA DETECTORA
IMPULSOS DE DE BORDA DE SUBIDA DE BORDA DE DE BORDA DE SUBIDA DE BORDA DE
ALGUNS CLPS DESCIDA 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 INDUSTRIAL
28

Observe a Figura 18, que ilustra um exemplo da utilização do contato ou bobina.

10 Q0
P

10 Q0
P
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.

A AU

DIFU

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
ONS
0 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
1:0 One Shot Rising
Storage Bit B3: 1/0
0 Output Bit B3:1/1

OSF
1:0 One Shot Falling
Storsge Bit B3: 1/2
0 Output Bit B3: 1/3

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 M1 M0

10 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 Q0 M0
P S
Q0 M0
R
M0 Q0

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 INDUSTRIAL
30

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.

CTU
CU Q

PV CV

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

CTD
CD Q

LD

PV CV

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).

CTUD
CU QU

CD QD

LD

PV CV

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 INDUSTRIAL
32

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 • Q0 – solenoide de avanço
• I1 – sensor indutivo 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.

10 Q0
S
11 Q0
CU CTU Q R
10
R

20 PV CV

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.

Tx
IN 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


SAIBA linguagem Ladder, entre eles estão o simulador de CP - Easy PLC encontrado na página
MAIS http://saladaautomacao.com.br/download-easyclp-simulador-de-clp/
MECATRÔNICA INDUSTRIAL
34

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 Código decimal binário para inteiro - converte um dado no formato BCD para
decimal to integer) 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.

Tensão na carga (%) Tensão média


t
100
50
0
t1 t2
t1 = t2
Largura do pulso (50% do ciclo ativo)

Figura 30 - Processo de PWM.


Fonte: SENAI-RS.
MECATRÔNICA INDUSTRIAL
36

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 1%
Potência
aplicada á
carga 1%

Tempo

99 %
100

Tempo

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 L1 L2 L3

Sinal Proteção

Controle
Sinal Controlador Inversor
IHM
Programável PWM

Controle
de
Reversão
Velocidade

Entrada

Dinamometro Motor de Indução


Trifasico
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 INDUSTRIAL
38

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 NACIONAL
UNIDADE DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA – UNIEP

Felipe Esteves Pinto Morgado


Gerente Executivo

Nathália Falcão Mendes


Gestora do Programa SENAI de Capacitação Docente

SENAI – DEPARTAMENTO REGIONAL DO RIO GRANDE DO SUL

Claiton Oliveira da Costa


Coordenação da Gerência de Desenvolvimento Educacional no Departamento Regional

Fernando R. G. Schirmbeck
Coordenação Técnica

João Charles dos Santos


Marcelo Luiz de Quadros
Elaboração

Marcelo de Quadros
Revisão Técnica

Enrique S. Blanco
Patricia C. da S. Rodrigues
Design Educacional

Aurélio Rauber
Direção de Arte

Bárbara Polidori Backes


Editoração

Aurélio Rauber
Camila J. S. Machado
Rafael Andrade
Ilustrações

Roberta Triaca
Apoio a Normatização

Enilda Hack
Normatização

Duploklick
Revisão Ortográfica e Gramatical

Você também pode gostar