Escolar Documentos
Profissional Documentos
Cultura Documentos
V1.0
Internal
2
Internal
Objetivo da apostila
Esta apostila fornece aos usuários informações sobre o produto para a criação de
projetos usando o software de programação CODESYS v3 com o controlador WAGO
751-9301 da linha CC100 e também a linha 750-XXX. Cada seção desta apostila
fornece instruções simples e sugestões úteis que você poderá aplicar ao seu projeto.
Abaixo um breve esboço do conteúdo do documento:
Configurações. Inicias
Dentro do escopo das configurações inicias, iremos explorar as principais
configurações e funcionalidade dos controladores para iniciar a configuração no
CODESYS.
Exercícios de programação
Nessa apostilha serão apresentados exercícios para que você possa desenvolver um
software dentro da ferramenta de programação do CODESYS v3. Alguns exercícios
estarão disponibilizados na linguagem de programação LD e ST para que você possa
explorar as vantagens e característica de cada linguagem de programação. A seguir
iremos explorar tópicos que os exercícios irão explorar:
- Exercício introdutório;
- Criando seu bloco de função do início;
- Criando suas visualizações – Recurso (WEBVISU);
3
Internal
- Comunicação através do protocolo Modbus TCP;
• PFC sendo mestre da rede
• PFC sendo escravo da rede
- Comunicação através do protocolo MQTT (Envio de dados);
- Escrevendo em um banco de dados MySQL
- Utilizando o Dashboard Grafana
4
Internal
Sumário
Objetivo da apostila --------------------------------------------------------------------------------------------------------------- 3
Configurações. Inicias --------------------------------------------------------------------------------------------------------------------------------------- 3
Explorando o software CODESYS v3--------------------------------------------------------------------------------------------------------------------- 3
Exercícios de programação -------------------------------------------------------------------------------------------------------------------------------- 3
5
Internal
Configurações Inicias
A seguir iremos demonstrar os principais elementos para entendimento do sistema de
automação da WAGO baseado nos controladores PFC da WAGO.
ATENÇÃO
Se faz necessário sempre incluir um módulo final (750-600) ao final de sua configuração
de Hardware.
O controlador PFC WAGO permite ser configurados sem os módulos I/O’s, tendo somente
a composição formada por Controlador + Módulo Final
Se faz necessário sempre incluir um módulo final (750-600) ao final de sua configuração
de Hardware.
O controlador PFC WAGO permite ser configurados sem os módulos I/O’s, tendo somente
a composição formada por Controlador + Módulo Final
Para os módulos de I/Os é possível identificá-los através das seguintes cores:
6
Internal
Entendendo e explorando o hardware 751- WAGO
7
Internal
Configurando o endereço IP
Existem várias opções para configurar o endereço IP do seu controlador, iremos descrever
algumas delas abaixo:
ATENÇÃO
Para que os passos a seguir funcionem se faz necessário configurar a faixa da porta de
rede de seu computador/Laptop no mesmo range: 192.168.1.X, sendo a letra X um número
diferente indicado ao controlador.
Pressione o botão Reset (RST) com uma ferramenta adequada durante pelo menos 8
segundos.
A gravação do novo endereço IP provisório é indicada pelo LED "SYS" piscando em laranja.
O controlador pode agora ser acessado através do endereço IP fixo "192.168.1.17." Este
endereço IP é válido até a próxima reinicialização. Você pode acessar o Gerenciamento do
controlador via Web através do endereço provisório e fazer as configurações. A configuração
IP anterior é restaurada após um reinício.
Para testar o link ETHERNET, abra o Comando Prompt digitando "cmd" em Iniciar> Executar
... em Windows.
8
Internal
Janela de diálogo "Executar ............................ "
Digite o comando "ping 192.168.1.17".
Comando ping
Quando o link ETHERNET estiver livre de erros, você receberá as seguintes estatísticas de
ping: "Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (perda de 0%)".
9
Internal
Primeiro acesso ao Web Based Management (WBM)
Configurações adicionais podem ser inseridas no controlador através das páginas HTML
dentro do controlador, o Gerenciamento via Web (WBM). O endereço IP provisório
"192.168.1.17" é usado para o exemplo (ver seção anterior).
Abra um navegador e digite "http://192.168.1.17/wbm" na linha de endereço. Isso abrirá o
gerenciamento via Web. O login deve ser feito para inserir as configurações. Sem um login,
os itens do menu estarão desabilitados.
Padrão:
Username admin
Password wago
10
Internal
Ativar / Desativar os protocolos nativos dos controladores PFC
Ativar / desativar protocolos não criptografados como HTTP, FTP ou Telnet na página WBM
Para isso abra novamente a página Web do controlador e acesse a seguinte aba:
"Configuration” > "Ports and Services” > “Network Services ".
Ativando/desativando protocolos
Para realizar todos os exercícios dessa apostila recomendamos ativação das seguintes
portas:
• FTP, HTTP, HTTPS e I/O Check
Ativando/desativando protocolos
11
Internal
Ativar / Desativar autenticação para e! RUNTIME e servidor web
Você pode alterar os dados de acesso e a senha para e!RUNTIME em "Configuration">
"Ports and Services"> "PLC Runtime Services" ou ativá-los / desativá-los ("Port
Authentication enabled"). Estes dados de acesso são necessários quando você efetua
login no dispositivo ao programar em Codesys. Se você deseja usar a visualização web, você
também pode ativar o servidor web e!RUNTIME nesta página ("Webserver enabled"). O
servidor da Web é desativado por padrão de fábrica.
CODESYS 2;
e!RUNTIME;
ATENÇÃO
Caso você esteja utilizando os controlador da linha PFC 100 essa função não estará
disponível pois os controlador PFC 100 só podem utilizar a ferramenta de programação
e!COCKPIT.
12
Internal
Você pode alterar a ferramenta de programação dos controladores PFC200 através da
janela de navegação “Configuration”>"PLC Runtime” em seguida definida qual dos
ambientes você irá utilizar para programar seu controlador: CODESYS 2 ou e!RUNTIME(No
caso do CC100 é somente e!RUNTIME), em seguida clique em submit para validar a
configuração
13
Internal
Explorando o software Codesys 3.5
Codesys é um ambiente de desenvolvimento integrado com retenção de dados perfeita
para todas as tarefas de automação:
14
Internal
Outras funções úteis
O Codesys vem com uma ampla variedade de bibliotecas IEC. O software também oferece
várias funções convenientes, como atualizações automáticas, menus contextuais ou áreas
de trabalho definidas pelo usuário.
No. Descrição
1 Basic operations
Exibe modelos que podem ser usados para novos projetos
2 Recent projects
Opções de começar um projeto ou abrir um já existente.
15
Internal
Ao selecionar New Project... a seguinte opções irão aparecer:
Empty project
HMI project
Standart project
16
Internal
Criando um novo Projeto
1. Abra o Codesys.
2. Selecione New Project... -> Standard Project
3. Insira o nome do projeto e click em OK
Após a criação do projeto, o Codesys é aberto pela primeira vez com o ambiente de
trabalho.
17
Internal
Configuração e parametrização controladores PFC e I/O’s
Para iniciar a configuração e parametrização do seu hardware é possível de duas
maneiras:
• Online
• Offline
IMPORTANTE
Caso você possua o controlador PFC e todo o hardware 750, recomendamos utilizar a
configuração Online
18
Internal
Selecione o Gateway e clique em Scan Network, apos isso, basta selecionar o dispositivo
detectado e clicar em OK.
19
Internal
Feito isso, ele ira solicitar a senha do Controlador, o usuário que vem padrão de fábrica é
admin e a senha wago.
Agora é necessário fazer um login no controlador, para depois podermos fazer o Scan do
barramento.
20
Internal
Para fazer o scan dos módulos de I/O que temos no barramento, devemos clicar com o botão
direito do mouse no modulo Kbus (kbus) e selecionar “Scan for Devices...”
21
Internal
Pronto, agora eles estão na arvore do projeto.
Modo Offline
No modo de configuração off-line, você configura os dispositivos, sem se conectar aos
dispositivos reais. A configuração é salva e transferida posteriormente.
22
Internal
Adicionando dispositivos ao Projeto
Ao criar um Standart Project você já seleciona o dispositivo(Controlador) que precisa para
começar o projeto, depois disso, basta você inserir o barramento do controlador. Caso o
projeto mude e seja necessário alterar o controlador, basta clicar com o botão direito do
mouse no Device e selecionar Update Device... e selecionar o novo controlador.
Para inserir os módulos no barramento basta dar um clique com o botão direito do mouse
no Kbus e selecionar Add Device...
23
Internal
Basta dar um duplo clique no modulo desejado que ele vai adicionando ao barramento
automaticamente.
24
Internal
Endereçamento de Entradas/Saídas
No Codesys 3 podemos dar nomes as variáveis que devem ser atribuídas às entradas e
saídas.
25
Internal
Ao adicionar sua Rotina Ladder automaticamente a caixa de ferramenta (ToolBox) se
encontra disponível com as seguintes instruções:
General
Nesse campo você encontra as opções gerais para programação (adicionar linha do
programa (Network), caixa vazia (Box), Jump e etc);
Boolean Operators
Nesse campo é possível encontrar algumas portas lógicas (AND, OR, XOR e etc);
26
Internal
Math Operators
Nesse campo você encontra algumas expressões matemáticas (somar (ADD), multiplicar
(MUL), comparar valor igual (EQ) e etc);
27
Internal
Other Operators
Nesse campo você encontra instruções como (mover valor de uma variável para outra
(MOVE), limite (LIMITE) e etc);
Function Blocks
Nesse campo você encontra alguns blocos de funções da biblioteca Standar.lib (Detecta
uma borda subida de um sinal booleano (R_TRIG), Detecta uma borda descida de um sinal
booleano (F_TRIG), temporizador ON (TON), temporizador OFF (TOF), contadores UP
(CTU) e etc)
28
Internal
Ladder Elements
Nesse campo você encontra as instruções básicas, mais fundamentais para programação
em ladder como (Contatos (Contact), Contatos em paralelo (Parallel contact), bobinas
(Coil), bobinas para setar booleana (Set coil), bobinas para resetar booleana (Reset coil)
e alguns outros elementos já mencionados em outros campos)
POUs
Nesse campo você encontra todas as rotinas e bloco de funções (FB) já criados em seu
software
29
Internal
Structured Text (ST)
O editor ST é utilizado para a programação de POUs na linguagem de programação IEC-
61131-3 Texto Estruturado (ST) e Texto Estruturado Estendido. O Texto Estruturado
Estendido oferece algumas funções adicionais em relação ao padrão IEC 61131-3
Utilizando a função IF
A instrução IF é usada para verificar uma condição e, dependendo dessa condição, para
executar as instruções subsequentes.
Uma condição é codificada como uma expressão que retorna um valor booleano. Se a
expressão retornar TRUE, a condição será satisfeita e as instruções correspondentes após
THEN serão executadas. Se a expressão retornar FALSE, as seguintes condições, que
são identificadas com ELSIF, são avaliadas. Se uma condição ELSIF retornar TRUE, as
instruções serão executadas após o THEN correspondente. Se todas as condições
retornarem FALSE, as instruções após ELSE serão executadas.
Portanto, no máximo uma ramificação da instrução IF é executada. As ramificações ELSIF
e a ramificação ELSE são opcionais.
30
Internal
31
Internal
Utilizando a função CASE
Use a instrução CASE para agrupar várias instruções condicionais contendo a mesma
variável de condição em uma construção. Abaixo na sintaxe é possível verificar que
variável Var1 se trata da variável que iremos analisar e caso seu resultado um valor
específico (value1, value2 ... e etc)será executado um comando
Para cria seu próprio function block dentro do CODESYS basta clicar com o botão direito
em cima do Application (PFC200_CS_2ETH_RS) e adicionar uma POU.
Em sequência janela assistente irá se abrir e você deve configurar os seguintes campos:
32
Internal
Name – Defina o nome para seu bloco de função
Ex: FB_SOMA
No ambiente de programação você ira definir sua lógica para seu bloco de função (FB)
33
Internal
IMPORTANTE
O bloco de função (FB) é uma importante ferramenta de programação que permite utilziar
algoritmos ou conjunto de ações aplicados aos dados de entrada para ter uma ou mais
resultados de saída.
34
Internal
Criando um nova Rotina
Adicione uma POU clicando com o botão direito em cima do Application -> Add Object ->
POU
35
Internal
Criando uma função (FUN)
Para cria seu próprio function block dentro do Codesys basta clicar com o botão direito em
cima do Application e adicionar uma POU.
Em sequência janela assistente irá se abrir e você deve configurar os seguintes campos:
IMPORTANTE
37
Internal
Criando uma estrutura – Função Struct
A função do tipo “Struct” é uma estrutura de registos muito usual nos desenvolvimentos
de software, pois é através dela é possível agrupar variáveis sob um mesmo tipo de dado.
ideia de usar uma struct é permitir que, ao armazenar os dados de uma mesma entidade,
isto possa ser feito declarar sob uma única estrutura de variáveis.
Para cria seu próprio “Struct” dentro do Codesys basta clicar com o botão direito em cima
do “Application ” e adicionar uma DUT.
Em sequência janela assistente irá se abrir e você deve configurar os seguintes campos:
IMPORTANTE
Veja que além da Struture é possível criar na opção DUT os tipos Union, Alias e
Enumeration.
Após adicionado você configurar adicionar as variáveis a sua estrutura, veja abaixo o
38
Internal
exemplo
:
39
Internal
Tipos de variáveis no Programa
É muito importante saber os tipos de variáveis que o Codesys possui e a seguinte iremos
apresentar as principais opções:
IMPORTANTE
As variáveis declaradas nos módulos de I/Os dos cartões são consideradas variáveis
Globais do sistems..
40
Internal
Para adicionar variáveis globais é necessário criar a instruções antes através dos
seguintes passos. Basta clicar com o botão direito em cima do “Application
(PFC200_CS_2ETH_RS)” e adicionar uma “Global Variable List”.
Em sequência janela assistente irá se abrir e você deve configurar os seguintes campos:
Agora basta utilizar o assistente durante a declaração de suas variáveis e definir suas
variáveis como global, veja abaixo um exemplo:
41
Internal
Os tipos de variáveis disponíveis no Codesys respeita a IEC 61131-3, disponibilizando os
seguintes tipos:
Existem algumas variáveis que necessitam de algumas particularidades, como reter o valor
mesmo em algumas situações que ocorram com os controladores.
▪ “Constant”: O valor da variável não muda durante a execução do programa (ready only);
▪ “Retaint”: O valor da variável permanece, mesmo após o controlador sair do modo run, ou
mesmo após um reset;
▪ “Persistent”: O valor da variável permanece mesmo após um download. O conteúdo da
variável só é zerado quando se faz um reset original.
Veja na tabela abaixo algumas situações no qual você irá manter ou reiniciar os valores
42
Internal
Para adicionar variáveis desses tipos dentro Codesys basta clicar com o botão direito em
cima do “Application” e adicionar uma “Persistent variável”.
Em sequência janela assistente irá se abrir e você deve configurar os seguintes campos:
Agora retorne a seu programa e crie uma variável do tipo “Persisten” e também “Retain”
43
Internal
utilizando o assistente:
Veja que dentro da sua rotina de programa a variável de tipo foi criada:
ATENÇÃO
Mesmo realizando os passos acima você ainda não enviou as variáveis para a área de
variáveis persistentes e retentivas para realizar esses passos sigam os passam a seguir.
44
Internal
Após declarado a variável clique no painel principal na função “Program”>”Build” para
compilar as variáveis
Para transferir as variáveis locais / globais criadas para a área de variáveis “Persistent” é
necessário entrar na função a pouco criada “Persistent variables” > “Declarations”>”
Execute”>”Add all Instance Paths” e automaticamente as variáveis desse tipo criadas
em seu sistema serão copiadas para essa área automaticamente, veja abaixo
45
Internal
Adicionando uma nova biblioteca em seu programa
Para chamar as bibliotecas é necessário dar um duplo clique com o botão direito no
gerenciador de bibliotecas (Library Manager) . Após isso clique em “Add Library”
Em sequencia janela assitente irá se abrir e você deve procurar sua biblioteca. Para essa
ação existem duas maneiras:
1. Caso já conheça o nome da biblioteca basta digitar no campo pesquisa seu nome;
46
Internal
Realizando o download nos controladores
Após finalizado seu software ou para testar sua lógica na prática se faz necessário realizar
o download em seu controlador. A seguir serão apresentados os tipos de download em seu
controlador:
Caso deseje realizar um donwload rápido em seu controlador apenas para verificar o
funcionamento de sua lógica e realizar alguns testes recomendamos seguir os seguintes
passos;
1. Primeiramente verifique se seu software possui algum erro em sua programação, para
isso clique no painel principal na função “Build”>”Rebuild”>”Messages”
2. Após validar que não possui erro no software clique na função “Online -> Login” e
47
Internal
48
Internal
3. Você consegue validar que o software está com o software através da seguinte
informação:
Caso deseje realizar um donwload definitivo em seu controlador basta seguir o passo
anterior de donwload na memoria RAM e clicar em sequência na função “Create Boot
Application”
Simulador Codesys
Dentro do software Codesys 3 é possível realizar a simulação de suas lógicas para isso
basta seguir os passos abaixo;
ATENÇÃO
Lembrando que ao tuilizar o módulo simulação, alguns funções podem não funcionar para
49
Internal
validar suas lógicas, como: Variaveis de rede; Datalloger entre outras funcionalidades que
dependam do hardware.
1. Primeiramente verifique se seu software possui algum erro em sua programação, para isso
clique no painel principal na função “Program”>”Rebuild”>”Messages”
2. Após validar que não possui erro no software clique na função “Build” e em seguida em
“Login” para descarregar o software no modulo simulação
Exercícios de programação
Exercício 1 - Introdutório
50
Internal
Adicione uma nova POU no programa
51
Internal
Agora vamos criar nomes (apelidos) para as entradas e saídas do nosso controlador.
Lembrando que, neste exemplo, estamos utilizando:
Ao clicar nas entradas digitais, logo abaixo aparecerá os campos para inserir os nomes
(apelidos) para cada entrada digital. Esse nome será vinculado com o endereçamento
físico e se tornará uma variável global de sistema, sendo possível a utilização dessa
variável em todos os programas criados. Escreva o nome xEntrada_1 e xEntrada_2.
52
Internal
Selecione as saídas digitais e crie dois nomes nas duas primeiras saídas digitais. Digite
xSaida_1 e xSaida_2
53
Internal
procure a variável desejada, ou utilize a tecla “F2” para acessar o assistente de entrada
Agora, utilize um temporizador do tipo TON. Para isso, adicione uma nova linha e puxe
para o seu programa um Box with EN/ENO.
54
Internal
Selecione os pontos de interrogação que estão dentro do bloco, clique no botão com os
três pontos e utilize o assistente de entrada para encontrar o temporizador, ou você poderá
usar um método mais simples. Nesse caso, basta colocar o nome do bloco de função que
deseja utilizar. No caso insira TON.
Por fim, é preciso declarar esse bloco então utilize o nome Temporizador e declare esse
bloco do tipo TON. Ele ficará desse jeito:
55
Internal
Repita o mesmo processo feito para inserir mais 3 linhas. Na linha 3 insira um Box with
EN/ENO e utilize um contador CTU. Declare esse como Contador do tipo CTU.
Na linha 5 utilize um Box with EN/ENO e use uma função de comparação com o nome GT.
Esse comparador irá comparar as duas entradas. Quando a primeira entrada for maior que
a segunda a saída vai para ON. Sua tela terá de ficar assim:
Apague todos os contatos de entrada das linhas que possuem bloco de função.
56
Internal
No bloco temporizador, na entrada IN utilize a variável xEntrada_1. Na entrada PT utilize
T#5S (5 segundos). Na saída Q, crie uma variável T1_Done do tipo BOOL. Na saída ET
crie uma variável com nome Temp do tipo TIME. A segunda linha ficará desse jeito
57
Internal
bobina utilize a variável de saída já criada xSaida_2. Essa linha ficará assim:
Agora basta testar seu projeto. Lembrando que, se você possuir o hardware, basta testá-lo
com a aplicação. Caso não tenha o hardware, utilize o modo simulação do Codesys 3.5
58
Internal
para fazer o teste. Para forçar variáveis normais utilize a tecla “Ctrl+F7”. Para forçar
variáveis que estão ligadas a endereçamento físico (são as variáveis xEntrada_1,
xEntrada_2, xSaida_1 e xSaida_2) utilize apenas a tecla “F7”.
59
Internal
Exercício 2 – Criando seu bloco de função (FB) do inicio
Nesse exercício iremos criar um bloco de função do zero. Esse bloco de função fará com
que uma lâmpada tenha 3 status sendo:
0 -> Desligado
1 -> Ligado
2 -> Piscante
Para começar, utilize a mesma aplicação do exercício 1. Porém iremos criar uma nova
POU que se chamará Exercicio_2. Para isso clique com o botão direito em Application e
adicione a POU.
60
Internal
Agora, mais uma vez clique com o botão direito do mouse em Application e crie uma nova
POU. Nela, coloque o nome de Lamp_FB, selecione o tipo “Function block” e a
linguagem de programação Texto Estruturado.
61
Internal
Agora, na janela de lógica do nosso bloco de função digite as informações de acordo com
a imagem abaixo:
Agora na janela de programação da POU Exercicio_2, utilize um Box with EN/ENO para
puxar nosso bloco de função criado.
Comece apagando o contato de entrada desse bloco, em seguida digite nos 3 pontos de
interrogação interno o nome do nosso bloco de função Lamp_FB. Perceba que o bloco
será alterado mostrando as variáveis de entrada e saída que criamos. Em seguida, declare
ess bloco com o nome Lampada:
62
Internal
Agora crie duas variáveis para acessar a entrada e saída de nosso bloco. A variável para a
entrada se chamará Status e será do tipo INT. A saída se chamará My_Lamp e será do
tipo BOOL.
Agora precisaremos criar nossa lâmpada para a visualização. Clique com o botão direto
em Application e selecione a opção “Visualization Manager”.
63
Internal
64
Internal
Depois de se criar o gerenciador, faça o mesmo processo e adicione um “Visualization”
que terá o nome Lampada_Visu.
Em propiedades (“properties”), altere a cor desse objeto. Este passo fica a seu critério,
pode utilizar a cor que quiser:
65
Internal
Insira um retângulo por cima do primeiro. Em “properties”, selecione a opção “Text
Variable” e procure a variável “Status”.
66
Internal
Selecione a aba “Visualization Toolbox” e selecione a lâmpada para ser inserida no seu
projeto. Fique a vontade caso queira alterar a cor da sua lâmpada.
67
Internal
Nas propriedades da lâmpada, selecione a variável MyLamp que se encontra no programa
Exercicio_2.
68
Internal
Para encerrar as configurações da visualização, ainda no retângulo branco, é preciso
informar a esse objeto que ele irá escrever a informação em uma variável. Para isso
acesse o “Input configuration” -> OnMouseClick. Abrirá uma janela, selecione a opção
“Write variable” e siga conforme imagem abaixo.
69
Internal
ATENÇÃO
Caso não tenha o hardware, não será possível ver a visualização de sua aplicação no
navegador. Nesse caso, será necessário usar o modo simulação do Codesys
Caso você tenha hardware, será necessário habilitá-la na página web do controlador. Para
isso, acesse a página web via endereço IP do CLP. Em seguida selecione a aba
“Configuration”-> “Ports and Service”-> “PLC Runtime Services” e habilite a opção
“Webserver”. Toda vez que acessar o webvisu aparecerá uma janela para login e senha.
Para desabilitá-la, é só desabilitar a opção “Port Authentication enabled”, conforme
imagem abaixo
70
Internal
Caso dê tudo certo com seu projeto e seu download, e claro, depois de seguir os passos
citados o seu projeto será visualizado no navegador. Ainda na página Web do controlador,
basta acessar a aba “Information” ->” PLC Runtime” -> “Open WebVisu”.
Agora, iremos adicionar um FRAME para a visualização já criada. Para isso, crie
mais uma visualização e daremos o nome de “Visualization_Frame”.
71
Internal
Vá na aba “ToolBox”, clique em “Basic” e selecione o retângulo
72
Internal
Depois de escolher a imagem, selecione “Embed into Project “para não depender de
caminhos do computador.
73
Internal
Selecione a opção “ImagePool” e clique no logotipo para adicionar em sua visualização.
74
Internal
Pronto acabamos de criar nosso Frame. Agora chame o frame na visualização que
criamos
75
Internal
Sua visualização ficará assim:
Agora, crie uma nova visualização (Monitoracao) e insira o Frame criado. Nesse Frame
adicione um medidor e faça um link com a variável da saída do contador (C1_Valor).
76
Internal
Selecione o botão e, em propriedades, selecione “InputConfiguration” e clique na opção
“OnMouseClick”.
Selecione “Change shown Visualization” e, em seguida, selecione a tela que irá chamar
quando o botão for clicado. Escolha a tela e clique em OK.
77
Internal
Repita o processo para a tela Monitoracao -> Lampada_Visu.
Agora, iremos fazer uma tela de LOGIN e LOGOUT para acessar essas visualizações.
Para isso crie mais uma visualização. Torne a visualização de Login como sendo a tela
principal (já vimos esse passo na nossa apostila Página XX). Insira novamente o Frame
criado. Crie 3 botões, conforme imagem abaixo:
78
Internal
Vá em “VisualizationManager” e selecione “User Management”. Crie um grupo de
usuários. Logo após esse passo, defina se terá” Logout” automático
Crie os usuários desse grupo, coloque a senha e faça um link entre esses usuários criados
com o grupo que criamos (WAGO).
79
Internal
Volte na tela de início (Login) e selecione o botão Login. Nas Propriedades do botão, vá
em “Input Configuration” e clique em “OnMouseClick”. Abrirá uma janela, nela
selecione “User Management” e uma ação para Login.
80
Internal
Na opção “Access Rights” defina o nível de acesso para os usuários do grupo criado.
81
Internal
Pronto, seu programa já está com todas as funções mencionadas. Basta testá-las fazendo
o download para seu hardware e visualizando-as no navegador.
82
Internal
Comunicação através do protocolo Modbus TCP
Nos exercícios 3 e 4 utilizaremos o protocolo Modbus TCP para fazer uma comunicação
Mestre e Escravo. No exercício 3 o controlador será Mestre. Já no exercício 4 o
controlador será Escravo.
Agora iremos colocar nosso controlador para trocar dados via Modbus TCP, ele sendo
mestre da rede, para isso vamos seguir os passos a seguitr:
Para essa configuração iremos utilizar a ferramenta dentro do Codesys 3.5 MODBUS
(TCP) Fieldbus Configurator.
83
Internal
Agora click no dispositivo de rede que adicionamos ao nosso projeto e selecione Modbus -
> Modbus TCP Master, esse dispositivo funciona como Mestre na rede Modbus:
84
Internal
Agora click no dispositivo de rede Modbus Mestre que adicionamos ao nosso projeto e
selecione Modbus -> Modbus TCP Master - Modbus TCP Slave, esse dispositivo funciona
como um dispositivo Modbus genérico que é configurado como Slave para um Modbus
TCP Master:
85
Internal
Agora será necessário configurar o endereço IP do dispositivo Modbus Mestre, para isso
clique duplamente no ícone do dispositivo e configure os parâmetros do controlador:
86
Internal
Em seguida a janela de configuração do dispositivo Slave. Configure o endereço IP no
campo “IP address” e também certifique se a porta é a 502 no campo “Port”.
Agora vamos configurar uma variavel modbus dentro do configurador, para isto clique no
dispositivo Slave e acesse a função “Modbus Slave Channel” e click em “Add
Channel..”.
87
Internal
Em nosso exemplo iremos disponibilizar quatro variáveis que serão lidas do dispositivo
slave modbus TCP que serão do tipo:
Variável 1:
Código de função: 15
Offset (Endereço): 512
Tamanho: 4;
Apos adicionar o Canal ele ira criar a aba “Modbus TCP/Slave I/O Mapping”. Agora
defina o nome das variáveis para podermos utilizá-las no nosso programa.
88
Internal
Agora crie uma POU com o nome Exercicio_03 e insira duas linhas. Igual a imagem a
seguir:
Agora vincule as bobinas com as variáveis que vinculamos as saídas do módulo Modbus
Escravo e selecione uma variável para comutar as saídas,
Obs: Não esqueça de adicionar a chamada dele em Plc_Task.
89
Internal
Faça o download para o hardware e coloque em RUN.
90
Internal
Exercício 4 – Controlador Wago sendo escravo da rede Modbus
TCP
Agora vamos colocar nosso controlador para trocar dados via Modbus TCP, ele sendo
slave da rede, para isso vamos seguir os passos a seguir:
Inicialmente vamos adicionar essa biblioteca em nossa Library Manager, para isso
devemos dar um duplo clique em Library Manager, clicar “add” e procurar pelo biblioteca:
Agora crie uma POU com o nome Exercicio_04 e selecione a linguagem Structured Text
(ST). Igual a imagem a seguir:
91
Internal
Agora, abra novamente o “Library Manager”, selecione a biblioteca que inserimos, na aba
inferior selecione 20 Program Organization Units -> 30 Simple Modbus Slave ->
FbMbSimpleServerTcp e na aba lateral clique em Documentation, conforme figura
abaixo:
92
Internal
A área de declaração de variáveis da nossa POU devera ficar da seguinte forma:
93
Internal
A área de programação da nossa POU devera ficar da seguinte forma:
Para alterar o endereço modbus basta mudar o range da Array das variáveis, como por
exemplo myCoils : ARRAY[20..40] OF BOOL.
IMPORTANTE
Para acessar as variáveis que iremos disponibilizar para o mestre podemos utilizar os
seguintes Function Codes FCs:
94
Internal
Agora iremos inserir um somador e mover alguns valores nas variáveis para podermos
visualizar a comunicação:
ATENÇÃO
Caso não tenha o hardware, não será possível realizar os testes, pois para uma
comunicação com protocolos d rede se faze necessário possuir um hardware.
Agora para simular o mestre Mosdbus vamos utiliziar o software ModScan32. Após
executado, basta abri-lo e iniciar as configurações
95
Internal
Agora basta inserir os endereços no campo “Adress” do software “ModScan2”
juntamente com a função configurada e verificar os valores.
ATENÇÃO
96
Internal