Você está na página 1de 148

Servio Nacional de Aprendizagem Industrial

Departamento Regional do Rio Grande do Sul

CONTROLADOR LGICO
PROGRAMVEL

SENAI-RS SERVIO NACIONAL DE APRENDIZAGEM INDUSTRIAL


DEPARTAMENTO REGIONAL DO RIO GRANDE DO SUL
CONSELHO REGIONAL
Presidente Nato
Heitor Jos Muller Presidente do sistema FIERGS
Conselheiros Representantes das Atividades Industriais
Titulares

Suplentes

Ademar De Gasperi
Pedro Antnio Leivas Leite
Paulo Vanzzeto Garcia
Astor Milton Schmitt

Arlindo Paludo
Eduardo R. Kunst
Ricardo Wirth
Nelson Eggers

Representantes do Ministrio da Educao


Titular

Suplente

Antnio Carlos Barum Brod

Renato Louzada Meireles

Representantes do Ministrio do Trabalho e Emprego


Titular

Suplente

Leonor da Costa

Flvio Prcio Zacher

Representante dos Trabalhadores


Titular

Suplente

Jurandir Damin

Enio Klein

Diretor Regional e Membro Nato do Conselho Regional do SENAI-RS


Jos Zorta
DIRETORIA SENAI-RS
Jos Zortea - Diretor Regional
Carlos Artur Trein Diretor de Operaes
Carlos Heitor Zuanazzi Diretor Administrativo e Financeiro

Servio Nacional de Aprendizagem Industrial


Departamento Regional do Rio Grande do Sul

CONTROLADOR LGICO
PROGRAMVEL

Caxias do Sul
Julho de 2012

Controlador Lgico Programvel


2012. SENAI-RS.
Trabalho elaborado pela Escola de Educao Profissional SENAI Nilo Peanha, sob
a coordenao, orientao e superviso da Unidade Estratgica de
Desenvolvimento Educacional pertencente Diretoria de Operaes do
Departamento Regional do SENAI do Rio Grande do Sul.
Coordenao geral

Carlos Artur Trein

DIOPE

Coordenao tcnica

Claiton Oliveira da Costa

UEDE

Coordenao local

Saul Joo Devenz

EEP SENAI Nilo Peanha

Elaborao

Andr Augusto Andreis

EEP SENAI Nilo Peanha

Reviso pedaggica

Luciene Gralha da Silva

UEDE

Reviso gramatical e lingustica

Regina Maria Recktenwald

Consultora

Normatizao

Isabel Del Ponte

UNET / NUI

Reproduo grfica

CEP SENAI de Artes Grficas Henrique Dvila Bertaso

_______________________________________________________________________
S491

Servio Nacional de Aprendizagem Industrial (RS)


Controlador lgico programvel / Servio Nacional de Aprendizagem
Industrial (RS). Caxias do Sul: Escola de Educao Profissional SENAI
Nilo Peanha, 2012.
151 p.: il.
1. Sistema de controle automtico. 2. Controlador lgico programvel.
3. Automao industrial I. Ttulo.
CDU 681.51

______________________________________________________________________
Bibliotecrio Responsvel: Isabel Del Ponte - CRB 10/1599

SENAI Departamento Regional do Rio Grande do Sul


Av. Assis Brasil, n 8787 Bairro Sarandi
91140-000 Porto Alegre, RS
Tel.: (051) 3347-8800
Fax: (051) 3347-8813

SENAI - Instituio mantida e administrada pela Indstria


A reproduo total ou parcial desta publicao por quaisquer meios, seja eletrnico, mecnico, de
fotocpia, de gravao ou outros, somente ser permitida com prvia autorizao, por escrito, deste
Departamento Regional.

LISTA DE FIGURAS

Figura 1: Diagramas de Blocos de um CLP .............................................................. 21


Figura 2: Modelo de arquitetura de um CLP.............................................................. 29
Figura 3: Exemplo de CLP compacto ........................................................................ 30
Figura 4: Exemplo de CLP compacto com expanso................................................ 31
Figura 5: Exemplo de CLP modular em rack ............................................................. 31
Figura 6: Exemplo de CLP com IHM incorporada ..................................................... 32
Figura 7: Fluxograma do ciclo de varredura simplificado .......................................... 37
Figura 8: Leitura das entradas................................................................................... 38
Figura 9: Execuo do programa de aplicao ......................................................... 39
Figura 10: Atualizaes das sadas........................................................................... 39
Figura 11: Fluxograma do ciclo de varredura completo do CLP................................ 43
Figura 12: Implantao de um sistema de CP........................................................... 60
Figura 13: CLP convencional versus CLP IEC 61131 ............................................... 73
Figura 14: Modelo de software da norma IEC 61131-3 ............................................. 75
Figura 15: Estrutura de um dado tipo REAL .............................................................. 83
Figura 16: Exemplo de programa em Linguagem IL ................................................. 87
Figura 17: Exemplo de programa em Linguagem ST ................................................ 88
Figura 18: Exemplo de programa em linguagem LD ................................................. 89
Figura 19: Exemplo de programa em linguagem FBD .............................................. 90
Figura 20: Exemplo de estruturao atravs de SFC................................................ 91
Figura 21: Comparao entre a simbologia para circuito eltrico e para Diagrama
Ladder ....................................................................................................................... 97
Figura 22: Exemplo de Diagrama Ladder .................................................................. 97
Figura 23: Execuo de um Diagrama Ladder .......................................................... 98
Figura 24: Contato..................................................................................................... 99
Figura 25: Contato negado ...................................................................................... 100
Figura 26: Contato sensvel borda de subida ....................................................... 100
Figura 27: Contato sensvel borda de descida ..................................................... 100
Figura 28: Bobina .................................................................................................... 101
Figura 29: Bobina negada ....................................................................................... 101
Figura 30: Bobina set .............................................................................................. 101
Figura 31: Bobina reset ........................................................................................... 102
Figura 32: Bobina retentiva (Memria) .................................................................... 102
Figura 33: Bobina set retentiva................................................................................ 102
Figura 34: Bobina reset retentiva ............................................................................ 103
Figura 35: Bobina sensvel borda de subida ........................................................ 103
Figura 36: Bobina sensvel borda de descida....................................................... 104
Figura 37: Exemplo de bloco funcional padro ....................................................... 104
Figura 38: Biestvel SR (set dominante) ................................................................. 105
Figura 39: Biestvel RS (reset dominante) .............................................................. 105
Figura 40: Detector de borda de subida .................................................................. 106
Figura 41: Detector de borda de descida ................................................................ 106
Figura 42: Temporizador na energizao (Timer On-Delay) ................................... 107
Figura 43: Temporizador na desenergizao (Timer Off-Delay) ............................. 107
Figura 44: Temporizador de pulso........................................................................... 108
Figura 45: Contador incremental ............................................................................. 108

Figura 46: Contador decremental ........................................................................... 109


Figura 47: Contador incremental/decremental ........................................................ 110
Figura 48: Exemplo de funo ................................................................................ 110
Figura 49: Adio .................................................................................................... 111
Figura 50: Subtrao .............................................................................................. 111
Figura 51: Multiplicao .......................................................................................... 112
Figura 52: Diviso ................................................................................................... 112
Figura 53: Mdulo da diviso .................................................................................. 113
Figura 54: Movimentador ........................................................................................ 113
Figura 55: AND ....................................................................................................... 114
Figura 56: OR ......................................................................................................... 114
Figura 57: XOR ....................................................................................................... 114
Figura 58: NOT ....................................................................................................... 115
Figura 59: Maior valor ............................................................................................. 115
Figura 60: Menor valor ............................................................................................ 116
Figura 61: Limite ..................................................................................................... 116
Figura 62: Igual ....................................................................................................... 117
Figura 63: Diferente ................................................................................................ 117
Figura 64: Maior que ............................................................................................... 117
Figura 65: Menor que.............................................................................................. 118
Figura 66: Maior ou igual ........................................................................................ 118
Figura 67: Menor ou igual ....................................................................................... 119
Figura 68: Programa em Diagrama Ladder ............................................................ 119
Figura 69: Contato sensvel borda de subida ...................................................... 119
Figura 70: Contato sensvel borda de descida..................................................... 120
Figura 71: Exemplo de bloco funcional biestvel RS (reset dominante) ................. 120
Figura 72: Exemplo de bloco funcional detector de borda de descida .................... 120
Figura 73: Exemplo de bloco funcional temporizador na energizao (Timer OnDelay) ..................................................................................................................... 121
Figura 74: Exemplo de bloco funcional temporizador de pulso............................... 121
Figura 75: Exemplo de bloco funcional contador incremental................................. 122
Figura 76: Exemplo de Programa 1 ........................................................................ 123
Figura 77: Exemplo de Programa 3 ........................................................................ 124
Figura 78: Exemplo de Programa 2 ........................................................................ 125

LISTA DE QUADROS

Quadro 1: Partes da Norma IEC 61131 .................................................................... 47


Quadro 2: Categoria de sobretenso ........................................................................ 53
Quadro 3: Graus de poluio .................................................................................... 56
Quadro 4: Fornecedores e usurios em um sistema de automao ......................... 58

LISTA DE TABELAS

Tabela 1: Faixa de valores por resoluo de entrada analgica ............................... 26


Tabela 2: Faixa de valores por resoluo de sada analgica .................................. 28
Tabela 3: Temperaturas de operao para equipamentos ........................................ 55
Tabela 4: Camadas do modelo OSI .......................................................................... 64
Tabela 5: Funo dos atributos conforme a situao ................................................ 80
Tabela 6: Dados tipo cadeia de bits definidos pela norma ........................................ 82
Tabela 7: Dados tipo inteiro definidos pela norma .................................................... 82
Tabela 8: Dados tipo ponto flutuante definidos pela norma ...................................... 83
Tabela 9: Dados tipo tempo definidos pela norma .................................................... 84
Tabela 10: Dados tipo data e hora definidos pela norma .......................................... 84
Tabela 11: Dados tipo cadeia de caracteres definidos pela norma ........................... 85

SUMRIO

INTRODUO .......................................................................................................... 15
1 HISTRICO ........................................................................................................... 17
1.1 EXERCCIOS ...................................................................................................... 19
2 HARDWARE .......................................................................................................... 21
2.1 FONTE DE ALIMENTAO................................................................................ 21
2.2 CPU (UNIDADE CENTRAL DE PROCESSAMENTO) ........................................ 22
2.2.1 Processador.................................................................................................... 22
2.2.2 Sistema de memrias..................................................................................... 23
2.2.2.1 Memria de sistema ...................................................................................... 23
2.2.2.2 Memria do usurio ....................................................................................... 24
2.2.2.3 Memria de dados ......................................................................................... 24
2.3 MDULOS DE ENTRADA E SADA ................................................................... 24
2.3.1 Entradas .......................................................................................................... 25
2.3.1.1 Entradas digitais ............................................................................................ 25
2.3.1.2 Entradas analgicas ...................................................................................... 26
2.3.1.3 Entradas rpidas ........................................................................................... 26
2.3.2 Sadas .............................................................................................................. 27
2.3.2.1 Sadas digitais ............................................................................................... 27
2.3.2.2 Sadas analgicas ......................................................................................... 28
2.4 BARRAMENTOS ................................................................................................. 29
2.5 MODELOS DE HARDWARE............................................................................... 29
2.5.1 Hardware compacto ....................................................................................... 30
2.5.2 Hardware modular .......................................................................................... 31
2.5.3 Hardware com IHM ......................................................................................... 32
2.6 EXERCCIOS ...................................................................................................... 32
3 CICLO DE FUNCIONAMENTO DE UM CLP CONVENCIONAL ........................... 37
3.1 CICLO DE VARREDURA SIMPLIFICADO .......................................................... 37
3.1.1 Leitura das entradas ...................................................................................... 38
3.1.2 Execuo do programa de aplicao ........................................................... 38
3.1.3 Atualizao das sadas .................................................................................. 39
3.2 CICLO DE VARREDURA COMPLETO ............................................................... 40
3.2.1 Energizao .................................................................................................... 40
3.2.2 Inicializao do hardware .............................................................................. 40
3.2.3 Verificao do hardware ................................................................................ 40
3.2.4 Leitura das entradas ...................................................................................... 41
3.2.5 Verificao da comunicao ......................................................................... 41
3.2.6 Atualizao do relgio de tempo real (RTC) ................................................ 41
3.2.7 Modo de operao .......................................................................................... 41
3.2.8 Execuo do programa de aplicao ........................................................... 42
3.2.9 Atualizao das sadas .................................................................................. 42
3.2.10 Diagnsticos ................................................................................................. 42
3.2.11 Indicao de erro .......................................................................................... 43
3.2.12 CPU em modo de programao .................................................................. 43
3.3 EXERCCIOS ...................................................................................................... 44
4 NORMA IEC 61131 ................................................................................................ 47
4.1 IEC 61131-1: INFORMAES GERAIS ............................................................. 48

4.1.1 Componente ................................................................................................... 49


4.1.2 Controlador programvel .............................................................................. 49
4.1.3 Dispositivo ..................................................................................................... 49
4.1.4 Elemento......................................................................................................... 49
4.1.5 Execuo ........................................................................................................ 49
4.1.6 Falha interna .................................................................................................. 50
4.1.7 Instruo......................................................................................................... 50
4.1.8 Programa aplicativo....................................................................................... 50
4.1.9 Reinicializao a frio ..................................................................................... 50
4.1.10 Reinicializao a quente ............................................................................. 50
4.1.11 Reinicializao morna ................................................................................. 51
4.1.12 Sistema de automao ................................................................................ 51
4.1.13 Sistema de controlador programvel......................................................... 51
4.1.14 Sistema de controle lgico ......................................................................... 51
4.1.15 Sistema de controle sequencial ................................................................. 51
4.1.16 Software do sistema .................................................................................... 52
4.1.17 Tempo de scan ............................................................................................. 52
4.1.18 Watchdog ..................................................................................................... 52
4.2 IEC 61131-2: REQUISITOS DE EQUIPAMENTOS E TESTES .......................... 52
4.2.1 Requisitos funcionais.................................................................................... 53
4.2.1.1 Funcionamento da fonte de alimentao ...................................................... 53
4.2.1.2 Memria de backup ...................................................................................... 54
4.2.1.3 Entradas e sadas digitais (discretas) ........................................................... 54
4.2.1.4 Entradas e sadas analgicas ....................................................................... 54
4.2.2 Requisitos mecnicos ................................................................................... 55
4.2.3 Requisitos ambientais ................................................................................... 55
4.2.4 Requisitos de segurana .............................................................................. 56
4.2.5 Requisitos de compatibilidade eletromagntica (EMC) ............................. 57
4.2.6 Tipos de teste ................................................................................................. 57
4.2.7 Informaes gerais fornecidas pelo fabricante........................................... 57
4.3 IEC 61131-3: LINGUAGENS DE PROGRAMAO ........................................... 57
4.4 IEC 61131-4: ORIENTAES PARA O USURIO ............................................ 58
4.4.1 Condies ambientais ................................................................................... 61
4.4.1.1 Temperatura ................................................................................................. 61
4.4.1.2 Contaminantes .............................................................................................. 61
4.4.1.3 Interferncia eletromagntica ....................................................................... 61
4.4.1.4 Choque e vibrao ........................................................................................ 62
4.4.2 Fiao de campo ............................................................................................ 62
4.4.2.1 Terra de proteo ......................................................................................... 62
4.4.2.2 Terra funcional .............................................................................................. 62
4.4.3 Supresso de rudos e transientes .............................................................. 62
4.4.3.1 Alimentao .................................................................................................. 63
4.4.3.2 Entradas e sadas ......................................................................................... 63
4.4.3.3 Fontes de rudos ........................................................................................... 63
4.4.3.4 Acoplamento de rudos ................................................................................. 63
4.4.4 Identificao de componentes...................................................................... 64
4.5 IEC 61131-5: COMUNICAO .......................................................................... 64
4.6 IEC 61131-7: PROGRAMAO DE CONTROLE FUZZY .................................. 65
4.7 IEC 61131-8: ORIENTAES PARA A APLICAO E IMPLEMENTAO DAS
LINGUAGENS DE PROGRAMAO ................................................................ 66

4.8 PLCopen ............................................................................................................. 66


4.9 PLATAFORMA DE PROGRAMAO CoDeSys ................................................ 67
4.10 EXERCCIOS .................................................................................................... 68
5 NORMA IEC 61131-3 ............................................................................................. 73
5.1 IEC 61131-3: ELEMENTOS COMUNS ............................................................... 74
5.1.1 Configurao .................................................................................................. 75
5.1.2 Recurso ........................................................................................................... 75
5.1.3 Tarefa............................................................................................................... 76
5.1.4 Unidade de organizao de programa (POU) .............................................. 76
5.1.4.1 Programas ..................................................................................................... 76
5.1.4.2 Blocos funcionais .......................................................................................... 76
5.1.4.3 Funes......................................................................................................... 77
5.1.5 Variveis.......................................................................................................... 77
5.1.5.1 Variveis locais ............................................................................................. 77
5.1.5.2 Variveis globais ........................................................................................... 78
5.1.5.3 Variveis de entrada...................................................................................... 78
5.1.5.4 Variveis de sada ......................................................................................... 78
5.1.5.5 Variveis de representao direta ................................................................. 79
5.1.6 Atributos das variveis .................................................................................. 79
5.1.6.1 Identificadores ............................................................................................... 81
5.1.6.2 Tipos de dados .............................................................................................. 81
5.1.7 Caminhos de acesso ...................................................................................... 85
5.2 IEC 61131-3: LINGUAGENS DE PROGRAMAO ........................................... 85
5.2.1 Lista de Instrues (IL Instruction List) .................................................... 86
5.2.2 Texto Estruturado (ST Structured Text) .................................................... 87
5.2.3 Diagrama Ladder (LD Ladder Diagram) ..................................................... 88
5.2.4 Diagrama de Blocos Funcionais (FBD Function Block Diagram) ........... 89
5.2.5 Sequenciamento Grfico de Funes (SFC Sequential Function Charts)
.................................................................................................................................. 90
5.3 EXERCCIOS ...................................................................................................... 92
6 FUNDAMENTOS DE PROGRAMAO PARA DIAGRAMA LADDER ................ 97
6.1 INSTRUES BOOLEANAS .............................................................................. 99
6.1.1 Contatos .......................................................................................................... 99
6.1.1.1 Contato .......................................................................................................... 99
6.1.1.2 Contato negado ............................................................................................. 99
6.1.1.3 Contato sensvel borda de subida ............................................................ 100
6.1.1.4 Contato sensvel borda de descida .......................................................... 100
6.1.2 Bobinas ......................................................................................................... 100
6.1.2.1 Bobina ......................................................................................................... 101
6.1.2.2 Bobina negada ............................................................................................ 101
6.1.2.3 Bobina set ................................................................................................... 101
6.1.2.4 Bobina reset ................................................................................................ 101
6.1.2.5 Bobina retentiva (Memria) ......................................................................... 102
6.1.2.6 Bobina set retentiva ..................................................................................... 102
6.1.2.7 Bobina reset retentiva.................................................................................. 103
6.1.2.8 Bobina sensvel borda de subida ............................................................. 103
6.1.2.9 Bobina sensvel borda de descida ............................................................ 103
6.2 BLOCOS FUNCIONAIS PADRO .................................................................... 104
6.2.1 Biestvel SR (Set dominante)...................................................................... 105
6.2.2 Biestvel RS (reset dominante)................................................................... 105

6.2.3 Detector de borda de subida....................................................................... 106


6.2.4 Detector de borda de descida ..................................................................... 106
6.2.5 Temporizador na energizao (Timer On-Delay)....................................... 106
6.2.6 Temporizador na desenergizao (Timer Off-Delay) ................................ 107
6.2.7 Temporizador de pulso ............................................................................... 107
6.2.8 Contador incremental .................................................................................. 108
6.2.9 Contador decremental ................................................................................. 109
6.2.10 Contador incremental/decremental .......................................................... 109
6.3 FUNES ........................................................................................................ 110
6.3.1 Operadores aritmticos............................................................................... 110
6.3.1.1 Adio ......................................................................................................... 111
6.3.1.2 Subtrao ................................................................................................... 111
6.3.1.3 Multiplicao ............................................................................................... 112
6.3.1.4 Diviso ........................................................................................................ 112
6.3.1.5 Mdulo da diviso ....................................................................................... 112
6.3.2 Operadores de atribuio ........................................................................... 113
6.3.2.1 Movimentador ............................................................................................. 113
6.3.3 Operadores de sequncia de bits............................................................... 113
6.3.3.1 AND ............................................................................................................ 113
6.3.3.2 OR .............................................................................................................. 114
6.3.3.3 XOR ............................................................................................................ 114
6.3.3.4 NOT ............................................................................................................ 115
6.3.4 Operadores de seleo ............................................................................... 115
6.3.4.1 Maior valor .................................................................................................. 115
6.3.4.2 Menor valor ................................................................................................. 115
6.3.4.3 Limite .......................................................................................................... 116
6.3.5 Operadores de comparao ....................................................................... 116
6.3.5.1 Igual ............................................................................................................ 116
6.3.5.2 Diferente ..................................................................................................... 117
6.3.5.3 Maior que .................................................................................................... 117
6.3.5.4 Menor que ................................................................................................... 118
6.3.5.5 Maior ou igual ............................................................................................. 118
6.3.5.6 Menor ou igual ............................................................................................ 118
6.4 EXERCCIOS .................................................................................................... 119
REFERNCIAS ...................................................................................................... 126
ANEXOS................................................................................................................. 129
ANEXO A Introduo PLCopen ..................................................................... 129
ANEXO B IEC 61131-3: a norma para programao ....................................... 133
ANEXO C Os erros mais comuns na interpretao da norma IEC 61131-3 .. 139
ANEXO D Estruturao usando a norma IEC 61131-3: 7 passos para o
sucesso ................................................................................................................. 143

INTRODUO

O CLP1, Controlador Lgico Programvel, um equipamento eletrnico de estado


slido utilizado para o controle de mquinas e processos industriais. Possui uma
memria programvel para armazenar instrues em forma de programa e executar
funes de controle como sequenciamento lgico, temporizao, contagem, controle
aritmtico, manipulao de dados e comunicao em rede.
Concebido para ambientes industriais, pode ser ligado diretamente a sensores e pratuadores existentes em campo e trabalhar em ambientes agressivos onde h
extremos de temperatura, vibraes, rudos e microinterrupes da tenso de
alimentao.
As principais partes do sistema eletrnico de um controlador lgico programvel so:
fonte de alimentao, CPU, barramentos e mdulos de entrada e sada.

Tambm CP, Controlador Programvel, ou PLC, Programmable Logic Controller.


15

16

1 HISTRICO

At o final da dcada de 1950, as linhas de produo industriais utilizavam


dispositivos eletromecnicos, principalmente rels, para a realizao do controle
lgico. Na indstria automobilstica, devido complexidade das linhas de montagem,
era comum a utilizao de centenas de rels associados e, consequentemente, uma
enorme quantidade de conexes eltricas.
Estes sistemas de controle baseados em lgica de rels, apesar de funcionais,
possuam como inconvenientes o alto custo e o longo tempo para instalao e para
manuteno devido a sua complexidade.
Outro inconveniente era dado pela dificuldade existente para modificar o
funcionamento

dos

controles.

Modificaes

nos

circuitos

eltricos

exigiam

interrupes na produo, alto custo de mo de obra e longo tempo de trabalho.


No incio da dcada de 1960, com o desenvolvimento da tecnologia de estado
slido, transistores e circuitos integrados foram utilizados em substituio aos rels,
e no final desta dcada circuitos integrados permitiam o desenvolvimento de
minicomputadores. Na mesma poca, a indstria automobilstica dos Estados
Unidos necessitava diminuir os custos e o tempo de instalao e manuteno dos
painis de controle a rel. Como soluo, a General Motors acreditava em um
sistema baseado no computador.
As principais caractersticas desejadas pela Diviso Hydramatic da General Motors
eram:
equipamento de estado slido;
flexvel como o computador;
com facilidade de programao e manuteno;
que suportasse ar poludo, vibraes, rudos e extremos de temperatura;
de preo competitivo com sistemas de controle a rel.
Em 1968, Richard Morley, junto a um grupo de engenheiros, fundou a Bedford
Associates e criaram o primeiro CLP em resposta requisio da Diviso
Hydramatic da General Motors.

17

Em 1969 foram realizadas as primeiras experincias com um controle lgico de


estado slido configurvel por programas de computador. A idealizao, baseada
nas especificaes da General Motors, desenvolveria o primeiro controlador lgico
programvel, o Modicon 084, que teve seu nome derivado de Modular Digital Control
(Controle Digital Modular) e por ter sido o projeto 84 da Bedford Associates.
Assim como os sistemas a rel, o primeiro CLP destinou-se inicialmente apenas ao
controle discreto (liga/desliga), mas ocupava menos espao, necessitava de menor
quantidade de energia e facilitava a instalao e a manuteno.
Na dcada de 1970, devido ao avano tecnolgico dos microprocessadores, novos
recursos foram incorporados aos controladores lgicos.
1972: funes de temporizao e contagem;
1973: operaes aritmticas e manipulao de dados;
1974: comunicao com interfaces homem-mquina IHM;
1975: maior capacidade de memria, controles analgicos e controle PID;
1979: mdulos remotos de I/O2, controle de posicionamento e redes de
comunicao.
Na dcada de 1980, aperfeioamentos tornaram o CLP um dos equipamentos mais
utilizados na automao industrial.
1981: possibilidade de comunicao em redes;
1982: desenvolvimento de controladores de tamanho reduzido.
Na dcada de 1990 tornou-se possvel o monitoramento local e remoto de alarmes,
tendncias e relatrios, alm do registro de dados.
1990: introduo de interfaces grficas para controle industrial;
1992: conectividade com redes Profibus e Ethernet.
A partir de 2000, a integrao entre o CLP e outros elementos utilizando protocolos
Ethernet e Internet para se conectar web permitiram a superviso e o comando
remoto de processos automatizados.

Input/Output, ou seja, Entradas e Sadas.

18

Atualmente, os CLP possuem como caractersticas:

grande nmero de pontos de entrada e sada em um nico CLP;


mdulos de entrada e sada remotos controlados por um CLP utilizando rede de
comunicao;
recursos para o diagnstico de falhas;
integrao com aplicativos como Excel e Visual Basic;
blocos funcionais avanados utilizando ponto flutuante e funes aritmticas;
maior velocidade para o processamento de dados e a execuo do programa
aplicativo;
sistemas de redundncia para aplicaes que exigem maior segurana;
possibilidade de alterao no programa sem parar a linha de produo quando o
modelo em uso oferecer suporte programao on-line;
possibilita a criao de bancos de dados (receitas);
mantm o funcionamento das linhas de produo mesmo com equipe de
manuteno reduzida;
possibilita o aumento dos sinais de controle (entradas e sadas) atravs de
mdulos de expanso;
permite comunicar-se em redes, como DeviceNet, CANOpen, Profibus, Modbus e
Ethernet, entre outras.

1.1 EXERCCIOS
Exerccio 1: A sigla CLP significa:

a: ( ) computador lgico programvel

b: ( ) computador local programvel

c: ( ) controlador lgico porttil

d: ( ) controlador lgico programvel.

19

Exerccio 2: Durante as dcadas de 1950 e 1960, antes do desenvolvimento do CLP,


as linhas de produo industrial tinham seu funcionamento baseado em:

a: ( ) mo de obra humana

b: ( ) sistemas mecnicos

c: ( ) dispositivos eletromecnicos

d: ( ) circuitos microcontrolados.

Exerccio 3: Alguns inconvenientes dos sistemas de controle utilizados antes do


surgimento do CLP eram:

a: ( ) alto custo, alta complexidade e longo tempo de trabalho para a


instalao;

b: ( ) alto custo, alta confiabilidade e longo tempo de trabalho para a


instalao;

c: ( ) consumo de energia, alta complexidade e longo tempo de trabalho para


a instalao;

d: ( ) consumo de energia, alta complexidade e longo tempo de trabalho para


a manuteno.

Exerccio 4: O CLP surgiu, basicamente, devido s necessidades da indstria


automobilstica dos EUA e evoluo da eletrnica. A indstria automobilstica
diretamente envolvida no surgimento do CLP foi a:

a: ( ) Ford

b: ( ) GM

c: ( ) Kia

d: ( ) Fiat.

Exerccio 5: poca em que os avanos tecnolgicos da eletrnica possibilitaram a


criao do CLP:

20

a: ( ) final da dcada de 1950

b: ( ) incio da dcada de 1960

c: ( ) final da dcada de 1960

d: ( ) incio da dcada de 1970.

2 HARDWARE

As principais partes do sistema eletrnico de um controlador lgico programvel so


fonte de alimentao, CPU, barramentos e mdulos de entrada e sada.

Figura 1: Diagramas de Blocos de um CLP

Fonte: do Autor.

Fonte de alimentao: fornece os valores de tenso para a alimentao da CPU e


dos mdulos de entrada e sada.
CPU: l as entradas, executa o programa de aplicao desenvolvido pelo usurio
e controla as sadas.
Mdulos de entradas e sadas: so responsveis pelo recebimento e envio de
sinais eltricos entre a CPU e o processo controlado.
Barramentos de comunicao: transportam as informaes em forma de sinais
eltricos digitais entre a fonte, a CPU e os mdulos de entrada e sada do CLP.
As caractersticas apresentadas a seguir so baseadas em diversos modelos de
CLP existentes no mercado. Para cada modelo de CLP dever ser consultado seu
manual de instalao e utilizao.

2.1 FONTE DE ALIMENTAO


A fonte de alimentao de um CLP tem como funo fornecer os valores corretos de
tenso para a alimentao da CPU e dos mdulos de entrada e sada, mesmo
quando houver oscilaes no valor de tenso da rede eltrica, garantindo a
21

integridade de todo o sistema. Se a tenso da rede eltrica exceder os limites


mnimo e mximo recomendados, a fonte interagir com a CPU, gerando uma
interrupo, parando a execuo do programa de aplicao e desligando todas as
sadas. Assim, o CLP permanecer em falha, aguardando a interveno do usurio.
Alguns modelos de CLP existentes no mercado possuem uma tenso de
alimentao CC fixa (12V ou 24V), porm outros modelos, utilizando a tecnologia
das fontes chaveadas, possuem ajuste automtico em tenso de alimentao CA
(85-132V, 170-264V ou 85-264V).
Os dispositivos de proteo adequados entrada da fonte de alimentao do CLP
devem ser utilizados conforme a recomendao de cada fabricante, mas em todos
os casos extremamente importante a utilizao de aterramento de acordo com as
normas locais vigentes.
Algumas fontes de alimentao CA de CLP possuem uma sada de tenso auxiliar
de 24Vcc, com corrente em torno de 500mA, para a alimentao dos dispositivos
conectados aos mdulos de entradas do CLP. Para alimentao destes dispositivos
poder ser utilizada uma fonte externa, preservando a fonte interna do CLP em
casos de curto circuito ou outra falha eltrica no circuito externo aos mdulos de
entrada.

2.2 CPU (UNIDADE CENTRAL DE PROCESSAMENTO)


A CPU3, formada pelo processador e pelo sistema de memrias, l as entradas,
executa o programa de aplicao desenvolvido pelo usurio e controla as sadas
respectivamente, realizando o ciclo de varredura (scan) do CLP.

2.2.1 Processador
O nvel tecnolgico de um CLP est diretamente relacionado ao seu processador, o
qual pode ser um microcontrolador comercial, como o 8051, ou um processador
dedicado, desenvolvido especificamente para certo modelo de CLP.

Central Processing Unit.

22

Independentemente da tecnologia aplicada, o processador o responsvel por todo


o gerenciamento do sistema, interpretando sinais eltricos, executando o programa
de aplicao do usurio, fornecendo sinais eltricos, controlando a comunicao
com outros dispositivos e diagnosticando seu prprio sistema. Dependendo do
modelo, um processador pode processar dados de 8, 16, 32 e at 64 bits.
Atualmente,

algumas

CPUs

possuem

sistemas

de

redundncia,

tambm

denominados processamento paralelo, e coprocessadores que auxiliam em


operaes complexas como, por exemplo, posicionamento de eixos.

2.2.2 Sistema de memrias


O sistema de memrias formado pela memria de sistema, a memria do usurio
e a memria de dados.

2.2.2.1 Memria de sistema


Memria do tipo EPROM que contm o programa de execuo (firmware) elaborado
pelo fabricante do CLP, o qual faz a inicializao do controlador, a interpretao do
programa de aplicao desenvolvido pelo usurio, o controle dos mdulos de
entrada e sada e o gerenciamento das demais operaes. Memrias EPROM
(Erasable Programmable Read-Only Memory) so memrias somente de leitura que
podem ser apagadas aplicando luz ultravioleta na janela de cristal existente no corpo
do chip. H casos em que o fabricante do CLP disponibiliza ao usurio uma nova
verso de firmware para corrigir falhas existentes na verso anterior ou para
disponibilizar novos recursos, como a comunicao entre a CPU e um novo modelo
de placa de expanso. Nestes casos, a gravao da nova verso de firmware dever
ser realizada por tcnicos capacitados. Uma gravao mal-sucedida poder danificar
a EPROM permanentemente.

23

2.2.2.2 Memria do usurio


Memria do tipo EEPROM ou RAM com bateria que possibilita armazenar, modificar
e apagar o programa de aplicao desenvolvido pelo usurio para automatizar uma
mquina ou processo industrial. Memrias EEPROM (Electrically Erasable
Programmable Read-Only Memory) so memrias que possuem as mesmas
caractersticas das memrias EPROM, mas com o diferencial que podem ser
apagadas eletricamente. Memrias RAM (Random Access Memory) so memrias
de acesso livre, ou seja, podem ser apagadas e programadas eletricamente, mas
perdem seu programa na ausncia de energia eltrica. Utilizando uma bateria ou
capacitor junto memria RAM, possvel manter o programa gravado mesmo na
ausncia de energia eltrica externa.

2.2.2.3 Memria de dados


Memria do tipo RAM que armazena dados definidos ou acumulados, por
contadores, temporizadores e outros blocos funcionais, durante a execuo do
programa de aplicao desenvolvido pelo usurio. A memria de dados armazena,
tambm, o estado das entradas e sadas, que sero lidas e escritas pelo programa
de aplicao na memria imagem de entradas e na memria imagem de sadas,
respectivamente.
As memrias imagem de entradas e imagem de sadas refletem o estado das
entradas e sadas fsicas e so atualizadas a cada ciclo de varredura do programa
de aplicao. Os dados armazenados sero apagados em caso de falta de energia
eltrica, porm o uso de uma bateria permite tornar parte da memria retentiva,
mantendo seus valores armazenados mesmo em caso de desligamento e
religamento da energia eltrica.

2.3 MDULOS DE ENTRADA E SADA


Os mdulos de entrada e sada so responsveis pela troca (recebimento e envio)
de sinais eltricos (informaes) entre a CPU e o processo controlado. So tambm
24

denominados mdulos I/O, onde I, de input, so as entradas e O, de output, so as


sadas.

2.3.1 Entradas
Entradas so mdulos que recebem sinais eltricos de dispositivos (botes,
sensores, transdutores, clulas de carga) e os repassam CPU para
processamento, identificando o que est ocorrendo nos processos sob o controle do
CLP. As entradas podem ser digitais ou analgicas.

2.3.1.1 Entradas digitais


Tambm denominadas entradas discretas, so entradas destinadas a receber sinais
eltricos de dispositivos (botes, sensores) que gerem um sinal lgico de dois nveis,
ligado (1 ou TRUE) ou desligado (0 ou FALSE). Cada entrada digital denominada
ponto de entrada. As entradas digitais podem ser do tipo CC consumidora de
corrente, CC fornecedora de corrente ou CA.
As entradas CC consumidoras de corrente (current sinking) devem receber um sinal
eltrico positivo, com comum negativo, e so utilizadas para sensores tipo PNP. A
corrente flui da fonte que alimenta os dispositivos de entrada (botes, sensores) para
a entrada.
As entradas CC fornecedoras de corrente (current sourcing) devem receber um sinal
eltrico negativo, com comum positivo, e so utilizadas para sensores tipo NPN. A
corrente flui da entrada para a fonte que alimenta os dispositivos de entrada (botes,
sensores).
As entradas CA devem recebem um sinal eltrico alternado de uma fase, tendo em
comum o neutro ou outra fase.

25

2.3.1.2 Entradas analgicas


So entradas destinadas a receber sinais eltricos de dispositivos (transdutores,
clulas de carga) que geram um sinal varivel de tenso ou de corrente. O sinal
varivel convertido, atravs de um conversor analgico/digital, em sinais digitais
(resoluo de 8, 10, 12 ou 16 bits) para processamento da CPU. Cada entrada
analgica denominada canal de entrada. Em alguns modelos de CLP, o tipo de
sinal eltrico, tenso ou corrente a ser recebido pela entrada pode ser selecionado
atravs do software de programao.
As entradas de tenso recebem sinais eltricos variveis de 0 a 10Vcc. As entradas
de corrente recebem sinais eltricos variveis de 0 a 20mA ou 4 a 20mA,
dependendo do modelo de entrada.
A resoluo das entradas analgicas depender da resoluo do conversor
analgico/digital (A/D Converter) utilizado no CLP. Uma entrada analgica de tenso
operando de 0 a 10V com 8 bits de resoluo, por exemplo, ter o sinal varivel
dividido em 256 partes, pois 28 = 256, interpretando variaes de 39mV; j uma
entrada analgica de tenso operando de 0 a 10V com 16 bits de resoluo ter o
sinal varivel dividido em 65536 partes, pois 216 = 65536, interpretando variaes de
0,15mV. As resolues normalmente encontradas so:

Tabela 1: Faixa de valores por resoluo de entrada analgica


Resoluo
8 bits
10 bits
12 bits
16 bits

Faixa de valores
0 a 255
0 a 1023
0 a 4095
0 a 65535

Fonte: do Autor.

Quanto maior for a quantidade de bits, menor ser a variao do incremento


interpretado e melhor ser a resoluo da entrada analgica.

2.3.1.3 Entradas rpidas


As entradas digitais tm sua frequncia de contagem de pulsos limitada,
normalmente, a 1kHz. Entradas rpidas admitem frequncia de pulsos de at 50kHz,
26

por exemplo. Elas so destinadas a receber pulsos de contagem crescente ou


decrescente de sensores de proximidade, encoders incrementais ou encoders
absolutos. So utilizadas para a contagem de peas, o controle de posicionamento,
a medio de comprimento e a medio de velocidade, entre outras aplicaes.

2.3.2 Sadas
Sadas so mdulos que enviam sinais eltricos recebidos da CPU para dispositivos
(contatores, sinalizadores, vlvulas proporcionais, inversores de frequncia) que
atuam sobre os processos que esto sob o controle do CLP. As sadas podem ser
digitais ou analgicas.

2.3.2.1 Sadas digitais


Tambm denominadas sadas discretas, so sadas destinadas a enviar sinais
eltricos a dispositivos (contatores, sinalizadores) que recebam um sinal lgico de
dois nveis, ligado (1 ou TRUE) ou desligado (0 ou FALSE). Cada sada digital
denominada ponto de sada. As sadas digitais podem ser do tipo transistor, triac ou
rel.
As sadas a transistor podem comutar sinais CC para cargas de at 500mA,
normalmente. Sendo um componente de estado slido, o transistor possui longa
vida til, podendo atingir at 1.000.000 de acionamentos. A sada a transistor
recomendada nos casos de acionamentos repetitivos com frequncia de operao
de 50KHz, por exemplo.
As sadas a triac, assim como as sada a transistor, so recomendadas em casos de
acionamentos repetitivos com alta frequncia de operao. Sendo um componente
de estado slido, o triac possui longa vida til, podendo atingir at 1.000.000 de
acionamentos. Diferentemente das sadas a transistor, as sadas a triac podem
comutar apenas sinais CA para cargas de at 500mA, normalmente.
As sadas a rel podem comutar sinais CA ou CC para cargas de at 1A. Possuem
como caracterstica a robustez, pois so praticamente imunes aos transientes da
rede eltrica. Como o rel um dispositivo eletromecnico, que possui contato
27

mvel, sua vida til est limitada entre 150.000 e 300.000 acionamentos.

2.3.2.2 Sadas analgicas


So

sadas destinadas

enviar sinais

eltricos

dispositivos

(vlvulas

proporcionais, inversores de frequncia) que recebem um sinal varivel de tenso ou


de corrente. O sinal varivel processado pela CPU em forma de sinais digitais
(resoluo de 8, 10, 12 ou 16 bits) e convertido, atravs de um conversor
analgico/digital, para a sada. Cada sada analgica denominada canal de sada.
Em alguns modelos de CLP, o tipo de sinal eltrico, tenso ou corrente a ser enviado
pela sada pode ser selecionado atravs do software de programao.
As sadas de tenso enviam sinais eltricos variveis de 0 a 10Vcc. As sadas de
corrente enviam sinais eltricos variveis de 0 a 20mA ou 4 a 20mA, dependendo do
modelo de sada.
A resoluo das sadas analgicas depender da resoluo do conversor
digital/analgico (D/A Converter) utilizado no CLP. Uma sada analgica de tenso
operando de 0 a 10V com 10 bits de resoluo, por exemplo, ter o sinal varivel
dividido em 1.024 partes, pois 210 = 1024, gerando variaes de 9,76mV; j uma
sada analgica de tenso operando de 0 a 10V com 12 bits de resoluo ter o
sinal varivel dividido em 4.096 partes, pois 212 = 4.096, gerando variaes de
2,44mV.

Tabela 2: Faixa de valores por resoluo de sada analgica


Resoluo
8 bits
10 bits
12 bits
16 bits

Faixa de valores
0 a 255
0 a 1023
0 a 4095
0 a 65535

Fonte: do Autor

Quanto maior for a quantidade de bits, menor ser a variao do incremento gerado
e melhor ser a resoluo da sada analgica.

28

2.4 BARRAMENTOS
As informaes dentro do CLP so formadas por sinais digitais e transportadas
internamente pelos barramentos

(BUS).

Fisicamente,

os barramentos

so

condutores ou trilhas de uma placa de circuito impresso utilizados para envio e


recebimento de sinais eltricos. O CLP possui quatro barramentos:
Barramento de dados: transporta as informaes entre a CPU e os mdulos de
entrada e sada e entre o processador e as memrias dentro da CPU.
Barramento de endereos: transporta os endereos dos locais onde cada
informao pode ser localizada, lida ou escrita na memria. Cada informao
possui um endereo de localizao exclusivo.
Barramento de controle: transporta os sinais utilizados para o controle de servios
internos, como sincronizao e validao de mudanas, entre outros.
Barramento de alimentao: distribui as tenses fornecidas pela fonte de
alimentao para a CPU, mdulos de entrada e mdulos de sada.

Figura 2: Modelo de arquitetura de um CLP

Fonte: do Autor.

2.5 MODELOS DE HARDWARE


Existem basicamente dois modelos de estrutura de hardware para CLP, o modelo
compacto e o modelo modular.

29

2.5.1 Hardware compacto


O modelo compacto constitudo por fonte, CPU, entradas e sadas integradas em
uma nica estrutura, e utilizado em pequenos sistemas de automao. Possui
entre 6 e 36 entradas e entre 4 e 24 sadas, e uma memria que pode armazenar
cerca de 300 a 1.000 instrues.

Figura 3: Exemplo de CLP compacto

Fonte: do Autor.

Alguns modelos compactos possuem a capacidade de serem expandidos atravs


mdulos de expanso com entradas ou sadas, digitais ou analgicas. Os mdulos
de expanso podem ter entre 4 e 16 entradas ou sadas digitais, entre 2 e 8
entradas ou sadas analgicas. As expanses podem ser, tambm, mdulos mistos
com entradas e sadas, mdulos para termopar (tipo J, K, R, S, E, T, B e N),
mdulos para PT100, mdulos para PT1000 ou mdulos para comunicao (RS232,
RS485, Ethernet), entre outros.

30

Figura 4: Exemplo de CLP compacto com expanso

Fonte: do Autor.

2.5.2 Hardware modular


O modelo modular constitudo por mdulos separados para fonte de alimentao,
CPU, entradas e sadas, e normalmente utilizado em sistemas de automao de
mdio e grande porte. Os mdulos necessrios para automatizar um determinado
sistema so definidos pelo usurio, sendo fcil obter um CLP que se adapte
necessidade. Os mdulos podem ser projetados para instalao em estruturas
denominadas rack, para interligao por cabos planos (flat cable), ou para
acoplamento por conectores, dependendo do modelo.

Figura 5: Exemplo de CLP modular em rack

Fonte: do Autor.

Um rack pode suportar entre 4 e 24 mdulos, mas a interligao de racks possibilita


obter um CLP com at 9.000 pontos.
31

2.5.3 Hardware com IHM


Alm dos modelos compacto e modular, atualmente comum encontrar no mercado
de automao produtos integrados em que o CLP possui uma IHM4 incorporada a
sua estrutura. Os sistemas integrados podem apresentar uma estrutura semelhante
ao CLP modelo compacto ou ao modelo modular.

Figura 6: Exemplo de CLP com IHM incorporada

Fonte: do Autor.

A IHM integrada pode ser apenas um display alfanumrico com algumas teclas de
funo, ou at uma tela grfica colorida sensvel ao toque (touch screen).

2.6 EXERCCIOS
Exerccio 1: As principais partes do sistema eletrnico de um CLP so:

a: ( ) fonte de alimentao, CPU, monitor, teclado e mouse;

b: ( ) fonte de alimentao, CPU, barramentos e mdulos de entrada e sada;

c: ( ) CPU, monitor, teclado e mouse;

d: ( ) CPU, monitor e mdulos de entrada e sada.

Interface Homem-Mquina.

32

Exerccio 2: A fonte de alimentao interna de um CLP:


I. No necessita de nenhum dispositivo externo de proteo.
II. Fornece os valores corretos de tenso para a CPU e para os mdulos de entrada
e sada.

a: ( ) I e II so verdadeiras.

b: ( ) I e II so falsas.

c: ( ) I verdadeira e II falsa.

d: ( ) I falsa e II verdadeira.

Exerccio 3: A CPU de um CLP formada pelo processador e pelo sistema de


memrias:
I. A _______________ armazena dados definidos ou acumulados por contadores,
temporizadores e outros blocos funcionais, durante a execuo do programa de
aplicao desenvolvido pelo usurio.
II. O _______________ o responsvel por todo o gerenciamento do sistema,
interpretando sinais eltricos, executando o programa de aplicao do usurio,
fornecendo sinais eltricos, controlando a comunicao com outros dispositivos e
diagnosticando seu prprio sistema.
III. A _____________ armazena o programa de aplicao desenvolvido pelo usurio.
IV. A _____________ faz a inicializao do controlador, a interpretao do programa
de aplicao desenvolvido pelo usurio, o controle dos mdulos de entrada e
sada e o gerenciamento das demais operaes.

a: ( ) memria de sistema, processador, memria de dados, memria do


usurio;

b: ( ) memria do usurio, processador, memria de sistema, memria de


dados;

c: ( ) memria de dados, processador, memria do usurio, memria de


sistema;

d: ( ) memria de dados, processador, memria de sistema, memria do


usurio.

33

Exerccio 4: Quanto aos tipos de entrada digital:


I.

As entradas CC sinking recebem um sinal eltrico positivo e so utilizadas para


sensores PNP.

II. As entradas CC sourcing recebem um sinal eltrico negativo e so utilizadas


para sensores PNP.
III. As entradas CA recebem um sinal eltrico alternado.
IV. As entradas CC sinking recebem um sinal eltrico positivo e so utilizadas para
sensores NPN.
V. As entradas CC sourcing recebem um sinal eltrico negativo e so utilizadas
para sensores NPN.

a: ( ) verdadeiro, falso, falso, falso, verdadeiro;

b: ( ) verdadeiro, falso, verdadeiro, falso, verdadeiro;

c: ( ) falso, verdadeiro, falso, verdadeiro, falso;

d: ( ) falso, verdadeiro, verdadeiro, verdadeiro, falso.

Exerccio 5: As sadas a transistor de um CLP:


I. So utilizadas para comutar apenas sinais CC.
II. So recomendadas em casos que necessitam de acionamentos repetitivos com
alta frequncia.

a: ( ) I e II so verdadeiras.

b: ( ) I e II so falsas.

c: ( ) I verdadeira e II falsa.

d: ( ) I falsa e II verdadeira.

Exerccio 6: As sadas a triac de um CLP:


I. So utilizadas para comutar apenas sinais CA.
II. Possuem longa vida til por serem um elemento de estado slido.

34

a: ( ) I e II so verdadeiras.

b: ( ) I e II so falsas.

c: ( ) I verdadeira e II falsa.

d: ( ) I falsa e II verdadeira.

Exerccio 7: As sadas a rel de um CLP:


I. So utilizadas para comutar apenas sinais CC.
II. So praticamente imunes aos transientes da rede eltrica.

a: ( ) I e II so verdadeiras.

b: ( ) I e II so falsas.

c: ( ) I verdadeira e II falsa.

d: ( ) I falsa e II verdadeira.

35

36

3 CICLO DE FUNCIONAMENTO DE UM CLP CONVENCIONAL

O funcionamento do CLP realizado conforme o programa de execuo (firmware)


existente na memria de sistema. Para que o desenvolvimento de um programa de
aplicao seja correto e eficaz, importante conhecer como ocorre o ciclo de
funcionamento do CLP e como as informaes so gerenciadas pela CPU.

3.1 CICLO DE VARREDURA SIMPLIFICADO


Basicamente, a CPU l as entradas, executa o programa de aplicao desenvolvido
pelo usurio e controla as sadas, realizando o ciclo de varredura (ciclo de scan) do
CLP. Este ciclo repetido continuamente, e o tempo necessrio para cada execuo
denominado tempo de ciclo (tempo de scan). O tempo depender do modelo de
processador, do tamanho do programa a ser executada e da quantidade de pontos
de entrada e sada, estando entre alguns nanossegundos (1ns = 10-9s) e algumas
dezenas de milissegundos (1ms = 10-3s).

Figura 7: Fluxograma do ciclo de varredura simplificado

Fonte: Silveira; Santos, 1999.

37

3.1.1 Leitura das entradas


Em um ciclo de varredura, a primeira etapa realizada pela CPU a leitura das
entradas e o armazenamento do estado de cada uma na tabela de imagem das
entradas que existe na memria de dados (memria RAM), onde cada entrada
possui um endereo especfico.

Figura 8: Leitura das entradas

Fonte: Adaptado de Georgini, 2007.

O armazenamento prvio do estado das entradas evita imprevistos durante a


execuo do programa. Assim, a execuo do programa ser realizada tendo como
base o estado armazenado de cada entrada e no o estado fsico, o qual poder ser
alterado durante a execuo do programa. As entradas sero lidas novamente pela
CLP somente no incio do prximo ciclo de varredura.

3.1.2 Execuo do programa de aplicao


Aps o armazenamento do estado das entradas na tabela de imagem das entradas,
a CPU executa o programa de aplicao desenvolvido pelo usurio. O programa, em
Diagrama Ladder, executado linha a linha, da esquerda para a direita e de cima
para baixo. Assim, as linhas sero executadas em sequncia at o final do
programa. Durante a execuo, a CPU armazena na tabela de imagem das sadas o
estado que cada sada fsica dever ter.
38

Figura 9: Execuo do programa de aplicao

Fonte: Adaptado de Georgini, 2007.

3.1.3 Atualizao das sadas


Como ltima etapa, aps a execuo do programa de aplicao cada sada recebe o
estado correspondente que ficou armazenado na tabela imagem das sadas. Assim,
todas as sadas so atualizadas no mesmo momento.

Figura 10: Atualizaes das sadas

Fonte: Adaptado de Georgini, 2007.

Atualizadas as sadas, um novo ciclo de varredura iniciado realizando novamente a


leitura das entradas.

39

3.2 CICLO DE VARREDURA COMPLETO


O ciclo de varredura completo do CLP pode apresentar algumas diferenas e
particularidades, dependendo da complexidade e do nvel tecnolgico de cada
modelo, porm pode ser definido com algumas etapas presentes em grande parte
dos modelos disponveis no mercado.

3.2.1 Energizao
A fonte de alimentao energizada, estabiliza e filtra a tenso recebida da rede
eltrica, fornecendo os valores corretos de tenso para a alimentao da CPU e dos
mdulos de entrada e sada.

3.2.2 Inicializao do hardware


A CPU inicializa o hardware verificando se h variveis retentivas na memria.
Variveis retentivas mantm seu valor mesmo em caso de desligamento e
religamento do CLP, desde que a bateria existente junto memria RAM esteja com
suas caractersticas eltricas preservadas. As variveis no-retentivas sero
inicializadas com seu valor de inicializao pr-determinado.

3.2.3 Verificao do hardware


A CPU verifica se a configurao das entradas e sadas presentes no hardware
igual s entradas e sadas configuradas em software pelo usurio. Em geral, a CPU
no aceita receber o programa de aplicao desenvolvido pelo usurio quando h
alguma incompatibilidade deste tipo, porm em um CLP modular as placas podem
ter sido alteradas pelo usurio durante um desligamento. Assim, se for verificada
alguma incompatibilidade, a CPU poder indicar a existncia de erro grave,
passando automaticamente para modo de programao, indicando falha e
desligando todas as sadas.
40

3.2.4 Leitura das entradas


A CPU verifica o estado das entradas e armazena na tabela de imagem de entradas
existente na memria de dados (memria RAM).

3.2.5 Verificao da comunicao


A CPU verifica se h alguma informao a ser recebida ou enviada a algum
dispositivo conectado sua porta de comunicao (RS232, RS422, Ethernet...).

3.2.6 Atualizao do relgio de tempo real (RTC5)


A CPU atualiza a rea de memria reservada ao relgio, calendrio e diagnsticos
do sistema.

3.2.7 Modo de operao


A CPU verifica se o modo de operao selecionado execuo (run) ou
programao (prog, pgm ou stop). O modo de operao do CLP pode ser
selecionado atravs do software de programao ou, em alguns modelos, atravs de
uma chave existente na CPU. No modo de execuo, a CPU l as entradas, executa
o programa de aplicao desenvolvido pelo usurio e atualiza as sadas.
No modo de programao, a CPU no executa o programa e mantm as sadas
fsicas desligadas. O modo de programao tem como funo permitir a gravao do
programa de aplicao na memria do usurio (memria EEPROM ou RAM com
bateria) de forma segura, evitando acionamentos repentinos e indesejados na
mquina ou processo controlado.
Alguns modelos de CLP com suporte programao online permitem modificaes
no programa de aplicao mesmo quando a CPU estiver em modo de execuo.

Real Time Clock


41

Nestes casos, o usurio pode alterar o programa diretamente na CPU do CLP.


Quando for iniciada a alterao de alguma linha do programa, a CPU far uma cpia
desta linha.
A linha original continua sendo executada e o usurio altera a cpia. Quando o
usurio terminar a alterao desejada, a CPU substituir a linha original por sua
cpia modificada, sem parar a execuo do programa.

3.2.8 Execuo do programa de aplicao


A CPU executa o programa de aplicao desenvolvido pelo usurio e armazenado
na memria do usurio (memria EEPROM ou RAM com bateria).

3.2.9 Atualizao das sadas


A CPU verifica os estados armazenados na tabela de imagem de sadas, gerada
durante a execuo do programa de aplicao, e atualiza as sadas.

3.2.10 Diagnsticos
A CPU realiza todos os diagnsticos, calcula o tempo do ciclo de varredura (tempo
de scan) e reinicia o temporizador de Watchdog (co de guarda). O tempo de ciclo
de varredura o tempo que a CPU necessita para ler as entradas, executar o
programa e atualizar as sadas. Watchdog o nome dado ao sistema responsvel
pelo monitoramento deste tempo. O tempo de Watchdog o tempo mximo que
cada ciclo de varredura deve durar. Se o tempo de ciclo de varredura for maior que o
tempo de Watchdog, a CPU acusa a existncia de erro grave e passa para o modo
de programao, parando a execuo do programa e desligando todas as sadas
fsicas. Se no houver erros, a CPU retorna ao incio de ciclo, realizando novamente
a leitura das entradas.

42

3.2.11 Indicao de erro


A CPU armazena em variveis internas o cdigo de um erro ocorrido. Se o erro no
for considerado grave, ela retornar ao incio de ciclo, realizando novamente a leitura
das entradas. Se o erro for considerado grave, a CPU indicar a existncia do erro,
normalmente atravs de um LED, passar para modo de programao e desligar
todas as sadas fsicas.

3.2.12 CPU em modo de programao


A CPU passa automaticamente para modo de programao, parando a execuo do
programa e desligando todas as sadas.

Figura 11: Fluxograma do ciclo de varredura completo do CLP

Fonte: Adaptado de Georgini, 2007.

43

A energizao, a inicializao do hardware e a verificao do hardware ocorrem


somente no momento da energizao do CLP. As demais etapas ocorrem
ciclicamente ou por ocorrer alguma situao especfica como, por exemplo, falha.

3.3 EXERCCIOS
Exerccio 1: Aps ser energizado, o CLP verifica a integridade fsica de seu
hardware. Explique com suas palavras o que ocorre nesta etapa.

Exerccio 2: O ciclo de varredura simplificado do CLP composto de trs partes.


Quais so elas?

Exerccio 3: Anterior execuo do programa de aplicao, a CPU realiza a leitura


das entradas. Explique com suas palavras o que ocorre nesta etapa:

Exerccio 4: Aps a execuo do programa de aplicao, a CPU realiza a


atualizao das sadas. Explique com suas palavras o que ocorre nesta etapa.

44

Exerccio 5: Como ocorre a execuo do programa de aplicao?

Exerccio 6: A CPU possui, basicamente, dois modos de operao, denominados


programao e execuo. Explique com suas palavras cada modo de operao.

Exerccio 7: Alguns modelos de CLP possuem suporte programao online. O que


isto significa?

Exerccio 8: Qual a finalidade do temporizador de Watchdog existente no CLP?

Exerccio 9: O que ocorre quando a CPU do CLP identificar a existncia de algum


erro grave?

45

46

4 NORMA IEC 61131

O termo CLP, controlador lgico programvel, tradicionalmente utilizado para


representar equipamentos eletrnicos utilizados para o controle de mquinas e
processos industriais. Neste captulo, que aborda a norma IEC, ser utilizado o
termo CP, controlador programvel, por ser mais amplo do que o termo tradicional.
Um CP moderno desempenha funes alm da simples lgica discreta do CLP
tradicional.
Durante a dcada de 1970 surgiram no mercado mundial diversos fabricantes de
CP, cada um com seus padres de hardware e de software.
Em 1979 foram criados dentro da IEC6, o Comit Internacional de Eletrotcnica,
grupos de trabalho para determinar padres de hardware, instalao, teste,
documentao, programao e comunicao para CP. Cada grupo estava
designado a elaborar uma das partes da norma IEC 61131, e em 1992 foram
publicados os primeiros trabalhos.
Atualmente, a norma IEC 61131 est dividida em oito partes.

Quadro 1: Partes da Norma IEC 61131


Parte

Ttulo

General Information

Equipment Requirements and Tests

Programming Languages

User Guidelines

5
6

Providing User Oriented Communication


---

Fuzzy Control Programming

Guidelines for the Application and


Implementation of Programming
Languages

Contedo
Informaes gerais sobre terminologia e
conceitos.
Testes para hardware (estrutura
mecnica e eletrnica).
Software e linguagens de programao.
Orientaes para o usurio, instalao e
manuteno dos CP.
Comunicao com outros dispositivos.
Reservada.
Funcionalidades de software para
tratamento de lgica nebulosa.
Orientaes para aplicao das
linguagens de programao IEC 61131-3.

Fonte: Fonseca; Seixas Filho; Bottura Filho, 2008.

International Electrotechnical Commission, entidade de padronizao internacional criada em 1906.


47

A norma IEC 61131 aplica-se aos controladores programveis e seus perifricos


associados, tais como ferramentas para programao e interfaces homem-mquina
(IHM), entre outros, que tm como funo o controle de mquinas e processos
industriais.
Os controladores programveis e seus perifricos associados so destinados para
serem utilizados em ambiente industrial. Se um CP ou seus perifricos associados
forem destinados ao uso em outros ambientes, como a automao residencial, ento
os requisitos especficos, normas e prticas de instalao para estes ambientes
devero ser adicionalmente aplicados ao CP e seus perifricos.
Esta norma aplica-se a qualquer produto que exera a funo de controlador
programvel, seja um hardware especfico ou um computador com caractersticas
para ambiente industrial. Esta norma no aborda a segurana funcional ou outros
aspectos do sistema automatizado como um todo. Um CP e seus perifricos
associados so considerados apenas um dos componentes de um sistema de
automao.
Assim, consideraes de segurana para todo o sistema automatizado, incluindo
instalaes e aplicaes, esto fora do escopo desta norma. No entanto, so
abordadas a segurana em relao a choques eltricos e riscos de incndio, a
imunidade interferncia eltrica e a deteco de erros nas operaes do sistema.

4.1 IEC 61131-1: INFORMAES GERAIS


A parte 1 da norma fornece as definies dos termos e conceitos utilizados, alm de
identificar as principais caractersticas funcionais de controladores programveis.
Os termos de uso geral da norma IEC 61131, que no so encontrados no IEV
(International Electrotechnical Vocabulary), esto definidos nesta parte.
Alguns dos termos definidos pela IEC 61131-1 so: componente; controlador
programvel; dispositivo; elemento; execuo; falha interna; instruo; programa
aplicativo; programa do CP; reinicializao a frio, a quente e morna; sistema de
automao; sistema de controlador programvel; sistema de controle lgico; sistema
de controle sequencial; software do sistema; tempo de scan e Watchdog.

48

4.1.1 Componente
O componente qualquer dispositivo ou programa aplicativo que faz parte de um
sistema de automao.

4.1.2 Controlador programvel


O controlador programvel (CP) um sistema eletrnico digital projetado para uso
em ambientes industriais, que utiliza uma memria programvel para o
armazenamento das instrues definidas pelo usurio para a implementao de
funes especificas como lgica, sequenciamento, temporizao, contagem e
aritmtica, a fim de controlar mquinas e processos atravs de entradas e sadas,
digitais e analgicas.

4.1.3 Dispositivo
Dispositivo o nome de uma parte de um sistema de CP.

4.1.4 Elemento
O elemento a parte de uma linguagem grfica que corresponde a uma instruo
em linguagem textual.

4.1.5 Execuo
Trata-se a execuo do processamento das operaes de uma parte especfica de
um programa aplicativo.

49

4.1.6 Falha interna


A falha interna uma falha ocorrida no hardware ou no software do sistema do CP,
no incluindo o programa aplicativo desenvolvido pelo usurio.

4.1.7 Instruo
A Instruo um elemento de linguagem de programao que determina uma
operao e os valores de seus operandos.

4.1.8 Programa aplicativo


O programa aplicativo o agrupamento lgico de todos os elementos de
programao e construes necessrias ao processamento de sinais requeridos por
um CP para o controle de uma mquina ou processo. O programa do CP o mesmo
que programa aplicativo.

4.1.9 Reinicializao a frio


Reinicializao a frio a reinicializao do sistema de CP e do programa aplicativo
em que todas as variveis receberem seu valor inicial pr-determinado.

4.1.10 Reinicializao a quente


Reinicializao a quente a reinicializao do sistema de CP em que todas as
variveis do programa aplicativo permaneam inalteradas.

50

4.1.11 Reinicializao morna


Reinicializao morna a reinicializao do sistema de CP e do programa aplicativo
em que as variveis com atributo de reteno permanecem inalteradas, e as demais
variveis recebem seu valor inicial pr-determinado.

4.1.12 Sistema de automao


Sistema de automao um sistema de controle que est alm do escopo da norma
IEC 61131, no qual os sistemas de CP esto incorporados, incluindo outros
componentes e seus programas aplicativos.

4.1.13 Sistema de controlador programvel


Sistema de controlador programvel a configurao, construda pelo usurio,
necessria para um determinado sistema de automao. A configurao formada
por um controlador programvel e seus perifricos.

4.1.14 Sistema de controle lgico


Sistema de controle lgico um sistema de controle no qual os estados das sadas
so definidos em funo do estado das entradas.

4.1.15 Sistema de controle sequencial


Sistema de controle sequencial um sistema de controle onde so executados
passos individuais em uma ordem pr-determinada, e a progresso de um passo
para o outro depende de as condies pr-definidas estarem satisfeitas.
Este sistema pode ser dependente do tempo, onde a condio para a transio de
um passo para o outro somente tempo, ou pode depender de eventos externos,
51

onde a condio para a transio de um passo para o outro so sinais de entrada ou


uma combinao de sinais de entrada e tempo.

4.1.16 Software do sistema


Software do sistema um programa escrito pelo fabricante do dispositivo que define
como ser sua operao. O software de sistema responsvel por realizar a
converso das instrues do programa aplicativo para o cdigo de mquina a ser
executado pelo hardware do dispositivo.

4.1.17 Tempo de scan


Tempo de scan o tempo decorrido entre o incio e o prximo incio de execuo de
uma mesma parte do programa aplicativo, incluindo o tempo necessrio para a
atualizao das entradas e sadas, quando utilizadas.

4.1.18 Watchdog
Watchdog um meio proporcionado pelo fabricante para monitorar a durao
(tempo) das funes internas de hardware, das funes do programa aplicativo e
das funes do sistema operacional. Caso o tempo de durao de alguma destas
funes seja maior que um intervalo de tempo pr-determinado, sero executadas
aes especficas como, por exemplo, a parada do dispositivo.

4.2 IEC 61131-2: REQUISITOS DE EQUIPAMENTOS E TESTES


A parte 2 da norma define os requisitos funcionais, mecnicos, ambientais, de
segurana, de compatibilidade eletromagntica (EMC), os tipos de teste e as
informaes gerais a serem fornecidas pelo fabricante.
Os equipamentos abrangidos pela norma destinam-se ao uso na categoria de
52

sobretenso II, conforme a norma IEC 60664-1, onde a tenso nominal de


alimentao no exceda 1000Vrms ou 1500Vcc.

Quadro 2: Categoria de sobretenso


Categoria de
sobretenso
I
II
III
IV

Situao
Equipamento ligado a circuitos em que foram tomadas precaues especiais
para a limitao das sobretenses.
Equipamento que se encontra ao nvel do usurio. o caso tpico de
sistemas autmatos alimentados a partir da rede eltrica.
Equipamento que se encontra dentro de um edifcio e que faz parte da
instalao fixa.
Equipamento que se encontra na origem da instalao.

Fonte: do Autor.

As categorias de sobretenso tm a ver com o surgimento de sobretenses no


equipamento provocadas por descargas atmosfricas ou por comutao de
aparelhos na rede eltrica.
Se um controlador programvel ou seus perifricos associados forem aplicados em
instalaes da categoria de sobretenso III, ser necessria uma anlise adicional
para determinar a adequao dos equipamentos para tal situao.

4.2.1 Requisitos funcionais


Este item descreve as caractersticas eletrnicas de alimentao, backup e entradas
e sadas.

4.2.1.1 Funcionamento da fonte de alimentao


A entrada das fontes de alimentao e os mdulos de entrada e sada esto
especificados como:
faixas de tenso CC: 24V, 48V, 110V e 125V, com tolerncia de -15%/+20%;
faixas de tenso CA rms: 24V, 48V, 100V, 110V, 120V, 200V, 230V, 240V, 380V
e 400V com tolerncia de -15%/+10%, em frequncias de 50Hz ou 60Hz com
tolerncia de -5%/+5%.
53

4.2.1.2 Memria de backup


As memrias de backup devem ser capazes de manter as informaes por ao
menos 300 horas em uso normal e 1.000 horas se temperatura no maior que 25C.

4.2.1.3 Entradas e sadas digitais (discretas)


Este item especifica as caractersticas eltricas e construtivas das entradas e sadas
digitais, como impedncia de entrada, aterramento e tipos de sada, entre outros.
As sadas podem ser protegidas, prova de curto-circuito ou no protegidas. Para
as sadas no protegidas deve ser utilizado algum dispositivo externo para proteo,
conforme recomendado pelo fabricante. As sadas a rel, comumente utilizadas
devido a sua robustez e flexibilidade para a comutao de cargas CA ou CC, devem
executar no mnimo 300.000 operaes na carga especificada.

4.2.1.4 Entradas e sadas analgicas


As entradas analgicas podem operar em faixas de tenso:
-10V a +10V, com limite de impedncia de entrada
0 a 10V, com limite de impedncia de entrada
1 a 5V, com limite de impedncia de entrada

10k;

10k;
5k.

As entradas analgicas tambm podem operar em faixa de corrente:


0 a 20mA, com limite de impedncia de entrada

300;

4 a 20mA, com limite de impedncia de entrada

300.

As sadas analgicas podem operar em faixas de tenso:


-10V a +10V, com limite de impedncia de sada

1k;

0 a 10V, com limite de impedncia de sada

1k;

1 a 5V, com limite de impedncia de sada

500.

54

As sadas analgicas tambm podem operar em faixas de corrente:


0 a 20mA, com limite de impedncia de sada

600;

4 a 20mA, com limite de impedncia de sada

600.

4.2.2 Requisitos mecnicos


Este item descreve as condies de transporte e armazenamento, incluindo
temperatura, altitude, vibrao e queda livre na embalagem original do fabricante,
entre outros.

4.2.3 Requisitos ambientais


Um equipamento deve ser projetado para operar em altitudes at 2.000 metros, com
umidade relativa entre 5% e 95%7, e s variaes de temperatura de operao
conforme o tipo de equipamento.

Tabela 3: Temperaturas de operao para equipamentos


Temperatura

mxima

Equipamento fechado
Instalao
Instalao no
permanente
permanente
40C
40C
5C
5C
35C
35C

mnima
mdia em 24 h
Fonte: Fonseca; Seixas Filho; Bottura Filho, 2008.

Equipamento aberto
Instalao
Instalao no
permanente
permanente
55C
Deve ser
5C
especificado
pelo fabricante.
50C

Quando no houver especificaes do fabricante, o equipamento estar projetado


para uso em grau de poluio 2.

Depender do nvel de severidade atendido pelo fabricante.


55

Quadro 3: Graus de poluio


Grau de
poluio
1
2
3
4

Situao
No existe poluio, ou a poluio existente no condutora.
Existe apenas poluio no condutora, exceto quando ocasionalmente
ocorrer condensao. o caso mais comum em sistemas de automao.
Existe apenas poluio no condutora, mas que pode se tornar condutora
devido presena de condensao.
Existe poluio condutora permanente.

Fonte: do Autor.

O grau de poluio determina a medida da quantidade de sujeita e detritos


depositados em um equipamento eltrico ao longo do tempo. O grau de poluio de
cada equipamento est diretamente relacionado com a distncia mnima permitida
entre duas partes condutoras.

4.2.4 Requisitos de segurana


Este item da norma especifica o projeto, o material e o mtodo de teste que atendem
s recomendaes de segurana para a proteo contra choque eltrico, proteo
contra exploso, limites de temperatura, construo dos terminais, fiao,
dispositivos de chaveamento, invlucros, propagao de chama, tenso mnima,
tenso mxima, bateria, simbologia, identificaes e aterramento, entre outros.
A parte 2 da norma descreve, tambm, os testes e verificaes que devem ser
realizados pelo fabricante, entre os quais esto: teste de resistncia e impacto, teste
de acessibilidade do usurio, teste de temperatura, verificao de resistncia
dieltrica, verificao construtiva dos terminais e risco de danos da energia
armazenada.
O fabricante dever fornecer informaes referentes a aterramento, manuteno de
dispositivos de proteo, substituio da bateria utilizada para backup de memria e
precauo contra choque eltrico, entre outros.

56

4.2.5 Requisitos de compatibilidade eletromagntica (EMC)


Segundo a parte 2 da norma, o usurio responsvel pela compatibilidade
eletromagntica do equipamento na instalao. A responsabilidade do fabricante
est em orientar o usurio sobre este assunto. Assim, se um modelo especfico de
gabinete para instalao ou um dispositivo de proteo, como filtro, especificado
pelo fabricante, a especificao dever ser seguida pelo usurio.

4.2.6 Tipos de teste


A parte 2 da norma descreve os tipos de testes que devem ser realizados pelo
fabricante do equipamento. Entre eles esto a verificao das principais
caractersticas da entrada de alimentao, a verificao das entradas digitais, a
verificao das sadas digitais, o teste de variao da energia externa fornecida, o
teste de nvel de tenso indevida, o teste de inverso de polaridade (para fontes
CC), os testes climticos e os testes mecnicos, entre outros.

4.2.7 Informaes gerais fornecidas pelo fabricante


O fabricante dever fornecer informaes sobre transporte, armazenamento, fonte
de alimentao, entradas e sadas digitais, entradas e sadas analgicas, CPU,
memria de backup, interfaces de comunicao, conformidade com a norma IEC
61131-2, autotestes e diagnsticos.

4.3 IEC 61131-3: LINGUAGENS DE PROGRAMAO


A parte 3 da norma especifica a sintaxe e a semntica de um conjunto unificado de
linguagens de programao para controladores programveis. Este conjunto
unificado consiste em duas linguagens textuais, Lista de Instrues (IL) e Texto
Estruturado (ST), e duas linguagens grficas, Diagrama Ladder (LD) e Diagrama de
Blocos Funcionais (FBD). A linguagem Grfico de Funes Sequenciais (SFC)
57

definida para estruturar a organizao interna dos programas e dos blocos


funcionais do controlador programvel.
Alm disso, so definidas caractersticas para facilitar a comunicao entre os
controladores programveis e outros componentes de sistemas automatizados.
Os elementos da linguagem de programao definidos nesta parte da norma so
utilizados em um ambiente de programao. A especificao dos ambientes de
programao est fora do escopo desta norma; no entanto, o ambiente deve ser
capaz de produzir documentao do programa textual ou grfico nos formatos
especificados nesta parte.
Esta parte da norma est dividida em elementos comuns e linguagens de
programao.
Os elementos comuns contemplam os itens configurao, recurso, tarefa, unidades
de organizao de programa, variveis e caminhos de acesso, os quais compem o
modelo de software definido pela norma.
A parte sobre as linguagens de programao contempla as caractersticas e a
estruturao de cada uma das linguagens.

4.4 IEC 61131-4: ORIENTAES PARA O USURIO


A parte 4 da norma tem como objetivo introduzir os usurios de controladores
programveis na norma IEC 61131 e auxiliar na seleo e especificao dos
equipamentos segundo sua necessidade.
Outro objetivo desta parte da norma auxiliar na comunicao entre o fornecedor e
o usurio. So considerados usurios, segundo a norma, os responsveis pela
implantao do sistema e, tambm, os responsveis por manter o sistema em
operao.

Quadro 4: Fornecedores e usurios em um sistema de automao


Fornecedores
Fabricante do CP
Desenvolvedor de software
Fornecedor do CP
Fonte: do Autor.

58

Usurios
Integradores de sistema
Usurio final
Engenharia do usurio
Processo
Engenharia terceirizada
Operao
Contratante
Manuteno

Outras definies que a parte 4 da norma apresenta em complemento parte 1 so


a de operador e a de pessoal de servio:
Operador: o responsvel pelo comando ou pela monitorao de uma mquina
ou processo atravs de uma IHM ou sistema supervisrio em computador. No
realiza modificaes em hardware ou software do CP.
Pessoal de servio: so os profissionais habilitados, atravs de treinamentos e
experincia, a realizar alteraes no hardware ou programa aplicativo do CP.
exigido pela norma que o fornecedor do CLP repasse informaes sobre o produto
apropriado para o usurio. O usurio deve fornecer as especificaes da aplicao
para o fornecedor, a fim de receber os produtos e servios adequados.
Assim, a aplicao de um sistema CP iniciada com uma anlise e especificao do
sistema, passa pela etapa de implementao e encerra com a etapa de instalao e
comissionamento.

59

Instalao e Comissionamento

Implementao

Anlise e Especificao

Figura 12: Implantao de um sistema de CP

Fonte: Fonseca; Seixas Filho; Bottura Filho, 2008.

As trs etapas apresentadas so descritas pela norma junto a informaes


complementares, comentrios e tabelas.
Quanto aos procedimentos de instalao, estes devem ser seguidos conforme os
documentos de engenharia, porm nem sempre todas as situaes de campo so
previstas. Assim, podero ser necessrias modificaes que envolvam o CP, mas
devero ser realizadas atualizando os documentos de engenharia.

60

Para a instalao, o usurio deve considerar as condies ambientais, a fiao de


campo, a supresso de rudos e transientes e o sistema de identificao de
componentes.

4.4.1 Condies ambientais


Este item descreve as condies de temperatura, condies de contaminao, de
interferncia eletromagntica e de choque e vibrao.

4.4.1.1 Temperatura
Deve ser verificada a existncia de fontes de calor permanentes ou temporrias, tais
como temperatura ambiente, partes aquecidas de equipamentos e temperatura de
matria-prima aquecida.

4.4.1.2 Contaminantes
Deve ser verificada a existncia de gases corrosivos, lquidos e poeira condutiva, os
quais podem afetar o funcionamento do CP. Nestes casos, ser necessria a
utilizao de invlucros normatizados e em conformidade com as instrues de
instalao do fabricante.

4.4.1.3 Interferncia eletromagntica


Deve ser verificada a existncia de interferncia eletromagntica, que poder ser
gerada por motores, inversores de frequncia, mquinas de solda, fontes chaveadas
e equipamentos que utilizam tiristores, entre outros.

61

4.4.1.4 Choque e vibrao


Verificar a possvel influncia de motores, compressores, prensas e veculos, como
empilhadeiras, sobre o CP.

4.4.2 Fiao de campo


A fiao de campo deve ser executa conforme as recomendaes do fabricante e
conforme as normas locais vigentes. Os cabos utilizados nos circuitos de comando e
nos circuitos de potncia devem estar separados e seu comprimento deve ser
minimizado. Alm disso, devem ser obrigatoriamente instalados dois tipos diferentes
de sistema de aterramento, o aterramento de proteo e o aterramento funcional.

4.4.2.1 Terra de proteo


O terra de proteo conecta os equipamentos, chassis, gabinetes e demais partes
metlicas malha de aterramento com a finalidade de reduzir o risco de choques
eltricos, e nunca deve ser desconectado do CP.

4.4.2.2 Terra funcional


O terra funcional gera a referncia para os sinais eltricos que trafegam entre o CP e
seus perifricos. Preferencialmente, o terra funcional deve estar separado do terra
de proteo, mas, de acordo com as normas locais vigentes, podero ser
interligados para a reduo de rudo.

4.4.3 Supresso de rudos e transientes


Este item descreve as condies para circuitos de alimentao e conexo de
entradas e sadas visando reduzir as influncias geradas por rudos.
62

4.4.3.1 Alimentao
Os condutores de alimentao devem ser instalados separadamente dos condutores
de sinais do CP com distncia mnima de 10cm, no devendo haver cruzamentos.
Em casos onde for inevitvel o cruzamento dos condutores de alimentao e dos
condutores de sinais, ele dever ser feito em ngulos de 90.
Se necessrio, devero ser instalados filtros na linha de alimentao dos painis de
comando.

4.4.3.2 Entradas e sadas


Devem ser utilizados cabos blindados de baixa impedncia para entradas e sadas
digitais de baixa amplitude e para entradas e sadas analgicas, sendo que as
blindagens devem ser conectadas ao terra de proteo ou ao terra funcional.
A utilizao de cabos par-tranado tambm uma boa prtica. Devem ser utilizados
filtros em sadas digitais que acionam cargas indutivas, devido aos surtos de tenso
e energia armazenada.

4.4.3.3 Fontes de rudos


A reduo de rudos pode ser feita atravs da utilizao de supressores, tipo
circuitos RC em circuitos CA e tipo diodos em circuitos CC, junto s fontes
emissoras desses rudos.

4.4.3.4 Acoplamento de rudos


Os cabos utilizados para os circuitos de entrada, os circuitos de sada, os sinais
analgicos e os circuitos de potncia devem estar separados e seu comprimento
deve ser minimizado.
Devem ser utilizados cabos e conectores conforme recomendados pelo fabricante.

63

4.4.4 Identificao de componentes


Deve ser criado um sistema de identificao de sensores, atuadores, painis de
comando e fiao. As identificaes devem ser legveis, de fcil acesso, sem haver
duplicidade de marcao e em conformidade com a verso final dos documentos de
engenharia.

4.5 IEC 61131-5: COMUNICAO


A parte 5 da norma define os mecanismos e os blocos funcionais para a
comunicao entre o CP e outros elementos de um sistema automatizado. O modelo
de comunicao definido pela norma baseado no protocolo MAP (Manufacturing
Automation Protocol), utilizando alguns servios da camada de aplicao MMS
(Manufacturing Message Specification).
A camada de aplicao a stima camada do modelo de comunicao OSI (Open
Systems

Interconnection)

desenvolvido

pela

ISO

(International

Standards

Organization).

Tabela 4: Camadas do modelo OSI

1
2
3
4
5
6
7

Modelo OSI
fsica
enlace de dados
rede
transporte
sesso
apresentao
aplicao

Fonte: do Autor.

Ao contrrio das outras camadas, a camada de aplicao disponibiliza servios para


o usurio, e os dados enviados ou recebidos so transparentes. Alguns servios
disponibilizados so a transmisso de arquivos, a monitorao remota, o correio
eletrnico e a troca de dados entre equipamentos.
A norma permite a comunicao entre diferentes tipos de rede, tendo como funo
harmonizar os diferentes sistemas de comunicao atravs de uma interface de fcil
utilizao baseada em blocos funcionais, utilizando elementos de programao da
64

IEC 61131-3. Isto significa que a comunicao pode ser estabelecida entre um CP e
qualquer outro dispositivo como IHM, inversores de frequncia, robs e CNC, entre
outros. Porm, a comunicao entre os dispositivos de campo e o acesso a entradas
e sadas remotas no esto no escopo desta norma.
Algumas definies que a parte 5 da norma apresenta em complemento parte 1
so:
alarme: evento que sinaliza a ocorrncia de uma condio previamente
especificada;
aquisio de dados: recebimento de dados com o objetivo de monitorar o
processo e gerar relatrios;
estado do CP: trata-se de uma lista de itens referentes ao CP, que podem ser
verdadeiros ou falsos;
local: o sistema interno do CP, oposto ao remoto;
remoto: o sistema externo ao CP, oposto ao local.
Segundo as definies da parte 5 da norma, a comunicao utilizada est baseada
no modelo cliente-servidor. Neste modelo de comunicao, o dispositivo cliente faz a
requisio de um servio ao dispositivo servidor. Quando o dispositivo servidor puder
atender requisio do dispositivo cliente, responder de forma positiva. Quando
no puder atender, responder de forma negativa.

4.6 IEC 61131-7: PROGRAMAO DE CONTROLE FUZZY


A parte 7 da norma apresenta orientaes sobre a utilizao da lgica fuzzy em
aplicaes com CP, com foco na utilizao da teoria de lgica nebulosa para o
controle industrial. O objetivo desta parte definir a terminologia e os mtodos a
serem empregados para a integrao da lgica fuzzy s linguagens de programao
padronizadas pela IEC 61131-3.
A teoria dos conjuntos nebulosos foi desenvolvida a partir de 1965 para o tratamento
de informaes imprecisas, normalmente expressas pela linguagem humana. Por
exemplo: uma temperatura considerada alta uma informao que faz sentido,
porm no demonstra preciso. A temperatura considerada alta poder ser 40C ou

65

de 50C. A utilizao da teoria de conjuntos nebulosos cada vez mais comum em


controle de processos.
Quando a teoria dos conjuntos nebulosos utilizada em um contexto lgico,
denominada lgica nebulosa, lgica difusa ou lgica fuzzy. A lgica fuzzy possibilita
a implementao de controles sofisticados para processos de informao imprecisa.
Controles em malha aberta, controles em malha fechada, deteco de falhas em
sistemas e tomada de deciso em tempo real so exemplos de processo de
informao imprecisa.

4.7 IEC 61131-8: ORIENTAES PARA A APLICAO E IMPLEMENTAO DAS


LINGUAGENS DE PROGRAMAO
A parte 8 da norma orienta a implementao dos elementos comuns e das
linguagens de programao definidas na IEC 61131-3. Algumas orientaes
apresentadas nesta parte da norma so referentes aplicao, implementao e
ao ambiente de programao.
Esta parte da norma destinada aos usurios de CP envolvidos com configurao,
programao, instalao e manuteno, e aos desenvolvedores e fornecedores de
software padronizado pela parte 3 da norma.
Tendo em vista que a norma IEC 61131 foi elaborada para estimular a aplicao das
melhores prticas para sistemas de controle utilizando CP, o usurio deve explorar
as caractersticas da parte 3 da norma, indo alm das restries apresentadas pelos
CP tradicionais.

4.8 PLCopen
Fundada em 1992, a PLCopen uma associao mundial independente de produtos
e fabricantes e trata de assuntos relacionados programao de controladores
industriais. Tem como objetivo ser a associao lder na soluo de assuntos
relacionados programao de controladores, utilizando normas internacionais.
Para atingir seus objetivos, a PLCopen trabalha em aperfeioamentos para a
programao de controladores industriais, visando gerar maior eficincia no controle
66

de mquinas e processos.
As principais atividades desenvolvidas pela PLCopen so:
especificao dos elementos necessrios para a certificao de produtos;
desenvolvimento de um software de teste baseado nas especificaes para
certificao;
realizao de testes para certificao de produtos;
certificao de produtos;
divulgao da norma IEC 61131;
realizao de treinamentos;
elaborao de funes e blocos funcionais;
complementao da norma IEC 61131-3.

4.9 PLATAFORMA DE PROGRAMAO CoDeSys


A norma IEC 61131-3 foi desenvolvida considerando a possibilidade de
componentizao, uma caracterstica muito importante quando se trata da
programao de sistemas complexos. A componentizao a capacidade de
decompor o programa a ser desenvolvido em partes menores, denominadas
componentes, e que possuam a caracterstica de modularizao, que a
capacidade de cada componente ser gerenciado de forma independente.
A plataforma de programao CoDeSys, Controllers Development System, uma
referncia mundial em termos de ambiente de programao para CLP. Seguindo os
padres da norma IEC, esta plataforma, desenvolvida desde 1994 pela empresa
alem 3S-Smart Software Solutions, permite a programao e a configurao de
mdulos, a simulao de aplicaes e o monitoramento de variveis de processos.
As linguagens de programao definidas pela norma IEC 61131-3 esto disponveis
nesta plataforma. Dentro do mesmo programa, possvel utilizar mais de uma
linguagem de programao; ou seja, cada parte do programa pode ser desenvolvida
em uma linguagem diferente.
A plataforma de programao CoDeSys possui recursos de simulao, permitindo
que se testem as lgicas sem utilizar CLP. Voltada para a programao orientada a
objetos, possibilita a criao de estruturas e de novos tipos de dados baseados nos

67

dados j existentes.
Atualmente, mais de 250 fabricantes de diferentes setores industriais desenvolvem
controladores para automao programados atravs da plataforma CoDeSys. Alguns
desses fabricantes formam uma aliana internacional denominada CAA, CoDeSys
Automation Alliance. O principal objetivo da CAA, fundada em 2000, oferecer um
conjunto de dispositivos para diferentes aplicaes industriais onde todos sejam
programveis atravs da mesma plataforma, refletido a proposta da norma IEC
61131-3. A proposta da norma que os especialistas do setor de automao
possam ter uma linguagem universal visando diminuir o tempo necessrio para
assimilar um novo equipamento, o que tambm contribui para a reduo do tempo
total de um start-up, ou seja, o tempo necessrio para desenvolvimento e testes do
programa de controle de uma mquina ou sistema. Com uma interface padronizada
e bem definida, esta plataforma possibilita a criao de bibliotecas e a reutilizao de
informaes em programas futuros.

4.10 EXERCCIOS
Exerccio 1: Os conceitos apresentados so referentes a:
I.

Sistema de controle que est alm do escopo da norma IEC 61131, no qual os
sistemas de CP esto incorporados, incluindo outros componentes e seus
programas aplicativos.

II. Sistema eletrnico digital, que utiliza uma memria programvel para
armazenamento de instrues para a implementao de funes, a fim de
controlar mquinas e processos.
III. Sistema de controle onde so executados passos individuais numa ordem prdeterminada, e a progresso de um passo para o outro depende de serem
satisfeitas condies pr-definidas.
IV. Sistema de controle no qual os estados das sadas so definidos em funo do
estado das entradas.

68

a: ( ) Sistema de controle lgico, controlador programvel, sistema de


automao, sistema de controle seqencial.

b: ( ) Sistema de controle sequencial, controlador programvel, sistema de


controle lgico,sistema de automao.

c: ( ) Sistema de automao, controlador programvel, sistema de controle


sequencial, sistema de controle lgico.

d: ( ) Sistema de automao, controlador programvel, sistema de controle


lgico, sistema de controle sequencial.

Exerccio 2: Os conceitos apresentados so referentes a:


I.

Tempo decorrido entre o incio e o prximo incio de execuo de uma mesma


parte do programa aplicativo, incluindo o tempo necessrio para a atualizao
das entradas e sadas, quando utilizadas.

II. Programa escrito pelo fabricante do dispositivo que define como ser sua
operao. O software de sistema responsvel por realizar a converso das
instrues do programa aplicativo para o cdigo de mquina a ser executado
pelo hardware do dispositivo.
III. Meio proporcionado pelo fabricante para monitorar a durao (tempo) das
funes internas de hardware, das funes do programa aplicativo e das funes
do sistema operacional.
IV. Agrupamento lgico de todos os elementos de programao e construes
necessrias ao processamento de sinais requeridos por um CP para o controle
de uma mquina ou processo.

a: ( ) tempo de scan, software do sistema, watchdog, programa aplicativo;

b: ( ) tempo de scan, programa aplicativo, watchdog, software do sistema;

c: ( ) tempo de scan, software do sistema, programa aplicativo, watchdog;

d: ( ) watchdog, software do sistema, tempo de scan, programa aplicativo.

Exerccio 3: Segundo a norma, um equipamento fechado, em instalao permanente


para um sistema de automao, como um CP, deve ser projetado para operar nas
condies:

69

a: ( ) grau de poluio 2, entre 5 e 55C, em altitudes at 1.000 metros;

b: ( ) grau de poluio 4, entre 5 e 40C, em altitudes at 1.000 metros;

c: ( ) grau de poluio 4, entre 5 e 55C, em altitudes at 2.000 metros;

d: ( ) grau de poluio 2, entre 5 e 40C, em altitudes at 2.000 metros.

Exerccio 4: Entre as linguagens de programao para CP, especificadas pela


norma, esto:

a: ( ) C++, texto estruturado e diagrama ladder;

b: ( ) lista de instrues, java e diagrama ladder;

c: ( ) texto estruturado, pascal e diagrama de blocos funcionas;

d: ( ) lista de instrues, texto estruturado e diagrama ladder.

Exerccio 5: A aplicao de um sistema CP composta por diversas atividades,


classificadas em trs etapas. Relacione as atividades a cada etapa:
Etapas:
I. Anlise e especificao
II. Implementao
III. Instalao e comissionamento
Atividades:

70

) anlise dos requisitos;

) seleo do sistema;

) fabricao do hardware;

) especificao detalhada do sistema de automao;

) teste e validao do software;

) especificao preliminar do sistema de automao;

) teste funcional;

) desenvolvimento de software;

) comissionamento;

) teste funcional de campo;

) associao entre hardware e software;

) revises;

) instalao e interligao;

) especificao do controlador programvel;

) configurao de hardware.

Exerccio 6: Para a instalao de um CP, o usurio deve observar as condies


ambientais. As situaes apresentadas so referentes a:
I.

verificar a possvel influncia de motores, compressores, prensas e veculos;

II. verificar a existncia de gases corrosivos, lquidos e poeira condutiva, os quais


podem afetar o funcionamento do CP;
III. verificar a existncia de motores, inversores de frequncia, mquinas de solda,
fontes chaveadas e equipamentos que utilizam tiristores, entre outros;
IV. verificar a existncia de fontes de calor permanentes ou temporrias, tais como
temperatura ambiente, partes aquecidas de equipamentos e temperatura de
matria-prima aquecida.

a: ( ) temperatura, contaminantes, interferncia eletromagntica e vibrao;

b: ( ) vibrao, contaminantes, interferncia eletromagntica e temperatura;

c: ( ) interferncia eletromagntica, contaminantes, vibrao e temperatura;

d: ( ) contaminantes, interferncia eletromagntica, temperatura e vibrao.

Exerccio 7: Descreva como deve ser feita a fiao de campo na instalao de um


CP.

Exerccio 8: Descreva como deve ser feita a identificao dos componentes de uma
instalao.

Exerccio 9: Cite cinco boas prticas da instalao de CP para evitar problemas com
rudos e transientes.

71

72

5 NORMA IEC 61131-3

A IEC 61131-3 um padro mundial criado em 1992 para atender ao mercado de


controle industrial e padronizar as mltiplas linguagens, conjuntos de instrues e
conceitos existentes na automao industrial.
Os principais conceitos e caractersticas apresentados pela IEC 61131-3 so:
base de dados com declarao de variveis e alocao dinmica;
tipos de dados;
estruturao, modularizao, reutilizao e portabilidade de software;
tcnicas de orientao a objetos;
processamento multitarefa;
linguagens de programao.
O modelo de software proposto pela norma uma inovao em relao ao CLP
convencional. No modelo convencional ocorre uma execuo cclica onde
realizada a leitura das entradas, a execuo do programa de aplicao e a
atualizao das sadas. O modelo de software proposto pela norma baseado em
sistema multitarefa, onde permitido o processamento de vrias tarefas de forma
peridica ou disparadas por eventos especficos como, por exemplo, o acionamento
de um sensor.

Figura 13: CLP convencional versus CLP IEC 61131

Fonte: ATAN; CPDEE, 2012.

73

O modelo IEC define a estrutura do programa dividido em unidades claramente


estruturadas, chamadas de POU (Unidade de Organizao de Programa). Cada
POU consiste de uma parte do cdigo e uma parte da declarao de variveis.
Blocos funcionais e funes esto disponveis no software de programao, mas
outros blocos podem ser criados (blocos derivados), armazenados em bibliotecas e
reutilizados no mesmo programa ou em outros.
Ao invs de utilizar endereamento direto para entradas, sadas e memrias
internas, so utilizadas variveis. De forma semelhante s linguagens de
programao de nvel elevado, as variveis do projeto devem ser declaradas. As
variveis podem ser endereadas a entradas e sadas ou, quando internas, podem
ser declaradas por alocao dinmica, onde o usurio declara as variveis e o
software determina automaticamente em que posio de memria cada uma delas
ser alocada.
Cada varivel declarada como certo tipo de dado. Os tipos de dados determinam o
formato, o tamanho e a faixa de valores da varivel. A IEC define os tipos de dados
como BOOL, BYTE, WORD, INT e REAL, entre outros. Alm disso, outros tipos de
dados podem ser definidos pelo usurio (dados derivados).
A norma IEC 61131-3 mais facilmente visualizada se dividida em duas partes,
elementos comuns e linguagens de programao.

5.1 IEC 61131-3: ELEMENTOS COMUNS


Os elementos comuns contemplam os itens que compem o modelo de software
definido pela norma IEC 61131-3.
O ambiente de software definido pela norma apresenta-se conforme o modelo a
seguir:

74

Figura 14: Modelo de software da norma IEC 61131-3


Configurao
Recurso

Recurso

Tarefa

Programa

Tarefa

Tarefa

Programa
FB

Tarefa

Programa

Programa

FB

FB

Variveis Globais e

FB

de Representao Direta

Caminhos de Acesso

Variveis
Funes de Comunicao
(IEC 61131-5)

FB

Bloco funcional
Caminho de acesso
Controle de execuo

Fonte: Fonseca; Seixas Filho; Bottura Filho, 2008.

5.1.1 Configurao
O software para um sistema de controle est contido numa configurao. A
configurao especfica para cada sistema de controle em particular, e inclui a
disposio do hardware, os recursos de processamento e os endereos de memria
para entradas e sadas do CLP. Um exemplo de configurao um CLP modular
com mltiplas CPUs controlando um grupo de mquinas. Em cada configurao
pode haver um ou mais recursos.

5.1.2 Recurso
O recurso corresponde a um dispositivo com capacidade de processamento para
executar programas baseados no padro IEC. Um recurso pode existir fisicamente
ou ser uma mquina virtual. Um exemplo de recurso a CPU de um CLP (recurso
fsico) ou um SoftPLC (recurso virtual). Para um dado recurso podem ser definidas
uma ou mais tarefas.
75

5.1.3 Tarefa
Uma tarefa pode ser configurada para controlar como ser a execuo de cada
programa ou bloco funcional. A execuo pode ser peridica, livre ou disparada por
evento:
peridica: execuo realizada a cada intervalo de tempo configurado para a
tarefa;
livre: execuo realizada em lao contnuo, onde a tarefa reiniciada ao final de
cada execuo;
disparada por evento: execuo realizada quando ocorrer uma mudana de
FALSE para TRUE na varivel, interna ou externa, configurada para a tarefa.

5.1.4 Unidade de organizao de programa (POU)


Programas, blocos funcionais e funes so definidos como unidades de
organizao de programa, segundo a norma IEC. A principal caracterstica desses
elementos a possibilidade de reutilizao no desenvolvimento de outras
aplicaes.

5.1.4.1 Programas
So estruturas construdas a partir de diversos elementos de software, escritos em
qualquer linguagem definida pela norma IEC. Normalmente, um programa consiste
em uma associao de funes e blocos funcionais capazes de trocar informaes
entre si. Programas podem acessar variveis de entradas e sadas e trocar
informaes com outros programas.

5.1.4.2 Blocos funcionais


A criao de blocos funcionais permite o desenvolvimento de programas
estruturados, um dos mais importantes conceitos da norma IEC 61131-3.
76

Um bloco funcional pode ser desenvolvido para uma determinada necessidade


como, por exemplo, certo tipo de partida de motor, arquivado como uma biblioteca e
reutilizado em outros programas posteriores. Outros exemplos de blocos funcionais
so blocos PID, temporizadores e contadores.
Blocos funcionais criados pelo usurio podem ser utilizados tambm para criar
outros blocos funcionais (blocos derivados).
Os blocos funcionais so uma forma de utilizar, na programao de CLP, os
modernos conceitos de orientao a objetos.

5.1.4.3 Funes
So elementos de software que podem ser utilizados vrias vezes dentro de um
mesmo programa, de tal forma que, quando executados, recebem um conjunto de
valores de entrada e produzem um valor como resultado.
Diferentemente dos blocos funcionais, as funes no possuem persistncia e
existem somente durante o tempo de execuo do programa aplicativo.
Exemplos de funes so blocos aritmticos e blocos de comparao.

5.1.5 Variveis
A norma IEC 61131-3 exige a declarao de variveis para o desenvolvimento das
unidades de organizao de programa (POU). Variveis so nomes simblicos que
podem ser associados a diferentes tipos de dados. Estes nomes simblicos, as
variveis, podem ser associados a endereos internos ou a endereos de entrada e
sada. As variveis podem ser de classe local, global, de entrada, de sada ou de
representao direta.

5.1.5.1 Variveis locais


Uma varivel declarada, normalmente, estar limitada ao programa, bloco funcional
ou funo qual ela pertence; ou seja, ser uma varivel local (VAR). Isso significa
77

que nomes de variveis podero ser reutilizados em outras partes da aplicao sem
haver conflito, eliminando erros ou dados corrompidos quando uma POU for
reutilizada em outro programa aplicativo.

5.1.5.2 Variveis globais


Uma varivel declarada como global (VAR_GLOBAL) pode ser acessada por todos
os programas, blocos funcionais ou funes existentes no programa aplicativo. Uma
das principais diferenas dos CLP compatveis com a norma a alocao dinmica
de memria, onde o usurio declara as variveis e o software determina
automaticamente em que posio de memria cada varivel ser alocada.
Em CLPs convencionais, a alocao de memria fixa, ou seja, no existe alocao
dinmica. Apesar de ser permitido pela norma, o uso de variveis globais dentro de
blocos funcionais deve ser evitado para que seja possvel a reutilizao do bloco
sem haver conflitos, erros ou dados corrompidos. Sempre que for necessrio utilizar
uma varivel global em um bloco funcional, ela poder ser passada para o bloco
como um parmetro de entrada, criando uma varivel de entrada (VAR_INPUT), ou
como um parmetro de sada, criando uma varivel de sada (VAR_OUTPUT).

5.1.5.3 Variveis de entrada


Uma varivel declarada dentro de um bloco funcional pode receber um valor externo
desde que declarada como varivel de entrada (VAR_INPUT). Ela aparecer,
graficamente, como um pino de conexo no lado esquerdo do bloco funcional.
Variveis de entrada tambm podem ser criadas em funes e programas.

5.1.5.4 Variveis de sada


Uma varivel declarada dentro de um bloco funcional pode fornecer um valor
externamente, desde que declarada como varivel de sada (VAR_OUTPUT). Ela
aparecer, graficamente, como um pino de conexo no lado direito do bloco
78

funcional. Variveis de sada tambm podem ser criadas em funes e programas.

5.1.5.5 Variveis de representao direta


Uma varivel de representao direta permite acessar diretamente posies da
memria fsica do CLP, tanto para endereos internos quanto para endereos de
entrada e sada, da mesma forma que acontece no CLP convencional. A
representao direta deve ser evitada em blocos funcionais e funes para garantir
a reutilizao destes blocos.
A notao utilizada para a representao direta padronizada pela norma. As
representaes diretas iniciam com o caractere %, seguido por uma letra de
intervalo, uma letra de tamanho conforme o tipo de dado e um ou mais nmeros
conforme a posio de memria:
letra de intervalo: I (Entrada), Q (Sada) e M (Memria);
letra de tamanho: nenhum ou X (Bit), B (Byte), W (Word) e D (Double Word).
Exemplos de representao direta:
%IX2.0 ou %I2.0: Bit de entrada 0 do grupo 2;
%QX1.5 ou %Q1.5: Bit de sada 5 do grupo 1;
%IW3: Word de entrada 3;
%QB2: Byte de sada 2.
Uma boa prtica de programao utilizar, sempre que possvel, a alocao
dinmica de memria para tornar o programa aplicativo o mais independente
possvel do hardware do CLP.

5.1.6 Atributos das variveis


As variveis podem possuir atributos que definam como ser o armazenamento de
seus valores. Uma varivel sem atributos definida como normal (VAR), ter seus
valores definidos por manipulaes realizadas pelo programa, mas no manter

79

valores armazenados no caso de desligamento do CLP.


Os atributos de variveis so denominados reteno (VAR RETAIN), constante
(VAR CONSTANT) e persistente (VAR PERSISTENT).

Atributo reteno: variveis declaradas com o atributo reteno mantero seu


valor em caso de desligamento e religamento do CLP. Como exemplo de
utilizao deste atributo, um contador de peas fabricadas por uma mquina, o
qual dever continuar a contagem aps um desligamento e religamento do CLP.
Atributo constante: variveis declaradas com o atributo constante no podero ter
seus valores modificados durante a execuo do programa; somente podero ter
seus valores modificados durante o desenvolvimento ou as modificaes do
programa.
Atributo persistente: variveis declaradas com o atributo persistente mantero seu
valor aps um reenvio do programa aplicativo ao CLP, mas no em caso de
desligamento, pois as variveis no so salvas na rea de reteno da memria.

Tabela 5: Funo dos atributos conforme a situao

Situao
religamento
reset do CLP8
reset (a frio)9
reset (original)10
download
alterao offline
alterao online

VAR

VAR
RETAIN
X
X

X
X

X
X

VAR
VAR
CONSTANT PERSISTENT
X
X
X
X
X
X

X
X
X

VAR RETAIN
VAR
PERSISTENT
X
X

X
X
X

Fonte: do Autor

Assim, cada atributo tem a funo de manter o valor da varivel em situaes


especficas que venham a ocorrer. Uma varivel poder ter os atributos reteno e
persistente ao mesmo tempo.

Faz o reset de todas as variveis para o valor de inicializao, exceto as com atributo reteno.
Faz o reset de todas as variveis para o valor de inicializao.
10
Faz o reset de todas as variveis para o valor de inicializao e apaga o programa do CLP.
9

80

5.1.6.1 Identificadores
Os identificadores so utilizados para nomear as variveis, os tipos de dados, as
unidades de organizao de programa e as tarefas, entre outros. Para definir os
identificadores utilizado o padro de caracteres ISO 646 (Basic code table) e
devem ser observadas as seguintes regras:
o primeiro caractere no pode ser um nmero;
um identificador no pode conter espao;
o caractere underline _ aceito, mas no pode ser repetido em sequncia;
os seis primeiros caracteres devem ser observados para garantir a unicidade dos
identificadores;
letras maisculas e minsculas no so diferenciadas (bomba1 = Bomba1 =
BOMBA1);
no permitido o uso de caracteres como ! @ # $ % & * ( ) <> ; : \ / ? { } [ ] ;
identificadores no podem coincidir com palavras-chave11 (keywords).
Exemplos de identificadores vlidos: Motor1, Botao_1 e Pressao_alta_compressor.

5.1.6.2 Tipos de dados


Os tipos de dados referem-se aos tipos de informaes utilizadas no programa a ser
desenvolvido. Para cada tipo de dado, a norma define a faixa de valores mnimo e
mximo, o nmero de bits que utilizar na memria do CLP e a forma de
representao.
Um CLP no necessita suportar todos os tipos de dados definidos pela norma, mas
isto poder causar dificuldades para a portabilidade de programas. Os tipos de
dados podem ser comuns ou derivados (definidos pelo usurio).
Os tipos de dados comuns so: cadeia de bits, inteiro, ponto flutuante, tempo, data e
hora e cadeia de caracteres.
Outros tipos de dados, denominados any, derived data types, structure, enumeration,
sub-ranges e arrays podem ser definidos pelo usurio.
11

Palavras-chave so palavras reservadas, utilizadas para definir elementos de software.


81

Dado Tipo Cadeia de Bits:

Tabela 6: Dados tipo cadeia de bits definidos pela norma


Tipo de dado Descrio
Tamanho
Faixa
BOOL
Bool
1 bit
0a1
BYTE
Byte
8 bit
0 a 255
WORD
Word
16 bit
0 a 65535
DWORD
Double Word
32 bit
0 a 232-1
LWORD
Long Word
64 bit
0 a 264-1
Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Exemplos para booleano:


FALSE: 0 em binrio.
TRUE: 1 em binrio.
Exemplo para as outras cadeias de bits:
284: 284 em notao decimal.
2#1110: 14 em notao binria.
16#3B: 59 em notao hexadecimal.
Dado Tipo Inteiro:

Tabela 7: Dados tipo inteiro definidos pela norma


Tipo de dado
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT

Descrio
Short Integer
Integer
Double Integer
Long Integer
Unsigned Short Integer
Unsigned Integer
Unsigned Double Integer
Unsigned Long Integer

Fonte: Fonseca; Seixas Filho; Bottura Filho, 2008.

82

Tamanho
8 bit
16 bit
32 bit
64 bit
8 bit
16 bit
32 bit
64 bit

Faixa
-128 a 127
-32768 a 32767
-231 a 231-1
-263 a 263-1
0 a 255
0 a 65535
0 a 231-1
0 a 263-1

Exemplos para inteiros:


em notao decimal: -22, 0, 54, 3547, 3_54712
em notao binria: 2#1001_0011
em notao octal: 8#175
em notao hexadecimal: 16#00FF00
Dado Tipo Ponto Flutuante:

Tabela 8: Dados tipo ponto flutuante definidos pela norma


Tipo de dado Descrio Tamanho
REAL
Real
32 bit
LREAL

Long Real

64 bit

Faixa
1,175494351e-38 a 3,402823466e+38
2,2250738585072014e-308 a
1,7976931348623158e+308

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Exemplos para ponto flutuante:


-4.39
7.37
+2_398.4
-8.77E-10
0.032e+15
Um dado do tipo REAL, por exemplo, tem seus 32 bits divididos de forma que 22 bits
representam a base, 8 bits representam o expoente e 2 bits representam os sinais
da base e do expoente.

Figura 15: Estrutura de um dado tipo REAL

Fonte: do Autor

12

O caractere underline _ pode ser utilizado para aumentar a legibilidade.


83

Dado Tipo Tempo:

Tabela 9: Dados tipo tempo definidos pela norma


Tipo de dado
Descrio
Tamanho
Faixa
TIME
durao do tempo Depende da implementao. 340d_23h_2m_10s_100ms
Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Exemplos para tempo:


T#7d4h30s25ms: 7 dias, 4 horas, 30 segundos e 25 milissegundos;
T#-10d7.5h: 10dias, 7 horas e 30 minutos (para TIME so permitidos valores
negativos);
T#3d_20h_45m: 3 dias, 20 horas e 45 minutos;
T#100m10s: 100 minutos e 10 segundos (equivale a T#1h40m10s, para TIME
permitido overflow na parte mais significativa).
Dado Tipo Data e Hora:

Tabela 10: Dados tipo data e hora definidos pela norma


Tipo de dado
DATE(abr. D)
TIME_OF_DAY (abr. TOD)
DATE_AND_TIME (abr. DT)

Descrio
data absoluta
hora do dia
data e hora

Tamanho
Depende da implementao.
Depende da implementao.
Depende da implementao.

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Exemplos para data e hora:


D#2005-09-30: 30 de setembro de 2005;
DATE#1979-04-25: 25 de abril de 1979;
TOD#07:30:59: 7 horas, 30 minutos e 59 segundos;
TIME_OF_DAY#22:00:15: 22 horas e 15 segundos;
DT#2012-08-17-17:01:00: 17 horas e 1 minuto de 17 de agosto de 2012;
DATE_AND_TIME#2010-01-01-12:00:00: 12 horas de 1o de janeiro de 2010.

84

Dado Tipo Cadeia de Caracteres:

Tabela 11: Dados tipo cadeia de caracteres definidos pela norma


Tipo de dado
STRING

Descrio
cadeia de caracteres

Tamanho
Faixa
8 bit por caractere 1 a 255 caracteres

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Exemplos para cadeia de caracteres:


sobrecarga no motor de refrigerao;
motor bomba 4 ligado;
tanque 2 com nvel alto.

5.1.7 Caminhos de acesso


Os caminhos de acesso associam o meio fsico (entradas e sadas) ao software
atravs da atribuio de nomes simblicos (variveis do software) para cada entrada
ou sada. Os caminhos de acesso so tambm responsveis pela transferncia de
dados entre duas ou mais configuraes diferentes, tambm atravs de variveis. As
variveis podem ter permisses para leitura e escrita ou somente para leitura. A IEC
61131-5, parte 5 da norma, define os blocos funcionais que realizaro a leitura e a
escrita de variveis entre configuraes diferentes.

5.2 IEC 61131-3: LINGUAGENS DE PROGRAMAO


Alguns livros voltados rea de Programao de CLP citam a existncia de cinco
linguagens para programao. A norma IEC 61131-3 define quatro linguagens para
a programao e uma linguagem para estruturar a organizao interna do programa.
As quatro linguagens de programao consistem em duas linguagens textuais, Lista
de Instrues (IL) e Texto Estruturado (ST), e duas linguagens grficas, Diagrama
Ladder (LD) e Diagrama de Blocos Funcionais (FBD). A linguagem utilizada para
estruturar a organizao interna de um programa uma linguagem grfica
denominada Sequenciamento Grfico de Funes (SFC).

85

Alguns fatores so importantes para decidir a linguagem mais adequada:


linguagem aceita universalmente: Diagrama Ladder;
maior velocidade de execuo pelo CLP: Lista de Instrues ou Texto
Estruturado;
aplicaes utilizando entradas e sadas digitais e processamento bsico:
Diagrama Ladder ou Diagrama de Blocos Funcionais;
facilidade para futuras alteraes no programa: Diagrama Ladder;
facilidade de uso por engenheiros novos: Texto Estruturado;
facilidade

para

implementar

operaes

matemticas

complexas:

Texto

Estruturado.
Aplicaes

com

processos

repetidos

ou

processos

que

necessitam

de

intertravamentos e de operaes paralelas: Sequenciamento Grfico de Funes.

5.2.1 Lista de Instrues (IL Instruction List)


Com origem europeia e baseada no padro alemo Anweisungsliste (AWL), a
linguagem de programao Lista de Instrues (IL) uma linguagem de baixo nvel
semelhante ao Assemby. uma linguagem muito eficiente por estar prxima da
forma de processamento da CPU do CLP, mas de difcil compreenso para o
desenvolvimento de programas complexos.
Ela utiliza uma sequncia de instrues onde cada instruo formada por um
operador (comando), um operando (varivel ou constante) e um modificador
(opcional), respectivamente.

86

Figura 16: Exemplo de programa em Linguagem IL

Fonte: do Autor.

Apresenta como vantagem a eficincia de processamento, visto que sua converso


para a linguagem de mquina do processador pode ser feita de forma mais eficiente,
porm pouco estruturada e de difcil compresso para manuteno. Sua utilizao
recomendada para otimizar cdigos quando os requisitos de tempo de execuo
so importantes ou para o desenvolvimento de programas simples.

5.2.2 Texto Estruturado (ST Structured Text)


Baseada na linguagem Pascal da norma ISO 7185, a linguagem de programao
Texto Estruturado (ST) uma linguagem de alto nvel excelente para o
desenvolvimento de blocos funcionais e funes. flexvel e de fcil assimilao
para os desenvolvedores de software em geral.

87

Figura 17: Exemplo de programa em Linguagem ST

Fonte: do Autor.

Esta linguagem utiliza comandos comuns em linguagens estruturadas, como IF...


THEN... ELSE, para a verificao de condies, e WHILE... DO, para executar laos,
alm de comandos especficos para operaes lgicas e matemticas.
Esta linguagem ideal para a realizao de clculos matemticos e a manipulao
de dados.

5.2.3 Diagrama Ladder (LD Ladder Diagram)


Com origem nos Estados Unidos da Amrica, a linguagem de programao
Diagrama Ladder (LD) baseada nos diagramas eltricos que representam contatos
e bobinas interconectados.
Sua notao baseada em uma linha vertical esquerda, que representa o
barramento energizado, e em uma linha vertical direita, que representa o
barramento terra. Interligando as duas linhas verticais h linhas horizontais que
contm os contatos e as bobinas. Este formato semelhante a uma escada (ladder,
em ingls), onde os barramentos de alimentao formam as laterais e as linhas de
lgica formam os degraus.

88

Figura 18: Exemplo de programa em linguagem LD

Fonte: do Autor.

Esta linguagem ideal para a representao de lgicas liga/desliga devido a sua


relativa facilidade de programao, anlise e monitorao.

5.2.4 Diagrama de Blocos Funcionais (FBD Function Block Diagram)


A linguagem de programao diagrama de blocos funcionais (FBD) baseada nos
diagramas de circuitos eletrnicos com portas lgicas e outros circuitos integrados,
seguindo a norma IEC 60617-12.
Os blocos nela utilizados so qualquer elemento que possui entradas, faz um
processamento especfico e depois escreve o resultado das operaes em suas
sadas. Nesta linguagem, o processamento executado da esquerda para a direta e
de cima para baixo, como no Diagrama Ladder.

89

Figura 19: Exemplo de programa em linguagem FBD

Fonte: do Autor.

Esta linguagem frequentemente utilizada na indstria de processo devido a sua


caracterstica de modelar o fluxo de sinais de forma orientada entre os elementos
utilizados no programa.

5.2.5 Sequenciamento Grfico de Funes (SFC Sequential Function Charts)


Universidades francesas desenvolveram uma linguagem de representao de
processos sequenciais baseada nas Redes de Petri, denominada Grafcet. A
linguagem Grafcet (Graphe Fonctionnel de Command Etape Transition) tornou-se
um padro em toda a Europa. Em 1988 foi publicada a norma IEC 848, intitulada
Preparation of Function Charts for Control System (Preparao de Grficos de
Funo de Sistema de Controle), baseada na linguagem Grafcet. A norma IEC
61131-3 introduziu pequenas modificaes no padro IEC 848, criando a linguagem
sequencial denominada Sequenciamento Grfico de Funes (SFC), que pode ser
utilizada para estruturar a organizao interna do programa, decompondo o sistema
de controle em partes.
90

A linguagem SFC formada por passos e transies. Cada passo, que poder ser
programado em IL, ST, LD ou FBD, responsvel por uma parte do funcionamento
da mquina. Cada transio uma condio que dever estar satisfeita para que
seja executado o prximo passo. A estruturao do programa em passos simplifica
significativamente o diagnstico e a correo de erros no programa, principalmente
em sistemas de controle complexos. Alm disso, a decomposio do programa em
partes melhora o desempenho da CPU do CLP, visto que apenas a parte do
programa relativa aos passos ativos executada em cada ciclo de varredura.

Figura 20: Exemplo de estruturao atravs de SFC

Fonte: do Autor.

Esta linguagem utilizada pela norma ISA S8813 para o desenvolvimento de


programas para processos em batelada (batch).

13

A norma ISA S88 foi criada em 1988 pela ISA (Instrument Society of America) para simplificar o
desenvolvimento, a implementao e a qualificao de projetos de software para controle de
processos em batelada. O processo em batelada tem como objetivo a produo de uma quantidade
definida de um determinado produto, identificado por um lote nico, atravs da dosagem de
pequenas quantidades de matrias-primas que seguem uma determinada ordem e so
processados por um tempo definido em um determinado equipamento.
91

5.3 EXERCCIOS
Exerccio 1: As caractersticas apresentadas so caractersticas do modelo de
software proposto pela IEC:
I.

Programa dividido em unidades estruturadas, chamadas POU (Unidade de


Organizao de Programa).

II. Execuo cclica onde realizada a leitura das entradas, a execuo do


programa de aplicao e a atualizao das sadas.
III. Declarao de variveis por alocao dinmica, onde o usurio declara as
variveis e o software determina automaticamente em que posio de memria
cada varivel ser alocada.
IV. Sistema multitarefa, onde permitido o processamento de vrias tarefas de
forma peridica ou disparadas por eventos especficos.

a: ( ) falso, verdadeiro, verdadeiro, verdadeiro;

b: ( ) verdadeiro, falso, verdadeiro, verdadeiro;

c: ( ) verdadeiro, verdadeiro, falso, verdadeiro;

d: ( ) verdadeiro, verdadeiro, verdadeiro, falso.

Exerccio 2: Os conceitos apresentados so referentes a:


I.

Pode ser configurada para executar, de forma peridica, livre ou disparado por
evento, cada programa ou bloco funcional.

II. o termo utilizado para indicar um programa, bloco funcional ou funo.


III. especfica para cada sistema de controle em particular, e inclui a disposio do
hardware, os recursos de processamento e os endereos de memria para
entradas e sadas do CLP.
IV. Corresponde a um dispositivo com capacidade de processamento para executar
programas baseados no padro IEC.

92

a: ( ) configurao, recurso, tarefa, unidade de organizao de programa;

b: ( ) recurso, tarefa, unidade de organizao de programa, configurao;

c: ( ) tarefa, unidade de organizao de programa, configurao, recurso;

d: ( ) unidade de organizao de programa, configurao, recurso, tarefa.

Exerccio 3: Os conceitos apresentados so referentes a:


I.

Estrutura construda a partir de diversos elementos de software, escritos em


qualquer linguagem definida pela norma IEC.

II. Desenvolvido para uma determinada necessidade, arquivado como uma


biblioteca e reutilizado em outros programas posteriores.
III. Nome simblico que pode ser associado a diferentes tipos de dados.
IV. Elementos de software que podem ser utilizados vrias vezes dentro de um
mesmo programa, de tal forma que, quando executados, recebem um conjunto
de valores de entrada e produzem um valor como resultado.

a: ( ) funo, programa, bloco funcional, varivel;

b: ( ) varivel, funo, programa, bloco funcional;

c: ( ) bloco funcional, varivel, funo, programa;

d: ( ) programa, bloco funcional, varivel, funo.

Exerccio 4: Os conceitos apresentados so referentes a:


I.

Varivel limitada ao programa, bloco funcional ou funo a qual ela pertence.

II. Varivel que pode ser acessada por todos os programas, blocos funcionais ou
funes existentes no programa aplicativo.
III. Varivel que permite acessar diretamente posies da memria fsica do CLP,
tanto para endereos internos quanto para endereos de entrada e sada.

a: ( ) varivel de entrada, varivel global, varivel de representao direta;

b: ( ) varivel local, varivel de sada, varivel de representao direta;

c: ( ) varivel local, varivel global, varivel de representao direta;

d: ( ) varivel local, varivel de entrada, varivel de sada.

Exerccio 5: Os tipos de dados utilizados para tempo, bobinas, nmero com parte
decimal e texto so:

a: ( ) WORD, BOOL, REAL, BYTE;

b: ( ) STRING, BYTE, LINT, STRING;

c: ( ) TIME, BOOL, REAL, STRING;

d: ( ) TIME, WORD, ULINT, DINT.


93

Exerccio 6: So identificadores vlidos (assinale todas as respostas vlidas):

a: ( ) Motor_do_Compressor

b: ( ) Sensor_Nivel

c: ( ) Limite-016

d: ( ) HHLT

e: ( ) Botao_Liga

f: ( ) Boto_Desliga

g: ( ) Valvula02

h: ( ) Sensor_de_Fluxo

i: ( ) 1_Passo

j: ( ) Finaliza

k: ( ) PROCESSO

l: ( ) Bomba_Oleo

m: ( ) Alarme_033

n: ( ) Tempo_Parada_Intermediria

o: ( ) MAN/AUT

p: ( ) Pressao_Ajuste

Exerccio 7: As caractersticas apresentada so referentes a:


I.

facilidade para futuras alteraes no programa;

II. maior velocidade de execuo pelo CLP;


III. facilidade para implementar operaes matemticas complexas;
IV. aplicaes que utilizam entradas e sadas digitais e processamento bsico.

a: ( ) Diagrama Ladder, Lista de Instrues, Texto Estruturado, Diagrama de


Blocos Funcionais;

b: ( ) Lista de Instrues, Texto Estruturado, Diagrama Ladder, Diagrama de


Blocos Funcionais;

c: ( ) Diagrama de Blocos Funcionais, Lista de Instrues, Texto Estruturado,


Diagrama Ladder;

d: ( ) Lista de Instrues, Diagrama de Blocos Funcionais, Diagrama Ladder,


Texto Estruturado.

94

Exerccio 8: As caractersticas apresentadas so referentes a:


I.

ideal para a representao de lgicas liga/desliga devido a sua relativa facilidade


de programao, anlise e monitorao;

II. recomendada para otimizar cdigos quando os requisitos de tempo de execuo


so importantes;
III. ideal para a realizao de clculos matemticos e a manipulao de dados;
IV. utilizada na indstria de processo devido a sua caracterstica de modelar o fluxo
de sinais de forma orientada.

a: ( ) Diagrama Ladder, Lista de Instrues, Texto Estruturado, Diagrama de


Blocos Funcionais;

b: ( ) Lista de Instrues, Texto Estruturado, Diagrama Ladder, Diagrama de


Blocos Funcionais;

c: ( ) Diagrama de Blocos Funcionais, Lista de Instrues, Texto Estruturado,


Diagrama Ladder;

d: ( ) Lista de Instrues, Diagrama de Blocos Funcionais, Diagrama Ladder,


Texto Estruturado.

95

96

6 FUNDAMENTOS DE PROGRAMAO PARA DIAGRAMA LADDER

A linguagem de programao Diagrama Ladder (LD) foi a primeira linguagem


utilizada para a programao de CLP e ainda a mais utilizada, estando presente
em praticamente todos os CLPs disponveis no mercado. Sendo uma linguagem
grfica, utiliza smbolos semelhantes aos encontrados em esquemas eltricos
industriais.

Figura 21: Comparao entre a simbologia para circuito eltrico e para Diagrama Ladder

Fonte: do Autor.

Sua notao baseada em uma linha vertical esquerda, que representa o


barramento energizado, e uma linha vertical direita, que representa o barramento
terra. Interligando as duas linhas verticais h linhas horizontais que contm os
contatos e as bobinas. Este formato semelhante a uma escada (ladder, em ingls),
onde os barramentos de alimentao formam as laterais e as linhas de lgica
formam os degraus.

Figura 22: Exemplo de Diagrama Ladder

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

Para construir um programa com linguagem LD so utilizados smbolos que


representam contatos normalmente abertos, contatos normalmente fechados e
bobinas.
97

Cada contato ou bobina est associado a uma varivel booleana (tipo BOOL), a qual
pode assumir os valores FALSE (0, inativa) ou TRUE (1, ativa).
Se a varivel associada a um contato normalmente aberto estiver TRUE, ele estar
ativo e permitir a continuidade da linha. Se a varivel estiver FALSE, o contato
estar inativo e no permitir a continuidade da linha.
Se a varivel associada a um contato normalmente fechado estiver TRUE, ele estar
ativo e no permitir a continuidade da linha. Se a varivel estiver FALSE, o contato
estar inativo e permitir a continuidade da linha.
Se em uma linha de programa todos os contatos forem fechados, a bobina ser
ativada e sua varivel associada se tornar TRUE, ativando todos os contatos da
bobina, ou seja, fechando os contatos normalmente abertos e abrindo os contatos
normalmente fechados. A bobina sempre ser o ltimo elemento de uma linha
ladder, estando conectada ao barramento terra.
Um programa em Diagrama Ladder executado da esquerda para a direita e de
cima para baixo. Assim, as linhas sero executadas em sequncia at o final do
programa, retornando primeira linha e repetindo o processo.

Figura 23: Execuo de um Diagrama Ladder

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

A linguagem de programao Diagrama Ladder ideal para a representao de


lgicas liga/desliga devido a sua relativa facilidade de programao, anlise e
monitorao, porm pode se tornar complicada quando lgicas complexas
envolverem controle em malha fechada e clculos junto a sequenciamento de
operaes. Nestes casos, conforme a proposta da norma IEC 61131-3, o programa
deve ser estruturado de forma que sejam utilizadas outras linguagens, como Texto
Estruturado (ST) para a parte de clculos e Sequenciamento Grfico de Funes
(SFC) para o sequenciamento de funes. Obviamente, para utilizar estes recursos
o usurio dever ter as competncias tcnicas necessrias.
98

A norma IEC 61131-3 define os tipos de contato e bobina que podem ser utilizados
para construir uma linha ladder.

6.1 INSTRUES BOOLEANAS


As instrues booleanas so as instrues bsicas de um Diagrama Ladder. Uma
varivel do tipo BOOL deve ser atribuda a toda instruo booleana. Variveis do
tipo BOOL podem assumir os valores TRUE (1) ou FALSE (0).

6.1.1 Contatos
Os contatos podem ser do tipo contato, contato negado, contato sensvel borda de
subida e contato sensvel borda de descida.

6.1.1.1 Contato
Quando sua varivel correspondente estiver TRUE, a instruo permitir a
continuidade da linha.
Quando sua varivel correspondente estiver FALSE, a instruo assumir seu
estado normalmente aberto e no permitir a continuidade da linha.

Figura 24: Contato

Fonte: do Autor.

6.1.1.2 Contato negado


Quando sua varivel correspondente estiver TRUE, a instruo no permitir a
continuidade da linha da esquerda para a direita.

99

Quando sua varivel correspondente estiver FALSE, a instruo assumir seu


estado normalmente fechado e permitir a continuidade da linha.

Figura 25: Contato negado

Fonte: do Autor.

6.1.1.3 Contato sensvel borda de subida


Quando sua varivel correspondente for de FALSE para TRUE, o contato sensvel
borda de subida ser TRUE durante um ciclo de varredura (scan) do programa.

Figura 26: Contato sensvel borda de subida

Fonte: do Autor.

6.1.1.4 Contato sensvel borda de descida


Quando sua varivel correspondente for de TRUE para FALSE, o contato sensvel
borda de descida ser TRUE durante um ciclo de varredura (scan) do programa.

Figura 27: Contato sensvel borda de descida

Fonte: do Autor.

6.1.2 Bobinas
As bobinas podem ser do tipo bobina, bobina negada, bobina set, bobina reset,
bobina retentiva, bobina set retentiva, bobina reset retentiva, bobina sensvel borda
de subida e bobina sensvel borda de descida.
100

6.1.2.1 Bobina
Enquanto houver continuidade na linha esquerda da bobina, sua varivel
correspondente ser TRUE; caso contrrio, ser FALSE.

Figura 28: Bobina

Fonte: do Autor.

6.1.2.2 Bobina negada


Enquanto houver continuidade na linha esquerda da bobina negada, sua varivel
correspondente ser FALSE; caso contrrio, ser TRUE.

Figura 29: Bobina negada

Fonte: do Autor.

6.1.2.3 Bobina set


Quando houver continuidade na linha esquerda da bobina set, sua varivel
correspondente ser TRUE, permanecendo nesta condio.

Figura 30: Bobina set

Fonte: do Autor.

6.1.2.4 Bobina reset


Quando houver continuidade na linha esquerda da bobina reset, sua varivel
101

correspondente ser FALSE, permanecendo nesta condio.

Figura 31: Bobina reset

Fonte: do Autor.

6.1.2.5 Bobina retentiva (Memria)


Enquanto houver continuidade na linha esquerda da bobina retentiva, sua varivel
correspondente ser o valor TRUE; caso contrrio, receber FALSE. Este
comportamento o mesmo da bobina, porm o estado da varivel mantido mesmo
em caso de desligamento e religamento do CLP.
Variveis associadas a bobinas retentivas so declaradas como VAR_RETAIN.

Figura 32: Bobina retentiva (Memria)

Fonte: do Autor.

6.1.2.6 Bobina set retentiva


Quando houver continuidade na linha esquerda da bobina set retentiva, sua
varivel

correspondente

ser

TRUE,

permanecendo

nesta

condio.

Este

comportamento o mesmo da bobina set, porm o estado da varivel mantido


mesmo em caso de desligamento e religamento do CLP.
Variveis associadas a bobinas retentivas so declaradas como VAR_RETAIN.

Figura 33: Bobina set retentiva

Fonte: do Autor.

102

6.1.2.7 Bobina reset retentiva


Quando houver continuidade na linha esquerda da bobina reset retentiva, sua
varivel correspondente ser FALSE, permanecendo nesta condio. Este
comportamento o mesmo da bobina reset, porm o estado de sua varivel
mantido mesmo em caso de desligamento e religamento do CLP.
Variveis associadas a bobinas retentivas so declaradas como VAR_RETAIN.

Figura 34: Bobina reset retentiva

Fonte: do Autor.

6.1.2.8 Bobina sensvel borda de subida


Quando a linha esquerda da bobina sensvel borda de subida for de FALSE para
TRUE, sua varivel correspondente ser TRUE durante um ciclo de varredura (scan)
do programa.

Figura 35: Bobina sensvel borda de subida

Fonte: do Autor.

6.1.2.9 Bobina sensvel borda de descida


Quando a linha esquerda da bobina sensvel borda de descida for de TRUE para
FALSE, sua varivel correspondente ser TRUE durante um ciclo de varredura
(scan) do programa.
Um programa desenvolvido puramente em Diagrama Ladder utiliza apenas contatos
e bobinas. Tendo em vista as necessidades de controle de mquinas e processos
industriais, so utilizados junto a esta linguagem funes e blocos funcionais,
oriundos da linguagem FBD.
103

Os blocos funcionais e as demais funes apresentadas a seguir possuem sua


representao baseada na plataforma de programao CoDeSys, seguindo a norma
IEC61131-3, e esto disponveis em praticamente todos os CLP.

Figura 36: Bobina sensvel borda de descida

Fonte: do Autor.

6.2 BLOCOS FUNCIONAIS PADRO


Os blocos funcionais padro so utilizados junto s instrues booleanas para o
desenvolvimento de lgicas complexas utilizadas em sistemas de controle. Um bloco
funcional recebe um conjunto de valores de entrada e produz um ou mais valores
como resultado de sada.

Figura 37: Exemplo de bloco funcional padro

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

O nome da instncia diferencia os blocos funcionais de um mesmo tipo. possvel


associar suas entradas e sadas, do tipo BOOL, a contatos atravs da notao
<nome_da_instncia.pino_de_entrada> ou <nome_da_instncia.pino_de_sada>.
Assim, um contato (normalmente aberto) associado ao bloco do exemplo anterior
sob a notao Tempo_Partida.IN permitir a continuidade da linha enquanto o pino
de entrada IN estiver TRUE.
Da mesma forma, um contato associado ao bloco do exemplo anterior sob a notao
Tempo_Partida.Q permitir a continuidade da linha enquanto o pino de sada Q
estiver TRUE.

104

6.2.1 Biestvel SR (Set dominante)


Ativa e desativa sua sada atravs de pulsos em suas entradas, com ativao
dominante.
Quando a entrada SET1 for de FALSE para TRUE, a sada Q1 se tornar TRUE,
permanecendo nesta condio. Quando a entrada RESET for de FALSE para TRUE,
a sada Q1 se tornar FALSE, permanecendo nesta condio. Quando as duas
entradas, SET1 e RESET, estiverem TRUE, a sada Q1 se tornar TRUE, pois o
comando SET1 dominante.

Figura 38: Biestvel SR (set dominante)

Fonte: do Autor.

6.2.2 Biestvel RS (reset dominante)


Ativa e desativa sua sada atravs de pulsos em suas entradas, com comando de
desativao dominante.
Quando a entrada SET for de FALSE para TRUE, a sada Q1 se tornar TRUE,
permanecendo nesta condio. Quando a entrada RESET1 for de FALSE para
TRUE, a sada Q1 se tornar FALSE, permanecendo nesta condio. Quando as
duas entradas, SET1 e RESET1, estiverem TRUE, a sada Q1 se tornar FALSE,
pois o comando RESET1 dominante.

Figura 39: Biestvel RS (reset dominante)

Fonte: do Autor.

105

6.2.3 Detector de borda de subida


Detecta mudana de estado de FALSE para TRUE em sua entrada.
Quando a entrada CLK for de FALSE para TRUE, a sada Q se tornar TRUE
durante um ciclo de varredura (scan) do programa.

Figura 40: Detector de borda de subida

Fonte: do Autor.

6.2.4 Detector de borda de descida


Detecta uma mudana de estado de TRUE para FALSE em sua entrada.
Quando a entrada CLK for de TRUE para FALSE, a sada Q se tornar TRUE
durante um ciclo de varredura (scan) do programa.

Figura 41: Detector de borda de descida

Fonte: do Autor.

6.2.5 Temporizador na energizao (Timer On-Delay)


Retarda a ativao de sua sada aps a ativao de sua entrada.
Enquanto sua entrada IN estiver TRUE, o tempo ser contado, em milissegundos, na
varivel ET at seu valor ser igual a PT. Quando o valor de ET for igual ao valor de
PT, a sada Q se tornar TRUE.
Quando a entrada IN estiver FALSE, o tempo armazenando em ET ser zero e a
sada Q ser FALSE.
A declarao de tempo na entrada PT pode incluir as unidades dias (d), horas (h),
minutos (m), segundos (s) e milissegundos (ms), sempre precedidas por T#.
106

So exemplos de declarao de tempo na entrada PT: T#28ms, T#100s25ms e


T#14h37m35s.

Figura 42: Temporizador na energizao (Timer On-Delay)

Fonte: do Autor.

6.2.6 Temporizador na desenergizao (Timer Off-Delay)


Retarda a desativao de sua sada aps a desativao de sua entrada.
Enquanto sua entrada IN estiver TRUE, o tempo armazenando em ET ser zero e a
sada Q se tornar TRUE.
Quando sua entrada IN estiver FALSE, o tempo ser contado em milissegundos, na
varivel ET at seu valor ser igual a PT. Quando o valor de ET for igual ao valor de
PT, a sada Q se tornar FALSE.
A declarao de tempo na entrada PT pode incluir as unidades dias (d), horas (h),
minutos (m), segundos (s) e milissegundos (ms), sempre precedidas por T#.
So exemplos de declarao de tempo na entrada PT: T#54ms, T#30s12ms e
T#12h20m45s.

Figura 43: Temporizador na desenergizao (Timer Off-Delay)

Fonte: do Autor.

6.2.7 Temporizador de pulso


Ativa sua sada, aps a ativao de sua entrada, durante um perodo de tempo prdeterminado.
Enquanto sua entrada IN estiver TRUE, a sada ficar TRUE e o tempo ser
107

contado, em milissegundos, na varivel ET at seu valor ser igual a PT. Quando o


valor de ET for igual ao valor de PT, a sada Q ser FALSE.
Quando a entrada IN estiver FALSE, o valor de tempo armazenando em ET ser
zero e a sada Q ser FALSE.
A declarao de tempo na entrada PT pode incluir as unidades dias (d), horas (h),
minutos (m), segundos (s) e milissegundos (ms), sempre precedidas por T#.
So exemplos de declarao de tempo na entrada PT: T#200ms, T#50s30ms e
T#8h20m40s.

Figura 44: Temporizador de pulso

Fonte: do Autor.

6.2.8 Contador incremental


Incrementa o valor de uma varivel quando sua entrada for de FALSE para TRUE.
Quando a entrada CU for de FALSE para TRUE, ser incrementada uma unidade
varivel CV at seu valor ser igual a PV. Quando o valor de CV for igual ao valor de
PV, a sada Q ser TRUE.
Enquanto a entrada RESET estiver TRUE, o valor armazenando em CV ser zero e
a sada Q ser FALSE.
A declarao de valor limite na entrada PV deve ser definida em unidades.
O tipo de dado WORD utilizado para PV e CV em plataformas de programao como
a CoDeSys no corresponde norma IEC, a qual define o tipo de dado para PV e
CV como INT.

Figura 45: Contador incremental

Fonte: do Autor.
108

6.2.9 Contador decremental


Decrementa o valor de uma varivel quando sua entrada for de FALSE para TRUE.
Quando a entrada CD for de FALSE para TRUE, ser decrementada uma unidade
varivel CV at seu valor ser igual a zero. Quando o valor de CV for igual zero, a
sada Q ser TRUE.
Enquanto a entrada LOAD estiver TRUE, o valor armazenando em CV ser igual ao
valor de PV e a sada Q ser FALSE.
A declarao de valor limite na entrada PV deve ser definida em unidades.
O tipo de dado WORD utilizado para PV e CV em plataformas de programao como
a CoDeSys no corresponde norma IEC, a qual define o tipo de dado para PV e
CV como INT.

Figura 46: Contador decremental

Fonte: do Autor.

6.2.10 Contador incremental/decremental


Incrementa ou decrementa o valor de uma varivel quando suas entradas forem de
FALSE para TRUE.
Quando a entrada CU for de FALSE para TRUE, ser incrementada uma unidade
varivel CV at seu valor ser igual a PV. Quando o valor de CV for igual ao valor de
PV, a sada QU ser TRUE.
Quando a entrada CD for de FALSE para TRUE, ser decrementada uma unidade
varivel CV at seu valor ser igual a zero. Quando o valor de CV for igual zero, a
sada QD ser TRUE.
Enquanto a entrada LOAD estiver TRUE, o valor armazenando em CV ser igual ao
valor de PV, a sada QU ser TRUE e a sada QD ser FALSE.
Enquanto a entrada RESET estiver TRUE, o valor armazenando em CV ser zero, a

109

sada QU ser FALSE e a sada QD ser TRUE.


A declarao de valor limite na entrada PV deve ser definida em unidades.
O tipo de dado WORD utilizado para PV e CV em plataformas de programao como
a CoDeSys no corresponde norma IEC, a qual define o tipo de dado para PV e
CV como INT.

Figura 47: Contador incremental/decremental

Fonte: do Autor.

6.3 FUNES
Funes so blocos utilizados junto s instrues booleanas para o desenvolvimento
de lgicas complexas utilizadas em sistemas de controle. Uma funo recebe um
conjunto de valores de entrada e produz um nico valor como resultado de sada.
Ao contrrio dos blocos funcionais, as funes no utilizam o nome da instncia;
assim, no possvel associar seus pinos de entrada e sada a contatos.

Figura 48: Exemplo de funo

Fonte: Adaptado de Fonseca; Seixas Filho; Bottura Filho, 2008.

6.3.1 Operadores aritmticos


Os operadores aritmticos podem ser do tipo adio, subtrao, multiplicao,
110

diviso e mdulo da diviso.

6.3.1.1 Adio
Soma as duas variveis de entrada e armazena o valor na varivel de sada.
As variveis de entrada e sada podem ser do tipo BYTE, WORD, DWORD,
LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL ou LREAL.
Uma varivel de tempo tambm pode ser somada a outra varivel de tempo,
resultando em um terceira varivel do tipo TIME.

Figura 49: Adio

Fonte: do Autor.

6.3.1.2 Subtrao
Subtra da primeira varivel de entrada a segunda varivel de entrada e armazena o
valor na varivel de sada.
As variveis de entrada e sada podem ser do tipo BYTE, WORD, DWORD,
LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL ou LREAL.
Uma varivel de tempo tambm pode ser subtrada de outra varivel de tempo,
resultando em uma terceira varivel do tipo TIME. Valores negativos de tempo so
indefinidos.

Figura 50: Subtrao

Fonte: do Autor.

111

6.3.1.3 Multiplicao
Multiplica as duas variveis de entrada e armazena o valor na varivel de sada.
As variveis de entrada e sada podem ser do tipo BYTE, WORD, DWORD,
LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL ou LREAL.

Figura 51: Multiplicao

Fonte: do Autor.

6.3.1.4 Diviso
Divide a primeira varivel de entrada pela segunda varivel de entrada e armazena o
valor na varivel de sada.
As variveis de entrada e sada podem ser do tipo BYTE, WORD, DWORD,
LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL ou LREAL.

Figura 52: Diviso

Fonte: do Autor.

6.3.1.5 Mdulo da diviso


Divide a primeira varivel de entrada pela segunda varivel de entrada e armazena o
resto da diviso na varivel de sada. O resto da diviso ser um nmero inteiro.
As variveis de entrada e sada podem ser do tipo BYTE, WORD, DWORD,
LWORD, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT, REAL ou LREAL.

112

Figura 53: Mdulo da diviso

Fonte: do Autor.

6.3.2 Operadores de atribuio


Os operadores de atribuio podem ser do tipo movimentador.

6.3.2.1 Movimentador
Atribui o valor da varivel de entrada para a varivel de sada, devendo esta ser de
um tipo adequado ao valor que ser recebido.

Figura 54: Movimentador

Fonte: do Autor.

6.3.3 Operadores de sequncia de bits


Os operadores de sequncia de bits podem ser do tipo AND, OR, XOR e NOT.

6.3.3.1 AND
Realiza uma operao lgica binria AND entre as variveis de entrada e armazena
o resultado na varivel de sada. Se os bits de entrada forem 1, o bit de sada ser 1;
caso contrrio, ser 0.
As variveis de entrada e sada podem ser do tipo BOOL, BYTE, WORD, DWORD
ou LWORD.
113

Figura 55: AND

Fonte: do Autor.

6.3.3.2 OR
Realiza uma operao lgica binria OR entre as variveis de entrada e armazena o
resultado na varivel de sada. Se ao menos um dos bits de entrada for 1, o bit de
sada ser 1; caso contrrio, ser 0.
As variveis de entrada e sada podem ser do tipo BOOL, BYTE, WORD, DWORD
ou LWORD.

Figura 56: OR

Fonte: do Autor.

6.3.3.3 XOR
Realiza uma operao lgica binria XOR (Exclusive OR) entre as variveis de
entrada e armazena o resultado na varivel de sada. Se apenas um dos bits de
entrada for 1, o bit de sada ser 1; caso contrrio, ser 0.
As variveis de entrada e sada podem ser do tipo BOOL, BYTE, WORD, DWORD
ou LWORD.

Figura 57: XOR

Fonte: do Autor.
114

6.3.3.4 NOT
Realiza uma operao lgica binria NOT (inversora) na varivel de entrada e
armazena o resultado na varivel de sada. Se o bit de entrada for 1, o bit de sada
ser 0. Se o bit de entrada for 0, o bit de sada ser 1.
As variveis de entrada e sada podem ser do tipo BOOL, BYTE, WORD, DWORD
ou LWORD.

Figura 58: NOT

Fonte: do Autor.

6.3.4 Operadores de seleo


Os operadores de seleo so maior valor, menor valor e limite.

6.3.4.1 Maior valor


Compara os valores das variveis de entrada e armazena o maior dos dois valores
na varivel de sada.

Figura 59: Maior valor

Fonte: do Autor.

6.3.4.2 Menor valor


Compara os valores das variveis de entrada e armazena o menor dos dois valores
na varivel de sada.
115

Figura 60: Menor valor

Fonte: do Autor.

6.3.4.3 Limite
Se o valor da segunda varivel de entrada estiver entre os valores limite, o valor
desta varivel ser armazenado na varivel de sada. Se o valor da segunda varivel
for menor que o limite mnimo, o limite mnimo ser armazenado na sada. Se o valor
da segunda varivel for maior que o limite mximo, o limite mximo ser
armazenado na sada.

Figura 61: Limite

Fonte: do Autor.

6.3.5 Operadores de comparao


Os operadores de comparao so: igual, diferente, maior que, menor que, maior ou
igual e menor ou igual.

6.3.5.1 Igual
Quando as variveis de entrada forem iguais, a varivel de sada ser TRUE.
As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.
116

Figura 62: Igual

Fonte: do Autor.

6.3.5.2 Diferente
Quando as variveis de entrada forem diferentes, a varivel de sada ser TRUE.
As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.

Figura 63: Diferente

Fonte: do Autor.

6.3.5.3 Maior que


Quando a primeira varivel de entrada for maior que a segunda varivel de entrada,
a varivel de sada ser TRUE.
As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.

Figura 64: Maior que

Fonte: do Autor.

117

6.3.5.4 Menor que


Quando a primeira varivel de entrada for menor que a segunda varivel de entrada,
a varivel de sada ser TRUE.
As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.

Figura 65: Menor que

Fonte: do Autor.

6.3.5.5 Maior ou igual


Quando a primeira varivel de entrada for maior ou igual segunda varivel de
entrada, a varivel de sada ser TRUE.
As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.

Figura 66: Maior ou igual

Fonte: do Autor.

6.3.5.6 Menor ou igual


Quando a primeira varivel de entrada for menor ou igual segunda varivel de
entrada, a varivel de sada ser TRUE.

118

As variveis de entrada podem ser do tipo BOOL, BYTE, WORD, DWORD, SINT,
USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY,
DATE_AND_TIME ou STRING, e a varivel de sada deve ser do tipo BOOL.

Figura 67: Menor ou igual

Fonte: do Autor.

6.4 EXERCCIOS
Exerccio 1: Na ligao srie apresentada, para que a varivel Resultado seja TRUE,
as variveis A, B e C devero ser, respectivamente:

Figura 68: Programa em Diagrama Ladder

Fonte: do Autor.

a: ( ) FALSE, FALSE, FALSE;

b: ( ) FALSE, TRUE, FALSE;

c: ( ) TRUE, FALSE, TRUE;

d: ( ) TRUE, TRUE, TRUE.

Exerccio 2: Utilizando as instrues booleanas contato, contato negado e bobina,


faa um programa que represente o funcionamento da instruo contato sensvel
borda de subida.

Figura 69: Contato sensvel borda de subida

Fonte: do Autor.

119

Exerccio 3: Utilizando as instrues booleanas contato, contato negado e bobina,


faa um programa que represente o funcionamento da instruo contato sensvel
borda de descida.

Figura 70: Contato sensvel borda de descida

Fonte: do Autor.

Exerccio 4: No programa apresentado, para que a varivel Resultado seja TRUE, as


variveis A e B devero ser, respectivamente:

Figura 71: Exemplo de bloco funcional biestvel RS (reset dominante)

Fonte: do Autor.

a: ( ) FALSE, FALSE;

b: ( ) FALSE, TRUE;

c: ( ) TRUE, FALSE;

d: ( ) TRUE, TRUE.

Exerccio 5: No programa apresentado, para que a varivel Resultado permanea


TRUE, aps a varivel A se tornar TRUE, a bobina utilizada dever ser substituda
por:

Figura 72: Exemplo de bloco funcional detector de borda de descida


Pulso
F_TRIG

A
CLK

Fonte: do Autor.

120

Resultado
Q

( )

a: ( )

b: ( )

c: ( )

d: ( )

Exerccio 6: No programa apresentado, para que a varivel Resultado seja FALSE 3


segundos aps a varivel A se tornar TRUE, o contato negado dever estar
associado varivel:

Figura 73: Exemplo de bloco funcional temporizador na energizao (Timer On-Delay)

Fonte: do Autor.

a: ( ) Temporiza.PT

b: ( ) Temporiza.IN

c: ( ) Temporiza.Q

d: ( ) Temporiza.ET.

Exerccio 7: Utilizando o temporizador na energizao (Timer On-Delay), faa um


programa que represente o funcionamento do programa apresentado.

Figura 74: Exemplo de bloco funcional temporizador de pulso

Fonte: do Autor.

121

Exerccio 8: Sobre o programa apresentado:

Figura 75: Exemplo de bloco funcional contador incremental

Fonte: do Autor.

I.

O contador incrementa sua varivel PV sempre que a varivel Sensor_Peca for


para TRUE.

II. O contador incrementa sua varivel CV sempre que a varivel Sensor_Peca for
para TRUE.
III. Sempre que a varivel Botao_Reset for para TRUE, a varivel CV do contador
ser zero.
IV. Sempre que a varivel Liberar for para TRUE, a varivel CV do contador ser
zero.

122

a: ( ) Verdadeiro, Falso, Falso, Verdadeiro;

b: ( ) Falso, Verdadeiro, Falso, Verdadeiro;

c: ( ) Falso, Falso, Falso, Verdadeiro;

d: ( ) Falso, Verdadeiro, Verdadeiro, Falso.

Exerccio 9: No programa apresentado, na situao em que Entrada_Analogica =


2897, Minimo_Entrada = 0, Maximo_Entrada = 4095, Minimo_Temperatura = -50 e
Maximo_Temperatura = 300, qual ser o valor da varivel Temperatura?

Figura 76: Exemplo de Programa 1


SUB
EN
Entrada_Analogica

Resultado_1

Minimo_Entrada
SUB
EN
Maximo_Temperatura

Resultado_2

Minimo_Temperatura
MUL
EN
Resultado_1

Resultado_3

Resultado_2
SUB
EN
Maximo_entrada

Resultado_4

Minimo_entrada
DIV
EN
Resultado_3

Resultado_5

Resultado_4
ADD
EN
Resultado_5

Temperatura

Minimo_Temperatura

Fonte: do Autor.

123

Exerccio 10: No programa apresentado, na situao em que a varivel Valor = 40,


as variveis A, B, C e D sero, respectivamente:

Figura 77: Exemplo de Programa 3


MAX
EN
Valor

Resultado_1

50
MIN
EN
Valor

Resultado_2

20
EQ
EN
Resultado_1

Resultado_2
NE
EN
Resultado_1

Resultado_2
GT
EN
Resultado_1

Resultado_2
LT
EN
Resultado_1

Resultado_2

Fonte: do Autor.

124

a: ( ) TRUE, FALSE, FALSE, TRUE;

b: ( ) FALSE, TRUE, TRUE, FALSE;

c: ( ) TRUE, FALSE,TRUE, FALSE;

d: ( ) FALSE, TRUE,FALSE, TRUE.

Exerccio 11: No programa apresentado, o valor armazenado na varivel


Resultado_Final ser:

Figura 78: Exemplo de Programa 2


OR
EN
10011001

Resultado_1

11010110
AND
EN
Resultado_1

Resultado_2

10011010
NOT
EN
Resultado_2

Valor_Final

Fonte: do Autor.

a: ( ) 01100101

b: ( ) 10011010

c: ( ) 10011010

d: ( ) 01100101.

125

REFERNCIAS

3S-Software. CoDeSys - the standard IEC 61131-3 development system (IDE).


Disponvel em: <http://www.3s-software.com/index.shtml?en_Products>. Acesso em:
3 jul. 2011.
ALLEN-BRABLEY. Micro mentor: entendendo e utilizando os microcontroladores
programveis. So Paulo: [s.n.], 1996.
ALVES, Jos Luiz Loureiro. Instrumentao, controle e automao de
processos. Rio de Janeiro: LTC, 2005.
ATAN Sistemas; CPDEE. Aula IEC 61131-3. Disponvel em:
<http://www.scribd.com/doc/91668735/Aula-IEC-61131-3>. Acesso em: 31 ago.
2012.
BOLTON, W. Programmable Logic Controllers. 4th ed. 2006. Disponvel em:
<www.sayedsaad.com/montada/showthread.php?>. Acesso em: 31 ago. 2012.
FAUSTINO, Marcos Roberto. Norma IEC61131-3: aspectos histricos, tcnicos e
um exemplo de aplicao. 2005. 136f. Dissertao (Mestrado em Engenharia)
Escola Politcnica da Universidade de So Paulo. So Paulo, 2005.
FONSECA, Marcos de Oliveira; SEIXAS FILHO, Constantino; BOTTURA FILHO,
Joo Aristides. Aplicando a norma IEC 61131 na automao de processos. So
Paulo: ISA Distrito 4, 2008.
GEORGINI, Marcelo. Automao Aplicada: descrio e implementao de
sistemas sequenciais com PLCs. 9.ed. So Paulo: rica, 2007.
GROUPE SCHNEIDER. Esquemateca: Tecnologia do controle e automao
industrial. So Paulo: MM, 2000.
JACK, Hugh. Automating manufacturing systems with PLC. (Version 4.7, April
14, 2005). E-book. Disponvel em: <http://webbooks.net/freestuff/plc.pdf>. Acesso
em: 12 set. 2012.
MORAES, Ccero Couto de; CASTRUCCI, Plnio de Lauro. Engenharia de
Automao Industrial. Rio de Janeiro: LTC, 2001.
PLCopen. IEC 61131-3: a norma para programao. Disponvel em:
<www.plcopen.org/pages/pc2_training/introductions_in_spanish_and_portugese>.
Acesso em: Acesso em: 22 set. 2011.
______. Introduo PLCopen. Disponvel em: <www.plcopen.org/pages/pc2_
training/introductions_in_spanish_and_portugese>. Acesso em: 22 set. 2011.
PRUDENTE, Francesco. Automao Industrial: PLC: teoria e aplicaes. Rio de
126

Janeiro: LTC, 2007.


SILVEIRA, Paulo R. da; SANTOS, Winderson E. Automao e controle discreto.
2.ed. So Paulo: rica, 1999.
SOUZA, Joaquim Gomes da Costa Eullio de. Uma arquitetura de
interoperabilidade para as linguagens da norma IEC 1131-3 usando XML. 2004.
136 f. Dissertao (Mestre em Computao Aplicada) Universidade do Vale do Rio
dos Sinos. So Leopoldo, RS, 2004.
VAN DER WAL, Eelco. Estruturao usando a norma IEC 61131-3: 7 Passos para
o Sucesso. Disponvel em: <www.plcopen.org/pages/benefits/advantages_for_users
_iec61131>. Acesso em: 29 maio 2012.
______. Os erros mais comuns na interpretao da norma IEC 61131-3.
Disponvel em: <www.plcopen.org/pages/benefits/advantages_for_users
_iec61131>. Acesso em: 29 maio 2012.

127

ANEXOS
ANEXO A Introduo PLCopen
Artigo sobre a PLCopen traduzido por Marcos Fonseca, Diretor da Diviso de
Tecnologia da Automao da empresa ATAN Sistemas.

ANEXO B IEC 61131-3: a norma para programao


Artigo sobre a norma IEC 61131-3 traduzido por Marcos Fonseca, Diretor da Diviso
de Tecnologia da Automao da empresa ATAN Sistemas.

ANEXO C Os erros mais comuns na interpretao da norma IEC 61131-3


Artigo sobre erros na interpretao da norma IEC 61131-3, escrito por Eelco van der
Wal, Diretor da PLCopen, e traduzido por Marcos Fonseca, Diretor da Diviso de
Tecnologia da Automao da empresa ATAN Sistemas.

ANEXO D Estruturao usando a norma IEC 61131-3: 7 passos para o


sucesso
Artigo sobre passos para a utilizao da norma IEC 61131-3, escrito por Eelco van
der Wal, Diretor da PLCopen, e traduzido por Marcos Fonseca, Diretor da Diviso de
Tecnologia da Automao da empresa ATAN Sistemas.

Você também pode gostar