Você está na página 1de 73

Indice

OBJETIVO DESTE MANUAL 3

EXEMPLO DE PROGRAMAÇÃO – DIAGRAMA LADDER 4

INICIANDO UM NOVO PROJETO 5

CONFIGURAÇÃO DO CONTROLADOR 7

INSTRUÇÕES MAIS UTILIZADAS 14


SINAL DE ENTRADA (CONTATO); 14
SINAL DE SAÍDA COMUM (BOBINA) 15
TEMPORIZADORES 16
CONTADORES 18
EXERCÍCIO 1 20

FAZENDO O DOWNLOAD DO SEU PROJETO 24


CRIANDO O BOOT PROJECT 28
CRIANDO O SOURCECODE DOWNLOAD 29
EDIÇÕES EM ONLINE 30
MENU ONLINE 34
BIBLIOTECAS 37
INSERINDO UMA BIBLIOTECA AO PROJETO 38
REMOVENDO UMA BIBLIOTECA AO PROJETO 39
SALVANDO UM PROJETO COMPLETO 40

VISUALIZAÇÃO 42

EXERCÍCIO 2 65

VERIFICAÇÃO DO SEU PROJETO 66

CHAVE DE MODO E INTERFACE DE PROGRAMAÇÃO 67

EXEMPLO DE PROGRAMAÇÃO EM DIAGRAMA DE BLOCOS 68

EXEMPLO DE PROGRAMAÇÃO EM TEXTO ESTRUTURADO 69

ANEXO A – FUNÇÕES PADRÃO E BLOCOS DE FUNÇÃO 70

ANEXO B – ENDEREÇAMENTO DE MEMÓRIA 72

Página 2 de 73
OBJETIVO DESTE MANUAL
Este manual fornece aos usuários informações básicas para criar aplicativos usando o software
WAGO-IO-PRO CAA (V2.3.9.25) com o controlador WAGO 750-8XX. Cada seção deste guia lhe
dará instruções e dicas úteis para você criar a sua aplicação. A breve descrição abaixo indica o
que você pode esperar em cada seção do documento:

Atribuição de um endereço IP

Este é um procedimento passo-a-passo para a atribuição de um endereço IP para o controlador


WAGO 750-880. Atribuição de um endereço IP é um pré-requisito para se comunicar com o
controlador através de sua porta Ethernet.

Exemplo de Programação

Esta seção lhe mostrará como criar uma aplicação, fazer o download para o controlador e
executá-la.

Modo de Operação e Porta serial

Saiba as características dessas características importantes do controlador WAGO.

Criando o Boot Project

Aprenda a armazenar o seu programa na memória do controlador WAGO para que ele seja
mantido na memória mesmo após ser desconectada da alimentação.

Instruções padrões e Blocos de Função (Function Blocks)

Saiba mais sobre como aplicar os blocos de função em uma aplicação para os controladores
WAGO.

Endereçamento de memória

Aprenda a sintaxe usada pelo WAGO-IO-PRO CAA para tratar dos endereços de memória no
controlador WAGO.

Página 3 de 73
EXEMPLO DE PROGRAMAÇÃO – DIAGRAMA LADDER
O exemplo a seguir fornece instruções passo-a-passo para a criação de um projeto no WAGO-
IO-PRO CAA utilizando a linguagem de programação Ladder . Este procedimento irá familiarizá-
lo com muitos conceitos básicos utilizados no WAGO-IO-PRO CAA.

Exemplo de programação - Diagrama Ladder

Página 4 de 73
INICIANDO UM NOVO PROJETO
Se ele não estiver iniciado, abra o WAGO-IO-PRO CAA.
Na barra do menu superior, selecione File ... New. Você pode ser SOBRE POUS
perguntado se você gostaria de salvar o seu programa existente.
Dentro WAGO-IO-PRO CAA,
Responda YES. programas, blocos funcionais e
A janele Target Settings será exibida. Selecione o WAGO_750-880. funções são chamadas de POU –
Program Organization Units ou
POUs. Junto com os operadores,
POUs são os blocos de funções a
partir dos quais um projeto que é
criado. POUs podem ser padrões
ou aqueles definidos pelo usuário.

POUs padrão residem em


bibliotecas que você pode incluiur
em seu projeto. Selecione
Window... Library Manager ... na
Depois que o controlador foi escolhido, várias opções de configuração barra de menu superior para ver as
irão aparecer. Mantenha as configurações no default e clique em OK para bibliotecas que estão incluídos no
continuar. projeto. Ao visualizar o Library
Manager, você pode clicar, no
menu da barra superior, em Insert
A janela New POU irá aparecer ... Additional Libraries para
adicionar bibliotecas ao seu projeto.

POUs definidos pelo usuário são


aquelas que você criou ou copiou
para o seu projeto de outros
aplicativos.

Todo projeto precisa de uma POU


chamdo de PLC_PRG (assumindo
que o Task Manager não é usado).
PLC_PRG é o programa principal
que pode conter toda a lógica de
um projeto, ou pode chamar outros
POUs. A execução do projeto vai
começar com o conteúdo de
PLC_PRG.
Preencha as informações do New POU da seguinte forma:
Nome da nova POU: PLC_PRG POUs podem ser escritos nas
Tipo da POU: Programa seguintes IEC-61131 línguagens:
Língua do POU: LD
Lista de Instruções (IL)
Diagrama Ladder (LD)
Diagrama de Blocos Funcionais
Clique em OK para continuar.
(FBD)
Sequencial Function Chart (SFC)
Texto Estruturado (ST)
Continuos Function Chart (CFC)

Página 5 de 73
O ambiente de desenvolvimento do WAGO-IO-PRO CAA (CoDeSys) é exibido. Abaixo está uma
breve descrição dos vários campos.

Variable Editor

Project
Organization Logic Editor
Window

Message Window
Status Bar

Variable Editor - Between the keywords VAR and END_VAR all of the local variables for a
Program Organization Unit (POU) are declared. Entre as palavras VAR e END_VAR todas as variáveis locais para
o (POU) são declarados.

Logic Editor – Este é o lugar onde o corpo de seu programa de controle está escrito. Um texto
ou um editor gráfico será exibido com base na linguagem do POU a ser utilizada. Diagrama
Ladder, Diagrama de Blocos Funcionais, SFC e CFC são linguagens gráficas. Lista de
Instruções e Texto Estruturado usam um editor de texto.
Project Organization Window – Com a guia POUs selecionada, esta janela exibe os POUs do
usuário (programas, blocos funcionais e funções) que compõem o seu projeto. Esses objetos
consistem de uma parte declaração da variável e uma parte lógica / programa.
Message Window – Exibe mensagens sobre a última compilação, verificação ou comparação
Status Bar – A barra de status está na parte inferior da moldura da janela e dá informações
sobre o projeto atual e comandos de menu.

Página 6 de 73
CONFIGURAÇÃO DO CONTROLADOR
Antes de escrever seu programa, o Editor de Configuração de Hardware é usado para mapear
os módulos de I/O do controlador WAGO. Aos pontos individuais de I/O são atribuídos nomes
de variáveis globais para uso em seu programa de. Para abrir o Editor de configuração de
hardware, comece clicando na guia Resources na parte inferior da janela de organização do
projeto.

Dê um duplo clique em PLC Configuration na Janela Organização do Projeto, em seguida,


clique duas vezes em Hardware configuration na janela à direita, como mostrado abaixo.

2
1

Clique em K-Bus[FIX] e então selecione Insert...Append Subelement a partir do menu da


barra superior.

1
2

Página 7 de 73
Aparece a seguinte janela:

Clique no sinal "+" na parte superior da guia Input/Output na janela de configuração e a


seguinte janela aparecerá.

Há duas opções para adicionar módulos para a configuração de hardware:


1. Digite o código de catálogo na caixa de filtro.
2. Navegue através das respectivas pastas para encontrar o módulo que você está procurando.
Selecione o 0750-1506 8DI/8DO 24V 0.5A digitando 1506 na caixa de filtro de código de
catálogo. Selecione o módulo 0750-1506 a partir da lista e clique no botão Inserir, o módulo será
exibido na janela de Módulos de I/O selecionados (Selected terminals).

Página 8 de 73
Repita esse processo para os seguintes módulos:

Entrada analógica - 0750-0467 2 AI 0-10V S.E.


Saída analógica - 0750-0550 2 AO 0-10V DC

O Módulo de Fim 750-600 não é adicionado à configuração de I/O, uma vez que não consome
ou produz dados do processo.

Note: Este exemplo assume que você tem um DEMO com um controaldor WAGO (750-880
Ethernet Controller, 750-1506 8 - Canais de entrada 24v / 8-Canais de saída 24v, 750-467 2
canais 0-10VDC de entrada analógica, 750-550 2 canais 0-10VDC de saída analógica, e o
modulo final 750-600). Se a sua configuração é diferente, escolha os módulos de I/O
adequados.

Página 9 de 73
Quando concluída, a tela deve ser semelhante a que você vê abaixo. Clique em OK para
continuar.

Note: Se você quiser excluir um módulo de sua seleção, selecione o módulo apropriado na
janela de módulos I/O selecionados e clique no botão Excluir. Além disso, os botões de
seta na parte superior da janela de I/O configuration permitem o reposicionamento dos
módulos seleccionados.

Página 10 de 73
A janela de configuração de hardware recupera o foco. Os endereços de memória (por
exemplo,% IX2.0) são exibidos para cada ponto de I/O definidos na configuração do hardware.

Dê um duplo clique em Name Field e assim você pode digitar um tag, ou uma variável global
para cada ponto físico de I/O
Digite os nomes seguintes variáveis: Liga_Motor1 - para a primeira entrada digital (%
IX2.0)
Desliga_Motor1 - para a segunda entrada digital
(% IX2.1)
Motor1 - para a primeira saída digital (% QX2.0)

Quando concluída, a tela será semelhante à abaixo.

Página 11 de 73
Página 12 de 73
A configuração de hardware esta completa.
O próximo passo é escrever o seu programa de controle no editor de lógica. Para exibir o editor
de lógica, clique na guia POUs na parte inferior da janela e em seguida, clique duas vezes em
PLC_PRG.

2
1

O editor de lógica é exibida com uma linha vazia.

Página 13 de 73
INSTRUÇÕES MAIS UTILIZADAS
SINAL DE ENTRADA (CONTATO);

As instruções de entrada do tipo contato ou relé podem ser NA ou NF conforme mostrados


abaixo;

Relé NA: tais dispositivos fecham os seus contatos quando são energizados. A
denominação NA, normalmente aberto, se refere à consideração do que os relés
eletromecânicos,deste tipo, estariam abertos se estivessem fora do circuito.

Contato NA

Contato NA em Paralelo

Relé NF: tais dispositivos abrem os seus contatos quando são energizados (Fig.4.3). A
denominação NF, normalmente fechado, se refere à consideração de que os relés
eletromecânicos, deste tipo, estariam fechados se estivessem fora do circuito..

Contato NF

Contato NF em Paralelo

Página 14 de 73
SINAL DE SAÍDA COMUM (BOBINA)

-Comum
-Set / Reset

Esta instrução serve para habilitar uma saída, que tanto pode corresponder a uma saída física
do CLP, como a um bit. A saída será habilitada quando a condição, onde está localizada a
instrução se tornar verdadeira. Quando a condição falsa, a saída será desabilitada. Este tipo de
instrução pode ser do tipo COMUM ou RETENTIVAS (SET / RESET), conforme mostrados
abaixo;

Bobina Comum
(Usada para acionar uma saída física ou um bit)

NOTA: Há situações em que é necessário manter uma saída energizada, mesmo quando a
entrada venha a ser desligada. O circuito utilizado para essa finalidade é chamado de “selo” ou
trava. Os selos são combinações entre elementos destinados a manter uma saída ligada
(Retentiva), quando se utilizam botoeiras de pressão (ou de contato momentâneo).

Sinal de Saída Retentivo (Set / Reset)

Uma maneira de fazer a auto retenção de uma saída (bobina) é pela instrução set. A instrução
set liga uma saída e a mantém ligada mesmo que o contato da entrada deixe de conduzir. Para
desligar a saída é utilizada a instrução reset.

Bobina Set Bobina Reset


(Aciona uma saída e manter ela ligada) (Desliga a saída acionada como set)

Página 15 de 73
TEMPORIZADORES
Tempo de Desligar (Timer Off-Delay) TOF
TOF pode ser adicionado clicando no botão Function Block, selecione a aba TIMER e escolha o
TOF (Veja Standard Function Blocks na IEC61131-3).
Entrada Saida

Tempo Presente Tempo Decorrido

TOF(IN, PT, Q, ET), definição:


O temporizador começa quando a entrada IN muda para FALSE (logica 0). Quando o tempo que
foi definido pela entrada PT (Preset Time) expira, a saída Q do temporizador muda de 1 para 0.
A saída ET é o tempo decorrido uma vez que o temporizador foi iniciado.

Tempo de Ligar (Timer On Delay) TON

TON(IN, PT, Q, ET), definição:


O temporizador começa quando a entrada IN muda para TRUE (logica 1). Quando o tempo que
foi definido pela entrada PT(Preset Time) expira, a saida Q do temporizador muda de 0 para 1.
A saída ET é o tempo decorrido uma vez que o temporizador foi iniciado.

Tempo de Pulso (Pulse Timer) TP

O tempo de pulso é usado para gerar um sinal de pulso constante com relação a duração do
pulso da entrada.

Página 16 de 73
TP(IN, PT, Q, ET), definição:
O temporizador começa quando a entrada IN muda para TRUE (logica 1). A saida Q também
sera TRUE (logica 1) pelo período de tempo que foi definido pela entrada PT (Preset Time). A
saída Q ira permanecer acionada pelo período de tempo especificado, mesmo que a entrada IN
for derrubada (O valor assumido sera FALSE = logical 0). A saída ET é o tempo decorrido para
o temporizador uma vez que o tempo foi iniciado. Q sera verdadeiro quando IN mudar para
TRUE e ET devera ser menor que o tempo PT, Caso contrário sera FALSE.

Resumindo: O temporizador TP sera TRUE (logica 1) assim que for iniciado, mas somente por
um pulso de duração que foi especificado no PT.

Declaração de Tempo

A declaração de tempo pode consistir de dias (indicado por "d"), horas ("h"), minutos ("m"),
segundos ("s") e milisegundos ("ms"). Nota: Aqui os dados de tempo devem ser indicados em
ordem de magnitude (d antes de h, h antes de m, m antes de s e s antes de ms).

Exemplo de declaração de tempo;

Página 17 de 73
CONTADORES

CTU (Contador Acima)


O bloco CTU é um contador incremental (para cima).

RESET;
Se o parâmetro de entrada RESET = VERDADEIRO (Lógica 1), o contador é inicializado com o
valor de contagem em 0 e então o tempo é executado para cima.

PV (Valor Pré-Definido);
PV é um valor de 16 bits inteiro, ou seja, entre -32768 e +32767. Este valor é utilizado para
definir o limite superior para o contador, na qual Q muda para VERDADEIRO.

CU;
CU (Contagem Crescente) é o pulso de entrada da contagem, ou seja, a contagem é
aumentada de 1 em 1 quando ha uma mudança de falso para verdadeiro (contanto que 0 não é
atingido).

CV;
CV (Valor Atual) é o valor atual (contagem) para o contador. Esta contagem é aumentada de 1
em 1 quando ha um pulso positivo que está presente no valor CU para a entrada.

Q;
Q é VERDADEIRO (Lógica 1), quando o valor atual (contagem) CV é o mesmo que PV.

As variáveis CU, RESET e Q são do tipo BOOL, enquanto o PV e CV são do tipo INT.

CTD (Contador Abaixo)


O bloco CTD é um contador decremental (para baixo).

LOAD (Carga);
Se o parâmetro LOAD = VERDADEIRO (Lógica 1), o contador é inicializado com o valor de PV
e a contagem é então a contagem é executada para baixo.

PV (Valor Pré-Definido);
PV é um valor de 16 bits inteiro, ou seja, entre -32768 e +32767. O contador é inicializado com
este valor, quando a entrada LOAD = VERDADEIRO.

CD;
CD (Contagem Decrescente) é o pulso de entrada da contagem, ou seja, a contagem de CV é
diminuída de1 em 1 quando há uma mudança de falso para verdadeiro (contanto que 0 não é
atingido).

CV;
CV (Valor Atual) é o valor atual (contagem) para o contador. Esta contagem é diminuída de 1
em 1 quando ha um pulso positivo que está presente no valor CD de entrada.

Página 18 de 73
Q;
Q é VERDADEIRO (Lógica 1), quando o valor atual (contagem) CV é 0.

As variáveis CD, LOAD e Q são do tipo BOOL, enquanto o PV e CV são do tipo INT.

CTUD (Contador Acima/Abaixo)


O bloco CTUD é um contador incremental e decremental. Este contador
é uma combinação de um CTU (Acima) e um contador CTD (Abaixo).

RESET;
Se o parâmetro de entrada RESET = VERDADEIRO (Lógica 1), o
contador é inicializado com o valor de contagem em 0 e então o tempo é executado para cima
ou para baixo.

LOAD (Carga);
Se o parâmetro LOAD = VERDADEIRO (Lógica 1), o contador é inicializado com o valor de PV
e a contagem é então a contagem é executada para cima ou para baixo.

PV (Valor Pré-Definido);
PV é um valor de 16 bits inteiro, ou seja, entre -32768 e +32767(somente um valor maior que 0
é realmente significativo). O contador é inicializado com este valor, quando a entrada LOAD =
VERDADEIRO.

CD;
CD (Contagem Decrescente) é o pulso de entrada da contagem, ou seja, a contagem de CV é
diminuída de1 em 1 quando há uma mudança de falso para verdadeiro (contanto que 0 não é
atingido).

CU;
CU (Contagem Crescente) é o pulso de entrada da contagem, ou seja, a contagem é
aumentada de 1 em 1 quando ha uma mudança de falso para verdadeiro (contanto que 0 não é
atingido).

CV;
CV (Valor Atual) é o valor atual (contagem) para o contador. Esta contagem é aumentada de 1
em 1 quando ha um pulso positivo que está presente no valor CD para a entrada diminuída de 1
em 1 quando há um pulso positivo que esta presente no valor CU para a entrada

QD;
QD é à saída binária inferior do contador. Esta saída é TRUE (Lógica 1) quando o valor atual CV
= 0.

QU;
QU é à saída binária superior do contador. Esta saída é TRUE (Lógica 1) quando o valor atual
CV > = PV (valor pré-definido).

As variáveis CU, CD, RESET, LOAD, QU e QD são do tipo BOOL, enquanto o PV e CV são do
tipo INT.

Página 19 de 73
EXERCÍCIO 1
Seguindo os passos iniciais mostrados do inicio do treinamento inicie agora o seu
exercício. Desenvolva um programa onde um motor será acionado 10 segundos após
ter sido pressionado um botão liga. Use uma saída auxiliar para ligar este motor e
também um selo para prever o desligamento através de um botão desliga.

O seu programa deve ser algo parecido com o que vemos na figura abaixo:

Página 20 de 73
Após desenvolver a sua lógica agora é hora de testá-la. Neste primeiro momento vamos
usar o Simulador do Codesys.

O modo de simulação permite que você teste a sua lógica sem mesmo ter um hardware

Vá no menu superior, em Online, e em seguida Simulation Mode

O próximo passo agora é entrar em Online com o modo de simulação. Em Online, clique
em Login.

Após o Login, tecle F5 para colocar a simulação em execução, modo RUN. Você pode
fazê-lo também através do Menu Online -> RUN

Página 21 de 73
Veja que estamos em Online, no
modo de simulação e a lógica está
pronta para ser testada - RUNNING

Esta deve ser a tela que você vê. Repare no canto inferior direito que você está no
modo Simulação e Execução.

Para simular a lógica, você pode dar um double-click no contato “Liga_Motor1”. Esta é
uma forma de mudar o status da variável de FALSE para TRUE. Para escrever o valor
para a variável, além do double-click, você deve pressionar <CTRL><F7>

Para confirmar o valor tecle


<CTRL><F7>

É possível também confirmar o valor da variável usando o menu.

Página 22 de 73
OK, agora teste a sua lógica e vamos para o próximo tópico

Página 23 de 73
FAZENDO O DOWNLOAD DO SEU PROJETO
Se você não tiver configurado um canal de comunicação para se comunicar com o seu
controlador, você terá que fazê-lo. Os parâmetros de comunicação variam dependendo do
controlador e da porta de comunicação a ser utilizada.

O exemplo a seguir mostra como configurar um canal de comunicação entre um computador


com um adaptador Ethernet e um controlador WAGO 750-880.

Primeiramente devemos configurar os parâmetros de comunicação do seu computador, assim


sendo , devemos configurar o IP fixo porem na mesma classe que os controladores . Abaixo
segue uma sugestão de IP para o seu computador.

IP: 192.168.1.88
Mascara de Rede : 255.255.255.0

Página 24 de 73
Voltando ao ambiente do WAGO-IO-PRO CAA, selecione Online...Communication
Parameters… para configurar o canal de comunicação para o controlador.

Clique em New ....

A seguinte janela será exibida:

Página 25 de 73
No campo Name, digite um nome exclusivo para o canal de comunicação.

Na lista de seleção, selecione:


Tcp/Ip: (3S Tcp/Ip driver)
como o driver de comunicação..

Clique em OK.
Uma janela semelhante à abaixo aparecerá

Dê um duplo clique sobre a palavra localhost. Um campo de entrada aparecerá. Digite o


endereço de IP do seu controlador WAGO, e pressione Enter.

Clique em OK. (Certifique-se de pressionar Enter antes de clicar em OK.)

Você já deve estar pronto para fazer o Login no controlador e fazer o download do seu projeto.

Clique Online ... Login.

Página 26 de 73
A janela abaixo será exibida, solicitando que você faça o download do seu novo programa.

Clique em YES para fazer o download do programa.

Para colocar seu controlador no modo de execução, selecione Online..Run no menu superior ...

Página 27 de 73
CRIANDO O BOOT PROJECT

Para um projeto desenvolvido no WAGO-IO-PRO CAA que foi compilado com sucesso
pode ser feito o download para o controlador, de tal forma que o controlador pode carregá-lo
automaticamente quando reiniciado. Esta operação é chamada " Creating a Boot Project " e
requer uma versão licenciada do WAGO-IO-PRO CAA (versões demo do WAGO-IO-PRO não
permitem essa funcionalidade).
Para criar um boot project, primeiro faça o login no seu controlador. Isto é feito
selecionando Online...Login na barra de menu superior. Se o seu programa offline não coincidir
com o programa atual na memória do controlador, uma caixa de diálogo irá pedir-lhe para
confirmar o download, selecione YES.

Selecione Online..Create boot project na barra de menu principal

Página 28 de 73
Uma caixa de diálogo irá aparecer no meio da área de trabalho WAGO-IO-PRO CAA
enquanto o programa é copiado para a área de memória no PFC.

Após concluída esta tarefa, a energia pode ser desligada do seu controlador e o
programa ficará armazenado na memória do controlador. O programa permanecerá na memória
do controlador até que um novo Boot Project seja criado ou um comando de Reset -
Online...Reset (Original) seja selecionado.

CRIANDO O SOURCECODE DOWNLOAD

Quando você fizer o Create boot project, seu programa estará gravado na área de
memoria do CLP, porem, somente com este comando não é possível fazer o UPLOAD do
projeto no futuro. Caso você deseje fazer o UPLOAD do seu projeto posteriormente é
necessário fazer o Sourcecode download (além de fazer os donwloads anteriores, login e
create boot project)

Página 29 de 73
Selecione a aba Online e clique em Sourcedcode download

Agora o seu programa está na memória do controlador e o conteúdo dele poderá ser
recuperado através de um upload.

Você pode LIGAR/DESLIGAR o seu controlador e perceberá que o programa está salvo na
memória.

EDIÇÕES EM ONLINE

Para que você possa fazer alterações com o programa funcionando (Online Change), é
preciso, antes de tudo, marcar esta opção na configuração da CPU. Porem essa configuração
deve ser feita em modo Offline , ou seja , selecione Online ... Logout .

Volte novamente ate a aba Resources .

Na aba resources, clique duas vezes em Target Settings.

Página 30 de 73
Agora, selecione a aba General , marque a opção Online Change do lado esquerdo inferior da
tela e clique em OK.

Após você clicar em OK, uma mensagem perguntando se você deseja realmente aplicar estas
mudanças irá aparecer. Clique em SIM.

NOTA: Para que as alterações online funcionem corretamente você deve fazer novamente todos
os passos que foram explicados acima. Vá ate o menu Project... Rebuild All. Caso o programa
alterado não tenha nenhum erro, Repita os passos para fazer o Login, Boot Project e
Sourcecode Donwload.

Página 31 de 73
Novamente em modo Online e com o programa rodando iremos alterar a linha 001

Primeiro , selecione o menu Online .... Logout

Agora em modo off-line , faça as alterações desejadas , no exemplo abaixo, trocamos um


contato normalmente fechado por um contato normalmente aberto, conforme a figura abaixo.

Página 32 de 73
Após executar as alterações desejadas , selecione o menu Online... Login

Uma mensagem perguntando se você deseja realmente aplicar estas mudanças irá aparecer.

Selecione o botão Yes e as mudanças serão aplicadas sem parar o processamento do


CLP. E novamente você estará online com o CLP, conforme figura abaixo.

Página 33 de 73
MENU ONLINE

Nesta seção iremos descrever os principais itens do menu ´Online´. Você já realizou
muitos desses itens nos passos anteriores.

Online' 'Login'

Símbolo: Atalho: <Alt>+<F8>

Este comando inicia a comunicação do ambiente de programação do sistema com o CLP ( ou


inicio do modo de simulação do programa ). Se o programa atual não estiver sido compilado desde
quando foi aberto ou da ultima modificação, então ele deve ser compilado antes de pressionar “online “ (
Project > Build ). Se erros ocorrerem durante a compilação, então o Codesys não poderá entrar em modo
Online. Caso haja mudanças no projeto desde do ultimo download sem ter fechado o projeto, no
momento do download aparecerá uma janela perguntando:

The program has been changed. Load changes?

Pressione Yes e o Clp passará para modo online, carregando as mudanças.

Online' 'Logout'

Símbolo: Atalho: <Ctrl>+<F8>

A conexão do CLP é interrompida, ou, o Modo de simulação de programa é finalizada trocando


para o modo Offline.

Online' 'Download'

Este comando carrega o projeto compilado no CLP.

Página 34 de 73
Online' 'Run'

Símbolo: Atalho: <F5>

Este comando inicia o programa do CLP ou o Modo Simulação. Este comando pode ser executado
imediatamente depois do “Online” “Download” , ou depois do usuário do CLP ter parado o programa
através do comando “Online” “Stop”, ou quando , os comandos 'Online' 'Single Cycle' tenha sido
executado .

Online' 'Stop'

Símbolo: Atalho: <Shift>+<F8>

Interrompe a execução do programa do CLP ou para a execução quando o programa está em Simulation
Mode.
Use o comando 'Online' 'Run' para o programa retorna a execução.

'Online' 'Reset'

Este comando inicializa as variáveis do programa, exceto as variáveis retentivas (VAR RETAIN).
E as variáveis persistentes (VAR PERSISTENT) voltam aos valores de inicialização. Todas as outras
variáveis voltam para os valores padrões , ou seja , 0 .
O CODESYS perguntará para você confirmar a decisão de reset. Depois de todas as variáveis
serem sobrescritas, o controlador será mudado para o estado Offline. Use o comando 'Online' 'Run' para
reiniciar o programa.

'Online' 'Reset (cold) '

Este comando corresponde ao comando 'Reset' descrito acima, com exceção que as variáveis
retentivas ( VAR RETAIN ) são sobrescritas para os valores de inicialização.

Online' 'Reset (original)'

Este comando inicializa todas as variáveis inclusive as persistentes e retentivas (VAR RETAIN e
VAR PERSISTENT) além de apagar o programa do usuário no controlador.

Segue abaixo um descritivo das reações das variáveis dependendo dos comandos

VAR VAR PERSISTENT RETAIN


Comandos / Tipos Variáveis VAR VAR PERSISTENT
RETAIN VAR RETAIN PERSISTENT
Reset - x - x
Reset (Cold) - - - -
Reset (Original) - - - -
Download - - x x
Online Change x x x x

X = Valor será retido - = Valor será reinicializado

Página 35 de 73
Online' 'Simulation Mode'

Em modo de simulação, o programa do usuário roda sem a necessidade do hardware, ou seja, é


possível testar a aplicação sem o controlador.
Se o programa não estiver em modo de simulação, o programa irá rodar no CLP.
Se o modo simulação estiver selecionado aparecerá o símbolo ao lado

'Online' 'Communication Parameter'

Este comando levará o usuário a seção na qual permitirá ele configurar os parâmetros
relacionados a comunicação do projeto com o CLP , ou seja , os parâmetros de comunicação para que
você possa executar a transferência de informação entre o PC e o controlador (download , modo Online e
etc) .

'Online' 'Sourcecode download'

Quando você executar o ‘Online' ‘Create boot Project ’, seu programa estará gravado na área de
memoria do CLP, porem, somente com este comando não é possível fazer o UPLOAD do projeto no
futuro. Caso você deseje fazer o UPLOAD do seu projeto posteriormente é necessário fazer o 'Online'
'Sourcecode download' e ‘Online' ‘Create boot Project ’.

'Online' 'Create boot project'

Quando executamos o comando Online' 'Download', somente carregamos o projeto compilado


para a memoria RAM do controlador, ou seja, caso o controlador seja desligado , o projeto descarregado
será perdido. Caso queira que o programa descarregado seja carregado automaticamente quando o
controlador for reiniciado, devemos executar o comando 'Create boot project'

Página 36 de 73
BIBLIOTECAS
As bibliotecas são conjuntos de blocos já prontos para o CODESYS. Você pode inserir
vários tipos de bibliotecas em seu projeto. As bibliotecas standard.lib e util.lib já estão inclusas
no programa por padrão

O library manager é o local que mostra todas as bibliotecas que estão dentro do seu
projeto. As variáveis do programa, receitas e variáveis globais destas bibliotecas podem ser
usadas normalmente. Para abrir o Library Manager, vá no menu superior em Window...Library
Manager.

A janela do Library Manager é dividida em quatro áreas. As bibliotecas anexadas ao


projeto são listadas na parte superior esquerda. Na área abaixo desta (dependendo do
controlador que foi escolhido) há uma lista de blocos de funções, receitas, visualizações ou
variáveis globais da biblioteca selecionada. As pastas podem ser abertas e fechadas com um
duplo clique na linha. Há um sinal de mais (+) na frente de pastas fechadas, e um sinal de
menos (-) na frente das pastas abertas.
Quando um bloco de função é selecionado clicando com o mouse, em seguida a
declaração deste bloco será exibida na parte superior direita do Library Manager. No canto
inferior direito é exibido um exemplo do bloco selecionado das entradas e saídas com os tipos
de dados e as variáveis, a declaração das variáveis é apresentada na área direita do Library
Manager.

Página 37 de 73
INSERINDO UMA BIBLIOTECA AO PROJETO

Dentro do library manager, vá até o menu superior e clique em, Insert...Additional


Library...

Se o diretório que esta aberto atualmente não contém a biblioteca que você deseja, você pode
selecionar outro diretório onde todas as bibliotecas ficam armazenadas e escolher outra
biblioteca, por padrão as bibliotecas estão salvas na pasta Libraries, escolha a biblioteca
desejada (tipo de arquivo “.lib”) e confirme.
OBS: Não é possível escolher mais de uma biblioteca de uma só vez.

A caixa de seleção será fechada e a biblioteca esta inserida no Library Manager, agora você
pode usar todos os recursos da biblioteca no projeto.

NOTA: O caminho padrão das bibliotecas geralmente é este;


“C:\Program Files (x86)\WAGO Software\CoDeSys V2.3\Targets\WAGO\Libraries”

Página 38 de 73
Caso você deseje inserir uma biblioteca que não esta em nenhuma destas pastas,
recomendamos criar uma nova pasta no mesmo caminho com o nome “Novas”, copiar as suas
bibliotecas para dentro desta pasta e depois adiciona-las ao projeto no Codesys.

Quando você abrir um projeto e as bibliotecas não forem encontradas, o Codesys irá
perguntar se você quer mudar o diretório destas biblioteca não encontradas. Se você disser não,
uma caixa de diálogo se abrirá fornecendo informações sobre as bibliotecas faltantes e o nome
destas bibliotecas serão exibidas em vermelho no Library Manager.
Neste caso, você pode selecionar esta biblioteca que esta vermelha, clicar com o botão
direito do mouse e ir ao comando Search. Assim, você abrirá uma caixa de diálogo onde você
pode navegar e carregar a biblioteca faltando imediatamente.

Você pode consultar os cases de aplicação (applications notes) direto no site da wago e baixar
diversas bibliotecas para incluir no seu projeto.
http://www.wago.com/wagoweb/documentation/index_e.htm

REMOVENDO UMA BIBLIOTECA AO PROJETO


Para remover uma biblioteca do projeto basta estar no Library Manager e ir até o menu
Edit...Delete. Ou então clicar com o botão direito do mouse na biblioteca que deseja excluir e
clicar em Delete.

Página 39 de 73
SALVANDO UM PROJETO COMPLETO

Após ter começado a fazer seu programa, o Codesys por padrão salva automaticamente
seu projeto a cada 10 minutos.
Para salvar seu programa a qualquer momento selecione File ... Save. Caso você queira
salvar em um local ou com algum nome diferente do original, basta selecionar File ... Save as.

Página 40 de 73
No Codesys há um modo que chamamos de Save/ Mail Archive, no qual podemos
salvar ou não todas as informações do projeto. O mais importante nesta opção é que podemos
salvar o projeto completo, inclusive com as bibliotecas. Quando você quiser enviar um programa
completo para alguem será necessario salvar neste modo. Para fazer o Save/ Mail Archive
selecione File ... Save/ Mail Archive, a seguinte janela irá aparecer;

Para salvar as bibliotecas junto com o projeto basta deixar selecionado o segundo item
Referenced Libraries. Após ter confirmado isso, clique no botão Save...
O Codesys irá gerar um arquivo compactado (.zip) e você deverá escolher o local aonde
quer salvar este arquivo. Após ter feito isso seu projeto já esta salvo por completo!

Página 41 de 73
VISUALIZAÇÃO
As visualizações são telas gráficas que pode ser desenvolvidas como parte de um projeto no
Codesys. O codesys oferece a capacidade de visualização de pacotes em seu ambiente de
desenvolvimento integrado (IDE) em um aplicativo Java, e carregá-lo para o controlador da
WAGO. O acesso a esta visualização é feito através de um navegador da web.

Há três passos principais para a criação de visualização:


1) Instalar o Java Runtime Environment (JRE).
2) Usando CoDeSys para criar um projeto com visualizações.
3) Conectando-se as visualizações com um navegador da web.

1) Instalando o Java Runtime Environment (JRE)


Para que um navegador da Web possa exibir as visualizações, o computador deve ter uma
cópia instalada do aplicativo Java Runtime Environment (JRE) instalado.

 Siga este link para baixar a última versão do aplicativo java: http://www.java.com/

 Siga as instruções de instalação específicas para seu sistema operacional e conclua a


instalação do aplicativo java.

2) Utilizando o Codesys para criar um projeto com visualizações

Vamos seguir os passos abaixos para criar o projeto de visualização no CoDeSys:

I) Depois de criar um novo projeto, você devera ir até a aba Resources e então clicar
duas vezes na opção “Target Settings”. (Esta é a mesma tela onde é escolhido o controlador
no começo de um projeto) para ativar a visualização da web, selecione a aba Visualization
nesta tela e então marque a caixa Web visualization.

Página 42 de 73
II) Clique em OK e volte para a tela de programação (aba POU)

III) Agora vamos fazer um pequeno programa com o objetivo de demonstrar a facilidade
da criação das telas de visualização, as principais interações são;

 Desenhar objetos (retângulo, circulo e etc.)


 Vincular objetos com variáveis do programa.
 Criar um botão de inicialização do processo
 Mostrar o valor de uma variável
 Inserir um valor em uma variável

IV) Inicialmente vamos inserir uma biblioteca e usar um bloco de função dela. Inclua a
biblioteca chamada util.lib que esta na pasta “IO_IPC” dentro do diretório padrão das
bibliotecas.

Página 43 de 73
Depois de adicionado esta biblioteca escolha o bloco de função BLINK que esta na pasta
signal generators e adicione este bloco na primeira linha do programa

Página 44 de 73
V) Agora coloque um contato de entrada antes do bloco, coloque uma bobina de saída
depois do bloco blink e defina as variáveis de acordo com a imagem abaixo;

VI) Precisamos criar algumas variáveis auxiliares para mostrar o tempo na visualização e
conseguir alterar esse tempo do ‘batimento cardíaco’ no programa. Nas próximas linhas de
programação vamos usar dois blocos de funções, um bloco de conversão (converter um numero
real para um tempo) e outro bloco de multiplicação (pois o tempo que vamos inserir estará em
milissegundos e queremos mostrar em segundos). No editor de variáveis do programa, crie as
seguintes variáveis com seus respectivos tipos conforme imagem abaixo;

VII) Inclua uma nova linha no programa e adicione um “Box with EN”

Por padrão o bloco de função é criado com o operador AND, vamos alterar este operador
selecionando o texto AND e apertando a tecla F2 para abrir o assistente de entrada.

Página 45 de 73
Na janela do assistente do lado esquerdo escolha a opção FBD Operators e do lado direito
selecione o operador MUL. Clique em OK

VIII) Agora digite as variáveis de entrada e saída conforme a imagem a seguir;

Desta forma, estamos multiplicando o valor que será digitado na visualização por 1000, ou seja,
estamos transformando milissegundos em segundos, e este tempo ainda esta com valor real.

Página 46 de 73
IX) Nesta próxima linha vamos converter o valor que iremos inserir na tela, de uma
variável do tipo real para uma variável do tipo tempo. Crie uma nova linha (terceira linha) e
adicione novamente um “Box with EN”. Agora precisamos mudar o bloco para um conversor,
selecione novamente o texto AND e aperte a tecla F2 para abrir o assistente de entrada. Do
lado esquerdo escolha a opção “Conversion Operators” e do lado direito selecione o operador
REAL_TO_TIME.

Agora a do lado esquerdo do bloco digite a variável que usamos na multiplicação, ou


seja, a variável “Tempo_Desl_Real1”. Do lado direito do bloco deve ser a variável convertida,
digite “Tempo_Desl”, Esta linha deve ficar assim;

Página 47 de 73
X) Pronto, criamos no programa as conversões necessárias para mostrar e interagir na
tela com a variável de “Desligar” do “Batimento Cardíaco”. Agora precisamos fazer os mesmos
passos para a variável “Ligar”. Insira mais duas linhas no programa e deixe as conforme
imagem abaixo;

XI) Por fim na ultima linha do programa vamos somar o tempo de ligar e desligar para
mostrar o tempo total do ciclo na tela. Para isso adicione mais uma linha e insira mais um “Box
with EN”. Selecione de novo o texto AND e aperte a tecla F2 para ir até o assistente de entrada,
Agora do lado esquerdo selecione FBD Operators e do lado direito escolha o operador ADD.
Click em OK.

As variáveis de entrada do bloco (lado esquerdo) devem ser o tempo de desligar e o


tempo de ligar, não se esqueça de que elas são do tipo REAL. A variável de saída é a
“Tempo_Ciclo” que foi criada anteriormente. Desta fora a ultima linha deve ficar desse jeito;

Página 48 de 73
Seu programa com todas as linhas deverá ficar assim;

Página 49 de 73
XII) Agora vamos criar a visualização, comece clicando na aba Visualizations

O organizador do projeto vai exibir todas as visualizações (atualmente não há nenhuma) que
fazem parte do projeto. Clique com o botão direito do mouse na pasta Visualization e selecione
Add Object. Digite o nome da visualização como sendo PLC_VISU e clique em OK.

NOTA: A visualização principal de um projeto deve ser sempre nomeada como PLC_VISU
para o navegador da web exibir corretamente a visualização.
Uma janela será aberta para a criação de uma visualização, nesta janela você irá criar um
elemento que irá interagir com uma variável dentro do programa do Codesys. As instruções
seguintes vão ajudar a criar o objeto “Batimento Cardíaco”, mostrado aqui;

Página 50 de 73
XIII) Para criar o objeto batimento cardíaco, desenhe um retângulo de fundo. Clique no
ícone retângulo no menu superior.

XIV) Desenhe um retângulo, clicando e arrastando o cursor do mouse na janela do


editor.

XV) Dê um duplo clique no elemento retângulo. A janela de configuração do elemento irá


aparecer

XVI) Selecione a categoria Text e digite “Batimento Cardíaco” na caixa de texto,


Selecione o alinhamento vertical como sendo TOP

Página 51 de 73
XVII) Selecione a categoria Colors. Clique no botão Inside dentro do quadro colors e
escolha uma cor para o retângulo. Clique em OK.

XVIII) Em seguida, Crie um circulo no centro do retângulo. Clique no ícone Circle

XIX) Desenhe um circulo, clicando e arrastando o cursor do mouse na janela do editor.


Posicione o circulo dentro do retângulo, arrastando-o se necessário.

Página 52 de 73
XX) Dê um duplo clique sobre o elemento circulo. A janela de configuração do circulo irá
aparecer. Selecione a categoria Colors Clique no botão Inside dentro do quadro Colors e
escolha uma cor para o circulo. Ainda na categoria Colors, clique no botão Inside do quadro
Alarm Color e escolha uma segunda cor para o circulo.

XXI) Selecione a categoria Variables. Clique no campo Change color e aperte a tecla F2.
O assistente de entrada será iniciado, permitindo que você selecione uma variável para associar
ao elemento de visualização. Selecione a variável Saida clique em OK.

Página 53 de 73
O circulo agora estará associado a uma variável booleana do projeto. A cor de dentro do circulo
mudará para a cor do alarme sempre que a variável booleana for verdadeira.

XXII) Agora vamos inserir um botão para inicializar o ‘batimento cardíaco’. Desenhe um
botão conforme imagem abaixo (similar aos objetos criados anteriormente; retângulo e circulo)
selecionando o objeto button

XXIII) Dê um duplo clique no botão criado. A janela de configuração do elemento irá


aparecer, selecione a categoria Text e digite “Iniciar” na caixa de texto, Selecione o alinhamento
vertical e horizontal como sendo CENTER.

XXIV) Ainda na janela de configuração do botão, selecione a categoria Input e marque a


caixa de seleção chamada Toggle variable, depois selecione a caixa de texto desta opção e
aperte F2. O assistente de entrada será iniciado, selecione a variável que definimos como sendo
o botão Liga e clique em OK

Página 54 de 73
Agora vamos desenhar duas caixas de texto para modificar o tempo do ‘batimento cardíaco’
através da visualização;

XXV) Primeiro desenhe três retângulos, estes retângulos serão as ‘descrições’ de onde
vamos fazer as modificações na visualização, ou seja, não haverá nenhuma variável do
programa vinculada ao objeto.
Dê um duplo clique no primeiro retângulo e na categoria Text da janela de configuração
digite “Alterar Tempo”. Agora na categoria Colors marque as caixas de seleção No color inside
e No frame color e clique em OK.

Página 55 de 73
Repita os passos anteriores para os outros dois retângulos, digitando na categoria Text
“Ligado”e “Desligado”. Sua tela de visualização deve estar parecida com a imagem abaixo;

XXVI) Feito isso vamos criar mais dois retângulos, Insira um retângulo ao lado da
descrição “Ligado” e o outro ao lado da descrição “Desligado”. Esses estarão vinculados as
variáveis de tempo que será possível modificar no programa.

Página 56 de 73
XXVII) Dê um duplo clique no primeiro retângulo, Na janela de configuração vá à
categoria Text e digite %s (Minúscula), Este comando serve para mostrar o valor de uma
variável no display. Agora vá até a categoria Variables da janela de configuração, Clique no
campo Text display e aperte a tecla F2. No assistente de entrada selecione a variável
Tempo_Lig_Real.

Página 57 de 73
Ainda na janela de configuração vá até a categoria Input e marque a opção Text input of
variable ‘Text display’. Abaixo dela selecione a opção Numpad e do lado direito digite o valor
0 na opção Min e o valor 20 na opção Max. Clique em OK.

(Esta ultima opção cria automaticamente um teclado numérico na tela toda vez que
selecionarmos o campo para digitar algum número).

XXVIII) Agora repita os mesmos passos anteriores para o outro retângulo (Desligado)
porem na categoria Variables, selecione a variável Tempo_Desl_Real. Sua deve estar parecida
com esta;

Página 58 de 73
Você também pode criar mais dois retângulos para deixar como sendo a descrição da
caixa de texto que vinculamos com as variáveis, ou seja, para deixar a Unidade do tempo de
ligar e desligar. Ficando desta forma;

XXIX) Por fim, vamos vincular a mais uma caixa de texto a variável criada na ultima linha
do programa; Tempo_Ciclo. Insira novamente um retângulo e dê um duplo clique nele para abrir
a janela de configuração. De novo na categoria Text digite %s. Agora na categoria Variables
clique no campo Text display e aperte a tecla F2. No assistente de entrada selecione a variável
Tempo_Ciclo. Clique em OK.

Página 59 de 73
XXX) Para a visualização ficar melhor, crie mais dois retângulos para usarmos como
descrição, de modo que fiquem assim;

Verifique se a sua visualização esta parecida com esta;

Página 60 de 73
Agora o programa e a visualização estão criados. Eles operam como duas tasks (tarefas)
diferentes que usam uma única CPU. Para que a visualização funcione de forma instantânea e o
programa também, devemos definir as tasks como sendo multitarefa cíclica. Para isso vá até a
aba Resources.

Selecione a opção Task Configuration para abrir a janela seguinte

Página 61 de 73
Clique com o botão direito do mouse em Task Configuration na janela central e selecione
Append Task. Isto irá criar uma nova Task com o nome padrão de “NewTask”. Selecione a task
para mostrar as propriedades dela e defina os campos conforme abaixo;

Name: Timer

Priority: 11

Type: Cyclic

Interval: T#10ms

Finalmente, clique com o botão direito sobre a task timer e selecione Append Program Call.
Em Program Call clique no botão ao lado da caixa de texto (Assistente) e coloque o PLC.PRG();

Neste ponto, o programa este completo e podemos fazer o download para a CPU ou usar em
modo simulação.

Página 62 de 73
3) Usando as visualizações em um web browser

As telas podem ser visualizadas através da mesma porta que o Web-Based Management
(WBM) System, porta 80. Há 2 maneiras de acessar a visualização criada através de uma
navegador de internet. A primeira é digitar a o endereço do controlador com a pagina de
visualização na barra de endereço do navegador de internet. A URL é: ‘Https:// <endereço-
IP>/plc/webvisu.htm’

Página 63 de 73
A segunda é acessar o Web-Based Management (WBM) System. Quando você digitar o
endereço IP do controlador em uma pagina do navegador irá abrir a tela principal das
propriedades deste controlador. No menu do lado esquerdo clique no link WebVisu e então a
página de visualização irá carregar.

Outras visualizações que estão dentro do projeto no CODESYS não podem ser acessadas
diretamente pelo endereço do navegador, mas a partir de outros objetos que são criados na
própria página web. Elementos de visualização podem ser usados para acessar outras
visualizações, utilizando a função “Zoom to vis.”

Página 64 de 73
EXERCÍCIO 2
Usando os conhecimentos que você adquiriu nos módulos anteriores crie um programa para
simular um semáforo de trânsito. Use o Web Visualization para simular as luzes vermelha,
amarela e verde. O tempo de sinal verde deve ser de 1 minuto, 15 segundos amarelo e 1 minuto
vermelho.

Página 65 de 73
VERIFICAÇÃO DO SEU PROJETO
A qualquer momento durante o desenvolvimento de um projeto, você
pode verificar se há erros, selecionando Project...Build a partir da barra Dicas para Debug
de menu superior. Se você receber várias mensagens
de erro ao verificar o seu projeto, é
Quando você verificar o seu projeto, mensagens de diagnóstico irão recomendado ir até a primeira
aparecer abaixo da janela do Editor de Lógica. A última mensagem de mensagem de erro que aparecer, e
diagnóstico a aparecer vai indicar quantos erros que você tem em seu iniciar o seu processo de
projeto. As mensagens de erro incluem o número da linha em que o erro depuração lá. Várias mensagens
de erro são muitas vezes o
existe, assim como uma descrição do erro. resultado de um único erro, e a
mensagem de erro que aparecer
Você vai precisar corrigir todos os erros antes de fazer o download e primeiro vai lhe dar a melhor
executar o seu projeto. indicação de onde o erro foi
originado.

Página 66 de 73
CHAVE DE MODO E INTERFACE DE PROGRAMAÇÃO
Na frente de cada controlador WAGO há uma pequena porta que permite o acesso para Mudar
o modo do controlador e também há a conexão para a Interface de Programação

A interface de programação fornece uma conexão serial com o controlador para a


programação e configuração (por exemplo, para os softwares WAGO-IO-PRO CAA, WAGO-IO-
CHECK, e o WAGO-IO_UPDATE). O cabo de comunicação WAGO 750-920 ou 750-923 é
necessário para conectar a interface de programação de 4 pinos a porta RS232 de um PC. As
configurações padrão para esta interface são 19200 Baud, E, 8, 1.

A chave de seleção de modo é uma chave com 3 posições que fornece as seguintes
funcionalidades:

Posição da Funcão
chave
Para cima A comutação do meio para a posição para cima vai iniciar a
execução do programa.
No meio A comutação da posição para cima para a posição meio irá parar a
execução do programa do controlador.
Para baixo Permite o download de novo firmware para o controlador.

Pressionado Pressionando a chave, independente do modo de operação que ela


esteja, será realizado um RESET no controlador. Todas as saídas
serão desligadas. Todas as variáveis irão para zero ou terão o seu
valor inicializado.

Página 67 de 73
EXEMPLO DE PROGRAMAÇÃO EM DIAGRAMA DE BLOCOS
Abaixo está um exemplo de como o projeto que você desenvolveu em linguagem ladder seria
escrito em Diagrama de Blocos.

Página 68 de 73
EXEMPLO DE PROGRAMAÇÃO EM TEXTO ESTRUTURADO
Abaixo está um exemplo de como o projeto que você desenvolveu em linguagem ladder seria
escrito em Texto Estruturado.

Página 69 de 73
ANEXO A – FUNÇÕES PADRÃO E BLOCOS DE FUNÇÃO
WAGO-I/O-PRO CAA suporta todas as funções padrão do IEC 61131 e os blocos de funções.
Funções padrões que são implicitamente reconhecidas pelo ambiente de programação (não
requerem o uso da biblioteca padrão) são também chamados de operadores.

Para introduzir uma função padrão ou bloco de função em um projeto, selecione Insert na barra
de menu principal e clique no item apropriado a partir do menu drop-down. Para texto
estruturado, selecione Operator; para Diagrama ladder, selecione Box with EN; e para
diagrama de blocos selecione Box. Diagrama de blocos e ladder, por padrão, exibem a função
AND. Uma função diferente ou bloco de função pode ser selecionada por um dos dois meios:

1) Clique na palavra AND, e pressione a tecla F2. Uma caixa de seleção será exibida listando
todas as funções disponíveis (operadores) e blocos de função. Selecione o item desejado e
clique em OK.
2) Clique na palavra AND, e digite o nome da função desejada (operador) e bloco de função. A
lista de opções disponíveis é mostrado abaixo.

Consulte os tópicos de ajuda do WAGO-I/O-PRO CAA para aprender mais sobre as funções,
blocos funcionais e operadores.

IEC 61131 Funções Padrão (Operadores)


ABS EXPT MIN SHL
ACOS GE MOD SHR
ADD GT MOVE SIN
ADR INDEXOF MUL SIN
AND INI MUX SIZEOF
ASIN LE NE SQRT
ATAN LIMIT NOT SUB
COS LN OR TAN
DIV LOG ROL TRUNC
EQ LT ROR XOR
EXP MAX SEL

IEC 61131 Blocos de Função Padrão


SR CTU TP
RS CTD TON
R_TRIG CTUD TOF
F_TRIG RTC

Página 70 de 73
A Norma IEC 61131 não permite conversão implícita de um tipo de variável "maior" para um tipo
"menor" (por exemplo, de INT para BYTE ou de DINT para WORD), entretanto outras
conversores são permitidas. Segue abaixo uma lista de operadores de conversão.

IEC61131 Operadores de Conversão


BOOL_TO_BYTE DT _TO_BOOL SINT _TO_BOOL UDINT _TO_BOOL
BOOL_TO_DATE DT _TO_BYTE SINT _TO_BYTE UDINT _TO_BYTE
BOOL_TO_DINT DT _TO_DATE SINT _TO_DATE UDINT _TO_DATE
BOOL_TO_DT DT _TO_DINT SINT _TO_DINT UDINT _TO_DINT
BOOL_TO_DWORD DT _TO_DWORD SINT _TO_DT UDINT _TO_DT
BOOL_TO_INT DT _TO_INT SINT _TO_DWORD UDINT _TO_DWORD
BOOL_TO_REAL DT _TO_REAL SINT _TO_INT UDINT _TO_INT
BOOL_TO_SINT DT _TO_SINT SINT _TO_REAL UDINT _TO_REAL
BOOL_TO_STRING DT _TO_STRING SINT _TO_STRING UDINT _TO_SINT
BOOL_TO_TIME DT _TO_TIME SINT _TO_TIME UDINT _TO_STRING
BOOL_TO_TOD DT _TO_TOD SINT _TO_TOD UDINT _TO_TIME
BOOL_TO_UDINT DT _TO_UDINT SINT _TO_UDINT UDINT _TO_TOD
BOOL_TO_UINT DT _TO_UINT SINT _TO_UINT UDINT _TO_UINT
BOOL_TO_USINT DT _TO_USINT SINT _TO_USINT UDINT _TO_USINT
BOOL_TO_WORD DT _TO_WORD SINT _TO_WORD UDINT _TO_WORD

BYTE_TO_BOOL DWORD _TO_BOOL STRING _TO_BOOL UINT _TO_BOOL


BYTE _TO_DATE DWORD _TO_BYTE STRING _TO_BYTE UINT _TO_BYTE
BYTE _TO_DINT DWORD _TO_DATE STRING _TO_DATE UINT _TO_DATE
BYTE _TO_DT DWORD _TO_DINT STRING _TO_DINT UINT _TO_DINT
BYTE _TO_DWORD DWORD _TO_DT STRING _TO_DT UINT _TO_DT
BYTE _TO_INT DWORD _TO_INT STRING _TO_DWORD UINT _TO_DWORD
BYTE _TO_REAL DWORD _TO_REAL STRING _TO_INT UINT _TO_INT
BYTE _TO_SINT DWORD _TO_SINT STRING _TO_REAL UINT _TO_REAL
BYTE _TO_STRING DWORD _TO_STRING STRING _TO_SINT UINT _TO_SINT
BYTE _TO_TIME DWORD _TO_TIME STRING _TO_TIME UINT _TO_STRING
BYTE _TO_TOD DWORD _TO_TOD STRING _TO_TOD UINT _TO_TIME
BYTE _TO_UDINT DWORD _TO_UDINT STRING _TO_UDINT UINT _TO_TOD
BYTE _TO_UINT DWORD _TO_UINT STRING _TO_UINT UINT _TO_UDINT
BYTE _TO_USINT DWORD _TO_USINT STRING _TO_USINT UINT _TO_USINT
BYTE _TO_WORD DWORD _TO_WORD STRING _TO_WORD UINT _TO_WORD

DATE _TO_BOOL INT _TO_BOOL TIME _TO_BOOL USINT _TO_BOOL


DATE _TO_BYTE INT _TO_BYTE TIME _TO_BYTE USINT _TO_BYTE
DATE _TO_DINT INT _TO_DATE TIME _TO_DATE USINT _TO_DATE
DATE _TO_DT INT _TO_DINT TIME _TO_DINT USINT _TO_DINT
DATE _TO_DWORD INT _TO_DT TIME _TO_DT USINT _TO_DT
DATE _TO_INT INT _TO_DWORD TIME _TO_DWORD USINT _TO_DWORD
DATE _TO_REAL INT _TO_REAL TIME _TO_INT USINT _TO_INT
DATE _TO_SINT INT _TO_SINT TIME _TO_REAL USINT _TO_REAL
DATE _TO_STRING INT _TO_STRING TIME _TO_SINT USINT _TO_SINT
DATE _TO_TIME INT _TO_TIME TIME _TO_STRING USINT _TO_STRING
DATE _TO_TOD INT _TO_TOD TIME _TO_TOD USINT _TO_TIME
DATE _TO_UDINT INT _TO_UDINT TIME _TO_UDINT USINT _TO_TOD
DATE _TO_UINT INT _TO_UINT TIME _TO_UINT USINT _TO_UDINT
DATE _TO_USINT INT _TO_USINT TIME _TO_USINT USINT _TO_UINT
DATE _TO_WORD INT _TO_WORD TIME _TO_WORD USINT _TO_WORD

DINT _TO_BOOL REAL _TO_BOOL TOD _TO_BOOL WORD _TO_BOOL


DINT _TO_BYTE REAL _TO_BYTE TOD _TO_BYTE WORD _TO_BYTE
DINT _TO_DATE REAL _TO_DATE TOD _TO_DATE WORD _TO_DATE
DINT _TO_DT REAL _TO_DINT TOD _TO_DINT WORD _TO_DINT
DINT _TO_DWORD REAL _TO_DT TOD _TO_DT WORD _TO_DT
DINT _TO_INT REAL _TO_DWORD TOD _TO_DWORD WORD _TO_DWORD
DINT _TO_REAL REAL _TO_INT TOD _TO_INT WORD _TO_INT
DINT _TO_SINT REAL _TO_SINT TOD _TO_REAL WORD _TO_REAL
DINT _TO_STRING REAL _TO_STRING TOD _TO_SINT WORD _TO_SINT
DINT _TO_TIME REAL _TO_TIME TOD _TO_STRING WORD _TO_STRING
DINT _TO_TOD REAL _TO_TOD TOD _TO_TIME WORD _TO_TIME
DINT _TO_UDINT REAL _TO_UDINT TOD _TO_UDINT WORD _TO_TOD
DINT _TO_UINT REAL _TO_UINT TOD _TO_UINT WORD _TO_UDINT
DINT _TO_USINT REAL _TO_USINT TOD _TO_USINT WORD _TO_UINT
DINT _TO_WORD REAL _TO_WORD TOD _TO_WORD WORD _TO_USINT

Página 71 de 73
ANEXO B – ENDEREÇAMENTO DE MEMÓRIA
Posições de memória endereçáveis dentro do controlador WAGO 750-880 incluem entradas e
saídas físicas definidas pela tabela imagem do processo, e locais de armazenamento na
memória retentiva. A memória física do controlador é acessada através do WAGO-IO-PRO CAA
usando a seguinte sintaxe

Sintaxe para endereçamento de memória no controlador WAGO.

Exemplos de endereços de memória:

%IX2.0 Entrada Bit 0 da Word 2


%I2.0 Entrada Bit 0 da Word 2 (Mesmo que %IX2.0)
%IB7 Entrada Byte 7
%IW20 Entrada Word 20
%ID4 Entrada Double Word 4

%QX0.0 Saída Bit 0 da Word 0


%Q0.0 Saída Bit 0 da Word 0 (Mesmo que %QX0.0)
%QB12 Saída Byte 12
%QW15 Saída Word 15
%QD2 Saída Double Word 2

%MX5.0 Memória Retentiva Bit 0 da Word 5


%M5.0 Memória Retentiva Bit 0 da Word 5 (Mesmo que %MX5.0)
%MB100 Memória Retentiva Byte 100
%MW0 Memória Retentiva Word 0
%MD48 Memória Retentiva Double Word 48

Página 72 de 73
As variáveis usadas dentro WAGO-IO-PRO CAA podem ser mapeados para posições de
memória endereçáveis usando esta sintaxe. I/Os reais são definidos no Editor de configuração
de hardware, que gera automaticamente a sintaxe. Às variáveis definidas no editor de variável é
atribuído um endereço de localização usando a palavra-chave AT com a localização de
endereços (por exemplo, VariableName AT% MW0: PALAVRA;).
Mapa de memória endereçavel

PFC Word PFC Byte PFC Bit MODBUS/TCP Memory Map Network/PFC
Address Address Address Address Usage Accessibility
%IW0 %IB0, %IB1 %IX0.0 to %IX0.15 4x00001
%IW1 %IB2, %IB3 %IX1.0 to %IX1.15 4x00002 Real World Network Access
%IW2 %IB4, %IB5 %IX2.0 to %IX2.15 4x00003 Analog Inputs is Read Only
. . . . &
thru Thru thru thru Real World PFC Access
Process Image

. . . . Digital Inputs is Read Only


%IW255 %IB510, %IB511 %IX255.0 to %IX255.15 4x00256
Input

%IW256 %IB512, %IB513 %IX256.0 to %IX256.15 4x00769


%IW257 %IB514, %IB515 %IX257.0 to %IX257.15 4x00800 PFC Network Network Access
%IW258 %IB516, %IB517 %IX258.0 to %IX258.15 4x00801 Variable Memory is Read/Write
. . . .
thru Thru thru thru (Network to PFC) PFC Access
. . . . is Read Only
%IW511 %IB1023, %IB1024 %IX511.0 to %IX511.15 4x01024

%QW0 %QB0, %QB1 %QX0.0 to %QX0.15 4x00513


%QW1 %QB2, %QB3 %QX1.0 to %QX1.15 4x00514 Real World Network Access
%QW2 %QB4, %QB5 %QX2.0 to %QX2.15 4x00515 Analog Outputs is Read/Write
. . . . &
thru Thru thru thru Real World PFC Access
Process Image

. . . . Digital Outputs is Read/Write


Output

%QW255 %QB510, %QB511 %QX255.0 to %QX255.15 4x00768


%QW256 %QB512, %QB513 %QX256.0 to %QX256.15 4x00257
%QW257 %QB514, %QB515 %QX257.0 to %QX257.15 4x00258 PFC Network Network Access
%QW258 %QB516, %QB517 %QX258.0 to %QX258.15 4x00259 Variable Memory is Read Only
. . . .
thru Thru thru thru (PFC to Network) PFC Access
. . . . is Read/Write
%QW511 %QB1023, %QB1024 %QX511.0 to %QX511.15 4x00512
%MW0 %MB0, %MB1 %MX0.0 to %MX0.15 4x12289
%MW1 %MB2, %MB3 %MX1.0 to %MX1.15 4x12290 PFC Variable Network Access
Retentive
Memory

%MW2 %MB4, %MB5 %MX2.0 to %MX2.15 4x12291 Retain Memory is Read/Write


. . . .
thru Thru thru thru PFC Access
. . . . is Read/Write
%MW12287 %MB24574, %MB245775 %MX12287.0 to %MX12287.15 4x24576

Página 73 de 73

Você também pode gostar