Você está na página 1de 67

Curso de Programao de CLP, IHM e Supervisrio

Siemens S7-1200/IHM KTP600/Elipse E3

NIKOLAS HENNEMANN BARBOSA


Luzerna, 2013

Introduo .................................................................................................... 5

Criando um Projeto ...................................................................................... 6

Configurando o hardware ............................................................................ 9

3.1

Configurao Manual de Hardware............................................................................ 9

3.2

Configurao Automtica de Hardware ................................................................... 12

3.3

Configurao do endereo IP ................................................................................... 14

3.4

Configurao de endereos lgicos .......................................................................... 14

3.5

Configurao de Clock e System Memory ................................................................ 15

Project Tree ............................................................................................... 17


4.1

Device Configuration ............................................................................................... 18

4.2

Online & Diagnostics................................................................................................ 18

4.3

Program Blocks ........................................................................................................ 18

4.4

Technology Blocks ................................................................................................... 18

4.5

External Source File ................................................................................................. 19

4.6

Declarao da Lista de Variveis .............................................................................. 19

4.7

PLC Data Types ........................................................................................................ 20

4.8

Watch and Force Tables ........................................................................................... 20

4.9

Program Info ........................................................................................................... 22

4.10

Local Modules ......................................................................................................... 22

Programao Bsica.................................................................................. 25
5.1

Temporizadores....................................................................................................... 27

5.2

Contadores .............................................................................................................. 33

5.3

Comparadores ......................................................................................................... 35

5.4

Tipos de Blocos ........................................................................................................ 38

5.4.1

Functions ......................................................................................................... 38

5.4.2

Function Block ................................................................................................. 41

Pgina | 2

5.4.3

Bloco de Dados (DB)......................................................................................... 44

5.4.3.1

Tipos Elementares........................................................................................ 44

5.4.3.2

Tipos Complexos .......................................................................................... 45

5.4.4

Blocos de Organizao (OB) ............................................................................. 46

5.4.4.1

OB1 Program Cycle.................................................................................... 48

5.4.4.2

OB10x Startup ........................................................................................... 48

5.4.4.3

OB20x Time delay interrupt ....................................................................... 48

5.4.4.4

OB3x Cyclic Interrupt................................................................................. 49

5.4.4.5

OB4x Hardware Interrupt .......................................................................... 49

5.4.4.6

OB80 Time error interrupt ......................................................................... 49

5.4.4.7

OB82 Diagnostic Interrupt ......................................................................... 49

Download do Programa ............................................................................. 49

Iniciando um Projeto com a IHM ................................................................ 50


7.1

Configurando a IHM................................................................................................. 53

7.1.1

Criando a Conexo com o CLP .......................................................................... 53

7.1.2

Layout de Tela.................................................................................................. 54

7.1.3

Pr-configurando alarmes: ............................................................................... 55

7.1.4

Mapeamento de Telas ..................................................................................... 56

7.1.5

System Screen.................................................................................................. 57

7.1.6

Rodap ............................................................................................................ 58

7.2

Objetos de Tela........................................................................................................ 59

7.2.1

Basic Objects .................................................................................................... 59

7.2.2

Elementos ........................................................................................................ 60

7.2.2.1

Display (I/O Field)......................................................................................... 60

7.2.2.2

Boto ........................................................................................................... 60

7.2.2.3

Display Simblico (Symbolic I/O Field) .......................................................... 60

Pgina | 3

7.2.2.4

Display Grfico (Graphic I/O Field)................................................................ 60

7.2.2.5

Display de Data/Hora (DateTime Field)......................................................... 60

7.2.2.6

Bar (Bar)....................................................................................................... 60

7.2.2.7

Switch (Switch)............................................................................................. 60

7.3

Propriedades dos objetos ........................................................................................ 61

7.4

Animaes ............................................................................................................... 62

7.5

Events...................................................................................................................... 64

7.5.1

Funes dos Eventos ........................................................................................ 65

Pgina | 4

1 Introduo

A presente apostila tem como objetivo auxiliar os alunos do curso de programao avanada
de CLP, IHM e Supervisrios na criao de um projeto novo utilizando o software TIA V11,
destinado a programao de Controladores Lgicos Programveis da linha S7-1200 da
Siemens.
Neste documento tambm esto descritos procedimentos para utilizao de temporizadores,
contadores, entradas e sadas analgicas, criao de FC, FB e DB, programao estruturada,
programao em SCL, STL, bem como utilizao do controle PID prprio do CLP.
Levando em considerao a arquitetura e a filosofia TIA (Totally Integrated Automation), neste
software possvel a programao de toda a linha de CLPs, IHM e Supervisrio da Siemens.
A verso utilizada no SENAI a TIA Basic, liberando apenas a programao da linha S71200 e
IHM KTP, porm, nas verses Professional e Advanced, esto liberadas todas as famlias de
CLPs (S7-1200, S7-300, S7-400, ET200s CPU) e tambm toda a linha de IHMs (KTP, TP, MP,
Comfort Panel).
Utilizando este princpio, nesta apostila tambm estar disponvel um tutorial de criao de
projeto uitilizando a IHM KTP600, disponveis nos KIT didticos da Unoesc.
O software de superviso que ser utilizado em sala de aula o Elipse E3, da marca Elipse de
Porto Alegre RS. Este supervisrio um dos lideres atuais do mercado de sistemas de
superviso, tendo uma ampla plataforma de desenvolvimento, aliando simplicidade e
funcionalidade ao seu sistema.

Pgina | 5

2 Criando um Projeto

Na rea de trabalho, de um duplo clique no cone TIA Portal V11. A seguinte tela abrir

Figura 1 - Tela de Abertura TIA Portal V11

Pgina | 6

Aps aberto o software, a seguinte tela ir aparecer.

Figura 2 - Tela de Criao do Projeto

Nesta tela, podem ser feitos os seguintes comandos:

Open existing project: D a possibilidade de abrir um projeto existente.

Create new project: Cria um novo projeto.

Migrate project: Migra um software iniciado no Simatic Manager V5.x para o TIA V11

Pgina | 7

Ao clicar em create new project, ser possvel nomear o projeto, bem como alterar seu destino
de gravao, caso necessite grav-lo em pen-drive, por exemplo.

Figura 3 - Iniciando o Projeto

Pgina | 8

3 Configurando o hardware

3.1

Configurao Manual de Hardware

Aps nomear e selecionar o caminho de destino, clique em create. O projeto ser criado e voc
poder iniciar os trabalhos, conforme mostra a figura 4.

Figura 4 - Configurando o Hardware

Criado o projeto, devemos iniciar a configurao de Hardware do sistema. De um clique no


boto destacada em vermelho na figura 4. Esta configurao indispensvel para o correto
funcionamento do CLP. dever do aluno configurar no software quais so os equipamentos
utilizados no kit.

Pgina | 9

Aps selecionada a ferramenta de configurao de equipamento, como se trata de um projeto


novo, devemos inserir um novo equipamento, como sugere a figura 5.

Figura 5 - Inserindo a CPU

Aps clicar no boto add new device, poder ser escolhido o modelo de CLP e IHM que
sero utilizados no projeto. O CLP montando nos kits didticos a:

CPU 1214C DC/DC/DC: cdigo 6ES7 214-1AE30-0XB0.

Pgina | 10

indispensvel que os mdulos montados no kit didtico sejam totalmente reproduzidos no


software, de modo que no ocorram erros na inicializao do CLP quando do download das
configuraes para o mesmo. Desta forma, necessrio configurar os seguinte mdulos
juntamente com a CPU:

CM1241 (RS485) - 6ES7 241-1CH30-0XB0

CM1243-5 (PROFIBUS DP) 6GK7 243 5DX30 0XE0

Deve-se seguir a sequncia de montagem como mostra a figura 6.

Figura 6 - Configurando o Hardware

Com um duplo clique sob os mdulos de comunicao, automaticamente eles so inseridos no


rack, conforme figura a cima.
Vale lembrar que est configurao est sendo feita em funo do KIT didtico que ser
trabalhando em aula, possuir exatamente estes mdulos, porm, estas configurao varia de
acordo com a aplicao automatizada.

Pgina | 11

3.2

Configurao Automtica de Hardware

Outra maneira de fazer a configurao do hardware, fazendo-o de forma automtica. Apenas


os equipamentos que suportem porta Profinet integrada possuem esta caracterstica. Para
fazer-se esta configurao, ao invs de adicionar o modelo j CPU, insere-se um modelo sem
especificao,e logo aps, da-se um comando para que o TIA detecte a configurao
completa do hardware, importando os modelos de mdulos e cartes de expanso conectados
a CPU, bem como suas respectivas verses de firmware.

Figura 7 - Inserindo uma CPU genrica

Aps inserir a CPU genrica, a seguinte tela abrir. (Figura 8)

Pgina | 12

Figura 8 - Auto-detectando o hardware

Clicando em detect, o software estabelecer uma conexo com o CLP lendo todas as
configuraes do hardware conectado ao computador.

Figura 9 - Hardware detectado

Feito isto, o software estar configurado e pronto para iniciar a programao.

Pgina | 13

3.3

Configurao do endereo IP

Aps a insero dos mdulos de comunicao, o prximo passo a configurao do endereo


IP do CLP. Para tal comunicao, basta um duplo clique na porta RJ45 junto da CPU.

Figura 10 - Configurando o Endereo IP

Caso no seja selecionado automaticamente o campo ethernet address, na tela de


propriedades, deve-se selecionar o campo e configurar o endereo IP, conforme figura 7.
Depois de configurado o endereo IP, necessrio salvar o projeto no boto save project.
Salvando o projeto, o programa ir compilar as informaes e s assim as entradas estaro
disponveis para a programao.

3.4

Configurao de endereos lgicos

Aps a correta configurao do hardware interessante verificar os endereos lgicos


fornecidos pelo software as entradas e sadas do sistema. Estes endereos so de suma
importncia para o correto desenvolvimento do software. Conforme mostra a figura 9,
podemos modificar todos os endereamentos tanto da CPU como de mdulos de expanso:

Pgina | 14

Figura 11 - Endereamentos Lgicos

Todos os endereos em destaque na figura 11, podem ser modificados atravs do software,
basta a modificao na referida janela: device overview. A medida em que so inseridos os
mdulos, automaticamente o software atribui endereos a eles, deve-se verificar quais so
estes endereos para fazer a correta utilizao no desenvolvimento do programa.

3.5

Configurao de Clock e System Memory

Esta configurao muito utilizada para auxiliar o programador durante o desenvolvimento do


software, uma vez que podem-se configurar memrias de sistema para aplicaes especficas
como:

Memria sempre em UM;

Memria sempre em ZERO;

Memria de ciclo de inicializao;

Mudana do status do diagnstico;

Pgina | 15

Para isto necessario habilitar estas funes. Juntamente com estas configuraes, pode-se
habilitar tambm, memrias que possuem um pulso de clock definido. Todas estas
configuraes esto disponveis com um duplo clique na CPU, abrindo a aba de propriedades.

Figura 12 - Configurao de Memria de Clock e de Sistema

Pgina | 16

4 Project Tree

Na tela esquerda do monitor, denominada Project Tree, esto todas as informaes


necessrias para o desenvolvimento da aplicao.

Figura 13 - Project Tree

As principais pastas para o desenvolvimento do programa so:

PLC tags: Responsvel pela declarao da lista de IOs do sistema;

Program blocks: Nesta pasta est o bloco de programao principal para o incio do
programa, denominado Main [OB1].

Pgina | 17

4.1

Device Configuration

Responsvel pela configurao do equipamento. Com um duplo clique nele, voc poder
modificar a configurao de hardware atual, inserindo ou removendo objetos. Tambm
possvel a criao/modificao de configuraes de rede.

4.2

Online & Diagnostics

Esta aba ser acessvel somente quando o CLP estive em modo online, dando acesso as
funes de reset da CPU, buffer de diagnstico, capacidade da CPU de
temporizadores/contadores e etc

4.3

Program Blocks

Nesta pasta esto concentrados todos os blocos utilizados no programa, sejam eles FC, FB, DB,
OB. Tambm est disponvel a funo para inserir novos blocos ao programa.

4.4

Technology Blocks

Blocos tecnolgicos so blocos de funes prontos e disponibilizados pela Siemens, como


blocos de controle PID, blocos de controle de movimento (motion) para utilizao com
inversores de frequncia e servos-motores.

Pgina | 18

Figura 14 - Technology Blocks

4.5

External Source File

Atravs destas fontes, possvel importar um programa feito em SCL para o projeto atual Caso
voc tenha exportado as fontes de um projeto do Simatic Manager, possvel a importao
para o TIA V11 atravs desta funo.

4.6

Declarao da Lista de Variveis

Um duplo clique sob a opo Show all tags, na pasta PLC Tags, abrir uma janela onde podero
ser realizadas todas as declaraes de variveis do sistema.

Pgina | 19

Figura 15 - Declarao de Variveis

Para a declarao de variveis somente necessria a escrita do nome do smbolo que ser
utilizado, ao pressionar a tecla ENTER, automaticamente as outras colunas sero preenchidas,
inclusive a coluna de endereamento. Por padro, esta coluna inicia sempre no endereo
%I0.0. Caso seja necessrio mudar a rea de endereamento, o mesmo deve ser feito mo.

4.7

PLC Data Types

Nesta seo possvel criar um tipo de dado conforme a necessidade do usurio. Ao invs de
se trabalhar com variveis do tipo bool, byte, word, double word, pode-se criar uma prpria
estrutura de dados, acessando-a atravs de uma DB e utilizando seus dados internos. Mais
detalhes sero vistos no capitulo 6.1.5 de programao avanada.

4.8

Watch and Force Tables

Neste local possvel criar tabelas para monitorar e forar variveis do sistema. Clicando em
add new watch table, uma nova tabela ser criada. Nela podero ser inseridos os endereos
a serem monitorados, por exemplo, entradas digitais e analgicas, sadas digitais e analgicas,
memrias de quaisquer tipo, endereos de DB.

Pgina | 20

Figura 16 - Watch Window

Caso seja necessrio forar algum endereo, deve-se manipular a tabela chamada force
table. Atravs dela, o CLP ignora o resultado lgico da operao do determinado endereo e
prevalece o que estiver na tabela de force.
importante lembrar que no podem ser forados endereos de entradas digitais ou
analgicas, por se tratarem de elemento que fornecem o sinal para o CLP. So aceitos apenas
endereos de sada digital e analgica, memrias e endereamentos de DBs.

Figura 17 - Force table

Pgina | 21

Aps inserido o valor a ser forado na colune force value, necessrio aplicar o valor,
pressionando o primeiro F da coluna superior esquerda, conforme a figura 17.

4.9

Program Info

Mostra as principais informaes a respeito do programa que est sendo desenvolvido, como:

Utilizao de memria de dados e de trabalho;

Numero de FCs, FBs, DBs e OBs utilizados

Memria disponvel;

Figura 18 - Program Info

4.10 Local Modules


D acesso ao mdulos perifricos a CPU, como por exemplo, remotas profibus, cartes de
rede...

Pgina | 22

Figura 19 - Local Modules

A figura 19 se reflete na seguinte arvore de projeto de local modules:

Pgina | 23

Figura 20 - Local Modules na Arvore do Projeto

Pgina | 24

5 Programao Bsica

Neste tpico ser dada nfase na utilizao de temporizadores, contadores e comparadores de


entradas analgicas. Operao simples, porm de grande importncia durante a programao
de CLPs.
Para o incio da programao, deve-se levar em considerao a tabela destacada na figura 10.

Figura 21 - Elementos de Programao

Nesta barra de ferramentas possvel inserir as principais instrues para o desenvolvimento


do programa.

Pgina | 25

Da esquerda para a direita, na tabela destacada, a ordem de elementos :

Contato NA;

Contato NF;

Bobina Simples;

Bloco Genrico (utilizados para chamar temporizadores e contadores);

Abertura de linha;

Fechamento de Linha;

Para alterao do tipo da bobina simples, basta um duplo clique sob a mesma, onde
aparecero os outros modelos disponveis, conforme figura ao lado.
Instruo

Descrio

NA

Contato Normalmente Aberto

NF

Contato Normalmente Fechado

Bobina Simples

Bobina Simples

Bobina SET

Bobina SET Atribui o valor 1 ao endereo

Simbolo

de forma retentiva
Bobina RESET

Bobina Reset Atribui o valor 0 ao


endereo de forma retentiva

Bobina SB

Bobina Set bit field

Bobina RB

Bobina Reset bit field

Pgina | 26

Flanco Positivo Atua como um filtro de


entrada, lendo apenas o instante em que o
nvel lgico passa de 0 para 1, durante um
ciclo de scan.

Flanco Negativo - Atua como um filtro de


entrada, lendo apenas o instante em que o
nvel lgico passa de 1 para 0, durante um
ciclo de scan.

NOT

Contato de Negao Inverte o nvel


lgico da entrada da instruo em sua
sada

5.1

Temporizadores

Existem basicamente trs tipos de temporizadores utilizados no TIA V11, so eles:

TON: Temporizador com retardo na energizao;

Figura 22 - Grfico TON

Pgina | 27

TOF: Temporizador com retardo na desenrgizao;

Figura 23 - Grfico TOF

TP: Temporizador de pulso;

Figura 24 - Grfico TP

Para inserir o temporizador, basta selecionar a empty box e nome-la com o nome do
temporizador que ser utilizado (TON, TOF, TP). A figura 11 mostra este procedimento.

Pgina | 28

Figura 25 - Inserindo um TON

Pgina | 29

Ao inserir o temporizador, abrir uma janela conforme a figura abaixo:

Figura 26 - Nomeando o TON

Nesta janela, necessrio inserir um nome para o temporizador.


IMPORTANTE: NO DEVEM SER UTILIZADOS CARACTERES ESPECIAIS E ESPAOS NO NOME
DO TEMPORIZADOR.

Pgina | 30

Inserido o temporizador o mesmo possui duas entradas e duas sadas:

IN: Quando habilitada, inicia a contagem do tempo;

PT: Preset do tempo a ser contado. Sua sintaxe deve ser T#xxs;

Q: Sada do temporizador que ativada quando a contagem chega ao preset;

ET: Tempo decorrido da contagem. Geralmente utilizado para mostrar em IHM.

Figura 27 - Utilizao do TON

Pgina | 31

As figuras a seguir mostram o comportamento online do temporizador:

Figura 28 - TON Online - Contagem de Tempo

Quando o temporizador atinge a contagem do preset, a sada Q ativada:

Figura 29 - Tempo Atingido

Pgina | 32

5.2

Contadores

O contador dividido em trs tipos:

CTU: contador crescente;

CTD: contador decrescente;

CTUD: contador crescente/decrescente.

Para inserir o contador, basta selecionar a empty box e nome-la com o nome do temporizador que ser
utilizado (CTU, CTD, CTUD). Ao inserir o contador, a mesma janela do temporizador ir aparecer. Nela devese colocar um nome para o temporizador, levando em considerao a observao do temporizador: NO
UTILIZAR

CARACTERES

ESPECIAIS

NEM

ESPAO.

Figura 30 - Nomeando o Contador

Pgina | 33

Ao inserir o contador, o mesmo possui trs entradas e duas sadas, conforme mostra a figura
abaixo:

CU: Cada pulso nesta entrada, incrementa a contagem do contador;

R: Um pulso nesta entrada reinicia a contagem;

PV: Preset de contagem para acionar a sada Q;

Q: Sada ativada quando a contagem chega no nmero pr-determinado;

CV: Contagem decorrida at o momento. Normalmente utilizada para IHM.

Figura 31 - Utilizando o Contador

A opo demonstrada acima a mais prtica para se obter os blocos


desejados, porm existem outros meios de chama-los na network de
programao. A outra maneira mais utilizada atravs da barra lateral
direita chamada Instructions:
As pastas mais utilizadas so as destacadas em vermelho na figura ao
lado:

Bit logic operation: Possui as operaes binrias a serem


utilizadas (contato NA, NF, bobina );

Timer operations: Possui todos os temporizadores disponveis


para utilizao no software;

Pgina | 34

Counter operations: Contm os contadores disponveis para utilizao no software;

Comparator operations: Operaes de comparaes do tipo maior, menor,


maior/igual, menor/igual, igual, diferente e etc...

Math Functions: Operaes matemticas disponveis de soma, subtrao, diviso,


multiplicao e etc...

5.3

Comparadores

Os comparadores so inseridos da mesma forma dos contatos NA, porm devem ser buscados
na aba ao lado, conforme mostra a figura acima:
Os comparadores esto divididos da seguinte maneira:

Igual:

Figura 32 - Comparador Igual

Diferente:

Figura 33 - Comparador Diferente

Pgina | 35

Maior:

Figura 34 - Comparador Maior

Menor:

Figura 35 - Comparador Menor

Maior Igual:

Figura 36 - Comparador Maior Igual

Pgina | 36

Menor Igual:

Figura 37 - Comparador Menor Igual

Em todos estes blocos, muito importante a distino dos tipos de dados a serem
comparados, pois no possvel a comparao de duas variveis diferentes, como por
exemplo: Comparar uma varivel do tipo INT com uma varivel do tipo REAL.
A ordem de processamento da comparao dada pelo elemento acima do contato com o
elemento abaixo do mesmo, logo, comparamos o primeiro com o segundo.

Pgina | 37

5.4

Tipos de Blocos

Os blocos de programao esto subdivididos em 5 reas:

FC [Function];

FB [Function Block];

DB [Data Block];

OB [Organization Block];

Dependendo do tipo de bloco a ser utilizado na aplicao, o programa pode ser dividido nas
seguintes reas:

Figura 38 - Tipos de Programas

Programa Linear: Tem sua estrutura marcada pela ausncia de qualquer bloco. Todo o
programa escrito dentro do OB1, que o bloco principal de programao.
Programa Particionado: Tem sua estrutura fracionada em vrios blocos. Facilita a organizao
e manuteno do programa. Normalmente utilizados com FCs.
Programa Estruturado:Programao estruturada atravs da utilizao de FBs.

5.4.1 Functions (FC)

Pgina | 38

Os elementos Functions so funes que executam determinadas aes e no possuem


armazenamento de memria. Todos os dados so perdidos aps a funo chegar ao fim da
chamada.
Quando so utilizados blocos do tipo function necessria a utilizao de variveis globais
para o armazenamento de dados.

Figura 39 - Function

Para criao de uma function, seguem-se os passos conforme descrito na figura:

Figura 40 - Criando uma FC

Aps criada a FC, ela ficar armazenada juntamente com o OB1, na pasta Program Block com a
rvore do projeto.

Pgina | 39

Para criar a programao dentro da FC, devemos levar em considerao as variveis de


entradas, sadas e temporrias que constituem a mesma.

Figura 41 - Variveis da FC

Input: So dados de entrada do sistema, como por exemplo: sensores, botes, fins-de-curso e
etc. Geralmente so variveis apenas de leitura do sistema
Output: So as variveis de sada do bloco, como por exemplo: vlvula para acionamento de
um cilindro, contatora para acionamento de um motor e etc. Geralmente so variveis
somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento.
InOut: So variveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente
variveis que possam comunicar com algum sistema de superviso para alterao de setpoints
de um processo.
Temp: So as variveis temporrias da funo. Estas variveis temporrias que auxiliam na
programao dentro da FC. Ao invs de se utilizar de uma memria M (globais) do CLP,
podem-se utilizar as memrias L (locais). Estas variveis estaro disponveis apenas dentro do
bloco que elas foram criadas. Deve-se levar em considerao que ao utilizar memrias Locais,
SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura.
Isto justifica o porque de a FC perder os dados aps o trmino do processamento do bloco. As
Fcs, no possuem uma rea para armazenar os dados aps a primeira varredura do software,
ou seja, caso uma leitura seja realizada antes de uma escrita, corre-se o risco de ler um valor
que no seja coerente com o processo.

Pgina | 40

5.4.2 Function Block (FB)

O FB possui uma rea de armazenamento de memria. Toda vez que a FB for chamada, dever
ser associada a ela um novo data block (DB). Nesta DB, so salvos todos os tipos de dados do
bloco, como: entradas, sadas, variveis temporrias, locais..

Figura 42 - Function Block

Todos os dados contidos dentro de cada DB, podem ser acessados pela chamada da FB.

Pgina | 41

Figura 43 - Inserindo um FB

Aps criada a FB, ela ficar armazenada juntamente com o OB1, na pasta Program Block
juntamente com a rvore do projeto.
Para criar a programao dentro da FB, devemos levar em considerao as variveis de
entradas, sadas e temporrias que constituem a mesma.

Pgina | 42

Figura 44 - Variveis FB

Input: So dados de entrada do sistema, como por exemplo: sensores, botes, fins-de-curso e
etc. Geralmente so variveis apenas de leitura do sistema
Output: So as variveis de sada do bloco, como por exemplo: vlvula para acionamento de
um cilindro, contatora para acionamento de um motor e etc. Geralmente so variveis
somente de escrita do sistema, onde pode-se alterar o valor do estado atual do equipamento.
InOut: So variveis onde podem ser feitas leituras e escritas simultaneamente. Geralmente
variveis que possam comunicar com algum sistema de superviso para alterao de setpoints
de um processo.
Temp: So as variveis temporrias da funo. Estas variveis temporrias que auxiliam na
programao dentro da FB. Ao invs de se utilizar de uma memria M (globais) do CLP,
podem-se utilizar as memrias L (locais). Estas variveis estaro disponveis apenas dentro do
bloco que elas foram criadas. Deve-se levar em considerao que ao utilizar memrias Locais,
SEMPRE, deve-se primeiramente escrever um valor nela, para depois poder fazer uma leitura.
Static: Variveis estticas que so salvas dentro da DB instanciada da FB. Desta maneira, estes
dados so salvos ao final do processamento do bloco, podendo ser utilizados no prximo ciclo
de scan do sistema.

Pgina | 43

5.4.3 Bloco de Dados (DB)

Blocos de dados so elementos utilizados na organizao e estruturao do programa. Eles


dividem-se basicamente em duas estruturas. DBs globais e DBs instanciadas.
DBs globais podem ser acessados de qualquer parte do programa. Um exemplo claro de
funcionamento de uma DB global quando ela no est associada a nenhum FB, por
exemplo...uma DB onde estaro todos os dados que sero utilizados na IHM ou supervisrio.
Desta maneira, entende-se que o DB no uma ferramenta de programao, pois
internamente ele no possui lgicas, apenas armazena dados de todos os tipos para serem
acessados posteriormente.

Figura 45 - Acessando dados de uma DB global

DBs instanciadas so aquelas que so delcaradas juntamente com alguma FB, por exemplo:
TON, CTU ou qualquer outra FB que for criada dentro do programa.
Existem dois grupos de dados que podem ser trabalhados dentro das DB. So os tipos
elementares e os tipos complexos, aos quais iremos ver a seguir.
5.4.3.1 Tipos Elementares

Pgina | 44

Dados elementares so utilizados com frequncia em programaes bsicas, pois possuem os


tipos de dados bsicos:

Figura 46 - Dados Elementares

5.4.3.2 Tipos Complexos

Variveis de tipo complexo so utilizados quando o programa desenvolvido exige um nvel de


controle ou estruturao maior, pois em sua maioria so unidos vrios tipos de dados
elementares em uma nica estrutura, de fcil acesso e entendimento.

Pgina | 45

Figura 47 - Dados Complexos

5.4.4 Blocos de Organizao (OB)

Os blocos de organizao so a interface entre o sistema operacional do CLP e o programa do


usurio, elas podem ser programadas pelo usurio, isto permite controlar a reao da CPU, os
blocos de organizao chamados pelo sistema operacional para os seguintes eventos.

Comportamento de partida Definem como a CPU se porta no momento da


passagem de STOP para RUN.

Processamento de programa cclico Execuo normal do programa.

Execuo de programas dirigidos interrupo Partes do cdigo que


necessitam de processamento interrupto em sua execuo, como exemplo podese citar um calculo PID.

Manipulao de erros Diagnsticos do sistema, monitorao e tratamento de erros.

Todas as OBs tm funes especiais, a prxima imagem descreve a numerao


correspondente a OBs especficas e logo se descreve algumas OBs para tratamento e
diagnsticos de erros.

Pgina | 46

Figura 48 - Tipos de OBs

Os blocos de organizao podem ser divididos da seguinte forma:

Pgina | 47

Figura 49 - Blocos de Organizao

5.4.4.1 OB1 Program Cycle


O Program Cycle executado ciclicamente no bloco principal do programa. Todos os blocos
criados (FC,FB) devem ser chamados nele para serem executados.
5.4.4.2 OB10x Startup
O OB de startup executado apenas uma vez quando o modo de operao do CLP passa de STOP para RUN.
Somente aps a execuo deste OB, que o OB Program Cycle ser executado.

5.4.4.3 OB20x Time delay interrupt


Este OB ir interromper o programa ciclico quando um tempo especfico de execuo expirar. Por exemplo,
uma vez por semana, uma vez por ms. Este tempo especificado atravs da entrada de parmetro da
instruo SRT_DINT

Pgina | 48

5.4.4.4 OB3x Cyclic Interrupt


O OB de interrupo ciclica executado em tempos especficos de intervalos. muito utilizado
para executar blocos de controle PID e ele definido na janela de dilogo do OB
5.4.4.5 OB4x Hardware Interrupt
O OB de interrupo de hardware interrompe a execuo do programa cclico quando alguma
anomalia de hardware encontrada, por exemplo, a retirada de algum mdulo da CPU ou
danificao de algum equipamento de hardware.
5.4.4.6 OB80 Time error interrupt
A interrupo de tempo ocorre quando o tempo de ciclo mximo atingido. Este tempo geralmente de
150ms e interrompe imediatamente a execuo do programa cclico.

5.4.4.7 OB82 Diagnostic Interrupt


A interrupo de diagnostic interrompe a execuo do programa cclico quando a opo de
diagnstico habilitada em algum mdulo que tenha essa funo em especfico.

6 Download do Programa

Com o programa finalizado, necessrio fazer o download do mesmo para o equipamento.

Pgina | 49

Figura 50 - Fazendo Download

A tela acima Ir abrir e ento ser necessrio selecionar qual o meio fsico utilizado para
efetuar o download. No caso do kit de desenvolvimento, estar previsto a utilizao do meio
fsico, ethernet, bem como sua referida placa de rede, conforme mostra a tabela destacada na
figura 24.
Caso em um primeiro momento o programa no encontre nenhum CLP na rede, significa que o
IP configurado diferente do IP programado no CLP, desta forma, faz-se necessria a utilizao
da opo Show all accessible devices, para que o programa encontre todos os equipamentos
conectados a ele e assim, ser feita a seleo do CLP e posteriormente o download.
Obs.: Para efetuar o download completo, isto , configurao de hardware + software,
necessrio selecionar na aba do Projeto, o item do CLP_1[CPU 1214C DC/DC/DC], lembrando
que todo download de hardware leva a CPU para stop.
Caso seja necessrio apenas o download do software, necessrio selecionar a pasta Program
Block e prosseguir com o download.

7 Iniciando um Projeto com a IHM

Pgina | 50

Levando em considerao que a programao vai ser feita de forma integrada entre CLP e
IHM, e que os dois equipamentos vo permanecer no mesmo projeto, podemos ter como base
o projeto existente at o momento desta apostila. No projeto que estamos trabalhando,
podemos inserir um novo equipamento, conforme sugere a figura abaixo:

Figura 51 - Inserindo a IHM

Pgina | 51

Aps o duplo clique em Add new device, a seguinte janela ir aparecer para fazer a seleo do
equipamento desejado:

Figura 52 - Selecionando o Equipamento

O kit didtico utilizado em aula acompanha uma IHM modelo KTP 600 Basic Color PN, desta
forma, devemos localiz-la na rvore acima e em seguida, clicar em OK.

Pgina | 52

7.1

Configurando a IHM

7.1.1 Criando a Conexo com o CLP

Aps a seleo do equipamento, uma janela assistente para configurao ir aparecer. Nesta
janela esto todas as opes necessrias para a pr-configurao da IHM, onde pode ser feita
a seleo da conexo, pr-criao de alarmes, layout de telas, mapa de navegao e etc...

Figura 53 - Inserindo uma Conexo entre IHM e CLP

Nesta figura, podemos selecionar com qual CLP iremos fazer a conexo, caso nosso projeto
tenha mais de um equipamento.
Com esta IHM, pode-se estabelecer conexo com mais de um CLP tambm, basta inserir uma
nova conexo manualmente aps finalizado o assistente.
Aps selecionada a conexo, clicar em NEXT.

Pgina | 53

7.1.2 Layout de Tela

A prxima tela trata-se da configurao do layout da pgina:

Figura 54 - Configurando o Layout da Pgina

Neste parte da configurao, possvel selecionar um logo para colocar no cabealho da


pgina, bem como opes de esconder/mostrar o relgio, cor de fundo da tela.

Pgina | 54

7.1.3 Pr-configurando alarmes:

Aps a configurao do layout da pgina, podem ser pr-configuradas algumas telas de


alarmes, como:

Alarmes ativos;

Alarmes reconhecidos;

Alarmes no reconhecidos.

Figura 55 - Pr-configurando Alarmes

Neste caso, no necessrio selecionar as telas de alarmes.

Pgina | 55

7.1.4 Mapeamento de Telas

Nesta tela possvel fazer um mapeamento de navegao e telas da IHM. Ao clicar no smbolo
+ da tela, a mesma criar outra tela.

Figura 56 - Navegao de Telas

importante salientar que todas as telas criadas nesta etapa do assistente, automaticamente
j sero criadas no projeto, com o nome dado a tela e tambm botes de navegao entre as
telas.

Pgina | 56

7.1.5 System Screen

A seguinte tela System Screen d a opo de adicionar ao projeto da IHM as telas de sistema,
so elas:

Informaes do projeto: mostra as informaes bsicas, modelo de IHM, verso de


software e etc..

Configurao: Modos de operao, Linguagem...

Administrao de Usurios;

Informaes do sistema.

Figura 57 - Configurao de Telas do Sistema

Pgina | 57

7.1.6 Rodap

A tela a seguir da a opo de configurar tambm o layout da pgina, porm, seu foco so nos
botes de operao. Nela voc poder escolher quais os botes necessrios para a sua
aplicao, so eles:

Home: Volta para a tela principal do projeto;

Language: Seleciona o idimoa da IHM;

Login/Logoff: Faz o login/logoff do operador da IHM;

Power: Troca o modo de operao da IHM.

Figura 58 - Botes pr-configurados

Pgina | 58

7.2

Objetos de Tela

Figura 59 - Objetos de Tela

7.2.1 Basic Objects

Na janela Basic Objects, temos os seguintes objetos para serem utilizados:

Linha;

Elipse;

Circulo;

Retngulo;

Texto;

Figura;

Estes objetos podem so utilizados principalmente para sinalizao de processo, podendo


trocar de cor, aparecer ou desaparecer, conforme os tags associados a eles.

Pgina | 59

7.2.2 Elementos

Na aba elements, podemos ter acesso aos seguintes elementos:


7.2.2.1 Display (I/O Field)
Pode ser utilizado como entrada de dados ou sada de dados, ou ainda entrada/sada ao
mesmo tempo. Muito utilizados para visualizao de valores internos do CLP como
temperatura, nvel, contagem e etc...
7.2.2.2 Boto
Utilizado para executar aes, conforme a necessidade do projeto. Para o correto
funcionamento, deve-se associar uma tag ao boto, que ir executar uma das seguintes
funes;
7.2.2.3 Display Simblico (Symbolic I/O Field)
Este display pode ser utilizado para selcionar textos conforme a necessidade do projeto, por
exemplo: Seleo de Receitas, Seleo de Rotas, Seleo de Modo de Operao;
7.2.2.4 Display Grfico (Graphic I/O Field)
Display Grfico que possibilita a escolha de arquivos de figuras do mesmo modo do item
acima.
7.2.2.5 Display de Data/Hora (DateTime Field)
Mostra um display de data/hora. Pode ser configurado para mostrar apenas a Data ou apenas
a Hora, ou os dois.
7.2.2.6 Bar (Bar)
Este objeto permite mostrar a variao de valores analgicos.
7.2.2.7 Switch (Switch)
Este boto utilizado como boto de seleo, pois ele no apenas um pulso no tag
associado. Ele mantem o valor selecionado. Funcionamento semelhante a um boto com
trava.

Pgina | 60

7.3

Propriedades dos objetos

Ao inserir qualquer objeto na tela, ele poder ser alterado conforme a necessidade do nosso
projeto, para isso, existem 3 principais abas em qualquer objeto adicionado na tela, so elas:

Propriedades;

Animaes;

Eventos.

A aba de propriedades inclui todas as configuraes do boto, como por exemplo;

General: Configurao geral do boto, como texto (label), que aparece ao pressionar
ou soltar o boto, seleo de tecla de atalho (hotkey), e seleo do modelo do boto;

Appearence: Configurao da aparncia do boto. Nesta aba pode-se configurar a cor


de fundo do boto e tambm a cor da letra que aparecer na parte posterior do
mesmo.

Design: Utilizado para configurao do estilo do boto, se 3D ou no;

Layout: Nesta aba configurado o tamanho exato do boto, bem como seu
posicionamento na tela;

Text Format: Formato do texto;

Miscellaneous: Utilizado para configurar o nome do objeto e tambm a camada


associada a ele;

Security: Nesta seo pode-se configurar o nvel de acesso a execuo da ao do


boto:

Pgina | 61

Figura 60 - Propriedades do Boto


Figure 1 - Propriedades do boto

7.4

Animaes

Na aba Animations do objeto da IHM, pode-se configurar tudo em relao a animaes que o
objeto pode ter. Estas animaes, podem ser do tipo:

Visibility: Esconde/Mostra o objeto conforme o estado da tag associada a ele, quando


criada uma conexo tag/animao;

Display: Pode-se configurar tambm para que o objeto mude sua cor, de acordo com a
situao da tag associada, por exemplo: a figura de um motor desligado deve ser
verde, ao ligar o motor, automaticamente, a cor do mesmo, muda para vermelho. Este
tipo de efeito causado pela associao de uma tag booleana na propriedade display
do objeto;

Movement: Pode ser feito com que o objeto mude seu posicionamento de acordo com
a tag associada no projeto. Por exemplo, em determinada situao, o objeto boto
deve estar presente num ponto X,Y da tela. Ao acionar um sensor no campo, o mesmo
boto dever deslocar-se para outro ponto da tela, automaticamente.

Pgina | 62

Figura 61 - Animaes do Objeto Boto

Pgina | 63

7.5

Events

Na aba Events, poderemos executar funes pr-determinadas para que o processo funcione
adequadamente, por exemplo:
Ao clicar num boto, outra tela dever abrir, ou um motor dever acionar e etc...

Figura 62 - Eventos do objeto Boto

Na aba events, podemos selecionar a fonte do evento, conforme mostra a figura 36:

Click: Evento chamado no clique do boto;

Press: Evento chamando quando pressionamento o boto;

Release: Evento chamando quando soltamos o boto;

Activate: Evento chamando quando o objeto ativado;

Deactivate: Evento chamado quando o objeto desativado;

Change: Evento chamando quando o valor do tag associado, muda seu valor;

Pgina | 64

importante lembrar que apenas quando o objeto da tela for um BOTO, utilizaremos os
eventos, pois em objetos de sinalizao

7.5.1 Funes dos Eventos

Aps selecionado o evento, devemos incluir uma funo a este evento, como sugere a figura
37.

Figura 63 - Funes dos Eventos

As funes disponveis esto separadas em grupos, como segue:

All system functions: Todas as funes disponveis, sem distino de grupo;

Alarms: Reune todas as funes relacionadas a alarmes;


o

Mostrar janela de alarmes;

Pgina | 65

Limpar o buffer de alarmes;

Calculations scripts: Utilizada para fazer clculos matemticos quando o evento


chamado;

Incrementar tag;

Decrementar tag;

Edit bits: a rea mais utilizada, visto que atravs dele possvel a manipulao de
valores de bits;
o

InvertBit: Cada vez que chamado, inverte o valor do bit;

SetBit: Leva o valor do bit para 1;

ResetBit: Leva o valor do bit para 0;

Keyboard:

Keyboard operating for screen objects

Other functions:
o

Stop runtime: para o servio da IHM e leva para o painel de controle;

Screens: Utilizado para manipulao de telas


o

ActivatePreviousScreen: Ativa a tela anterior a atual;

ActivateScreen: Ativa a tela conforme o nome da mesma;

ActivateScreenByNumber: Ativa a tela conforme o numero da mesma;

Settings: Manipula as configuraes da IHM;


o

ChangeConnection: Muda a conexo da IHM, caso haja alguma outra


configurada. Por exemplo: Conexo Profinet e Conexo Profibus;

System: Configuraes do sistema


o

CalibrateTouchScreen: Calibra a tela touchscreen durante o runtime;

Pgina | 66

Pgina | 67