tutorial codesys

162
Programação básica em ambiente CoDeSys.e Galileo.

Upload: eduardo-miranda

Post on 03-Jan-2016

2.581 views

Category:

Documents


15 download

TRANSCRIPT

Page 1: Tutorial Codesys

Programação básica em ambiente CoDeSys.e Galileo.

Page 2: Tutorial Codesys

20 de janeiro de 2013 Página: 2

www.eaton.com Página 2

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.

Page 3: Tutorial Codesys

20 de janeiro de 2013 Página: 3

www.eaton.com Página 3

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

Ambiente de programação CoDeSys. .................................................................. 33

INICIANDO O SOFTWARE .................................................................................. 34

Criando um novo Projeto ...................................................................................... 36

Configurando Hardware XV100 ............................................................................ 38

Trabalhando com IHM+CLP. ............................................................................. 38

Trabalhando com IOs remotos. ......................................................................... 39

Configurando Hardware XC100/XC200 ............................................................... 44

COMEÇANDO A PROGRAMAR .......................................................................... 48

COMPILANDO O PROGRAMA ............................................................................ 55

SIMULANDO O PROGRAMA .............................................................................. 55

Forcando variáveis pela configuração do XC100/200 ....................................... 59

CRIANDO TELAS DE SIMULAÇÃO ................................................................. 60

TRABALHANDO COM BREAK POINTS E CONTROLADORES DE CICLO .... 69

Comunicação em Ethernet com IHM+CLP. .......................................................... 73

Verificar e ajustar o endereço de IP da IHM ...................................................... 75

Cabo de Ethernet .............................................................................................. 76

Testar a conexão Ethernet ................................................................................ 76

O primeiro programa do CLP da IHM ................................................................... 77

Pontos de licença para funcionamento do CLP ................................................. 77

Instalação do programa de execução do CLP na IHM ...................................... 77

Page 4: Tutorial Codesys

20 de janeiro de 2013 Página: 4

www.eaton.com Página 4

Executar a instalação na plataforma do Windows: ............................................ 77

TRANSFERINDO O PROGRAMA ....................................................................... 82

Transferência do programa via rede Ethernet ................................................... 82

Transferência do programa via rede serial ........................................................ 84

Alterações ONLINE .............................................................................................. 86

Create Boot Project .............................................................................................. 86

Sourcecode Download ......................................................................................... 87

Upload do programa do CLP ................................................................................ 88

IMPORTANDO BIBLIOTECAS ............................................................................. 90

Utilizando Bibliotecas no projeto ....................................................................... 91

Utilizando instruções de comparação e operações matemáticas ......................... 91

Exemplo de inserção de operados .................................................................... 92

Funções de conversão de operadores ................................................................. 94

Exemplo de inserção de funções de conversão de operadores ........................ 94

Programação do CLP da IHM com o XSoft-CoDeSys-2 ...................................... 95

Download do programa para o CLP no dispositivo .............................................. 98

Configuração do arquivo de símbolos ................................................................ 100

O primeiro projeto no GALILEO ......................................................................... 106

Criando um novo projeto ................................................................................. 106

Selecionar o modelo da IHM ........................................................................... 107

Selecionar o CLP ............................................................................................ 108

Criar Tela ......................................................................................................... 110

Objetos da barra de ferramentas ........................................................................ 111

Importar Tag’s .................................................................................................... 146

Gerar objeto de exibição .................................................................................... 152

Compilar o projeto .............................................................................................. 154

Simulação do projeto no PC ............................................................................... 155

Download do Projeto para IHM .......................................................................... 156

Iniciar o FTP-Server na IHM ............................................................................ 156

Caminho para gerar o FTP no GALILEO ........................................................ 157

Download do projeto da IHM .............................................................................. 159

Upload do programa da IHM ........................................................................... 162

Page 5: Tutorial Codesys

20 de janeiro de 2013 Página: 5

www.eaton.com Página 5

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.

Page 6: Tutorial Codesys

20 de janeiro de 2013 Página: 6

www.eaton.com Página 6

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

Page 7: Tutorial Codesys

20 de janeiro de 2013 Página: 7

www.eaton.com Página 7

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)

Page 8: Tutorial Codesys

20 de janeiro de 2013 Página: 8

www.eaton.com Página 8

Família de CLP’s EATON

Linha Easy Control (EC4P) O EC4P é um CLP compacto, com entradas e saídas incorporadas na 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.

Page 9: Tutorial Codesys

20 de janeiro de 2013 Página: 9

www.eaton.com Página 9

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

Page 10: Tutorial Codesys

20 de janeiro de 2013 Página: 10

www.eaton.com Página 10

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óriaBytes

XC-CPU101-C64K-8DI-6DO 64K X (500K) 4 8 6 TransístorXC-CPU101-C128K-8DI-6DO 128K X (500K) 4 8 6 TransístorXC-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ístorXC-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ístorXC-CPU201-EC512K-8DI-6DO-XV 2M X X X (1M) 2 (50) 2 1 (50) 8 6 TransístorXC-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 4EC4P-221-MRX... 256K X (500K) 2 (50) 1 (40) 12 6 Relê 4EC4P-221-MTA... 256K X (500K) 2 (50) 1 (40) 12 8 Transístor 4 1EC4P-221-MRA... 256K X (500K) 2 (50) 1 (40) 12 6 Relê 4 1EC4P-222-MTX... 256K X X (500K) 2 (50) 1 (40) 12 8 Transístor 4EC4P-222-MRX... 256K X X (500K) 2 (50) 1 (40) 12 6 Relê 4EC4P-222-MTA.... 256K X X (500K) 2 (50) 1 (40) 12 8 Transístor 4 1EC4P-222-MRA... 256K X X (500K) 2 (50) 1 (40) 12 6 Relê 4 1

Ent

rada

s A

naló

gica

s (0

a 1

0V)

Saí

das

Ana

lógi

cas

(0 a

10V

)

CA

N/C

AN

Ope

n (b

ps)

0,30,30,3

Con

tado

res

Ráp

idos

(K

Hz)

Ent

rada

s di

gita

is (

On

boar

d)

0,30,30,3

Inte

rrup

ção

(HW

)

Enc

oder

Incr

emen

tal (

KH

z)

0,3

0,3

Saí

das

digi

tais

(On

boar

d)

WE

B S

erve

r

0,150,15

0,025

mS

/100

0 in

stru

ções

0,50,5

0,150,15

RS

232

Eth

erne

t 10/

100M

b

Vel

ocid

ade

0,5

Page 11: Tutorial Codesys

20 de janeiro de 2013 Página: 11

www.eaton.com Página 11

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.

Page 12: Tutorial Codesys

20 de janeiro de 2013 Página: 12

www.eaton.com Página 12

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

Page 13: Tutorial Codesys

20 de janeiro de 2013 Página: 13

www.eaton.com Página 13

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

Page 14: Tutorial Codesys

20 de janeiro de 2013 Página: 14

www.eaton.com Página 14

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.

Page 15: Tutorial Codesys

20 de janeiro de 2013 Página: 15

www.eaton.com Página 15

Tam

anho

da

Tel

a

Col

orid

a (6

5535

cor

es)

Vel

ocid

ade

(MH

z)

Cap

acid

ade

de m

emór

ia (

MB

)

Já te

m C

LP In

corp

orad

o

Tou

ch r

esis

tivo

Tou

ch In

frav

erm

elho

Pro

fibus

CA

N/C

AN

Ope

n

RS

232

RS

485

Eth

erne

t 10/

100M

bs

Slo

ts p

ara

cart

ão d

e co

mun

icaç

ão

Per

mite

hab

ilita

r C

LP

XV-102-A0-35MQR-10 3,5" 400 64 X XXV-102-A2-35MQR-10 3,5" 400 64 X X XXV-102-A3-35MQR-10 3,5" 400 64 X X XXV-102-A4-35MQR-10 3,5" 400 64 X X XXV-102-A5-35MQR-10 3,5" 400 64 X X X XXV-102-B0-35TQR-10 3,5" X 400 64 X X XXV-102-B2-35TQR-10 3,5" X 400 64 X X X XXV-102-B3-35TQR-10 3,5" X 400 64 X X X XXV-102-B4-35TQR-10 3,5" X 400 64 X X X XXV-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 XXV-102-B3-35MQR-10-PLC 3,5" 400 64 X X X XXV-102-B4-35MQR-10-PLC 3,5" 400 64 X X X XXV-102-B5-35MQR-10-PLC 3,5" 400 64 X X X X XXV-102-B6-35MQR-10-PLC 3,5" 400 64 X X X X XXV-102-B8-35MQR-10-PLC 3,5" 400 64 X X X X XXV-102-B0-35TQR-10-PLC 3,5" X 400 64 X X XXV-102-B3-35TQR-10-PLC 3,5" X 400 64 X X X XXV-102-B4-35TQR-10-PLC 3,5" X 400 64 X X X XXV-102-B5-35TQR-10-PLC 3,5" X 400 64 X X X X XXV-102-B6-35TQR-10-PLC 3,5" X 400 64 X X X X XXV-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 XXV-102-D6-57TVR-10 5,7" X 400 64 X X X X X XXV-102-D8-57TVR-10 5,7" X 400 64 X X X X X XXV-102-D0-70TWR-10 7" X 400 64 X X X XXV-102-D6-70TWR-10 7" X 400 64 X X X X X XXV-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 XXV-102-D6-57TVR-10-PLC 5,7" X 400 64 X X X X X XXV-102-D8-57TVR-10-PLC 5,7" X 400 64 X X X X X XXV-102-D0-70TWR-10-PLC 7" X 400 64 X X X XXV-102-D6-70TWR-10-PLC 7" X 400 64 X X X X X XXV-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 XXVS-450-57MPI-1-10 5,7" X 400 64 X X X X XXVS-460-84MPI-1-10 8,4" X 400 64 X X X X XXVS-440-10MPI-1-10 10,4" X 400 64 X X X X XXVS-430-10MPI-1-10 10,4" X 400 64 X X X X XXVS-440-12MPI-1-10 12,1" X 400 64 X X X X XXVS-430-12MPI-1-10 12,1" X 400 64 X X X X XXVS-460-15MPI-1-10 15" X 400 64 X X X X XXV-460-57TQB-1-10 5,7" X 400 64 X X X X 1 XXV-450-57TQB-1-10 5,7" X 400 64 X X X X 1 XXV-460-84TVB-1-10 8,4" X 400 64 X X X X 1 XXV-440-10TVB-1-10 10,4" X 400 64 X X X X 2 XXV-430-10TVB-1-10 10,4" X 400 64 X X X X 2 XXV-440-12TSB-1-10 12,1 X 400 64 X X X X 2 XXV-430-12TSB-1-10 12,1" X 400 64 X X X X 2 XXV-460-15TXB-1-10 15" X 400 64 X X X X 2 X

Interface de comunicação

Page 16: Tutorial Codesys

20 de janeiro de 2013 Página: 16

www.eaton.com Página 16

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.

Page 17: Tutorial Codesys

20 de janeiro de 2013 Página: 17

www.eaton.com Página 17

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

Page 18: Tutorial Codesys

20 de janeiro de 2013 Página: 18

www.eaton.com Página 18

22 22© 2011 Eaton Corporation. All rights reserved.

BR PF BR

230Vac24Vdc

5Vdc 5Vdc

24Vdc

Alimentaçãomodulo

24Vdc 230Vac24Vdc

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.

Page 19: Tutorial Codesys

20 de janeiro de 2013 Página: 19

www.eaton.com Página 19

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 Engineering e 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:

Page 20: Tutorial Codesys

20 de janeiro de 2013 Página: 20

www.eaton.com Página 20

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.

Page 21: Tutorial Codesys

20 de janeiro de 2013 Página: 21

www.eaton.com Página 21

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

Page 22: Tutorial Codesys

20 de janeiro de 2013 Página: 22

www.eaton.com Página 22

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.

Page 23: Tutorial Codesys

20 de janeiro de 2013 Página: 23

www.eaton.com Página 23

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.

Page 24: Tutorial Codesys

20 de janeiro de 2013 Página: 24

www.eaton.com Página 24

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

Page 25: Tutorial Codesys

20 de janeiro de 2013 Página: 25

www.eaton.com Página 25

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

Page 26: Tutorial Codesys

20 de janeiro de 2013 Página: 26

www.eaton.com Página 26

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

Page 27: Tutorial Codesys

20 de janeiro de 2013 Página: 27

www.eaton.com Página 27

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

Page 28: Tutorial Codesys

20 de janeiro de 2013 Página: 28

www.eaton.com Página 28

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

Page 29: Tutorial Codesys

20 de janeiro de 2013 Página: 29

www.eaton.com Página 29

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.

ouT#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 1993TOD#23:45:00 ���� Faltam quinze minutos para a meia-noiteDT#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.

Page 30: Tutorial Codesys

20 de janeiro de 2013 Página: 30

www.eaton.com Página 30

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

Page 31: Tutorial Codesys

20 de janeiro de 2013 Página: 31

www.eaton.com Página 31

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.

Page 32: Tutorial Codesys

20 de janeiro de 2013 Página: 32

www.eaton.com Página 32

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áticas e 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.

Programação em Linguagem Sequencial (SFC)

Page 33: Tutorial Codesys

20 de janeiro de 2013 Página: 33

www.eaton.com Página 33

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

Page 34: Tutorial Codesys

20 de janeiro de 2013 Página: 34

www.eaton.com Página 34

INICIANDO O SOFTWARE

ORGANIZADOR

ÁREA DE TRABALHO

PROGRAMAS

TIPOS DE DADOS

VISUALIZADOR

RECURSOS

Barra de ferramentas Menu principal

Page 35: Tutorial Codesys

20 de janeiro de 2013 Página: 35

www.eaton.com Página 35

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)

Page 36: Tutorial Codesys

20 de janeiro de 2013 Página: 36

www.eaton.com Página 36

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.

Page 37: Tutorial Codesys

20 de janeiro de 2013 Página: 37

www.eaton.com Página 37

• 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

Page 38: Tutorial Codesys

20 de janeiro de 2013 Página: 38

www.eaton.com Página 38

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

Page 39: Tutorial Codesys

20 de janeiro de 2013 Página: 39

www.eaton.com Página 39

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 desta rede 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.

Page 40: Tutorial Codesys

20 de janeiro de 2013 Página: 40

www.eaton.com Página 40

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

Page 41: Tutorial Codesys

20 de janeiro de 2013 Página: 41

www.eaton.com Página 41

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.

Page 42: Tutorial Codesys

20 de janeiro de 2013 Página: 42

www.eaton.com Página 42

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

Page 43: Tutorial Codesys

20 de janeiro de 2013 Página: 43

www.eaton.com Página 43

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

Page 44: Tutorial Codesys

20 de janeiro de 2013 Página: 44

www.eaton.com Página 44

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.

Page 45: Tutorial Codesys

20 de janeiro de 2013 Página: 45

www.eaton.com Página 45

• 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

Page 46: Tutorial Codesys

20 de janeiro de 2013 Página: 46

www.eaton.com Página 46

Page 47: Tutorial Codesys

20 de janeiro de 2013 Página: 47

www.eaton.com Página 47

• 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

.

Page 48: Tutorial Codesys

20 de janeiro de 2013 Página: 48

www.eaton.com Página 48

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

Page 49: Tutorial Codesys

20 de janeiro de 2013 Página: 49

www.eaton.com Página 49

• 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

Page 50: Tutorial Codesys

20 de janeiro de 2013 Página: 50

www.eaton.com Página 50

• 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

Page 51: Tutorial Codesys

20 de janeiro de 2013 Página: 51

www.eaton.com Página 51

• 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 linha da 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:

Page 52: Tutorial Codesys

20 de janeiro de 2013 Página: 52

www.eaton.com Página 52

• 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

Page 53: Tutorial Codesys

20 de janeiro de 2013 Página: 53

www.eaton.com Página 53

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

Page 54: Tutorial Codesys

20 de janeiro de 2013 Página: 54

www.eaton.com Página 54

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

Page 55: Tutorial Codesys

20 de janeiro de 2013 Página: 55

www.eaton.com Página 55

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:

Page 56: Tutorial Codesys

20 de janeiro de 2013 Página: 56

www.eaton.com Página 56

• 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

Page 57: Tutorial Codesys

20 de janeiro de 2013 Página: 57

www.eaton.com Página 57

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.

Page 58: Tutorial Codesys

20 de janeiro de 2013 Página: 58

www.eaton.com Página 58

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.

Page 59: Tutorial Codesys

20 de janeiro de 2013 Página: 59

www.eaton.com Página 59

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ão

Page 60: Tutorial Codesys

20 de janeiro de 2013 Página: 60

www.eaton.com Página 60

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.

Page 61: Tutorial Codesys

20 de janeiro de 2013 Página: 61

www.eaton.com Página 61

• 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

Page 62: Tutorial Codesys

20 de janeiro de 2013 Página: 62

www.eaton.com Página 62

• 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

Page 63: Tutorial Codesys

20 de janeiro de 2013 Página: 63

www.eaton.com Página 63

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

Page 64: Tutorial Codesys

20 de janeiro de 2013 Página: 64

www.eaton.com Página 64

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

Page 65: Tutorial Codesys

20 de janeiro de 2013 Página: 65

www.eaton.com Página 65

• 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

Page 66: Tutorial Codesys

20 de janeiro de 2013 Página: 66

www.eaton.com Página 66

• 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

Page 67: Tutorial Codesys

20 de janeiro de 2013 Página: 67

www.eaton.com Página 67

• 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

Page 68: Tutorial Codesys

20 de janeiro de 2013 Página: 68

www.eaton.com Página 68

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

Page 69: Tutorial Codesys

20 de janeiro de 2013 Página: 69

www.eaton.com Página 69

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

Page 70: Tutorial Codesys

20 de janeiro de 2013 Página: 70

www.eaton.com Página 70

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

Page 71: Tutorial Codesys

20 de janeiro de 2013 Página: 71

www.eaton.com Página 71

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

Page 72: Tutorial Codesys

20 de janeiro de 2013 Página: 72

www.eaton.com Página 72

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

Page 73: Tutorial Codesys

20 de janeiro de 2013 Página: 73

www.eaton.com Página 73

• 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 da comunicação entre o dispositivo e o PC siga os seguintes passos descritos. Um endereço IP sempre consiste de uma rede e um endereço do computador. A máscara de rede especifica quais bits pertencem à rede e quais não.

Page 74: Tutorial Codesys

20 de janeiro de 2013 Página: 74

www.eaton.com Página 74

Configuração de rede do computador Exemplo:

� A utilização dos mesmos endereços podem causar problemas críticos na rede.

Selecione para o dispositivo um endereço diferente do computador e da rede local. Você pode determinar o endereço de rede do seu PC em Start � Setting � Network Connections � Local Area Connection. Selecione a opção da lista Internet Protocol (TCP / IP) e pressione o botão "Properties".

Endereço de IP do PC: Endereço IP: 192.168.0.71 SubnetMask: 255.255.255.0 Isso significa que: Endereço de rede: 192.168.0 Endereço do Computador: 71 Selecionar um endereco de IP para a IHM: Endereço de rede: 192.168.0 Endereço IHM: 72 (número entre 1-254 e não pode ser o que já foi utilizado no endereço do computador) ���� Endereço de IP da IHM: Endereço IP: 192.168.0.72 SubnetMask: 255.255.255.0

Page 75: Tutorial Codesys

20 de janeiro de 2013 Página: 75

www.eaton.com Página 75

Verificar e ajustar o endereço de IP da IHM Depois que o Windows CE foi iniciado, pressione o Start vá para o menu Programs � Control Panel

Dê um duplo clique no ícone "Network".

Dê um duplo clique no ícone "ONBOARD1".

Page 76: Tutorial Codesys

20 de janeiro de 2013 Página: 76

www.eaton.com Página 76

� O endereço IP e máscara de sub-rede deve ser consistente com a configuração de rede do PC e respectivamente, a rede da empresa. Em caso de dúvida pergunte ao seu administrador de rede.

Cabo de Ethernet Conectar a IHM diretamente ao PC com um cabo crossover. Se você usar um hub ou switch utilize um cabo ethernet direto de 1-para-1.

Testar a conexão Ethernet Para testar a conexão, pressione o Start vá para o menu Run � Digite “ping 192.168.0.72” que é o endereço da IHM.

Uma janela 'FEC Driver Ethernet " será aberta. Selecione o IP desejado o endereço da IHM e a máscara de sub-rede. Use o Gateway somente quando necessário, em seguida, pressionar OK.

Page 77: Tutorial Codesys

20 de janeiro de 2013 Página: 77

www.eaton.com Página 77

O primeiro programa do CLP da IHM Se você gostaria de usar a IHM sem a funcionalidade de PLC interna, por favor, ignore este capítulo e continue do capítulo “O primeiro projeto no GALILEO”. Este capítulo consiste em uma aplicação básica, que mostra a programação com XSoft-CoDeSys-2 e as etapas de comunicação entre CLP de uma XV100 com o PC.

Pontos de licença para funcionamento do CLP Para função CLP na IHM é necessário de pontos de licença adicional no dispositivo. A XV100 com classificação do tipo XV-1x2-...-PLC, XV-1x2--TVRC ... ... e XV-1x2--TWRC ... ... são entregues com 240 pontos de licença e destinam-se a operação como dispositivos IHM e como dispositivos de controle (IHM+PLC).

Instalação do programa de execução do CLP na IHM A XV100 não contém o programa de execução do CLP. O programa de execução do CLP pode ser transferido para o dispositivo com a ferramenta "TargetFirmwareWinCE". Esta ferramenta pode ser iniciada a partir do ambiente Windows ou de dentro do XSoft CoDeSys-2 no ambiente de desenvolvimento

Executar a instalação na plataforma do Windows: Inicie a ferramenta "TargetFirmwareWinCE_V2.4.9" em seu PC através de clique: Start � Programs � Eaton ���� CAA-Targets � XC-XV-Targets V2.3.9 SP3 � Firmware XV-1xx Depois de iniciar a instalação, continue até aparecer a seguinte janela.

Page 78: Tutorial Codesys

20 de janeiro de 2013 Página: 78

www.eaton.com Página 78

Selecione o tipo de instalação desejado e execute os seguintes passos: � Instalação FTP (sugestão Eaton):

A instalação do PLC é feito através de FTP. Passos necessários: - Verifique se o dispositivo está conectado ao seu PC via ethernet. - Iniciar o dispositivo. - Inicie o servidor de FTP da IHM, clicando em Start � Programs � Communications � FTP-Server. - Continuar a instalação no PC até que a janela a seguir aparece.

Page 79: Tutorial Codesys

20 de janeiro de 2013 Página: 79

www.eaton.com Página 79

- Selecione "Boot behaviour". Por favor, note que o sistema operacional não está marcado. para a instalação do sistema operacional, - Clique no botão "Next".

- Selecione o destino: "Internal stotage" para executar a instalação do CLP na memória interna da IHM. Selecione "Removable drive" para executar a instalação do CLP no cartão SD, sendo que nesta opção é necessário inicializar o CLP pelo cartão SD. Clique no botão "Next".

Page 80: Tutorial Codesys

20 de janeiro de 2013 Página: 80

www.eaton.com Página 80

- Digite o endereço IP do dispositivo de destino. Continue o procedimento de configuração. - Após terminar a instalação, reinicie o dispositivo para iniciar o programa de execução do PLC.

Após o sucesso na instalação do programa de execução do PLC e a reinicialização do dispositivo, uma exibição do status do programa de execução do PLC irá aparecer no dispositivo (depois clique no ícone na barra de tarefas do Windows CE).

Page 81: Tutorial Codesys

20 de janeiro de 2013 Página: 81

www.eaton.com Página 81

Se uma visualização já está instalada na IHM e se esta visualização esconde a tela de status, você pode parar a visualização pressionando o botão CTRL na parte de traz da IHM.

Page 82: Tutorial Codesys

20 de janeiro de 2013 Página: 82

www.eaton.com Página 82

TRANSFERINDO O PROGRAMA

• Feitas as configurações clique em Project � Rebuild All

• Coloque o cabo no CLP.

• No menu Online, certifique-se que o CoDeSys não está em modo de

simulação.

• Entre agora em On line � Communication Parameters

Transferência do programa via rede Ethernet • Clique agora na opção New...

De um nome para comunicação do CLP. Por exemplo: Comunicação_CLP e aceite com um OK.

Tipo de conexão (TCP/IP ou LOCAL)

Configuração da conexão

Page 83: Tutorial Codesys

20 de janeiro de 2013 Página: 83

www.eaton.com Página 83

• De um duplo clique em localhoste e configure com o IP do seu

equipamento.

• Depois de selecionado o tipo de conexão a ser realizada.

• Entre agora na opção Online � Login

• Caso apareça a mensagem :

Verifique novamente o endereço de IP da IHM e do PC, verifique também o cabo de comunicação e se o FTP da IHM esta habilitado.

• Caso a conexão se estabeleça aparecerá a seguinte mensagem.

IP do CLP

Page 84: Tutorial Codesys

20 de janeiro de 2013 Página: 84

www.eaton.com Página 84

• Selecione a opção Sim.

• Logo após o Download o CLP estará pronto para entrar em operação.

• Tudo o que foi explicado até aqui, tanto em monitoração como em

simulação é válido quando se está conectado ao CLP.

• Para colocar o CLP em marcha selecione Online � RUN.

Transferência do programa via rede serial

Utilizado somente quando for fazer o comunicação com cabo serial XC100, XC200 ou EC4P

• Clique agora na opção New...

• Selecione a opção Serial (RS232) 3S Serial RS232 driver , de um nome

para a sua comunicação e confirme com OK

Page 85: Tutorial Codesys

20 de janeiro de 2013 Página: 85

www.eaton.com Página 85

• Para a comunicação serial, clique com o botão da esquerda sobre o

COM1, ele irá ficar cinza e a cada dois cliques ele mudará a configuração,

faça isso até achar sua configuração.

• Clique agora no Baud Rate, utilizando o mesmo princípio, e selecione

38400 (default).

• Depois de selecionado e ajustado o tipo de conexão a ser realizada.

• Entre agora na opção Online � Login

Porta serial

Baud rate

Page 86: Tutorial Codesys

20 de janeiro de 2013 Página: 86

www.eaton.com Página 86

• Caso apareça a mensagem :

Verifique novamente a configuração de hardware, lembrando que a configuração necessária para a comunicação é Baud rate = 34800; Parity = No; Stop bits = 1(232) ou IP=192.168.119.200 Port=1200 (Ethernet). Caso o erro persista verifique o hardware (conexões e cabos) e faça a operação Login novamente.

Alterações ONLINE • Para executar qualquer alteração ON LINE no CLP proceda da seguinte

forma:

• Entre em Online � Logout

• Faça as alterações necessárias no software.

• Entre no menu Project � Rebuild All...

• Logo em seguida selecione no menu On line � Login

• Se selecionarmos Yes as alterações serão feitas sem parar o

processamento (ONLINE CHANGE)

• A opção Load all irá parar a CPU para executar a transferência.

• A alteração ONLINE só não pode ser feita em duas situações distintas:

Alterações de hardware e inserções de novas bibliotecas.

Create Boot Project ( Necessário cartão de Memória caso seja XC100 )

Page 87: Tutorial Codesys

20 de janeiro de 2013 Página: 87

www.eaton.com Página 87

Para que o CLP mantenha o programa armazenado na memória flash é

necessário criar o Boot Project e enviá-lo para a memória .

• Boot Project é criado da seguinte forma:

• Insira a MMC no slot de memória. (Somente para a CPU XC100)

• Entre em Oline � Login.

• Entre em Online � Create Boot Project

• Selecionando Sim o arquivo de boot será enviado para a memoria flash.

OBS.: Na CPU modelo XC100 não é possível fazer esta operação com o

CLP em RUN.

Sourcecode Download ( Necessário cartão de Memória caso seja XC100 )

• Para enviar o Código fonte do programa do CLP

• Entre em Oline � Login.

• Entre em Online � Sourcer Code Download.

• Após essa operação o código fonte do programa encontra-se na MMC.

(Somente para a CPU XC100)

• É possível fazer um futuro Up-load do programa.

Page 88: Tutorial Codesys

20 de janeiro de 2013 Página: 88

www.eaton.com Página 88

Upload do programa do CLP ( Necessário cartão de Memória caso seja XC100 )

Para realizar um futuro Up-Load do programa do CLP é necessário fazer o Sourcecode Download que é enviar o código fonte para a memoria do CLP. Caso o programador não realize este procedimento, o programa não pode ser baixado da CPU. Para fazer o Up-Load do programa, abra um novo projeto e entre em File � Open

Selecione a opção PLC...

Page 89: Tutorial Codesys

20 de janeiro de 2013 Página: 89

www.eaton.com Página 89

Selecione a CPU em Target Settings

Selecione o IP do dispositivo e pressione OK. O programa gravado na memoria da CPU deve se abrir. Caso não abra verifique a comunicação com o dispositivo.

Page 90: Tutorial Codesys

20 de janeiro de 2013 Página: 90

www.eaton.com Página 90

OBS.: O programa vem completo com todos os Tag’s simbólicos e comentários

IMPORTANDO BIBLIOTECAS

As bibliotecas são conjuntos de function Blocks que podem ser exportadas

e importadas.

Para importar uma nova Biblioteca, proceda da seguinte forma:

• Selecione no menu a opção Window � Library Manager: Ou vá até a aba

Resources � Library Manager

• Para importar uma nova biblioteca clicamos com o botão da direita do

mouse sobre a área de bibliotecas importadas.

Bibliotecas importadas

Protótipo do Bloco selecionado.

Organizador do Library manager

Page 91: Tutorial Codesys

20 de janeiro de 2013 Página: 91

www.eaton.com Página 91

• Assim que a caixa de diálogos abrir selecionamos a opção Additional

Library.

• E escolhemos o arquivo .LIB que desejamos importar neste projeto.

Utilizando Bibliotecas no projeto Para utilizar uma biblioteca especifica no projeto, selecione a linha que será colocada o bloco de função, entre na opção Insert � Function Block ou Ctrl+B ou com um clique do botão direito do mouse sobre a linha de programação, selecione a opção Function Block.

Após a seleção do bloco de função desejado confirme com um OK

Utilizando instruções de comparação e operações matemáticas

Page 92: Tutorial Codesys

20 de janeiro de 2013 Página: 92

www.eaton.com Página 92

Abaixo você encontra uma tabela de operandos mais ulilizados: AND operando AND OR operando OR XOR operando OR exclusivo ADD Adição SUB Subtração MUL Multiplicação DIV Divisão GT Operando > (Maior) GE Operando >= (Maior ou igual) EQ Operando = (Igual) NE Operando <> (Diferente) LE Operando <= (Menor ou igual) LT Operando < (Menor) MOVE Mover (Atribuição de uma variável a outra variável de um tipo

apropriado)

Exemplo de inserção de operados Para inserir um operando na lógica basta selecionar a linha onde será inserido o operando e entrar no menu Insert � Box with EN ou com o botão direito do mouse direto na linha do programa conforme figura abaixo: Sempre que é inserido um novo operando, ele vem como AND e para mudar é necessário selecionar o nome sobre o bloco e digitar o nome do outro operando conforme utilização do projeto.

Os operandos podem ser do tipo: BOOL, BYTE, WORD ou DWORD

Os operandos podem ser do tipo: BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT ou REAL.

Os operandos podem ser do tipo: BOOL, BYTE, WORD, DWORD, SINT, USINT, INT, UINT, DINT, UDINT, REAL, LREAL, TIME, DATE, TIME_OF_DAY, DATE_AND_TIME e STRING.

Page 93: Tutorial Codesys

20 de janeiro de 2013 Página: 93

www.eaton.com Página 93

Com um clique do botão direito do mouse sobre as entradas também podemos: Inserir novas entradas para o bloco em Insert at Blocks � Inputs Ou uma entrada com derivação para saída em Insert at Blocks � Assing Ou um novo Box para inserção de outro operando em Insert at Blocks � Box.

Page 94: Tutorial Codesys

20 de janeiro de 2013 Página: 94

www.eaton.com Página 94

No exemplo acima temos a seguinte expressão matemática: Resultado = (Var1 x Var2) + (Var3 / Var4) + (Var5 – Var6)

Funções de conversão de operadores Pode-se basicamente converter a partir de qualquer tipo de variável para qualquer outro tipo de variável. É proibido converter uma variável de um tipo de "maior" para um tipo de "menor", quando a variavel maior tem um valor numerico maior que a variável menor (por exemplo: INT_TO_BYTE � de INT > 255 para BYTE ou DINT_TO_WORD � DINT > 65535 para WORD).

Exemplo de inserção de funções de conversão de operadores Para inserir um operando na lógica basta selecionar a linha onde será inserido o funcão e entrar no menu Insert � Box with EN ou com o botão direito do mouse direto na linha do programa conforme figura abaixo: Sempre que é inserido um novo operando, ele vem como AND e para mudar é necessário selecionar o nome sobre o bloco e digitar o nome da conversão conforme utilização do projeto (por exemplo: REAL_TO_TIME � Esta função esta convertendo uma variavel do tipo real para uma variável do tipo tempo). Pode-se também acionar a tecla F2 em cima do nome do bloco e entrar na opção Conversion Operator para escolher qual será a função da conversão. Segue abaixo alguns exemplos de conversão de operadores

Page 95: Tutorial Codesys

20 de janeiro de 2013 Página: 95

www.eaton.com Página 95

Programação do CLP da IHM com o XSoft-CoDeSys-2 No menu File � New, você pode iniciar um novo projeto Antes de começar a programação você tem que selecionar o tipo de dispositivo na janela “Target Settings”

Page 96: Tutorial Codesys

20 de janeiro de 2013 Página: 96

www.eaton.com Página 96

Por favor, selecione o Target XV-1xx-V2.3.9 SP2 (Patch 1) Na janela de diálogo que aparece continue com "OK”. Na próxima janela de diálogo, você pode gerar uma unidade de programação. No exemplo mostrado, é gerada uma nova POU "PLC_PRG" na linguagem de programação "LD".

Page 97: Tutorial Codesys

20 de janeiro de 2013 Página: 97

www.eaton.com Página 97

Depois disso, você pode abrir o POU "PLC_PRG" no registo "POUs" e fazer o programa como abaixo:

Depois de digitar "CONTADOR_IHM" e pressionando "ENTER" uma janela de diálogo abrira para declaração da variável. Selecione o tipo de variável "INT" e pressione OK No campo da declaração, a variável "CONTADOR_IHM" é exibida.

Page 98: Tutorial Codesys

20 de janeiro de 2013 Página: 98

www.eaton.com Página 98

Selecione no menu Project � Rebuild All para compilar o projeto. Se o programa de teste compilar sem erro, então ele está pronto para Download.

Download do programa para o CLP no dispositivo Selecione no XSoft-CoDeSys-2 menu Online � Communication Parameters. Para gerar um novo canal comunicação clique em (New ...). Selecione "TCP / IP (Level 2 Route") e de um nome a conexão de comunicação por exemplo, "Minha IHM" e reconheça a modificação com um OK.

Page 99: Tutorial Codesys

20 de janeiro de 2013 Página: 99

www.eaton.com Página 99

Digite no campo " Address" o endereço de IP do seu dispositivo (por exemplo, 192.168.0.72). Para fazer isso você tem que dar um duplo clique em "localhost" , colocar o endereço IP e pressione "Enter" para aceitar a entrada. Reconhecer a modificação com OK. Certifique-se que o menu Online � Simulation Mode esta desativado Depois você pode fazer o download do programa para o dispositivo via Online � Login. E pode iniciar o programa selecionando a opção Run em Online.

� Para que o programa do CLP permaneça no dispositivo, você tem que gerar um Boot do projeto no dispositivo. Se isso não for feito, o programa é perdido quando a energia é desligada. Para salvar o projeto no dispositivo, verifique se você está logado em (Online ���� Login) e, em seguida, selecione Online � � � � Create boot project.

Page 100: Tutorial Codesys

20 de janeiro de 2013 Página: 100

www.eaton.com Página 100

Configuração do arquivo de símbolos A comunicação entre o CLP e a IHM é feita por um endereço simbólico de variáveis. Para ser capaz de fazer isso, um arquivo de símbolo tem que ser gerado. Além disso, através deste processo de geração, o arquivo de símbolos também pode ser usado como um arquivo de importação de variáveis para a IHM. Através da importação do arquivo de símbolos na IHM todas as variáveis do CLP com seus respectivos nomes são inseridas na IHM, assim não tendo que fazer tag por tag com seus nomes e endereços no programa da IHM. O arquivo de símbolo é usado como base de comunicação. O conteúdo do arquivo de símbolos é configurado na plataforma PLC-development. Ao compilar, o arquivo de símbolo é gerado e quando fizer o Download, o programa e o arquivo de símbolo é enviado para o CLP.

� Para melhor desempenho de comunicação, sugere-se que apenas as variáveis que são necessárias para IHM sejam exportadas para o arquivo de símbolo. Sendo assim, o campo de Variáveis Globais deve ser estruturado. Isto pode ser aplicado, por exemplo, através da definição de uma área variável global onde as variáveis são separadas entre: Variáveis para comunicação com a IHM e variáveis que não são utilizadas na IHM.

Procedimento: No caso de você não tiver salvo o projeto do CLP ainda, salvar o projeto através do menu File � Save as... em seu PC.

Page 101: Tutorial Codesys

20 de janeiro de 2013 Página: 101

www.eaton.com Página 101

Geração de uma nova lista de variáveis: � Sob a árvore do projeto, clique na aba "Resources". � Na árvore Resources , abra do diretório "Resource/Global Variables". � Clique com o botão direito do mouse na entrada "Global Variables" e

selecione a opção " Add Object...".

Na janela de diálogo que aparecera digite o nome desejado da lista de variáveis e confirme pressionando OK. Definir a configuração do símbolo para o arquivo de símbolo: � Certifique-se que o menu Online � Simulation Mode esta desativado

Page 102: Tutorial Codesys

20 de janeiro de 2013 Página: 102

www.eaton.com Página 102

� Clique no menu Project � Options ... e selecione a categoria " Symbol configuration " e ative a caixa de selação " Dump symbol entries " e " Dump XML symbol table ". - Com a função " Dump symbol entries " e " Dump XML symbol table " selecionadas, dois arquivos de símbolos será gerado cada vez que o projeto é compilado.

� Definir a partir de quais os objetos as variáveis devem ser tomadas para

exportar para o arquivo de símbolo: - Clique no botão " Configure symbol file…". - Em principio todos os objetos estão selecionados. É por isso que você deve desativar a opção (para todos os objetos) em " Export variables of object ".

Page 103: Tutorial Codesys

20 de janeiro de 2013 Página: 103

www.eaton.com Página 103

- Abra o subdiretório " Resources \ Global Variables ". - Selecione a lista de variáveis que você gostaria de exportar. - Ative a opção " Export variables of object " e confirme com OK.

Page 104: Tutorial Codesys

20 de janeiro de 2013 Página: 104

www.eaton.com Página 104

� Confirmar as opções de projeto com OK.

Alocar as variáveis necessárias para Resources � Global Variables � VariaveisIHM que foi criado anteriormente:

� Na árvore, clique na aba POUs entre no projeto clicando duas vezes na

unidade de programação na qual estão as variáveis que você gostaria de alocar para a lista de variáveis.

Page 105: Tutorial Codesys

20 de janeiro de 2013 Página: 105

www.eaton.com Página 105

� Coloque o cursor na variável que você gostaria de alocar. � Clique no menu Edit � Auto Declare ... ou SHIFT+F2

- A janela de " Declare Variable" será aberta. � Selecione a classe "Class" "VAR_GLOBAL". � Selecione em "Symbol list" a lista de variáveis que você gostaria de atribuir. � Confirme os ajustes com a tecla OK. Compilar e fazer o download do projeto para o CLP: � Clique no menu Project � Rebuild all para compilar o projeto.

Page 106: Tutorial Codesys

20 de janeiro de 2013 Página: 106

www.eaton.com Página 106

� Clique no menu Online � Login para entrar Online no CLP. � Clique no menu Online � Run para rodar o programa no CLP. � Clique no menu Online � Create boot project para salvar o programa do

CLP. � Clique no menu Online � Logout para fazer logoff do dispositivo.

� O desempenho de visualização (ciclo Refresh) pode ser aumentada através do agrupamento variáveis individuais em estruturas de dados "Struct" ou campos de dados "array". Os dados estruturas e os campos de dados são transferidos em um pacote de comunicação entre o XSoft-CoDeSys-2 e o GALILEO, e as variáveis individuais são enviados em embalagens individuais uma atrás da outra.

O primeiro projeto no GALILEO Ele consiste em uma aplicação simples que deve mostrar a projeção da conexão da IHM para o CLP da XV100.

Criando um novo projeto Inicie o software GALILEO. O primeiro passo é gerar um novo projeto de IHM. Menu Project � New. Na janela "New Project" você deve primeiro criar um diretório para o novo projeto. Exemplo: IHM_Guia_rapido Isto é usado para gerar uma visão hierárquica, quando tiver mais de um projeto.

Page 107: Tutorial Codesys

20 de janeiro de 2013 Página: 107

www.eaton.com Página 107

Uma janela para um novo projeto deve ser aberta. Após isso, você deve entrar com o nome desejado no campo de entrada File name. Exemplo: IHM_Guia_rapido � Confirmar o nome com Create.

Selecionar o modelo da IHM A janela " Panel Selection" é aberto automaticamente quando um projeto novo é gerado. Também pode ser aberto através do menu Config � Panel Type em um momento posterior. Clique em " Panel Selection " e selecione o modelo da IHM:

Page 108: Tutorial Codesys

20 de janeiro de 2013 Página: 108

www.eaton.com Página 108

Confirmar os ajustes com a tecla OK.

Selecionar o CLP

Para o campo de seleção "Format" a opção Landscape é escolhido para utilização da IHM na horizontal e Portrait como porta retrato (vertical)

Page 109: Tutorial Codesys

20 de janeiro de 2013 Página: 109

www.eaton.com Página 109

A janela " Select PLC" será aberto automaticamente quando um projeto novo é gerado. Também pode ser aberta em Config � Select Communication em um momento posterior para selecionar e/ou editar mais tarde. Dependendo do modelo da IHM, diferentes tipos de comunicações estão disponíveis CAN, RS232, RS485 ou MPI. Selecione em "Add" a comunicação com o CLP. O exemplo a seguir usa o CLP integrado como a IHM. Mais também pode ser selecionado mais que um controlador. De modo que um CLP pode ser conectado através da rede MPI (Onboard) e outra para o CLP interno CoDeSys MXpro. Podemos ter diferentes tipos endereços e variáveis na mesma IHM. Seleção do CLP integrado: CoDeSys Xsoft-CoDeSys-2/MXpro

Page 110: Tutorial Codesys

20 de janeiro de 2013 Página: 110

www.eaton.com Página 110

Confirmar os ajustes com a tecla OK.

Criar Tela O primeiro passo é gerar uma máscara vazia (Tela). Na aba Masks, direcionar o cursor na opção Masks (standard) selecione com o botão direito do mouse em "New":

Page 111: Tutorial Codesys

20 de janeiro de 2013 Página: 111

www.eaton.com Página 111

Dê um nome a máscara, por exemplo: "Tela1". Após isso, você pode inserir objetos na máscara usando a barra de ferramentas Objects Toolbar. Por favor, use o menu de ajuda para informar sobre os objetos individuais e sua capacidade.

Objetos da barra de ferramentas Para inserir na tela qualquer objeto de barra de ferramentas basta selecionar o mesmo, clicar na tela e arrastar até atingir o tamanho necessário.

Page 112: Tutorial Codesys

20 de janeiro de 2013 Página: 112

www.eaton.com Página 112

Seleção – Ferramenta "Seleção" - Escolha objeto Selecione os objetos (um ou vários objetos) dentro de uma máscara

Selecção da área - Ferramenta "Área de seleção" Selecione vários objetos dentro da máscara

Texto - Desenha texto

No.: (Numero do texto) Mostra o número do texto do campo "Text". O número pode carregar diretamente o texto. Se clicar diretamente no cabeçalho "No.", você pode escolher em uma lista de textos já criados e selecionar o que será utilizado. Text: (Texto) Janela de visualização para verificar a aparência, o tamanho da fonte selecionada e as cores. Font Style: (Estilo da Fonte) Para selecionar a fonte do texto selecionado para ser mostrado no objeto. Font Size: (Tamanho da fonte) Para selecionar o tamanho da fonte para ser mostrado no objeto. Horizontal Alignment: (Alinhamento horizontal) Alinhamento de texto horizontal: "Top (em cima)", "Centered (centralizado)" e "Bottom (em baixo)" podem ser selecionados.

Page 113: Tutorial Codesys

20 de janeiro de 2013 Página: 113

www.eaton.com Página 113

Vertical Alignment: (Alinhamento Vertical) Alinhamento do texto vertical: "Left (esquerda)", "Right (ditreita)" e " Centered (centralizado)" pode ser selecionado. Bold: (Negrito) O texto é mostrado em negrito. Italic: (Itálico) O texto é apresentado em itálico. Underline: (Sublinhado) O texto é mostrado sublinhado. Strikeout: (Riscado) O texto é apresentado com um tachado. Word Wrap Automatic: (Quebra automática de linha) O texto é disposto em torno do objeto automaticamente. Foreground: (Primeiro plano) Para selecionar a cor da fonte para o texto a ser mostrado no objeto. Background: (Fundo) Para selecionar a cor de fundo do objeto. Esta seleção só está disponível se a caixa de seleção Trans. não estiver ativada. Blinking: (Piscando) Para definir se o texto ou o seu fundo é uma memória pisca pisca. O efeito pisca é causado pela alteração alternada do texto e cor de fundo. (Este atributo está disponível apenas com objetos específicos) Transparent: (Transparente) Ativando esta opção fará com que o texto apareça no objeto sem fundo. Esse atributo não está disponível para objetos dinâmicos.

Page 114: Tutorial Codesys

20 de janeiro de 2013 Página: 114

www.eaton.com Página 114

Line - Desenha linha

Outline Width: (Largura do contorno) Espessura da linha em pixels do objeto desenhado ou sua estrutura (máx. 20 pixels). Outline Color: (Cor de contorno) Cor da linha ou moldura do objeto desenhado.

Rectangle - Desenha linha "Retângulo"

Rounded Rectangle - Ferramenta de desenho "Retângulo arredondado" Os raios dos cantos podem ser ajustado conforme necessário.

Ellipse - Ferramenta de desenho "Elipse"

Polygon- Ferramenta de desenho "Polígono" Um ponto de vértice do polígono é inserido em cada posição onde o botão esquerdo do mouse é clicado. O polígono é completado por duplo clique (botão esquerdo do mouse) ou pressionando ESC.

Page 115: Tutorial Codesys

20 de janeiro de 2013 Página: 115

www.eaton.com Página 115

Os objetos "Linha", "Retângulo", "Retângulo arredondado", "Elipse" e "Polígono" são configuradas através da mesma caixa de diálogo mesmo.

Outline Width: (Largura do contorno) Espessura da linha em pixels do objeto desenhado ou sua estrutura (máx. 20 pixels). Outline Color: (Cor de contorno) Cor da linha ou moldura do objeto desenhado. Fill Color: (Cor de Preenchimento) Preenche a cor do objeto, se o " with" da caixa de seleção estiver ativado. Se o " with " da caixa de seleção não tenha sido ativada, o objeto será desenhado sem uma cor de preenchimento (transparente).

Page 116: Tutorial Codesys

20 de janeiro de 2013 Página: 116

www.eaton.com Página 116

Draw Bitmap: Insere um objeto de imagem

Keep Size: (Manter Tamanho)

• Se o "Keep Size" caixa de seleção estiver ativo, o objeto não pode ser menor do que o tamanho da imagem.

• Se o objecto é menor do que a imagem, ela é automaticamente ajustado para o tamanho da imagem.

• Se o objeto é maior do que a imagem, a imagem fica centrada no objeto. E a cor de fundo fica definida na opção Background

• Se a caixa de seleção "Keep Size" não estiver ativada, o tamanho da imagem é ajustadas conforme o tamanho do objeto.

Background: (Cor de fundo) Cor do fundo do objeto quando a imagem é menor que o objeto da tela Esta lista está disponível somente se a caixa de seleção "Keep Size" está ativado. Bitmap: (Imagem) No campo Bitmap, a janela mostra a imagem selecionada, o nome do arquivo e o tamanho original da imagem. O botão ... é usado para selecionar um bitmap. Transparent: (Transparente) Ativa / desativa a opção para exibir uma cor transparente. Display color transparently: (Mostrar cor transparente)

Page 117: Tutorial Codesys

20 de janeiro de 2013 Página: 117

www.eaton.com Página 117

Define uma cor a ser exibida transparente. Todas as áreas da imagem que contém esta cor não são exibidas, podendo assim vizualizar os objetos no fundo ta parte transparente. Seleccionar a cor a ser mostrado transparente:

Mask Change: Insere um botão para carregar máscara (tela)

Page 118: Tutorial Codesys

20 de janeiro de 2013 Página: 118

www.eaton.com Página 118

Este objecto permite uma mudança de máscara na IHM. É possível uma mudança de máscara para qualquer outra máscara no projeto. Style: (Estilo) Esta configuração é usada para definir a aparência de base do objecto.

• Text: (Texto) O botão pode ser atribuído a um texto que está selecionado e definido na aba de texto padrão. A seleção de texto e outras configurações, tais como estilo, tamanho, cor, etc. são definidas na aba de texto para o botão em ON e em OFF.

• Color: (Cor) Este botão também é mostrado como uma área colorida. A cor pode ser selecionada a partir da aba (Color). Neste estilo nenhum texto é exibido e a seleção de cor é feita para o botão em ON e em OFF.

• Bitmap: (Imagem) A imagem é exibida no botão. As fotos são selecionadas no painel Bitmap.

• Transparent: (Transparente) O botão é transparente e não é visível na máscara da IHM. No software Galileo o botão é marcado por uma linha pontilhada.

3D Frame, 2D Frame, No Frame, Delay, Double Click 3D Frame: (Quadro em 3D) O botão é descrito por uma armação de 3D. A área para o texto do botão é assim reduzida em 3 pixels devido a largura da moldura.

As cores, sombras, tamanho do quadro, etc. para esta exibição em 3D pode ser definido na caixa de diálogo Configurações de 2D/3D em Config � Settings � na aba 2D/3D Settings 2D Frame: (Quadro em 2D) A botão é descrito com um pixel 1 de largura na moldura.

As cores, sombras, tamanho do quadro, etc. para esta exibição em 2D pode ser definido na caixa de diálogo Configurações de 2D/3D em Config � Settings � na aba 2D/3D Settings No Frame: (Sem borda) O botão é mostrado sem um quadro na IHM e no GALILEO com uma linha

Page 119: Tutorial Codesys

20 de janeiro de 2013 Página: 119

www.eaton.com Página 119

pontilhada. Apenas o conteúdo do botão é mostradoa na tela. Delay: (Atrasar) A zona de toque do botão não reage até um tempo específico tenha decorrido. Isto pode evitar uma actuação brusca ou acidental de uma função. O tempo de atraso pode ser definido na caixa de diálogo toque em Config � Settings � na aba Touch. Double Click: (Clique duas vezes) A zona de toque do botão não executar uma função, a menos que tenha recebido duas operações de toque sobre o mesmo objeto dentro de um prazo de tempo especificado. O tempo desta "double-click" pode ser definido na caixa de diálogo toque em Config � Settings � na aba Touch. Mask: (Máscara) A partir desta lista você pode selecionar a máscara que a IHM vai abrir quando o botão é pressionado. Esta lista mostra todas as máscaras do projeto, exceto a máscara em que o objeto está localizado. .

Button: Insere um objeto tipo “botão”

Page 120: Tutorial Codesys

20 de janeiro de 2013 Página: 120

www.eaton.com Página 120

Tag: Lista todos os Tag’s existentes do tipo BIT, BYTE, WORD e DWORD. Um desses Tag’s pode ser selecionado para o Botão.

Botão Ao clicar neste botão irá chamar a caixa de diálogo Definição de Tags imediatamente Input Parameter: (Parâmetro de entrada) Apenas visível se o objeto encontra-se em uma sub mask. O parametro de entrada é utilizado quando existe a necessidade de fazer varias telas iguas (com os mesmos objetos) só mofificando os Tag’s dos objetos. Por exemplo, o programador cria uma tela de acionamento de motor para o controle de 30 motores diferentes e chama esta tela com os Tag’s de cada motor Address: (Endereço) Este campo mostra o endereço da Tag do CLP selecionado. SET Bit: Sem o atributo "Stream" O bit é definido como "0" quando o botão é pressionado e definido como "1" quando o botão é liberado. O estado ON será mostrado, se o bit é "1". Se o botão for pressionado por engano, é possível mover lateralmente para fora do botão, enquanto o botão permanece acionado. Deste modo, o botão pode ficar sem ser acionado. Com o atributo "Stream" O bit é definido como "1" quando o botão é pressionado e definido como "0" quando o botão é liberado. DEL Bit: Sem o atributo "Stream" O bit é definido como "0" quando o botão é pressionado e definido como "1" quando o botão é liberado. Com Bit = 1 o estado OFF é mostrado. Se o botão está pressionado por engano, é possível mover lateralmente para fora do botão, enquanto o botão permanece acionado. Deste modo, o botão pode ficar sem ser acionado. Com o atributo "Stream" O bit é definido como "0" quando o botão é pressionado e definido como "1" quando o botão é liberado. Stream: Este atributo define a função de um botão. Se "Stream" é ativado, o bit será definido como "1" quando pressionado (ou "0" quando o " DEL bit" estiver ativado). Quando o botão é liberado o valor inicial será devolvido. Se "Stream" não for ativado, o bit é invertido cada vez que o botão é desacioando.

Page 121: Tutorial Codesys

20 de janeiro de 2013 Página: 121

www.eaton.com Página 121

BIT: Define que bit deve ser alterada dentro da tag. Esta opção só é visivel se o tag for do tipo BYTE, WORD ou DWORD 3D Frame, 2D Frame, No Frame, Delay, Double Click e Style Já foi abordado no objeto Button

Switch

Este objeto permite o acionamento de bits individuais ou de vários bits em um tags. Estes tags podem ser do tipo (byte, Word, ou Dword) e pode ser acionado ou desacioando ao mesmo tempo.

Page 122: Tutorial Codesys

20 de janeiro de 2013 Página: 122

www.eaton.com Página 122

Shift Left Bit: (Deslocamento de Bit à esquerda) Cada vez que o botão é tocado o bit é deslocado para a esquerda dentro do tag (na direção do bit mais significativo). Ativando a caixa de seleção "Endless" faz com que o bit seja movido para o bit 0, quando o bit mais significativo for atingido. Se a caixa de seleção "Endless" não está ativada, não haverá mudança no tag quando chegar no fim do bit mais significativo. Shift Right Bit: (Deslocamento de Bit à direita) Cada vez que o botão é tocado o bit for deslocado para a direita dentro do tag (na direção do bit menos significativo). Ativando a caixa de seleção "Endless" faz com que o bit seja movido para o bit mais significativo, quando o bit 0 bit já foi atingido Se a caixa de seleção "Endless" não está ativada, não haverá mudança no tag quando chegar no bit 0. O bit mais significativo depende do tamanho do tag e as configuração de "Passos" (por exemplo, 5 passos = Bit 0 ... 4 -> bit mais significativo é o bit 4). Set Bit Mask: (Definir Máscara Bit) Tocando o botão na IHM fará com que o tag vá para qualquer valor definido. Se a caixa de seleção “User Bit Mask” estiver ativado, o valor pode ser digitado em formato binário nos campos abaixo dele (ON). Se a caixa de seleção “User Bit Mask” não for ativado a opção "Bit" pode ser usado para definir quais bit no tag deve ser definido como "1". Nesta configuração, apenas um bit pode ser definido como 1 dentro da tag (todos os outros será definido como "0"). Set two Bit Masks ON/OFF: (Definir duas máscaras de bits ON / OFF) Quando o botão da IHM está acionado, o tag é definido de acordo com o campo ON. Quando o botão está desacioando, a tag é definido de acordo com o campo OFF. Se a caixa de seleção “User Bit Mask” estiver ativado, os valores podem ser inseridos nos campos ON e OFF no formato binário. Se a caixa de seleção “User Bit Mask” não for ativado a opção "Bit" pode ser usado para definir quais bit no tag deve ser definido como "1". Nesta configuração, apenas um bit pode ser definido como 1 dentro da tag (todos os outros será definido como "0"). 3D Frame, 2D Frame, No Frame, Delay, Double Click e Style Já foi abordado no objeto Button

Page 123: Tutorial Codesys

20 de janeiro de 2013 Página: 123

www.eaton.com Página 123

Flag Display:

Com este objeto uma imagem, cor ou texto pode ser exibido na IHM para cada bit (Estados por Bit) ou para cada valor de tag (Valor por Estados). States per Bit: (Estado por Bit) Com essa configuração, cada bit do tag representa um estado diferente. A tag BYTE, portanto, tem até 9 estados. O número de estados pode ser definido através do campo “No of States” (numero de Estado). Se mais de um bit é definido como 1 dentro do tag, o bit menos significativo determina o estado. States per Value: (Estados por Valor) Com essa configuração cada valor de tag representa um estado diferente. A tag BYTE, portanto, tem até 256 estados. O número de estados pode ser definido através do campo “No of States” (numero de Estado). No. of States: (Numero de Estados) Este campo de entrada é utilizada para definir o número de estados utilizados. O número máximo possível depende do tipo da tag seleccionada. A quantidade máxima absoluta com estilo "texto" ou "cor" selecionado é de 65.536 estados. A quantidade máxima absoluta com o estilo "bitmap" selecionado é de 10.000 estados.

Page 124: Tutorial Codesys

20 de janeiro de 2013 Página: 124

www.eaton.com Página 124

3D Frame, 2D Frame, No Frame, Delay, Double Click e Style Já foi abordado no objeto Button

Value Entry / Display

Value display: Display sem entrada de valores. Definido em keyboard como “None” Value entry: Display com entrada de valores. Definido em keyboard como diferente de “None” (uma lista de teclados podem ser definidos no projeto) Este objeto é usado para inserir ou exibir uma tag do tipo BIT, BYTE, WORD DWORD, ou FLOAT como um valor numérico na IHM. O Display pode mudar de cor se o valor está fora de uma gama definida. O tamanho, cor, estilo e alinahmento da fonte podem ser definidos na aba Color/Font. A gama de valores mostrado no display é limitado pelo "máximo” e mínimo”. Definido no objeto Tag Unit: (Unidade) Uma unidade de medida pode ser atribuído a cada valor de Tag (Definido no objeto Tag). As seguintes opções são possíveis:

• Não exibir unidade de medida

Page 125: Tutorial Codesys

20 de janeiro de 2013 Página: 125

www.eaton.com Página 125

• Exibir unidade de medida para a direita do valor (valor da unidade de medida é separados por um espaço)

• Mostrar unidade de medida acima do valor (2 linhas) keyboard: (Teclado) Lista de teclados disponíveis para introduzir um valor. Um desses teclados pode ser selecionado. Lead Zero: (Liderar Zero) Se esta opção for ativada, o valor é sempre mostrado em sua largura máxima. Se o valor for inferior ao valor máximo, zeros à esquerda será exibido ("0"). Exemplo de uma etiqueta com 6 dígitos: Sem zeros: 12,00 m / min Com zeros: 0.012,00 m / min A largura máxima depende do número de dígitos definido. (Definido no objeto Tag) Maximum: (Máximo) Este campo mostra o valor máximo na IHM. O valor é calculado a partir do valor máximo do CLP. As cores para essa faixa de valor pode ser definido na aba Color/Font (> = limite superior). Upper Limit: (Limite superior) Este campo mostra o limite superior do valor na IHM. O valor é calculado a partir do limite superior do valor do CLP. O limite superior determina o valor no qual o display pode mudar a cor, tamanho da fonte, e a fonte se o valor for excedido. As cores para essa faixa de valor pode ser definido no painel Color/Font (> = limite superior). (Definido no objeto Tag). Default: (Padrão) Este campo mostra o valor padrão na IHM. O valor é calculado a partir do valor padrão do CLP. O valor pré-determinado só é efetivo se a IHM está operando em offline (não conectado CLP) ou o tag não é endereçado. O valor é mostrado neste cor se o valor situa-se entre a limites superior e inferior. As cores para essa faixa de valor pode ser definido no painel Color/Font. (Definido no objeto Tag). Lower Limit: (Limite Inferior) Este campo mostra o limite inferior do valor na IHM. O valor é calculado a partir do limite inferiior do valor do CLP. O limite inferior determina o valor no qual o display pode mudar a cor, tamanho da fonte, e a fonte se o valor for excedido. As cores para essa faixa de valor pode ser definido no painel Color/Font (<= Limite).

Page 126: Tutorial Codesys

20 de janeiro de 2013 Página: 126

www.eaton.com Página 126

Minimum: (Mínimo) Este campo mostra o valor mínimo na IHM. O valor é calculado a partir do valor mínimo do CLP. As cores para essa faixa de valor pode ser definido na aba Color/Font(<= Limite). 3D Frame, 2D Frame, No Frame, Delay, Double Click e Style Já foi abordado no objeto Button

PLC-Text

Este objeto permite a exibição de uma seqüências de caracteres na IHM. String: (Seqüência de caracteres) Lista todos os tag’s tipo string existente. Uma dessas tag’s pode ser selecionado para o objeto. Keyboard: (Teclado) Lista de teclados disponíveis para introduzir um valor. O valor de retorno do teclado contém uma seqüência de caracteres e não um número. Se um um teclado for selecionado, o objeto torna-se uma entrada de valores. Se nenhum teclado for selecionado, o objeto é somente um display sem entrada de valores. Maximum Text Length: (Comprimento do Texto Máximo) Define o número máximo de caracteres que podem ser inseridos.

Page 127: Tutorial Codesys

20 de janeiro de 2013 Página: 127

www.eaton.com Página 127

3D Frame, 2D Frame, No Frame, Delay, Double Click Já foi abordado no objeto Button

Slider

Objecto deslizante usado para ajuste grosseiro do valor na tag. por exemplo, intencidade de luz. Direction: (Direção) Os botões de seta pode ser usado para definir o sentido de execução do cursor. O objeto pode ser definido com um formato horizontal ou vertical. Background visible: (Fundo visível) Se esta opção for desativada, somente o botão do objeto é desenhado. Caso contrário, a área de fundo inteiro do deslizador é preenchido com a cor de fundo. Background color: (Cor de fundo) A cor do fundo do deslizante pode ser definido aqui. Button size: (Tamanho do botão) O valor define a largura do botão em pixels para um controle deslizante horizontal ou a altura botão para um controle deslizante vertical. Limits: (Limites) Os valores-limite definir o intervalo que deve ser mostrado com no controle deslizante. 3D Frame, 2D Frame, No Frame, Delay, Double Click, Style e Stream

Page 128: Tutorial Codesys

20 de janeiro de 2013 Página: 128

www.eaton.com Página 128

Já foi abordado no objeto Button

Bargraph

Este objeto permite que um tag de valor (BYTE, WORD, DWORD, FLOAT) seja mostrada como um gráfico de barras Keyboard: (Teclado) Lista de teclados disponíveis para introduzir um valor. Direction: (Direção) Os botões de seta pode ser usado para definir o sentido de execução do cursor. O objeto pode ser definido com um formato horizontal ou vertical. Scale: (Escala) Dependendo da direção escolhida, as caixas de seleção "Top/Bottom" e " Left/Right" definir se uma escala deve ser exibida ou não. Se o dimensionamento é para ser mostrado a largura da barra é reduzida em cerca de 18 pixels uma vez que a escala deve sempre ter espaço suficiente dentro de um objecto. A escala é composta de graduações e não contém qualquer texto ou unidade de medição exibida. Se o texto é necessário, esta deve ser criado usando objetos Ticks: carrapatos A configuração de " Ticks" define a número de graduações da escala. Bargraph aba Options:

Page 129: Tutorial Codesys

20 de janeiro de 2013 Página: 129

www.eaton.com Página 129

Esta aba é utilizado para definir os valores-limite e as cores que lhes são atribuídas Standard Mode: (Modo padrão) O display do Bargraph não pode ser modificado no modo Standard, isto é, os valores limite são transferidos da Tag para o Bargraph. O valor de referência é o mesmo que o valor mínimo. Enhanced Mode: (Modo avançado) Modo avançado permite que você defina os valores-limite no Bargraph. Eles podem ser definidos como valores constantes, ou como valores dinâmicos usando tags. Value of the selected tag Já foi abordado no objeto Value Entry / Display

Gauge O objeto indicador é usado para exibir valores de tags, por exemplo, velocidades rpm dos motores. O objecto pode ser fornecido com uma vasta gama de gráficos de vídeo.

Page 130: Tutorial Codesys

20 de janeiro de 2013 Página: 130

www.eaton.com Página 130

Page 131: Tutorial Codesys

20 de janeiro de 2013 Página: 131

www.eaton.com Página 131

Graph O objeto gráfico é usado para exibir os valores graficamente. Todas BIT e valor de tags podem ser mostradas graficamente dentro do objeto gráfico É possível um máximo de 100 gráficos por projeto. Até 32 valores de tags diferentes pode ser mostrado por gráfico, ou seja, o número máximo permissível de curvas é 32.

Recipe

Recipe: (Receita) Seleção das definições de receitas configuradas. Write Protection Column: (Escreve Coluna Proteção) Se esta opção for selecionada, a coluna de proteção contra gravação é exibida na lista de seleção de receita, caso contrário, esta coluna não é visível na lista de seleção. Entry Number Column: (Entrada número Coluna) Se esta opção for selecionada, a coluna com o número de entrada é exibida na lista de seleção de receita, caso contrário, esta coluna não é visível na lista de seleção. Entry Name: (Entrada de Nome) Se esta opção for selecionada, a coluna com o nome da entrada é exibida na lista

Page 132: Tutorial Codesys

20 de janeiro de 2013 Página: 132

www.eaton.com Página 132

de seleção de receita, caso contrário, esta coluna não é visível na lista de seleção. Exemplo: Vamos criar uma receita com 4 variáveis. Temperatura, Pressão, Nível e Vazão Primeiro passo: Crie estes tag’s no CLP e importe para a IHM

Na aba Recipes, crie uma nova receita em Enhanced Recipes ���� New, coloque o nome de Receita1

Page 133: Tutorial Codesys

20 de janeiro de 2013 Página: 133

www.eaton.com Página 133

Nesta tela coloque o numero de variáveis da receita em No. Of Recipe Entries

Na aba Recipes Tags, vincule as tags que foi criada para receita e confirme com OK

Page 134: Tutorial Codesys

20 de janeiro de 2013 Página: 134

www.eaton.com Página 134

Com o botão direito sobre o nome da receita, selecione a opção Edit... Caso não tenha salvo as alterações uma tela pedindo para salvar será aberta.

Page 135: Tutorial Codesys

20 de janeiro de 2013 Página: 135

www.eaton.com Página 135

Preencha a tabela com os nomes das receitas e as variáveis necessárias. Salve as alterações em File � Save e feche a tela RecipeEdite.

Crie uma nova tela no projeto selecione a opção Recipe em Objects � Recipe, insira o objeto na tela no tamanho desejado e de um duplo clique para entrar na tela de configuração da receita e na aba Recipe e selecione a receita que foi anteriormente criada.

Para Selecionar as receitas e carregar os valores na IHM temos que criar os botões de controle especiais em Function Key. Entre em Group e selecione a

Page 136: Tutorial Codesys

20 de janeiro de 2013 Página: 136

www.eaton.com Página 136

opção Recipies. Entre em Function e selecione a opção Load Recipie Entry, e entre em Recipe e selecione o nome da Receita criada anteriormente. Por fim coloque o nome do botão, por exemplo, CARREGA VALORES. Coloque outros dois botões de controle especiais em Function Key para subir e descer a seleção da receita na visualização. Entre em Group e selecione a opção Recipies. Entre em Function e selecione a opção Line Up para o botão que sobe e Line Down para o botão que desce, e entre em Recipe e selecione o nome da Receita criada anteriormente. Por fim coloque o nome do botão, por exemplo, SOBE e DESCE.

Para visualizar os valores das receitas em cada tag, coloque um display com o endereço em cada tag.

Page 137: Tutorial Codesys

20 de janeiro de 2013 Página: 137

www.eaton.com Página 137

Teste a receita e verifique os valores também no CLP.

Error Window Textos de erro pode ser exibida no objeto Error window. São três categorias (errors, warnings e infos) � (erros, avisos e infos) que podem ser exibidas em cores diferentes.

Page 138: Tutorial Codesys

20 de janeiro de 2013 Página: 138

www.eaton.com Página 138

State: (Estado) Quando essa caixa de seleção é ativada, a coluna é exibido na janela de erro com o status de erro correspondente. 0 = Erro não está mais presente 1 = Erro está presente X = Erro reconhecido Error Text: (Texto de erro) Quando essa caixa de seleção é ativada, a coluna com o texto de erro é mostrada na janela de erro. O número de caracteres em um texto de erro não é restrita e não pode exceder o comprimento de uma linha. Se o texto for maior, ele vai ser cortado do lado direito. Nota: Quanto menor o tamanho da fonte, mais texto pode aparecer em uma linha. Representation: (Representação) "Same line as the rest of the information" "Mesma linha que o resto da informação" O texto de erro será exibida na mesma linha como todas as outras informações selecionadas. " 1 Line / 2 Lines / 3 Lines " O texto de erro é exibida em 1 a 3 linhas separadas.

Page 139: Tutorial Codesys

20 de janeiro de 2013 Página: 139

www.eaton.com Página 139

Error Number: (Número do erro) Quando essa caixa é activada, a coluna com o número de erro é mostrado na janela de erro. Format: (Formato) O campo de formato pode ser utilizado para definir a saída de números de erro na janela de erro. O caractere "#" é o espaço reservado para um número. Os caracteres seguintes podem ser usados como separadores entre os marcadores de posição de número ; : . , ' / - | Se o número de erro tem menos lugares decimais do que o formato definido, os lugares são preenchidos com zeros à esquerda. Date/Time: (Data / Hora) Se esta opção for ativada, a coluna de data e hora é mostrada na janela de erro. O formato de exibição de data e hora podem ser definidas na caixa de listagem abaixo.

Column Order: (Ordem das Colunas) Esta lista pode ser usado para definir a ordem de colunas visíveis na tela de alarmes Sorting: (Classificação) Define a ordem na qual as entradas de erro da janela são classificados.

• Entrada mais recente na parte inferior: As novas entradas são adicionadas à parte inferior da lista.

• Entrada mais recente no topo: As novas entradas são adicionadas à parte superior da lista.

Priority: (Prioridade) Define a ordem de classificação também de acordo com as prioridades para os erros, avisos e mensagens. As prioridades podem ser definidas separadamente para cada janela de erro. Se as mensagens de aviso, de erro, ou a informação são definidos as mesmas prioridades, estes são exibidos em ordem cronológica.

• Alta é apresentada como a primeira entrada • Médio é apresentada como a segunda entrada • Baixa é exibido no final das entradas

Page 140: Tutorial Codesys

20 de janeiro de 2013 Página: 140

www.eaton.com Página 140

Exemplo: Vamos criar uma tela de alarmes com 3 tags de erro. Erro1, Erro2, Erro3 e Erro4 Primeiro passo: Crie estes tag’s no CLP e importe para a IHM

Selecione os tags tipo bit e com o botão direito do mouse, transforme para tag tipo Error em Change data type � to error

Page 141: Tutorial Codesys

20 de janeiro de 2013 Página: 141

www.eaton.com Página 141

Com um duplo clique sobre tag abra a tela de configuração e selecione se o tag é do tipo erro, ou aviso ou mensagem em Message type. Também pode ajustar se o tag vai precisar de confirmação em Need Confirmation ou gerar um histórico em Add to history.

Na aba Address selecione o tempo de leitura do tag em Polling [s].

Page 142: Tutorial Codesys

20 de janeiro de 2013 Página: 142

www.eaton.com Página 142

Na aba Texts escreva o texto do alarme em Text. Faça este procedimento para todos os tags de erro.

Crie uma nova tela no projeto selecione a opção Error Window em Objects � Error Window, e insira o objeto na tela no tamanho desejado. Após isso crie os botões para selecionar os alarmes, reconhecer os erros e verificar os históricos na IHM com os botões de controle especiais em Function Key.

Page 143: Tutorial Codesys

20 de janeiro de 2013 Página: 143

www.eaton.com Página 143

• Botão sobe: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Error Line Up. Coloque o nome do botão, por exemplo, SOBE.

• Botão Desce: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Error Line Down. Coloque o nome do botão, por exemplo, DESCE.

• Botão Desce: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Error Line Down. Coloque o nome do botão, por exemplo, DESCE.

• Botão Reconhece Erro: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Error Confirme. Coloque o nome do botão, por exemplo, RECONHECE ERRO.

• Botão Reconhece Erro: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Error Confirme. Coloque o nome do botão, por exemplo, RECONHECE ERRO.

• Botão Histórico de Erro: Entre em Group e selecione a opção Internals. Entre em Function e selecione a opção Show History On/Off. Coloque o nome do botão, por exemplo, RECONHECE ERRO.

Faça o Download para a IHM e teste os alarmes

Page 144: Tutorial Codesys

20 de janeiro de 2013 Página: 144

www.eaton.com Página 144

Extended Error Information Window Este objecto pode ser utilizado para a inserção de uma janela de informação de erro estendido. (só é visível quando um texto de erro é exibido)

Help Information O objeto Help information permite a exibição de ajuda em forma de textos ou imagens atraves de um botão de Ajuda ou um tag. As informações de Ajuda para as tags é definido no Gerenciador de Ajuda.

Help Button Use este objeto para exibir Informações de ajuda em uma tela de ajuda na IHM

Function Key Este objecto permite uma vasta gama de funções para ser iniciado. A gama de todas as funções foram divididas em grupos temáticos para garantir uma maior visão.

Time/Date Display Este objecto pode ser utilizado para apresentar a hora e / ou a data. O relógio integrada da IHM é usado para esta função.

Parameter List Este objeto é usado para mostrar e mudar Tags em uma lista. Esta lista contém até 4 colunas: coluna de imagem, coluna Número, coluna Descrição e coluna Valor. A coluna Valor contém o valor da tag atual, que é mostrada na mesma maneira como no objecto Value Entry / Display. O valor da tag é convertido e exibido sempre com casas decimais e unidade de medida, dependendo das configurações descritas na secção das Unidades e Fatores de Conversão. A unidade de medida é mostrada no lado direito de o valor da tag.

Page 145: Tutorial Codesys

20 de janeiro de 2013 Página: 145

www.eaton.com Página 145

Sub Mask Este objeto permite embutir na tela de programação uma sub. Máscaras de sub são adequados para reunir objetos que são usados em vários locais na combinação projeto de máscaras e das respectivas dotações que são carregados para o IHM como uma unidade:. Por exemplo, linhas de cabeçalho, linhas de rodapé ou grupos de objetos recorrentes.

Camera

Page 146: Tutorial Codesys

20 de janeiro de 2013 Página: 146

www.eaton.com Página 146

O GALILEO tem um sistema de ajuda com exemplos e instruções detalhadas para cada objeto. Como exemplo você pode encontrar na aba Content / Demos / Fast Start uma diretriz de animação para o seu primeiro projeto no GALILEO.

Importar Tag’s No nosso pequeno exemplo, estamos exibindo um valor numérico do CLP. Para isso, devemos primeiro gerar as variáveis utilizadas. Isto é realizado ao longo dos Tags registo.

Page 147: Tutorial Codesys

20 de janeiro de 2013 Página: 147

www.eaton.com Página 147

Se o CLP integrado é usado e o arquivo símbolo do CLP foi compilado direito, os nomes variáveis podem ser importados. Mude para a aba "Tags"; mova o cursor do mouse para qualquer variável, por exemplo "Bit" e pressione o botão direito do mouse. Uma caixa de diálogo será aberta, onde você tem que selecionar "Import". Selecione o arquivo de símbolo que foi criado no programa do CLP. Você pode encontrar o arquivo de símbolo no mesmo diretório onde o programa do CLP foi salvo no PC. Confirme a importação precionando o botão “Start”. Consulte também o Capítulo 3.6.

Page 148: Tutorial Codesys

20 de janeiro de 2013 Página: 148

www.eaton.com Página 148

Através da importação do CLP da variável "CONTADOR_IHM" do tipo WORD a variável é inserida a lista de Tag. A marcação verde da variável mostra que o endereçamento com o PLC já ocorreu.

Para usar variáveis de outro tipo de controlador ou usar variáveis sem utilizar a função de importação você tem que usar o seguinte procedimento:

Page 149: Tutorial Codesys

20 de janeiro de 2013 Página: 149

www.eaton.com Página 149

Exemplo de uma variável do tipo byte: Posicione o cursor do mouse sobre o tipo de variável "byte", pressione o botão direito do mouse e selecione "New Tag". Em seguida, insira o nome da variável. Assim, a variável é gerada mas fica marcada com a cor azul. A cor azul significa que a variável não tem nenhum endereço e não tem, portanto, nenhuma comunicação possível com um CLP. Isto é como você gerar uma variável local de visualização. Com um duplo clique sobre a variável uma janela de configurações de tag será aberta para a variável.

Page 150: Tutorial Codesys

20 de janeiro de 2013 Página: 150

www.eaton.com Página 150

Na caixa de diálogo Tag Settings opção "Address" você pode clicar sobre o botão "…" e digitar o endereço do CLP. Este endereço depende do tipo do CLP selecionado. Se você está se comunicando ao CLP interno, você também deve inserir o nome do arquivo de símbolo. (Isto apenas aplica as variáveis globais do CLP).

Page 151: Tutorial Codesys

20 de janeiro de 2013 Página: 151

www.eaton.com Página 151

Ao comunicar-se a outro controlador o endereço digitado deve ser específico do protocolo. Na caixa de diálogo "Setting address" você pode ver e selecionar a nomenclatura possível necessária. De acordo com a nomenclatura desejada são possíveis os seguintes campos de entrada para lidar com as variáveis. O exemplo apresentado mostra o endereço de uma variável para um controlador S7 em Industrial Ethernet. A nomenclatura de uma variável é selecionada fora do bloco de dados do controlador. O endereço selecionado procede como DB20 byte 100.

Page 152: Tutorial Codesys

20 de janeiro de 2013 Página: 152

www.eaton.com Página 152

Depois de definir o endereço da variável, a lista de variáveis fica marcada como verde (=endereçada).

Gerar objeto de exibição Inserir um objeto do tipo valor numerico de entrada "Value Entry / Display" na máscara de início:

Para fazer isso você deve clique na lista de objetos no ícone e, em seguida, arrastar o mouse até a tela, precione no ponto inicial e arraste e solte no ponto final de tal maneira que o Display fique do tamanho e posição desejada na tela

Page 153: Tutorial Codesys

20 de janeiro de 2013 Página: 153

www.eaton.com Página 153

Através de um duplo clique sobre o novo campo de objeto gerado será exibida a janela de propriedades. Selecione na lista de Tag a variável desejada e confirme o diálogo com OK.

Page 154: Tutorial Codesys

20 de janeiro de 2013 Página: 154

www.eaton.com Página 154

O Objeto Value Entry / Display fica com a variável vinculada. (88888) Podemos acabar com nosso pequeno projeto e agora ir para a próxima etapa do projeto; Compilar e transferir para a IHM.

Compilar o projeto

Através do menu Build � Compile ou sobre o botão o projeto será compilado. O processo de compilação é protocolado em uma janela de exibição. Eventuais erros serão exibido em vermelho. Por meio de barras de rolagem são detalhadas as mensagens que em seguida, pode ser lidas.

Page 155: Tutorial Codesys

20 de janeiro de 2013 Página: 155

www.eaton.com Página 155

Simulação do projeto no PC

Através do menu Build � Start Project de projeto ou sobre o botão você pode iniciar a simulação do projeto em seu PC. Simulação do projeto no PC (Project Inspector)

Page 156: Tutorial Codesys

20 de janeiro de 2013 Página: 156

www.eaton.com Página 156

Download do Projeto para IHM Agora o projeto gerado deve ser baixado para iniciar na IHM.

Iniciar o FTP-Server na IHM Para obter uma conexão entre o PC e o dispositivo, você deve iniciar o FTP Server na IHM. O FTP Server (File Transfer Protocol) é usado para transferência de arquivos via Ethernet. O programa servidor para Windows CE é chamado «FtpSvr.exe». Selecione na IHM: Start � Programs � Communication � FTP Server O FTP Server também pode ser iniciado automaticamente quando o dispositivo é inicializado, alterando o Autoexec do Windows CE

Page 157: Tutorial Codesys

20 de janeiro de 2013 Página: 157

www.eaton.com Página 157

Para alterar o Autoexec do Windows CE na IHM, entre no GALILEO em Config � CE Configuration � na aba Startup. Localize na barra de rolagem, a linha de comando “REM START FtpSvr.exe –h” Retire a palavra “REM” de forma que sua inicialização seja automática.

Caminho para gerar o FTP no GALILEO Para fazer o Download do projeto para a IHM os parâmetros para a comunicação do projeto para a IHM devem ser gerados. Vá para a caixa de diálogo de

download através do menu Build � Download (local, FTP) ou sobre o botão .

Page 158: Tutorial Codesys

20 de janeiro de 2013 Página: 158

www.eaton.com Página 158

Na janela "Download" clique no botão " FTP path". A janela " FTP Connections " aparecerá. Clique em "New Connection". Aparece a janela "Properties : FTP-Connection". Insira um título, o endereço de IP da IHM e o caminho para o download na IHM. Com um clique em "Procurar" já você deve encontrar o caminho de \InternalStorage da IHM. Mas para isso devem existir uma conexão ativa e o endereço IP na IHM. Como alternativa, você pode alternar para o diretório \StorageCard (cartão SD) Clique em "OK" para salvar os novos parâmetros. A conexão com o seu título deve agora e ser selecionável. Clique na conexão desejada e confirme com "Close".

Page 159: Tutorial Codesys

20 de janeiro de 2013 Página: 159

www.eaton.com Página 159

O caminho FTP selecionado pode ser visto no campo "Local/FTP path".

Download do projeto da IHM Depois que o projeto de visualização foi gerado e compilado e as configurações de destino estiverem terminadas, agora você pode iniciar o download do projeto para a IHM. Para isso selecione o menu Build � Download (local, FTP) ou

pressione o botão . E a caixa de diálogo de Download é exibida.

Page 160: Tutorial Codesys

20 de janeiro de 2013 Página: 160

www.eaton.com Página 160

� A seleção Clear before download é para apagar o ultimo programa que

esta rodando na IHM. � A seleção Recipe Data é para enviar para IHM uma nova receita ou uma

eventual modificação na receita já criada. � A seleção Password Data é para enviar para IHM uma nova senha ou uma

eventual modificação na senha já criada. � A seleção Source Project as zip é para enviar o projeto para dentro da

memoria interna da IHM, possibilitando fazer Uploads futuros. � A seleção Operating System and Component é para enviar o sistema

operacional para a IHM Inicie o download do projeto sobre o botão "Download". Durante a transferência do projeto você pode ver o progresso. Eventualmente, será perguntado sobre diálogos se você quer também fazer download de atualizações do sistema operacional ou progrma de execução e visualização(GRS). Se a transferência do projeto é concluída a seguinte caixa de diálogo será exibida. Selecione agora "Start GRS" (GRS = GALILEO Runtime System) para iniciar o projeto de visualização na IHM. Enquanto o GRS inicia informações de status serão exibidas na tela da IHM. Depois que sua tela projetada será exibida.

Page 161: Tutorial Codesys

20 de janeiro de 2013 Página: 161

www.eaton.com Página 161

Quando a exibição da tela de início do projeto IHM_Guia_rapido e o programa CLP é iniciado na IHM, o valor deve ser carregado constantemente. Se não houver nenhuma conexão com o PLC, em seguida, uma mensagem de erro cíclico aparecerá com as informações que as variáveis estão sem comunicação.

Page 162: Tutorial Codesys

20 de janeiro de 2013 Página: 162

www.eaton.com Página 162

Upload do programa da IHM Para realizar um futuro Up-Load do programa da IHM é necessário selcionar a opção Source Project as zip na realização do Dowunload que é enviar o código fonte para a memoria da IHM. Caso o programador não realize este procedimento, o programa não pode ser baixado da IHM. Para fazer o Up-Load do programa, abra um novo projeto e entre na opção Build � Upload Project...

• Selecione na opção Project Path: pelo botão Browse a pasta onde será salvo o projeto.

• Selecione na opção Local/FTP Path: pelo botão FTP Path o tipo de comunicação e endereço de rede da IHM.

Apos estas configurações, pressione o botão Upload para baixar o programa. O programa gravado na memoria da IHM deve se abrir. Caso não abra verifique a comunicação com o dispositivo.