Buscar

Apostila Codesys

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 159 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 159 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 159 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 de 159 
 
Programação Básica 
 
CoDeSys / Galileo 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
COG_11: Versão 06_2012 
 
 
 
 
 
2 de 159 
Proibida a reprodução total ou parcial deste material, por 
qualquer meio ou processo sem expressa autorização por escrito 
da EATON Ltda. Electrical – Divisão Electrical PDO. 
 
A violação dos direitos autorais é crime, podendo cominar em 
pena de prisão e/ou multa, conjuntamente com busca e 
apreensão do material, sem prejuízo das indenizações civis (de 
acordo com o artigo 184 e parágrafos do Código Penal Brasileiro 
c/c a Lei nº 9.610/98, Lei dos Direitos Autorais). 
 
As informações contidas nesta apostila correspondem ao estado 
atual da técnica e estão sujeitas a alterações sem aviso prévio. 
 
Os programas de exemplo contidos nesta apostila são para 
efeitos didáticos, a EATON não se responsabiliza por quaisquer 
danos e/ou acidentes que a utilização indevida destes softwares 
venha a causar. 
 
A participação e/ou aquisição do treinamento não dá nenhum 
direito ao participante sobre os softwares utilizados durante o 
treinamento, incluindo cópias, versões de demonstração e/ou 
versões originais. 
 
O treinamento tem como base a utilização de produtos EATON. 
 
A EATON não se responsabiliza por quaisquer adaptações, 
conversões e/ou utilização dos conceitos contidos nesta apostila 
com produtos de outra fabricação. 
 
 
 
 
3 de 159 
INDEX: 
 
Conceitos de Hardware. ......................................................................................... 5 
Unidade Central de Processamento (UCP ou CPU) ........................................... 6 
Entradas e Saídas de um CLP. ........................................................................... 6 
Família de CLP’s EATON ....................................................................................... 8 
Linha Easy Control (EC4P) ................................................................................. 8 
Linha XControl. .................................................................................................... 9 
Linha XVision .................................................................................................... 12 
Linha de I/Os remotos XI/ON. ........................................................................... 16 
Trabalhando com o IOassistant. ................................................................... 18 
Conceitos da IEC 61131-3. .................................................................................. 25 
Introdução à declaração de variáveis e tipos de variáveis. ............................... 25 
Declaração de variáveis com endereçamento físico. ........................................ 26 
Variáveis booleanas. ..................................................................................... 27 
Variáveis numéricas. ..................................................................................... 27 
Variáveis do tipo Texto. ................................................................................. 28 
Variáveis do tipo Data e Tempo. ................................................................... 29 
Exemplo de uma declaração de variáveis ..................................................... 30 
Declaração de variáveis Locais e Globais ............................................................ 30 
Variável Local .................................................................................................... 30 
Variável Global .................................................................................................. 30 
As linguagens de programação. ........................................................................... 31 
Linguagem Ladder (LD)..................................................................................... 31 
Linguagem em Blocos de Função (FBD)........................................................... 31 
Linguagem em Lista de Instruções. (IL). ........................................................... 32 
Linguagem Estruturada ou (ST). ....................................................................... 32 
Programação em Linguagem Sequencial (SFC) ............................................... 33 
Ambiente de programação CoDeSys. .................................................................. 33 
INICIANDO O SOFTWARE .................................................................................. 35 
Criando um novo Projeto ...................................................................................... 37 
Configurando Hardware XV100 ............................................................................ 39 
Trabalhando com IHM+CLP. ............................................................................. 39 
Trabalhando com IOs remotos. ......................................................................... 40 
Configurando Hardware XC100/XC200 ............................................................... 45 
COMEÇANDO A PROGRAMAR .......................................................................... 49 
COMPILANDO O PROGRAMA ............................................................................ 56 
SIMULANDO O PROGRAMA .............................................................................. 56 
Forcando variáveis pela configuração do XC100/200 ....................................... 60 
CRIANDO TELAS DE SIMULAÇÃO ................................................................. 61 
TRABALHANDO COM BREAK POINTS E CONTROLADORES DE CICLO .... 70 
Comunicação em Ethernet com IHM+CLP. .......................................................... 74 
Verificar e ajustar o endereço de IP da IHM ...................................................... 76 
Cabo de Ethernet .............................................................................................. 77 
Testar a conexão Ethernet ................................................................................ 77 
O primeiro programa do CLP da IHM ................................................................... 78 
Pontos de licença para funcionamento do CLP ................................................. 78 
Instalação do programa de execução do CLP na IHM ...................................... 78 
 
 
 
 
4 de 159 
Executar a instalação na plataforma do Windows: ............................................ 78 
TRANSFERINDO O PROGRAMA ....................................................................... 83 
Transferência do programa via rede Ethernet ................................................... 83 
Transferência do programa via rede serial ........................................................ 85 
Alterações ONLINE .............................................................................................. 87 
Create Boot Project .............................................................................................. 87 
Sourcecode Download ......................................................................................... 88 
Upload do programa do CLP ................................................................................ 89 
IMPORTANDO BIBLIOTECAS ............................................................................. 91 
Utilizando Bibliotecas no projeto ....................................................................... 92 
Utilizando instruções de comparação e operações matemáticas ......................... 93 
Exemplo de inserção de operados .................................................................... 93 
Funções de conversão de operadores ................................................................. 95 
Exemplo de inserção de funções de conversão de operadores ........................95 
Configuração do arquivo de símbolos .................................................................. 96 
O primeiro projeto no GALILEO ......................................................................... 103 
Criando um novo projeto ................................................................................. 103 
Selecionar o modelo da IHM ........................................................................... 104 
Selecionar o CLP ............................................................................................ 106 
Criar Tela ......................................................................................................... 107 
Objetos da barra de ferramentas ........................................................................ 108 
Importar Tag’s .................................................................................................... 143 
Gerar objeto de exibição .................................................................................... 149 
Compilar o projeto .............................................................................................. 151 
Simulação do projeto no PC ............................................................................... 152 
Download do Projeto para IHM .......................................................................... 153 
Iniciar o FTP-Server na IHM ............................................................................ 153 
Caminho para gerar o FTP no GALILEO ........................................................ 154 
Download do projeto da IHM .............................................................................. 156 
Upload do programa da IHM ........................................................................... 159 
 
 
 
 
 
 
 
5 de 159 
Conceitos de Hardware. 
 O CLP, Controlador Lógico Programável, também conhecido como PLC, 
Programming Logical Controller é um equipamento eletrônico composto de: 
 
 Unidade Central de Processamento. 
 Memória 
 Interface de entrada e saída, ou IO (Input, Output) 
 
 O CLP, ou o controlador programável, é um equipamento utilizado para 
automação de processos eletromecânicos, tais como o controle de máquinas em 
linhas de montagem, parques de diversões, controle de luminárias, etc... Ao 
contrário dos computadores de uso geral, o CLP foi concebido para possuir várias 
entradas e saídas, suportabilidade térmica elevada, imunidade a ruídos elétricos e 
resistência à vibração e impacto. 
 Os programas para controlar a operação da máquina são normalmente 
armazenados em memória alimentada por bateria ou então em memórias não 
voláteis. 
 O CLP é um sistema de tempo real, que altera as suas saídas conforme as 
condições de suas entradas e de suas memórias internas. 
 
 Na década de 60 os antigos painéis de controle possuíam quilômetros e 
quilômetros de fios e, em alguns casos, mais de 500 temporizadores analógicos, 
500 contadores e um número de relês auxiliares acima de 2000 unidades. 
 
 Próximo a 1968, na indústria automotiva, surgiu uma necessidade de se 
alterar as grandes linhas de montagem, devido às frequentes alterações em 
modelos dos automóveis, adequação de linhas de montagens, etc. 
 Era necessário algo que reduzisse o tempo de alteração destes painéis. A 
solução foi criar um controlador, capaz de executar algumas lógicas simples, 
realizar rotinas de temporização e de contagem internamente e que pudesse ser 
reprogramado quando necessário. 
 
 Hoje os CLP’s concentram mais recursos em sua CPU do que cinco mil 
temporizadores, cinco mil contadores, além de possuírem recursos para controles 
PID, posicionamento, lógica Fuzzy, gerenciamento de banco de dados, redes de 
comunicação, etc. 
 
 Algumas coisas, no entanto, permanecem as mesmas. 
 
 
 
 
 
6 de 159 
Unidade Central de Processamento (UCP ou CPU) 
 
 A UCP, ou CPU, é o cérebro do CLP, é responsável pela execução do 
programa do usuário, leitura e escrita das memórias, acesso aos dados das 
entradas e saídas. Apesar de parecer complexo, a CPU tem um funcionamento 
bastante simples. 
 
 Assim que ligamos a 
CPU esta executa um auto 
teste, verifica a integridade 
do hardware e do software, 
executa algumas funções do 
sistema e etc... 
Logo em seguida lê todas as 
entradas, digitais e 
analógicas, alocando seus 
valores em uma memória de 
imagem. Logo em seguida a 
CPU começa a executar o 
programa do usuário. 
 Tomando como base 
a memória de imagem das 
entradas a CPU executa as 
lógicas do programa alocando o resultado das mesmas em uma memória de 
imagem de saída. 
 Assim que o programa chega ao final, a CPU aloca a memória de imagens 
de saídas nas saídas físicas propriamente ditas, analógicas e/ou digitais. Quando 
o processo encerra a CPU retorna para as rotinas de auto teste, funções do 
sistema e tudo recomeça. Normalmente o tempo de ciclo de uma CPU gira em 
torno de alguns milésimos de segundo. 
 
Entradas e Saídas de um CLP. 
 
 As saídas e entradas de um CLP podem ser digitais ou analógicas. 
Digital ou sinais discretos se comportam como interruptores, possuem apenas 
dois estados definidos, Ligado ou desligado. 
 Em entradas digitais por exemplo ligamos, botões, fim de curso, sensores 
fotoelétricos, sensores indutivos, etc... 
 Nas saídas digitais ligamos, sinaleiros, contatores, válvulas solenoides, 
etc... 
 Os sinais analógicos são como os controles de volume, possuem um 
intervalo de valores entre o valor mínimo e o máximo. 
 Em entradas analógicas, por exemplo, ligamos sensores de temperatura, 
sensores de pressão, tacogeradores, etc... 
 Em saídas analógicas ligamos, válvulas proporcionais, dimmers, inversores 
de frequência (Que controlam a velocidade do motor de 0 a 100%), etc... 
 
 
 
 
7 de 159 
 Os sinais digitais ainda podem ser do tipo “Trem de pulsos” ou “Sinal de 
alta frequência”. Alguns equipamentos, como por exemplo os encoders, geram 
um sinal de liga e desliga conforme giramos seu eixo. Conforme a velocidade em 
que este liga/desliga ocorre determinamos a velocidade em que o encoder está 
girando e, contando a quantidade de pulsos, determinamos a posição do mesmo. 
 Também existem saídas digitais em alta frequência, utilizadas para 
controlar motores de passo ou servo motores, por exemplo. Nestes casos cada 
pulso gerado pela saída faz com que o motor gire alguns segundos de grau, 
quanto mais rápido gerarmos o trem de pulso, mais rápido o motor irá girar! 
 
 As entradas e saídas analógicas possuem conversores Analógicos – 
Digitais. Com estes conversores elas transformam variações de corrente ou 
tensão em um número para que o CLP possa entender e trabalhar com estas 
grandezas. 
 
 As entradas e saídas analógicas possuem uma característica técnica que é 
a resolução. Ao ler um sinal analógico a entrada irá transformar este valor em um 
número, chamado de número de incrementos, quanto maior este número, maior a 
precisão de leitura. 
 
 Por exemplo, uma entrada analógica que varia de 0 a 10V e possui 
resolução de 12 bits. Isto quer dizer que em 0V o número obtido nesta entrada é 
0, e quando esta entrada receber um sinal de 10V o número lido será de 4095! Ou 
seja cada vez que a entrada oscilar em 2,4mV o número lido na entrada analógica 
sofrerá uma alteração. 
 
 Se tivermos agora uma entrada de 14 bits de resolução, significa que em 
10V teremos o número 16383. Ou seja, cada vez que a entrada oscilar em 0,6mV 
o número lido na entrada analógica sofrerá uma alteração. 
 
 Para calcular o número de incrementos obtido em uma entrada ou saída 
analógica utilizamos a seguinte fórmula: ((2 quantidade de bits) -1) 
 
 
 
 
 
8 de 159 
Família de CLP’s EATON 
 
Linha Easy Control (EC4P) 
 
 O EC4P é um CLP compacto, com entradas e saídas incorporadasna 
própria CPU. Possui versões com e sem display, com ethernet e com saídas 
analógicas incorporadas. 
 
 
EC4P 
O easyControl EC4P oferece soluções amigáveis para tarefas de 
automação de pequeno e médio porte. Ele pode ser utilizado tanto com os 
dispositivos da família Easy (Pode ser ampliado localmente com a adição de um 
módulo lateral) como também em combinação com teoricamente todos 
dispositivos de automação através de sua rede CANopen incorporada. A interface 
Ethernet integrada permite a utilização de outros recursos tais como OPC Server 
e programação à distância. Entre outros destaques temos o software de 
programação easySoft-CoDeSys que segue a norma IEC 61131-3. O EC4P 
possui 256Kb de memória de programa e um poderoso processador que 
garantem maior velocidade e flexibilidade em suas aplicações. 
 
 
 
 
 
 
 
9 de 159 
Linha XControl. 
 
 
Os CLPs modulares XC100 e XC200 se destacam por conta de seu design 
altamente compacto. Oferecem diferentes classes de desempenho de CPU e uma 
vasta gama de módulos de expansão. 
 
Uma característica importante é a sua capacidade para ser integrado em 
conceitos modernos de comunicação. A troca de dados através da interface 
Ethernet para OPC ou clientes de servidor web (Web Server) integrado permite a 
criação de soluções inovadoras. 
 
 
XCONTROL 
 
 
 
XCONTROL montado com 15 XIOC (Módulos de E/S locais) 
 
 
 A linha XControl é uma linha de grande capacidade e velocidade de 
processamento. Pode ser ampliado até 15 cartões laterais à CPU, o que permite 
uma alta concentração de I/Os (450 pontos em 510mm largura). 
 A linha XC também pode receber IOs ou outros equipamentos em rede 
CANOpen, já incorporada à CPU. 
 Outras vantagens da linha XC é a possibilidade de se trabalhar em outras 
redes, através da adição de placas, como por exemplo: Profibus-DP, Modbus-
RTU, Suconet K, etc... 
 
 
 
 
 
10 de 159 
 
Tabela de escolha para CPU’s 
 
 Para uma lista completa de funcionalidades da CPU, bem como, escolher 
os módulos de entradas e saídas locais mais adequados a cada aplicação, é 
necessário consultar os catálogos pertinentes. 
 
 A CPU XControl, conta ainda com uma série de acessórios, alguns 
obrigatórios para o funcionamento da mesma. 
 
 Conforme figura abaixo, se faz necessária à utilização de uma bateria XT-
CPU-BAT1, que é responsável pela manutenção do relógio de tempo real. 
Cabe ao usuário, escolher se deseja um terminal com molas (excelente para 
aplicações com vibração) ou um terminal parafuso. XIOC-TERM-18T e XIOC-
TERM-18S, respectivamente. 
 Outro item que deve ser selecionado é à base de montagem. (XIOC-BP-XC 
ou XIOC-BP-XC1), a base é vendida separadamente exatamente para otimizar 
espaço na montagem da CPU. Antigamente, quando os CLP’s vinham com rack 
já completo, mesmo que se utilizasse apenas uma placa de saída, vários slots 
ficavam vagos. Com a nova tecnologia é possível montar um Rack exatamente do 
tamanho que se precisa! 
 
 
Memória
Bytes
XC-CPU101-C64K-8DI-6DO 64K X (500K) 4 8 6 Transístor
XC-CPU101-C128K-8DI-6DO 128K X (500K) 4 8 6 Transístor
XC-CPU101-C256K-8DI-6DO 256K X (500K) 4 8 6 Transístor
XC-CPU201-EC256K-8DI-6DO 256K X X (1M) 2 (50) 2 1 (50) 8 6 Transístor
XC-CPU201-EC512K-8DI-6DO 2M X X (1M) 2 (50) 2 1 (50) 8 6 Transístor
XC-CPU201-EC256K-8DI-6DO-XV 256K X X X (1M) 2 (50) 2 1 (50) 8 6 Transístor
XC-CPU201-EC512K-8DI-6DO-XV 2M X X X (1M) 2 (50) 2 1 (50) 8 6 Transístor
XC-CPU202-EC4M-8DI-6DO-XV 4M X X X (1M) 2 (50) 2 1 (50) 8 6 Transístor
EC4P-221-MTX... 256K X (500K) 2 (50) 1 (40) 12 8 Transístor 4
EC4P-221-MRX... 256K X (500K) 2 (50) 1 (40) 12 6 Relê 4
EC4P-221-MTA... 256K X (500K) 2 (50) 1 (40) 12 8 Transístor 4 1
EC4P-221-MRA... 256K X (500K) 2 (50) 1 (40) 12 6 Relê 4 1
EC4P-222-MTX... 256K X X (500K) 2 (50) 1 (40) 12 8 Transístor 4
EC4P-222-MRX... 256K X X (500K) 2 (50) 1 (40) 12 6 Relê 4
EC4P-222-MTA.... 256K X X (500K) 2 (50) 1 (40) 12 8 Transístor 4 1
EC4P-222-MRA... 256K X X (500K) 2 (50) 1 (40) 12 6 Relê 4 1
En
tra
da
s 
An
a
ló
gi
ca
s 
(0 
a
 
10
V)
Sa
íd
as
 
An
a
ló
gi
ca
s 
(0 
a
 
10
V)
CA
N
/C
AN
O
pe
n
 
(bp
s)
0,3
0,3
0,3
Co
n
ta
do
re
s 
R
áp
id
os
 
(K
H
z)
En
tra
da
s 
di
gi
ta
is
 
(O
n
 
bo
ar
d)
0,3
0,3
0,3
In
te
rr
u
pç
ão
 
(H
W
)
En
co
de
r 
In
cr
e
m
e
n
ta
l (K
H
z)
0,3
0,3
Sa
íd
a
s 
di
gi
ta
is
(O
n
 
bo
a
rd
)
W
EB
 
Se
rv
e
r
0,15
0,15
0,025
m
S/
10
00
 
in
st
ru
çõ
es
0,5
0,5
0,15
0,15
R
S2
32
Et
he
rn
et
 
10
/1
00
M
b
Ve
lo
ci
da
de
0,5
 
 
 
 
11 de 159 
 
Esquema de montagem da CPU XC. 
 
 Ressaltando que, mesmo módulos locais, no caso do XControl, estes 
módulos começam com a sigla XIOC, também necessitam de terminais, em 
alguns casos, como nos contadores rápidos e módulos com 32 pontos, estes 
terminais são específicos e devem ser escolhidos com um certo critério. 
 Novamente, favor consultar os catálogos apropriados para esta seleção. 
As bases também são escolhidas conforme as quantidades de módulos que 
selecionamos. Abaixo um exemplo de montagem de racks conforme a quantidade 
de módulos locais. 
 
 
 
 
 
 
 
12 de 159 
 Por exemplo, se quisermos um CLP com dez módulos XIOC, a melhor 
montagem do rack traseiro seria: 
 
XIOC-BP-XC + XIOC-BP-2 + XIOC-BP-3 + XIOC-BP-EXT + XIOC-BP-2 + XIOC-
BP-2 
 
 O rack XIOC-BP-EXT, na verdade, é um rack que recebe até 3 cartões 
porém atua como um amplificador de sinais, sem este módulo o XControl pode 
manobrar até 7 cartões locais, com ele a CPU XControl consegue trabalhar com 
até 15 cartões locais. 
 
Linha XVision 
 
Seja na construção de máquinas, instalações ou em aplicações especiais, 
raramente há uma aplicação em que uma IHM não possa simplificar a operação e 
com isso aliviar o operador. 
 
Um moderno display sensível ao toque fornece informações claras, a orientação 
do menu flexível em cada idioma desejado permite vendas para outras partes do 
mundo ao fabricante de máquinas com apenas uma solução de software e 
hardware. 
 
 
 
Com IHM-CLPs de 3.5” até 15” você tem soluções otimizadas para cada máquina. 
Controle, posicionamento e comunicação são desenvolvidas com o 
XsoftCoDeSys-2 baseado na IEC 61131-3. A visualização das telas da IHM são 
criadas com o amigável software Galileo. 
 
 A linha XVision é uma linha de IHM’s (Interfaces Homem Máquina) que 
podem trabalhar, tanto como displays simples, como, uma unidade mista CLP + 
IHM. 
 
 A Interface Homem Máquina, também chamada de HMI (Human Machine 
Interface) ou ainda MMI (Man Machine Interface) é um aparelho que possui 
 
 
 
 
13 de 159 
display, teclado em alguns casos, e realiza a comunicação com as memórias 
internas do CLP, através desta comunicação a IHM exibe em seu display: 
• Alarmes e status da máquina. 
• Dados de processo, tais como: temperatura desejada e temperatura atual 
da máquina. 
 
 Através de seu teclado, ou através de toque na tela (Touchscreen), o 
operador consegue: 
• Alterar dados de processo. 
• Reconhecer alarmes. 
• Criar receitas 
• Gerenciar senhas de acesso. 
• Controlar a máquina manualmente, ou iniciar um processo automático. 
 
 Resumindo, a IHM é a interface que exibe ao operador o que a máquina 
está fazendo e/ou o que está ocorrendo. E é a interface que a máquina utiliza 
para obter do operador o que ele quer! 
 
 Quando a XV opera como IHM+CLP nós podemos utilizá-la em conjunto 
com IOs remotos, Inversores em rede, Sistema de partida Smart-Wire,etc. 
 Se o equipamento estiver trabalhando como uma IHM simples, sem CLP, a 
mesma pode se conectar via CANopen, Profibus, Ethernet, Modbus e muitos 
outros protocolos a um CLP que também possua estas redes de comunicação. 
 
 
 Na seleção de qual IHM será escolhida, um ponto importante a ser levado 
em conta é o tipo de display que será escolhido. O equipamento XV possui telas 
do tipo touchscreen resistivo ou Infra Vermelho com vidro de segurança. 
 
 O Touch resistivo consiste de uma película plástica que é colocada sobre a 
tela da IHM. Esta película, através de uma leve pressão, detecta onde ocorreu o 
toque e processa esta informação. 
 
 O Touch infravermelho funciona com emissores e receptores instalados 
nas bordas da tela. Quando o operador coloca o dedo na tela, interrompe estes 
feixes de luz, desta forma, o sistema sabe onde o toque ocorreu. Como este 
sistema não utiliza a adição de nenhum sensor na tela do display, o mesmo pode 
ser montado com vidro de segurança, laminado à prova de impacto. Ou seja, as 
 
 
 
 
14 de 159 
telas com tecnologia IR (Infravermelho) possuem uma resistência a impactos 
mecânicos e a risco muito superior aos modelos que utilizam a tecnologia 
resistiva. 
 
 Por possuir vidro no frontal, e não possuir o sensor de toque na frente, a 
IHM Infravermelho possui também boa resistência a certas substâncias químicas. 
 
 Os dois modelos possuem grau de proteção IP65, ou seja, resistência total 
contra pó e jatos de água. 
 
 
 
 
 As IHM’s da linha XV podem ser adquiridas em diversos tamanhos, de 3” a 
15”, com diversas opções de redes de comunicação, conforme tabela abaixo. 
 Existem ainda modelos com moldura executada em aço inoxidável 
escovado, ideais para indústrias alimentícias, e modelos móveis, para uma 
completa visualização das possibilidades de montagem, bem como todos os 
acessórios disponíveis, favor verificar os catálogos pertinentes. 
 
 As IHM’s cujo código começa com XV-100, são modelos que, uma vez 
ordenados, já vem com licença do sistema operacional e memória interna. As 
IHM’ com código XV-400 ou XVS-400, precisam ser adquiridas em conjunto com 
um cartão de memória e uma licença de sistema operacional. 
 
 Algumas IHM’s vem de fábrica sem o CLP habilitado, para habilitar o 
mesmo, basta adquirir uma licença, que possui um código que será digitado na 
IHM. 
 
 Outras redes de comunicação necessitam, às vezes, de uma licença 
especial, novamente, verifique o catálogo para seleção correta da IHM, das 
licenças e dos acessórios necessários. 
 
 
 
 
15 de 159 
 
 
Ta
m
an
ho
 
da
 
Te
la
Co
lo
rid
a 
(65
53
5 
co
re
s)
Ve
lo
ci
da
de
 
(M
H
z)
Ca
pa
ci
da
de
 
de
 
m
e
m
ór
ia
 
(M
B)
Já
 
te
m
 
CL
P 
In
co
rp
o
ra
do
To
u
ch
 
re
si
st
iv
o
To
u
ch
 
In
fra
ve
rm
el
ho
Pr
o
fib
u
s
CA
N
/C
AN
O
pe
n
R
S2
32
R
S4
85
Et
he
rn
e
t 1
0/
10
0M
bs
Sl
ot
s 
pa
ra
 
ca
rtã
o 
de
 
co
m
u
n
ic
a
çã
o
Pe
rm
ite
 
ha
bi
lita
r 
CL
P
XV-102-A0-35MQR-10 3,5" 400 64 X X
XV-102-A2-35MQR-10 3,5" 400 64 X X X
XV-102-A3-35MQR-10 3,5" 400 64 X X X
XV-102-A4-35MQR-10 3,5" 400 64 X X X
XV-102-A5-35MQR-10 3,5" 400 64 X X X X
XV-102-B0-35TQR-10 3,5" X 400 64 X X X
XV-102-B2-35TQR-10 3,5" X 400 64 X X X X
XV-102-B3-35TQR-10 3,5" X 400 64 X X X X
XV-102-B4-35TQR-10 3,5" X 400 64 X X X X
XV-102-B5-35TQR-10 3,5" X 400 64 X X X X X
XV-102-B0-35MQR-10-PLC 3,5" 400 64 X X X
XV-102-B3-35MQR-10-PLC 3,5" 400 64 X X X X
XV-102-B4-35MQR-10-PLC 3,5" 400 64 X X X X
XV-102-B5-35MQR-10-PLC 3,5" 400 64 X X X X X
XV-102-B6-35MQR-10-PLC 3,5" 400 64 X X X X X
XV-102-B8-35MQR-10-PLC 3,5" 400 64 X X X X X
XV-102-B0-35TQR-10-PLC 3,5" X 400 64 X X X
XV-102-B3-35TQR-10-PLC 3,5" X 400 64 X X X X
XV-102-B4-35TQR-10-PLC 3,5" X 400 64 X X X X
XV-102-B5-35TQR-10-PLC 3,5" X 400 64 X X X X X
XV-102-B6-35TQR-10-PLC 3,5" X 400 64 X X X X X
XV-102-B8-35TQR-10-PLC 3,5" X 400 64 X X X X X
XV-102-D0-57TVR-10 5,7" X 400 64 X X X X
XV-102-D6-57TVR-10 5,7" X 400 64 X X X X X X
XV-102-D8-57TVR-10 5,7" X 400 64 X X X X X X
XV-102-D0-70TWR-10 7" X 400 64 X X X X
XV-102-D6-70TWR-10 7" X 400 64 X X X X X X
XV-102-D8-70TWR-10 7" X 400 64 X X X X X X
XV-102-D0-57TVR-10-PLC 5,7" X 400 64 X X X X
XV-102-D6-57TVR-10-PLC 5,7" X 400 64 X X X X X X
XV-102-D8-57TVR-10-PLC 5,7" X 400 64 X X X X X X
XV-102-D0-70TWR-10-PLC 7" X 400 64 X X X X
XV-102-D6-70TWR-10-PLC 7" X 400 64 X X X X X X
XV-102-D8-70TWR-10-PLC 7" X 400 64 X X X X X X
XVS-440-57MPI-1-10 5,7" X 400 64 X X X X X
XVS-450-57MPI-1-10 5,7" X 400 64 X X X X X
XVS-460-84MPI-1-10 8,4" X 400 64 X X X X X
XVS-440-10MPI-1-10 10,4" X 400 64 X X X X X
XVS-430-10MPI-1-10 10,4" X 400 64 X X X X X
XVS-440-12MPI-1-10 12,1" X 400 64 X X X X X
XVS-430-12MPI-1-10 12,1" X 400 64 X X X X X
XVS-460-15MPI-1-10 15" X 400 64 X X X X X
XV-460-57TQB-1-10 5,7" X 400 64 X X X X 1 X
XV-450-57TQB-1-10 5,7" X 400 64 X X X X 1 X
XV-460-84TVB-1-10 8,4" X 400 64 X X X X 1 X
XV-440-10TVB-1-10 10,4" X 400 64 X X X X 2 X
XV-430-10TVB-1-10 10,4" X 400 64 X X X X 2 X
XV-440-12TSB-1-10 12,1 X 400 64 X X X X 2 X
XV-430-12TSB-1-10 12,1" X 400 64 X X X X 2 X
XV-460-15TXB-1-10 15" X 400 64 X X X X 2 X
Interface de comunicação
 
 
 
 
16 de 159 
 
Linha de I/Os remotos XI/ON. 
 
 
 
 Os IOs remotos, são na verdade módulos com entradas e saídas, 
analógicas e/ou digitais que são conectados através de uma rede de 
comunicação ao controlador do processo. 
 
 A linha XI/ON é uma linha de IOs remotos que é constituída basicamente 
de três tipos de equipamentos diferentes. O gateway, que é responsável pela 
comunicação das placas de entrada/saída com a rede selecionada, a placa de 
entrada/saída propriamente dita e a base de conexão, que liga as placas com o 
campo. 
 
 
 
 
 
17 de 159 
 
 
 O software IOAssistant é utilizado para facilitar na cotação dos módulos 
remotos, gerar documentação, dimensional, atualizar Firmwares dos gateways 
quando necessário e realizar testes com o módulo remoto através da entrada 
RS232 que o módulo Gateway possui. 
 
 
 
 É possível ainda ter módulos de entrada e saída, em 24Vcc e em 220Vac 
no mesmo módulo remoto. Basta utilizar um módulo de alimentação de campo. 
(Power Field). 
 
 
 
 
 
18 de 159 
22 22© 2011 Eaton Corporation. All rights reserved.
BR PF BR
230Vac24Vdc
5Vdc 5Vdc
24Vdc
Alimentação
modulo
24Vdc 230Vac
24Vdc
 
 
 Para uma escolha correta dos módulos XI/ON é recomendável à utilização 
dos catálogos pertinentes, bem como a utilização do software IOassistant. 
 
Trabalhando com o IOassistant. 
 
 Através do menu iniciar => EATON => IOAssistant inicie o programa. 
 
 
 
 
 
 
19 de 159 
 
 Assim que iniciarmos o programa a primeira vez ele irá abrir a seguinte 
tela: 
 
 
 
 
 
 Por ser um programa que permite, inclusive, que o operador se conecte e 
faça alterações de Firmware, ou acionamentos de saídas na ilha remota, o 
IOAssistant pode ser habilitado com uma senha, que permite diferentes tipos de 
acesso. 
 
 Engineering: O operador tem acesso total a todos os recursos do 
software. 
 Service: O operador tem acesso a criar novas configurações, monitorar o 
status da ilha e das entradas, porém não consegue forçar saídas da ilha. 
 Diagnostics: O operador não consegue criar novos projetos. Porém 
consegue Monitorar status e as entradas do sistema. Também não consegue 
forçar as saídas. 
 
 Se o usuário não quiser criar nenhuma senha, basta criar um nome de 
usuário, selecionar a opção Engineeringe deixar o password em branco. 
Selecionamos então a opção OK e vamos para a tela inicial! 
 
Nome do usuário: Informações do usuário: 
Nível de acesso: 
Senha de acesso: 
Mudança de Senha: 
 
 
 
 
20 de 159 
 
 
 Selecionando a opção File => New Project vamos iniciar um novo projeto. 
Neste ponto criamos um novo arquivo para conter a configuração dos 
equipamentos em rede. 
 
 
 Selecione uma rede de comunicação. 
 
 
 
 
 
 
 
 
 
 
 Teremos então a tela de criação de configuração. 
 
 
 
 
 
 
 
 
 
21 de 159 
 
 
 
 
 
 
 
 
 Selecionamos agora a opção: “Adicionar uma estação”. A tela abaixo irá se 
abrir. 
 Na seleção do sistema devemos escolher a família de IOs remotos que 
iremos utilizar. Neste caso selecionamos XI/ON. 
 Na seleção do gateway escolhemos qual módulo será nosso “cabeça de 
rede”, ou seja qual gateway será utilizado. Se tivermos alguma dúvida, podemos 
pressionar a qualquer momento a tecla “Technical Data” e esta irá mostrar os 
dados do Gateway que estamos selecionando. 
 Inserimos um nome para esta estação, o número da mesma na rede e 
poderemos pressionar a tecla “Add”, que adiciona este gateway e permanece na 
mesma janela para que possamos selecionar outros módulos. Ou selecionamos a 
tecla “Add + Close” o que adiciona e fecha esta janela. 
 
 
 
 
 
 
 
 
 
Novo Projeto 
Abrir Projeto 
Fechar Projeto 
Adicionar Estação 
Tree Project Tela de 
visualização 
 
 
 
 
22 de 159 
 
 
 
 
 
 
 
 
 
 
 
 Após a seleção do gateway, a janela principal irá se alterar, aparecerá um 
módulo no lado direito, a imagem do módulo selecionado, e no lado esquerdo a 
topologia dos mesmos. Para adicionar placas de entrada e saída neste gateway, 
selecione agora a opção: “Add Module” isto abrirá a tela para seleção das 
placas de E/S no módulo remoto. 
 
 
Seleção do sistema. Seleção do gateway. 
Descrição do 
Gateway selecionado. 
Exibir dados técnicos 
deste gateway. 
Nome do Gateway 
neste projeto 
Endereço da estação 
na rede. 
Fechar. 
Adicionar este novo 
Gateway. 
Adicionar este novo 
Gateway e fechar 
esta janela. 
 
 
 
 
23 de 159 
 
 
 
 
 Em primeiro lugar, através da “Seleção do tipo de módulo”, nós realizamos 
uma pré-filtragem, qual tipo de módulo você quer? Analógicos, digitais, 
tecnológicos ou de potência? 
 Logo depois selecionamos o tipo de módulo em si, qualquer dúvida sobre a 
funcionalidade daquele módulo, pode ser solucionada pressionando-se o botão 
Technical Data ou buscar informações nos catálogos pertinentes. 
 Dependendo do tipo de módulo, precisamos escolher uma base adequada, 
módulos com codificação iniciada em XNE, são chamados módulos econômicos, 
não possuem base. As bases podem ser do tipo, mola ou parafuso (Tension 
Clamp e Screw). Assim que escolhemos um módulo, o próprio software limita as 
opções de base. 
 Sempre que um gateway tiver os dois tipos de módulos de entradas e 
saídas, econômico e convencional, todas bases obrigatoriamente devem ser do 
tipo mola. 
 Crie uma configuração com módulos de entrada e saídas, analógicos e 
digitais para podermos realizar alguns testes. 
 
 
Seleção do 
módulo. 
Descrição Filtro do tipo de 
módulo. 
Seleção do 
tipo de 
base. 
Quantidade 
de módulos 
Seleção do 
tipo de 
conector 
(mola ou 
parafuso. 
 
 
 
 
24 de 159 
 
 
 
 Podemos ver a esquerda a lista de módulos que ficam conectados a cada 
Gateway. No lado direito podemos ver uma imagem do nosso módulo remoto 
montado. 
 Quando temos módulos analógicos, como por exemplo, o XN-2AI-
THERMO-PI, o mesmo possui uma configuração adicional. Basta selecionar o 
módulo no lado esquerdo e escolher a pasta Parameter do lado direito. 
 A seguinte tela irá se abrir: 
 
 
 
 Nesta tela podemos selecionar tipos diferentes de sensores, por exemplo. 
 Uma vez que a configuração foi concluída, podemos checar a montagem 
através da opção, “Verify Assemblie” . 
 Se houver qualquer inconsistência na nossa configuração uma tela de 
erros irá surgir. 
 Através da opção File -> Project Documentation... podemos imprimir a 
configuração completa, o que inclui, o dimensional da estação, o desenho de 
 
 
 
 
25 de 159 
como a mesma deve ser montada e uma listagem de peças completas e por 
gateway. 
 
Conceitos da IEC 61131-3. 
 
 A IEC, International Electrotechnical Commission (Comissão Eletrotécnica 
Internacional) é uma organização internacional de padronização de tecnologias 
elétricas, eletrônicas e relacionadas. Alguns dos seus padrões são desenvolvidos 
juntamente com a ISO, International Organization for Standardization. 
(Organização Internacional para Padronização). 
 
 Assim que os primieros CLP’s começaram a funcionar nas décadas de 60 
e 70, buscou-se uma normalização das linguagens de programação. 
 Foi só na década de 90 que a então IEC1131-3 estabeleceu 5 linguagens 
de programação principais, a mesma foi renumerada algum tempo depois e 
passou a ser conhecida como IEC 61131-3. 
 O que poucas pessoas sabem é que a norma IEC 61131-3 é na verdade 
só um capítulo do grupo de normas IEC 61131, que abrange apenas CLP’s. 
 
 
 
Introdução à declaração de variáveis e tipos de variáveis. 
 
 O primeiro requisito da norma é a declaração de todas as variáveis que 
iremos utilizar no programa. 
 As variáveis possuem, nome, endereço, tipo, especificação e atributo. 
Independente se vamos utilizar uma variável interna, como uma memória, uma 
entrada digital ou analógica, um temporizador, etc... 
 
 
 
 
26 de 159 
 O nome da variável é escolhido única e simplesmente pelo programador. 
Ao invés de utilizar um endereço, por exemplo “%mx0.0” o programador pode 
utilizar nomes maiores e autoexplicativos, como por exemplo 
“BombaDeRecalque_Tanque23”, este nome é referenciado a um endereço físico, 
e em todo o programa trabalhamos com este nome, que fará muito mais sentido 
ao programador que o endereço pura e simplesmente. 
 Segue abaixo algumas dicas para escolha do nome das variáveis. 
 
• Os nomes podem ter até 30 caracteres. 
• Não é permitido o uso de: caracteres com acento, espaço ou hífen. 
• Não é permitido começar o nome de uma variável com um número. 
• Não é permitido o uso de palavras reservadas como nome de 
variáveis.(P.ex: LD , ST , IF , ELSE , AND , ADD...) 
• Não é permitido o uso de caracteres como: ! @ # $ % & * ( ) < > ; :\ / ? [ ] {} 
no nome das variáveis. 
 
• Use nomes autoexplicativos para suas variáveis. 
• Use sempre letras maiúsculas para iniciar o nome da variável. Ex. Bomba. 
• Separe o nome das variáveis com underline (_), se este consiste de mais 
de uma palavra. Inicie cada palavra com letra maiúscula. Ex. 
Bomba_Recalque. 
• Ou utilize as palavras com uma letra maiúscula entre elas E.x. 
BombaRecalque. 
 
 Uma vez que escolhemos o nome para nossa variável o próximo passo é 
endereçá-la caso a variável seja uma entrada ou saída do CLP. Se as variáveis 
não forem endereçadas, automaticamente o CLP compreende que elas devem 
ser tratadas como memórias internas, então o próprio software endereça as 
variáveis automaticamente. 
 
 
Declaração de variáveis com endereçamento físico. 
 
 
SEGUNDA LETRA 
X BIT 
B BYTE (8 Bits) 
W WORD (16 Bits) 
D DOUBLE WORD (32 Bits) 
L LONG WORD (64 Bits) 
 
 
 
 Nome da variável Endereço da variável 
 
PRIMEIRA LETRA 
 I 
I Input: Recebe os valores das 
variáveis digitais e analógicas 
dos módulos de entradas 
Q 
Q Output: Envia os valores 
digitais e analógicos para os 
módulos de saídas 
M M Memória interna:armazena valores intermediários 
 
 
 
 
27 de 159 
Por exemplo: BotaoDePartida AT %IX0.0: BOOL; 
 MotorDaBombaDagua AT %QX0.0: BOOL; 
 SensorDeTemperatura AT %IW12: INT; 
 ValvulaDePressao AT %QW20: INT; 
 Controle_IHM AT %MX100.7: BOOL; 
 
 Finalmente, para trabalharmos com variáveis básicas, cada variável possui 
seu tipo, as variáveis podem ser numéricas (usadas para operações aritméticas), 
Booleanas (operações de lógica), Texto (Trabalhar com caracteres) e 
Data/Tempo (operações com data, hora e tempo). 
 
 
Variáveis booleanas. 
 
 As variáveis BOOLEANAS são utilizadas quando se deseja realizar 
operações lógicas. 
 Por exemplo uma entrada ou uma saída digital seria do tipo BOOL. Um 
cartão com 16 entradas ou saídas digitais poderia ser endereçado em sua 
totalidade como uma WORD. 
 
Tipo IEC Limite Mínimo Limite Máximo Espaço de 
memoria 
BOOL 0 1 1 Bit 
 
 
Variáveis numéricas. 
 
 As variáveis numéricas podem ser inteiras, ou seja números sem casas 
decimais, ou então, números Reais, ou seja números com casas decimais. 
 
 
Tipo 
IEC Limite Mínimo Limite Máximo 
Espaço de 
memória 
BYTE 0 255 8 Bit 
WORD 0 65535 16 Bit 
DWORD 0 4294967295 32 Bit 
SINT: -128 127 8 Bit 
USINT: 0 255 8 Bit 
INT: -32768 32767 16 Bit 
UINT: 0 65535 16 Bit 
DINT: -2147483648 2147483647 32 Bit 
UDINT: 0 4294967295 32 Bit 
 
 
 
 
 
28 de 159 
 
 
 As variáveis numéricas devem ser sempre usadas quando se deseja 
realizar uma operação aritmética. Por exemplo, uma entrada analógica seria uma 
variável do tipo numérica, dependendo do range da entrada analógica, ela poderia 
ser uma SINT (8bits de resolução) ou INT (16 bits de resolução). 
 
 
 
Variáveis do tipo Texto. 
 
 As variáveis do tipo texto armazenam sequências de letras, ou seja Strings. 
Cada letra desta String ocupa 1 byte da memória do CLP. 
 
35 35© 2011 Eaton Corporation. All rights reserved.
Tipo da variável.
Variáveis de Texto.
1 byte por caracterSeqüência de caracteresSTRING
BitsDescriçãoTIPO IEC
EXEMPLO:
´JOB_X25´ = String = JOB_X25
´JOB_X26 $L$R´ = String = JOB_X26 (Line Feed / Carriage Return)
´JOB_X27 $0D$0A´ = String = JOB_X27 (Line Feed / Carriage Return)
´´ = String Nulo
 
 
 
 
 
29 de 159 
 
Variáveis do tipo Data e Tempo. 
 
 Por último, mas não menos importante temos as variáveis utilizadas para 
medir tempo, e para trabalhar com relógio e calendário. 
 
Tipo da variável.
Variáveis de Tempo.
T# ou TIME#Tempo de DuraçãoTIME
DescriçãoTIPO IEC
EXEMPLO:
T#15MS = Tempo de 15 milésimos de segundo.
T#5M = Tempo de 5 minutos.
T#25M30S = Tempo de 25 minutos e 30 segundos.
T#61M5S = Tempo de 61 minutos e 5 segundos.
ou
T#1H1M5S = Tempo de 1 hora , 1 minuto e 5 segundos.
T#1D5H10M20S100MS = Tempo de 1 dia , 5 horas , 10 minutos , 20
segundos e 100 milésimos de segundos.
 
 
Tipo da variável.
Variáveis de Data e Hora
DT# ou 
DATE_AND_TIME#
Data completa e hora do diaDATE AND TIME
TOD# ou 
TIME_OF_DAY#
Hora do diaTIME OF DAY
DATE# ou D#Data completaDATE
DescriçãoTIPO IEC
EXEMPLO:
DATE#1993-06-15 ���� 15 de Junho de 1993
TOD#23:45:00 ���� Faltam quinze minutos para a meia-noite
DT#1974-07-17-12:30:10 ���� 17 de Julho de 1974 , doze horas trinta 
minutos e dez segundos.
 
 Quando tivermos um temporizador em nosso programa, por exemplo, é a 
variável “TIME” que dirá quanto tempo este temporizador deverá aguardar. 
 Se quisermos comparar o relógio do CLP com um horário pré-programado, 
é a variável “TIME_OF_DAY” que terá este horário. 
 
 
 
 
 
30 de 159 
 
Exemplo de uma declaração de variáveis 
 
BotaoDeLiga AT %IX0.0 : BOOL ; 
Motor AT %QX0.0 : BOOL ; 
 
SensorAnalogico AT %IW10 : INT ; 
TextoAlarme : String(50); 
TempoLigaMotor : TIME ; 
Totalizador : WORD ; 
 
 
 A variável “BotaoDeLiga” é uma entrada digital, por isso seu tipo é BOOL. 
O mesmo se passa com a primeira saída digital chamada de Motor. 
 O “SensorAnalogico”, como se trata de uma entrada analógica, tem seu 
tipo definido como INT, ou seja é um número inteiro, sem sinal, pode variar de 0 a 
32767. 
 A variável “TextoAlarme”, não possui endereço, exatamente por se tratar 
de uma variável interna, ou seja, o CLP irá automaticamente designar um 
endereço de memória interna para alocar esta variável, o número que aparece 
entre parênteses é o tamanho máximo0 desta string. 
 Finalmente a variável “TempoLigaMotor”, que contêm o tempo desejado 
para partir o motor, é do tipo TIME, pois se trata de um tempo a ser contado, ou 
seja um tempo de “Duração”. 
 
 
Declaração de variáveis Locais e Globais 
 
Definimos uma variável como local ou global dependendo da utilização do Tag no 
programa 
 
Variável Local 
 
Quando declaramos uma variável como Local, definimos que a utilização da Tag 
será somente na sub-rotina de programação. 
OBS.: É possível declarar o mesmo nome de Tag em diferentes sub-rotinas 
quando a declaração é local 
 
Variável Global 
 
Quando declaramos uma variável como Global, definimos que a utilização do Tag 
será para todo o programa e sub-rotinas, inclusive para comunicações com IHM’s, 
Supervisórios ou redes de comunicação tipo OPC 
 
 
 
 
31 de 159 
 
As linguagens de programação. 
 
 A IEC61131-3 definiu 5 linguagens de programação, 3 gráficas e 2 textuais. 
 
Linguagem Ladder (LD). 
 
 A linguagem de programação Ladder, é uma linguagem gráfica utilizada 
para representar a lógica do programa usando “relés”. Antes da existência dos 
CLP’s, este sistema de representação já era utilizado para documentar os antigos 
armários de controle. Devido ao seu histórico, é a linguagem mais difundida e 
conhecida atualmente. De fácil compreensão para quem vem do setor elétrico. 
 
 Sua notação é bastante simples, Uma linha vertical à esquerda representa 
um condutor positivo, uma outra linha paralela à direita representa o condutor 
negativo. Os elementos constituídos por contatos normalmente abertos ou 
fechados de relés, são colocados em série ou paralelo na horizontal de forma a 
alimentar uma bobina que, será ou não acionada conforme a lógica desenhada 
antes, cada um dos contatos está associado ao estado de uma entrada ou uma 
variável lógica interna. 
 O diagrama final é parecido com uma escada, daí seu nome Ladder. 
 
 
Linguagem em Blocos de Função (FBD). 
 
 A linguagem de programação em Blocos de função, ou Function Block 
Diagram, FDB, é uma linguagem gráfica utilizada para representar a lógica do 
CLP utilizando blocos lógicos, ou portas lógicas. Cada bloco com uma, duas ou 
mais entradas é representado da esquerda para a direita. A saída de um bloco 
pode ser conectada a entrada de um ou mais blocos de função. 
 De fácil compreensão por quem vem do setor eletrônico. 
 
 
 
 
 
32 de 159 
 
 
Linguagem em Lista de Instruções. (IL). 
 
 A linguagem de programação em Lista de Instruções, ou Instruction List 
(IL) é uma linguagem de programação textual de baixo nível semelhante ao 
assembly. Muito utilizada para resolver problemas simples e pequenos. 
 Como o próprio nome diz, o programa se resume a uma listagem de 
comandos que o CLP executa um atrás do outro. 
 Sendo uma linguagem menos amigável e pouco flexível é também utilizada 
para produzir códigos otimizados em programas, ou trechos onde a performance 
da execução é crítica. 
 Esta linguagem é a preferida por quem vem do setor Eletrônico. 
 
 
 
 
Linguagem Estruturada ou (ST). 
 
 A linguagem de programação Estruturada, ou Structured Text (ST), é uma 
linguagem textual muito próxima das linguagens de alto nível como PASCAL, ou 
linguagem C. Podemos escrever expressões matemáticase lógicas em uma 
linha, ou utilizar comandos de decisão, laço, contagem etc... 
 Diferente da Lista de Instruções, onde cada linha contêm um comando, na 
Linguagem Estruturada cada linha pode conter uma expressão complexa ou 
então um comando para execução de um loop. 
 Esta linguagem é muito utilizada por quem vem da área de Informática 
devido à sua similaridade com as linguagens de programação de alto-nível. 
 
 
 
 
 
33 de 159 
 
 
Programação em Linguagem Sequencial (SFC) 
 
 A linguagem Sequencial, ou Sequential Function Chart (SFC), apesar de 
não ser uma das mais conhecidas, é uma das mais poderosas e completas, 
utilizada especialmente em máquinas sequenciais de grande complexidade. 
 
 
Ambiente de programação CoDeSys. 
 
 No mercado pode-se encontrar uma variedade de diferentes linguagens e 
sistemas de programação. Para cada tipo de linguagem são necessários 
dispendiosos treinamentos para todos os tipos de controladores, tanto para a 
linguagem de programação como para o sistema operacional. 
 O usuário não consegue trocar unidades de programas entre diferentes 
sistemas, porque as linguagens de programação não são compatíveis entre si. 
 Não é possível a reutilização de funções programadas sem que seja necessária 
uma reprogramação, pois o modelo de dados destes CLP’s necessita de 
endereços físicos. 
 Pelo exposto acima a utilização de um controlador de outro fabricante não 
era viável por causa do alto custo. 
 
 
 
 
34 de 159 
 O principal objetivo da IEC61131.3 é reduzir, se não eliminar, todos os 
problemas citados acima, criando uma estruturação e forma de programação 
padrões, de tal forma que o usuário não se torne dependente do fabricante. 
 
 
 
 
 
35 de 159 
INICIANDO O SOFTWARE 
 
 
 
 
ORGANIZADOR 
ÁREA DE 
TRABALHO 
PROGRAMAS 
TIPOS DE DADOS 
VISUALIZADOR 
RECURSOS 
Barra de ferramentas Menu principal 
 
 
 
 
36 de 159 
ORGANIZADOR - é usado para gerenciar os novos itens de cada pasta. Através 
dele inserimos novos elementos nas pastas localizadas abaixo e solicitamos a 
visualização /edição de alguns itens. 
ORGANIZADOR / PROGRAMAS – Nesta pasta alocamos os programas do CLP, 
bem como suas funções e seus blocos de função. 
ORGANIZADOR / TIPOS DE DADOS – Aqui nós colocamos nossos tipos de 
dados , Structures, Enumeration, etc...São tipos de dados criados pelo usuário 
conforme a IEC 61131-3 
ORGANIZADOR / VISUALIZADOR – Dentre os recursos oferecidos pelo 
CoDeSys, está a criação de telas para visualização do programa criado, tanto on-
line como off-line (modo simulação), estas telas são criadas e gerenciadas nesta 
pasta. 
ORGANIZADOR / RECURSOS – Pasta responsável por vários itens no 
CoDeSys. Entre eles: Configuração de hardware, configuração do sistema da 
CPU, criação de variáveis de rede, geração de gráficos de tendência, criação de 
tabelas de monitoração etc... 
ÁREA DE TRABALHO – Quando selecionamos ou criamos algo em qualquer 
pasta do organizador, este item aparece na área de trabalho para edição ou 
visualização. 
BARRA DE FERRAMENTAS – Aqui ficam algumas ferramentas para acesso 
mais rápido a algumas funções do programa, esta barra muda conforme o item 
selecionado na Área de Trabalho. 
MENU PRINCIPAL – Aqui ficam todas as opções de acessibilidade e 
funcionamento do CODESYS. 
Os passos necessários para a criação de um programa são: 
 
• Criar um novo projeto 
• Configurar o Hardware 
• Criar os arquivos fontes necessários (POU) 
• Criar as Variáveis 
• Realizar a lógica do programa 
• Criar blocos de função e /ou funções. 
• Compilar o programa 
• Realizar os testes 
• Configurar as telas / ferramentas de visualização. 
• Executar os testes do programa em modo OFF-line. 
• Realizar o comissionamento da máquina. 
• Transferir o programa para o CLP 
• Executar os testes do programa em modo ON-line 
• Armazenar os programas fontes no CLP. (Quando desejado) 
 
 
 
 
 
 
 
 
 
37 de 159 
Criando um novo Projeto 
 
• Entre no menu principal opção FILE � NEW , ou selecione o ícone . 
Isto irá abrir a seguinte tela: 
 
 
Seleção do tipo de CPU 
 
• No item Configuration selecione a CPU que irá utilizar para este programa, 
por exemplo: 
 
 
 
 
• Ao selecionarmos a XV-1xx-V2.3.9 SP3 escolhemos uma CPU da 
IHM modelo XV1xx. Com isto a tela do Target Settings e o 
CODESYS, se modela para podermos configurar este tipo de CPU. 
• Os itens Target Plataform, Memory Layout, General, Network 
functionality e Visualization serão abordado em outras 
documentações. 
 
 
 
 
 
38 de 159 
• Ao selecionarmos a CPU que desejamos utilizar, pressionamos OK. 
 
• Na opção Tipo do POU selecionamos se queremos criar um programa, um 
Function Block ou uma função. 
Funções são elementos de software, que podem ser utilizados várias vezes 
dentro de um mesmo programa, de tal forma que, quando executados com um 
certo conjunto de valores de entrada, sempre produzem um único valor como 
resultado. 
 
Blocos de funções são uma categoria da Unidade de Organização de Programa 
(POU). Que permitem um algoritmo específico, ou conjunto de ações, que podem 
ser chamados em várias instâncias dentro de um mesmo programa, de tal forma 
que, a serem aplicados em um conjunto de dados de entrada eles produzem um 
novo conjunto de dados de saída. 
 
• No nosso caso iremos selecionar a opção Program, pois iremos criar 
primeiro um programa. 
• Na opção nome do POU deixamos PLC_PRG. Este nome, na programação 
mono-task, designa o programa principal, ou seja, o compilador sabe que é 
por este programa que o equipamento irá começar a execução. 
• Na linguagem podemos escolher entre seis linguagens de programação 
diferentes. 
• Para este guia rápido estaremos trabalhando com a linguagem em Ladder 
(LD). 
• Assim que pressionarmos OK na tela New program estaremos dentro do 
ambiente CoDeSys. 
• Agora nós precisamos configurar o hardware do CLP. Para isto selecione 
no organizador a pasta resources: 
Tipo do 
POU 
Nome do 
POU 
Linguagem 
do POU 
 
 
 
 
39 de 159 
Recursos 
Variáveis Globais 
Bibliotecas 
Log 
Browser 
Configurador de Hardware do CLP 
Ferramenta de Visualização (TRACE) 
Configuração da CPU 
Gerenciador de Tarefas 
Ferramenta de Visualização e Receitas. 
 
 
• Selecione a opção PLC-Configuration. Nesta tela estaremos configurando 
o Hardware do CLP. 
 
 
 
 
 
 
Configurando Hardware XV100 
 
 Dependendo do Hardware selecionado na etapa anterior, vamos configurar 
o mesmo de uma maneira diferente no software. Caso trabalhemos com um CLP 
da IHM , ou seja uma IHM com CLP e cartões remotos de entradas e saídas 
conectados via rede CanOpen através de uma gateway, procedemos da seguinte 
maneira: 
 
 
Trabalhando com IHM+CLP. 
 
 Quando trabalhamos com o conjunto IHM+CLP incorporado, a única 
diferença que existe na configuração de hardware é na hora de definir a rede e o 
gateway que será utilizado no projeto. Como o equipamento possui apenas 
expansão através de rede de comunicação a criação de seu hardware é 
explorada no capítulo seguinte. 
 
Topologia do 
equipamento Parametrização 
 
 
 
 
40 de 159 
Trabalhando com IOs remotos. 
 
 Quando temos um equipamento cujos IOs serão remotos, temos que 
configurá-los conforme mostrado a seguir. 
 
 
 
 Clicamos na CPU com o botão direito, selecionamos a opção “Append 
Subelement” e logo em seguida escolhemos a rede que estamos trabalhando. 
Para este exemplo vamos utilizar a rede CanMaster. 
 
 
 Clicando na aba superior direita escolhemos a aba “CAN parameters”. A 
tela que se abre então nos permite parametrizar a rede escolhida. No caso destarede devemos escolher a velocidade (Baud Rate), neste caso vamos trabalhar 
com 125.000 Bits/s. Outro parâmetro a ser configurado é o endereço do mestre 
(Node-Id), neste caso vamos trabalhar com o número de nó igual a 1. 
 
 Vamos inserir agora um escravo na topologia, clique uma vez mais com o 
botão do mouse, desta vez sobre o ícone CanMaster � Append Subelement. 
 
 
 
 
 
41 de 159 
 
 
 Selecionamos o módulo desejado. Neste caso selecione o XN-GWBR-
CANOPEN (XN270325V400.EDS). 
 Os números finais da codificação, ou seja, os números que vem depois do 
“v” indicam a versão do equipamento, sempre escolhemos a versão mais atual 
quando estamos trabalhando com um projeto novo. 
 Outros equipamentos em rede CANOpen, ou Profibus_DP podem ser 
adicionados ao software, basta copiar os EDS ou GSD na pasta correspondente: 
 
 
C:\Program Files\Common Files\CAA-Targets\Eaton Automation\V2.3.9 
SP2\PLCConf 
ou 
C:\Program Files\Common Files\CAA-Targets\Eaton Automation\V2.3.9 SP2 
(Patch 1)\PLCConf 
ou 
C:\Arquivos de Programas\Common Files\CAA-Targets\Eaton Automation\V2.3.9 
SP2\PLCConf 
ou 
C:\Program Files\Common Files\CAA-Targets\Eaton Automation\V2.3.9 
SP3\PLCConf 
 
 
 Agora que escolhemos o módulo XI/ON nós vamos configurar as entradas 
e saídas do mesmo. 
 Basta selecionar o módulo recém importado na configuração e clicar no 
ícone IOassistant. (Atenção, o IOAssistant precisa ser rodado pelo menos 
uma vez antes de realizar esta operação.) 
 
 
 
 
 
42 de 159 
 
 
 Ao selecionarmos a opção IOassistant o mesmo irá se abrir e configuramos 
a nossa ilha. Assim que a configuração está encerrada fechamos o IOassistant e 
temos a nossa ilha configurada. 
Outro parâmetro a ser configurado é o endereço do escravo (Node-Id) em 
CanOpen Parameter, neste caso vamos trabalhar com o número de nó da remota 
igual a 2 
 
 
 
 No comentário a parte mais importante é a que está em destaque: 
• XN-16DO, indica que o módulo em questão é um módulo com 16 saídas 
digitais. 
• _1_1, estes dois números seguintes indicam que é o módulo número1, 
primeiro byte, ou seja, saídas de 0a 7 
• _1_2 indica é o primeiro módulo segundo byte, ou seja, saídas de 8 a 15. 
 
Quando colocamos uma remota na IHM com CLP, o endereçamento das variáveis 
digitais fica aparecendo no Configurador de Hardware do CLP como Byte, ou 
seja, fica o conjunto de 8 bits tanto nas entradas como nas saídas digitais. Para 
endereçar esta entrada e saídas no programa sugerimos criar um objeto na 
Variável Global chamada por exemplo “Entradas_Saidas”. Esta sugestão é 
somente para poder organizar melhor os Tags no programa. 
 
 
 
 
43 de 159 
 
Vá até a aba Resources e com o botão direito do mouse sobre Global Variables 
selecione a opção Add Object... 
 
 
Coloque o nome Entradas_saidas em Name of global variables list e termine 
com um OK 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44 de 159 
 
 
 
 
 
 
 
Coloque os seguinte endereços para nosso exemplo: 
 (*Entradas digitais*) 
 Partida_Motor AT%IX0.0: BOOL; 
 Parada_Motor AT%IX0.1: BOOL; 
 
 (*Saídas digitais*) 
 Contator_Principal AT%QX0.0: BOOL; 
 Contator_Estrela AT%QX0.1: BOOL; 
 Contator_Triangulo AT%QX0.2: BOOL; 
 
 
• Salve agora o que foi feito indo no menu File � Save. Ou clique no ícone 
 . 
 
 
 
 
Objeto criado em 
Global Variables 
Endereçamento 
das variáveis Comentários 
Nome das 
variáveis 
Endereços 
conforme 
entradas e saídas 
de configuração 
de Hardware 
 
 
 
 
 
45 de 159 
Configurando Hardware XC100/XC200 
 
 Caso trabalhemos com um CLP do tipo XC, ou seja um CLP com cartões 
locais conectados à CPU, procedemos da seguinte maneira: 
 
• Para adicionar mais placas selecione um dos EMPTY-SLOT com o botão 
direito do mouse, logo em seguida escolha a opção Replace Element:. 
 
 
 
 
• Nesta tela escolhemos qual o módulo local que será colocado com a CPU, 
no caso do XC100 e XC200 podemos colocar até 7 módulos locais ao lado 
da CPU podendo chegar a 15 caso utilize o módulo XIOC-BP-EXT . 
• Para este exemplo selecione o módulo XIOC-16-DI. 
• Coloque mais um módulo XIOC-16-DO-S ao lado. 
 
 
 
 
 
46 de 159 
• Pressione com o botão esquerdo do mouse o símbolo + que aparece do 
lado esquerdo do XIOC-16DI. 
 
• Selecione novamente o símbolo + que aparece do lado esquerdo do AT 
%IW2 : WORD ; 
 
 
• Abra os sub-menus das entradas e saídas que estão incorporadas na CPU. 
 
• Clique duas vezes com o botão esquerdo do mouse, entre o quadrado e o 
AT %IX0.0 : BOOL ; 
 
• Aqui escreveremos o nome da variável, no nosso caso PartidaMotor. 
• Crie as seguintes variáveis nas entradas e saídas do CLP. 
 
Endereço WORD desta 
placa Endereçamento Bit a Bit 
desta placa 
 
 
 
 
47 de 159 
 
 
 
 
 
 
48 de 159 
• Do lado esquerdo da tela existe a opção de inserirmos comentários para 
cada uma destas variáveis. 
 
 
 
• Para cada uma das variáveis insira os seguintes comentários. 
 
 
• Salve agora o que foi feito indo no menu File � Save. Ou clique no ícone 
 . 
 
 
 
 
 
 
 
49 de 159 
COMEÇANDO A PROGRAMAR 
• Agora iremos criar um programa simples para conhecermos melhor o 
ambiente do CoDeSys. O programa a ser criado é uma partida estrela-
triângulo de uma bomba de vácuo. 
• No organizador agora escolha a opção POUs e selecione o PLC_PRG. 
 
 
 
• Na área do programa clique sobre a linha de comando que aparece e 
clique no menu em Insert � Contact, ou pressione o ícone na barra de 
ferramentas. 
• Na linha de comandos irá aparecer um contato NA : 
• Clicando nas interrogações poderemos escrever o nome deste contato. 
Podemos ainda pressionar a tecla F2 de nosso computador: 
ORGANIZADOR 
Declaração de variáveis locais 
Barra de ferramentas 
Status simulador Online/offline 
Linhas de Comando 
ÁREA DO PROGRAMA 
 
 
 
 
50 de 159 
 
 
• No tipo da variável escolha o Global Variables. No lado das variáveis 
disponíveis escolha o objeto Entrada_Saida e selecione o tag 
PartidaMotor (BOOL). 
 
• Clique novamente na linha de comandos, e insira novamente um contato, 
este contato irá sair em série com o que já existe. Desta vez selecione a 
variável ParadaMotor (BOOL). 
 
 
• Clique no contato abaixo do ParadaMotor e pressione na barra de 
ferramentas a opção 
 
 
Tipo de 
variável 
Variáveis 
disponíveis 
Comentário da 
variável selecionada 
 
 
 
 
51 de 159 
 
• Clique agora no contato abaixo do PartidaMotor e selecione na barra de 
ferramentas a opção . 
• Faça o mesmo procedimento e coloque neste contato a variável 
ContatorPrincipal. 
 
• Clicando novamente na linha de comando, selecione agora na barra de 
ferramentas a opção . 
• Isto irá inserir uma bobina de saída nesta linha lógica. Utilize o mesmo 
procedimento para colocar o tag dela, no caso ContatorPrincipal. 
 
• Com isto nós criamos a primeira linha lógica de nosso programa. Salve as 
alterações e agora vamos inserir a próxima linha. 
• Vá no menu principal e selecione INSERT � Network (After). 
• Uma segunda linha irá surgir, coloque um contato NA do ContatorPrincipal 
como mostrado abaixo 
 
 
 
 
 
52 de 159 
• Nós iremos criar agora o Controle dos Contatores Estrela e triângulo. 
Assim que o ContatorPrincipal entra, o ContarEstrela também liga, 
permanece alguns segundos e desliga. 
• Iremos inserir então um temporizador para determinar o tempo que o 
contator estrela fica ligado. 
• Clique na linhada segunda lógica com o botão direito do mouse e 
selecione Function Block... 
 
• Selecione na biblioteca Standard.lib o bloco de função TON e selecione OK 
• Um temporizador irá aparecer no meio de nossa linha lógica. 
 
• Vamos clicar nas interrogações acima do temporizador e colocar o nome 
do temporizador , vamos chamá-lo de TempoDesligaEstrela. 
• Assim que damos um nome para o temporizador, a seguinte janela irá se 
abrir: 
 
 
 
 
 
 
 
 
53 de 159 
 
 
 
 
• Isto ocorre pois o assistente de declaração verifica que não há nenhuma 
variável declarada como TempoDesligaEstrela, por causa disto, ele solicita 
que entremos com maiores dados sobre esta variável. 
• Deixe esta caixa de diálogos como mostrada acima. 
• O bloco de função irá aparecer na declaração local de variáveis. 
 
Declaração de variáveis em FREE MODE 
 
 
Declaração como uma tabela 
 
• A declaração pode aparecer destas duas formas diferentes, FREE MODE 
ou Tabelada. Para alternar entre estes modos de exibição, clique com o 
botão da direita sobre o campo da declaração de variáveis e selecione 
Declaration as tables 
• Coloque uma bobina na linha lógica 2, logo após o temporizador e coloque 
o nome de ContatorAuxiliar. 
• A mesma tela do assistente de declaração se abre, porém desta vez no 
tipo da variável selecione BOOL. 
Classe 
Comentários 
Nome da variável 
Tipo da 
variável 
 
 
 
 
54 de 159 
• A segunda linha do nosso programa está pronta, e a declaração de 
variáveis também. 
• Na interrogação que surge do lado esquerdo do nosso temporizador 
escrevemos o tempo desejado. Por se tratar de uma entrada do tipo TIME, 
o tempo deve ser escrito da seguinte forma: 
 
T#1D6H20M15S300MS Onde 1D significa o tempo de 1 dia 
 6H tempo de 6Horas 
 20M tempo de 20 minutos 
 15S tempo de 15 segundos 
 300MS tempo de 300Milésimos de segundos. 
• Para criarmos um temporizador de 3 segundos então escrevemos T#3S. 
• Nosso programa ficará deste jeito: 
 
• Agora insira mais uma linha lógica abaixo e coloque a seguinte lógica: 
 
• Assim que o ContatorPrincipal ligar o ContatorEstrela ficará ligado até o 
tempo de 3 segundos se esgotar. 
• Crie agora mais uma linha, abaixo desta, com o seguinte contato: 
 
 
 
 
 
55 de 159 
• Coloque agora um contato NA e pressione F2. 
• Assim que a tela Help Manager aparecer selecione Local Variables � 
TempoDesligaEstrela � Q. Como mostrado abaixo: 
 
• Termine esta linha, ela deverá ficar desta maneira: 
 
• Na quarta linha lógica, no segundo contato da esquerda para direita, nós 
usamos o TAG TempoDesligaEstrela.Q, poderíamos ter utilizado o próprio 
ContatorAuxiliar sem problemas, fizemos isto exatamente para demonstrar 
uma funcionalidade a mais do programa. 
 
 
 
 
 
56 de 159 
 
COMPILANDO O PROGRAMA 
• Para compilar o programa, entre na opção Project � Rebuild All... 
• Isto irá compilar todo o seu projeto. Uma tela irá aparecer abaixo de seu 
programa mostrando possíveis erros ocorridos no seu programa. Para 
localizar o erro, clique duas vezes em cima dele e você irá para a linha 
onde este erro está. 
• Para maiores informações sobre os erros, por favor consulte o manual do 
CODESYS, ele contém um apêndice com os principais erros. 
 
 
 SIMULANDO O PROGRAMA 
• Para utilizar as ferramentas de simulação você deve ter o programa 
compilado como se você fosse transferi-lo para o CLP. 
• Habilite no menu principal a opção ON LINE � Simulation Mode...isto irá 
colocar o programa em modo de simulação. 
• Agora selecione a opção ON LINE � Login... isto fará com que o software 
faça um Login com um CLP virtual. 
• Este CLP virtual inicializa em STOP, vá novamente para ON LINE � Run 
e estaremos com este CLP virtual em modo RUN. A tela que aparecerá é a 
seguinte: 
 
 
 
 
 
57 de 159 
 
 
 
 
• Para forçar entradas, saídas ou memórias internas podemos proceder de 
várias maneiras diferentes. 
• Dê um duplo clique com o botão da esquerda do mouse sobre o tag do 
contato PartidaMotor, verifique que a cada duplo clique ele muda o 
desenho: 
 
 
 
Contato NA logicamente aberto 
 
 
Tag na cor preto, com um quadrado na parte inferior com as bordas 
azul claro preenchimento azul escuro. 
Contato NA logicamente aberto, forçar ON quando do comando 
FORCE 
 
Tag na cor preto, com um quadrado na parte inferior com as bordas 
Variáveis ON LINE Programa Contato Logicamente 
Fechado 
Bobina Logicamente 
Desligada 
Contato Logicamente 
Aberto CODESYS ONLINE 
CODESYS MODO SIMULAÇÃO CLP MODO 
RUN 
 
 
 
 
58 de 159 
azul claro sem preenchimento. 
Contato NA logicamente aberto, forçar OFF quando do comando 
FORCE. 
• Se dermos mais um duplo clique o contato volta ao estado anterior. 
• Dê um duplo clique no Tag e deixe-o na posição forçar ON. 
• Agora pressione F7, ou vá até o menu Online � Force Values. O nosso 
botão de partida será forçado para a situação ON. 
 
Observe que o TAG PartidaMotor aparece em vermelho. Ao redor 
da quadrado azul também aparece uma linha vermelha para indicar 
que esta variável está sendo forçada. 
Contato NA logicamente fechado, forçado. 
• Repare que a indicação FORCE aparece no canto esquerdo da tela, para 
indicar que existem variáveis forçadas em seu programa. 
 
• Se quisermos forçar várias variáveis ao mesmo tempo, podemos ir clicando 
com o mouse e deixando-as nos valores lógicos desejados, assim que 
pressionamos F7 os valores são carregados para os Tags. 
• Verifique o funcionamento do seu programa, ele deve ligar o contator 
principal juntamente com o estrela, contar um tempo de 3 segundos, 
desligar o contator estrela, esperar mais um segundo e ligar o contator 
triângulo. 
• Vamos agora retirar o comando de partida, clique novamente com o botão 
esquerdo do mouse sobre o TAG PartidaMotor e verifique como ele muda 
o status: 
 
Contato NA logicamente fechado, forçado. 
 
Tag em vermelho, aparece um quadrado na parte inferior do 
contato com bordas azul claro e preenchimento cinza. 
Contato NA logicamente fechado e forçado. Liberar comando 
FORCE quando ocorrer novo comando FORCE. 
 
Tag em vermelho, aparece um quadrado na parte inferior do 
contato com bordas azul claro sem preenchimento. 
 
 
 
 
59 de 159 
Contato NA logicamente fechado e forçado. Forçar estado OFF 
quando ocorrer novo comando FORCE. 
• Se estivéssemos ONLine com o CLP, bastaria colocarmos o comando 
Liberar comando Force, que o TAG assumiria o valor da entrada digital 
logo em seguida. 
• Como estamos com um CLP virtual, que não possui entradas físicas, para 
desligarmos adequadamente este contato precisamos forçá-lo para a 
condição OFF e logo em seguida liberar o comando force. 
• Experimente agora forçar o botão de desliga. Force-o para a condição ON 
(Aberto pois ele é um NF), logo em seguida para a condição OFF e então 
libere o FORCE. 
• Estas funções estão disponíveis tanto no modo Simulação, como 
conectado com o CLP. 
 
 
 
 
 
60 de 159 
Forcando variáveis pela configuração do XC100/200 
 
• Quando utilizamos as linhas de CLP’s XC100 ou XC200,podemos forçar os 
elementos de entrada e saída utilizando XC100 ou XC200. Desconsidere 
este tópico se não está trabalhando com estes CLP’s 
• No Organizador vá em Resource � PLC Configuration 
 
 
• Para forçar a entrada PartidaMotor basta clicar uma vez com o botão 
esquerdo do mouse no quadrado que se encontra à esquerda do TAG. 
 
• Para desligá-lo é só clicar novamente neste quadrado. 
• Acione agora o TAG ParadaMotor. 
Status das entradas / 
saídas 
Valor do BYTE em 
questão61 de 159 
CRIANDO TELAS DE SIMULAÇÃO 
• Para criar telas de simulação é necessário estar com o simulador parado, 
por isso vá até a opção menu Online � Logout. 
• Vá agora até o organizador e selecione a opção Visualizations. 
• Clique com o botão da direita do mouse sobre a pasta Visualizations e 
selecione a opção ADD Object... 
• Isto abrirá a seguinte tela: 
 
 
• Dê um nome para este Objeto de Visualização, por exemplo VIS1. 
 
 
 
 
 
ZOOM da 
TELA 
Organizador Tela de Visualização 
Coordenadas 
XY do cursor 
Elemento selecionado 
para desenho. Status CoDeSys. 
 
 
 
 
62 de 159 
• Itens da barra de ferramentas 
 - Quadrado 
 - Quadrado com bordas arredondadas 
 - Círculo 
 - Polígono 
 - Linha 
 - Linha Curva 
 - Segmento de Círculo 
 - Importar Bitmap 
 - Mostra outras telas em área definida 
 - Botão 
 - Importa figuras WMF. 
 - Tabela. 
 - Meter 
 - Gráfico de barras 
 - Histograma 
• Primeiramente vamos criar um botão de Partida. Clique no ícone para 
criar um botão na tela de visualização. 
• Assim que você selecionar esta opção, clique e arraste o mouse na tela de 
visualização para criar o botão 
 
 
 
 
 
63 de 159 
• Dê um duplo clique neste botão para editá-lo 
 
 
 
 
• Para cada item selecionado, teremos uma caixa de diálogo diferente. 
• Selecione a opção Text 
 
• Escreva no texto do botão Partida Motor. Mantenha o alinhamento central e 
escolha uma fonte de texto qualquer. 
 
Importar Bitmap Criar textos 
Associação com 
variáveis 
Entrada de 
dados 
Tooltip 
Texto do botão 
Alinhamento do 
texto 
Fonte do texto 
 
 
 
 
64 de 159 
• Selecione agora a opção Input. 
 
• Selecione a opção Tip Variable. Clique com o mouse dentro do quadro 
branco e pressione F2. 
• Assim que a tela help manager abrir selecione em Entradas_Saidas � 
PartidaMotor (BOOL) 
 
 
 
 
• Selecione agora Text for Tooltip 
 
Botão tipo PUSH 
Botão tipo retenção 
Inverter botão tipo 
PUSH 
Chama outra tela de 
visualização 
Executa um 
programa 
Entrada de dados pela 
variável ´Textdisplay´ 
 
 
 
 
65 de 159 
• Escreva em Content: Ligar a Bomba de Vácuo. 
 
• Pressione OK e o botão de partida estará pronto. Vamos agora criar o 
botão de parada, basta criar um outro botão do lado deste e configurá-lo da 
seguinte maneira. 
 
 
 
 
 
 
 
66 de 159 
 
• Vamos criar agora os sinaleiros do nosso motor. Crie um círculo ao lado 
dos botões ( ) conforme abaixo 
 
• Dê um duplo clique no círculo e a tela de configuração desta figura irá 
aparecer. 
 
 
 
 
• Na opção Text � Content escreva o seguinte: Bomba de Vácuo 
• Entre agora na opção Color 
 
 
 
 
Controle da forma Texto da figura 
Contorno 
Cores 
Controle de 
movimentos 
Variáveis 
Entrada de dados 
Tooltip 
 
 
 
 
67 de 159 
 
 
 
• Nesta opção podemos controlar as cores de nosso objeto. 
• Em Color escolhemos a cor natural de nosso objeto e em Alarm Color 
escolhemos uma cor a ser utilizada quando a variável for 1. 
• Clique em color � Inside e escolha a cor vermelha. 
• Selecione agora a opção Alarm color � Inside e escolha a cor verde. 
• Clique agora na opção Variables 
 
• Pressione a tecla F2 no campo Change color. 
• No Help Manager selecione em Entradas_Saidas� ContatorPrincipal. 
• Selecione agora a opção Text for Tooltip e escreva o seguinte: Contator 
Principal Bomba de Vácuo. 
• Crie o mesmo procedimento para os outros dois contatores como abaixo. 
Utilize a opção CTRL+C (Copiar)e CTRL+V (Colar) para que os círculos 
saiam iguais. 
Cor utilizada na 
situação normal 
Cor dentro da figura 
Figura sem 
preenchimento 
Cor do frame 
da figura 
Figura sem 
FRAME 
Cor utilizada na 
situação alarme 
Torna o objeto invisível 
Muda a cor do objeto 
Coloca um valor no 
objeto 
 
 
 
 
68 de 159 
 
 
 
 
• Nosso display irá ficar desta forma: 
 
 
• Vamos gerar um mostrador de tempo. Faça um quadrado ( ) logo abaixo 
dos botões de partida. A tela de configuração é idêntica à do círculo. 
• Configure conforme abaixo 
 
 
 
 
 
69 de 159 
• O CODESYS substitui a expressão %s pelo valor constante em 
Textdisplay. (Veja abaixo) 
• Selecione agora a opção Variables. 
• Coloque o cursor dentro do quadrado branco em frente a Textdisplay. 
• Pressione F2 e selecione PLC_PRG � TempoDesligaEstrela � ET (TIME) 
 
• Nossa tela de visualização está pronta: 
 
• Vamos colocar o programa mais uma vez em funcionamento 
• Certifique-se que o CODESYS esteja em modo de simulação (Online � 
Simulation Mode...) 
• Clique no menu Online � Login e logo em seguida Online � RUN. 
 
 
Sistema parado 
 
• Clique no botão Partida Motor. Observe que se você segurar o mouse 
sobre um objeto ele irá exibir o texto digitado em Tooltip. 
 
 
 
 
70 de 159 
 
Sistema partindo 
 
 
 
• Após 3 segundos a contatora estrela desliga. E após mais um segundo a 
contatora triângulo é acionada. 
 
Motor em regime normal. 
 
 
TRABALHANDO COM BREAK POINTS E CONTROLADORES DE 
CICLO 
• Break Points são paradas criadas em nosso programa para nos auxiliar 
nas etapas de testes. 
• Coloque o programa em LOGIN no modo de simulação, mas não coloque o 
programa em RUN. 
Tempo decorrido Tooltip 
 
 
 
 
71 de 159 
 
• Do lado esquerdo podemos ver a numeração das linhas lógicas. 
• Clique com o mouse sobre o número 2 e o número 4. 
 
• Acabamos de criar nas lógicas 2 e 4 break points. A cor azul claro indica 
onde estão os break points. 
• Quando selecionarmos RUN, o programa irá rodar até chegar em um break 
point, então ele irá ficar parado neste ponto até darmos o comando RUN 
novamente. 
• Vá no menu Online � RUN, ou pressione F5. 
 
 
 
 
 
72 de 159 
 
• O programa roda e irá parar na linha 2. Esta assume a cor vermelha para 
indicar onde o programa parou 
• A linha 2 e a três só serão executadas quando pressionarmos RUN 
novamente. 
 
• O programa irá rodar até encontrar outro break point. No nosso caso o 
próximo break point está na linha 4. 
• O programa só executará a linha 4 , 5 e 1 se pressionarmos RUN 
novamente. 
• O programa volta a parar na linha 2. 
 
 
 
 
73 de 159 
• Para desativar o break point clique uma vez com o botão esquerdo do 
mouse sobre a linha2 e 4. 
• Podemos ainda trabalhar com um controlador de ciclo, ou seja, um 
comando que induz o CLP a executar um ciclo de cada vez. 
• Entre em Menu Online � Single Cycle ou pressione CTRL + F5. Com isto 
o programa irá rodar uma vez e logo em seguida entrará em stop. 
• Outra ferramenta é o Step. Este comando faz com que o CLP execute uma 
linha lógica de cada vez. 
• Crie um break point na linha 1 do programa e entre no Menu Online � Run 
ou pressione F5. 
 
 
• Entre no menu Online � Step in , ou pressione F8. 
• Repare que apesar de não termos criado um break point na linha dois, esta 
fica vermelha. 
 
 
 
 
74 de 159 
 
• Se pressionarmos F8 ou dermos mais uma vez o comando Step In, a linha 
2 será executada e o programa irá parar na linha3. 
• Caso pressionemos F5 ou executemos o comando RUN, o programa irá 
executar as linhas lógicas deste ponto em diante e irá parar assim que 
encontrar um break point. 
 
 
Comunicação em Ethernet com IHM+CLP. 
 
A interface Ethernet do dispositivo é utilizada para a visualização "GALILEO", 
como também programação do PLC com "XSoft-CoDeSys". Para a 
comissionamento

Outros materiais