Você está na página 1de 86

Festo Software Tools

Guia Prtico de Programao com o FST

2_

(Festo AG & Co. KG, D 73726 Esslingen, Federal Republic of Germany, 2004) Compilao: Festo Didactic-BR, 2006 Internet: http://www.festo.com.br email: did@festo.com.br A reproduo, distribuio e utilizao indevidas deste documento sem autorizao esto proibidas.Todos os direitos reservados.
_

3_

4_

Contedo

1. 1.1

Projeto no FST: primeiros passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Projeto, I/Os, programa, IF ... THEN . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Selecionando o tipo do controlador . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.3 Configurao de I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.4 Programao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.5 Compilando o projeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.6 Download do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.7 Visualizao do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.8 Documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multitasking com o FST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programas trabalham simultaneamente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temporizadores em statement list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Temporizadores e contadores em ladder diagram. . . . . . . . . . . . . . . . . . . Exemplo de aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Temporizador ON delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Temporizador OFF delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contador universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limitaes de temporizadores e contadores . . . . . . . . . . . . . . . . . . . . . . . . .

7 11 11 12 13 17 32 37 39 43 45 47 49 51 55 57 59 60 62 63

2. 2.1 3. 3.1 4. 4.1

4.2 4.3

5_

5. 5.1 5.2 5.3 6. 6.1 7. 7.1 8. 8.1

Sub-programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Importando e nomeando os mdulos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemplo de uso dos mdulos em statement list . . . . . . . . . . . . . . . . . . . . . . Diferena entre CFM e CMP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comunicao em rede . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . Pr-requisito para a Ethernet: o driver TCP/IP . . . . . . . . . . . . . . . . . . . . . . . Mensagens de erros . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . Nmeros para erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Endereamento de operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operandos / variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

65 67 70 71 73 75 79 81 83 85

6_

Projeto no FST: primeiros passos

Captulo 1

8_

1. Projeto no FST: primeiros passos

O primeiro exemplo prtico mostra a implementao de um projeto de CLP para o controle da abertura e fechamento da porta de uma garagem, a partir do lado de dentro ou de fora.

3 2

ABRE FECHA

ABRE FECHA

1 Sensor de porta fechada 2 Sensor de porta aberta 3 Porta da garagem 4 Motor de acionamento
Fig. 1/1

5 Controle do lado de fora 6 Chave 7 Controle do lado de dentro

A porta da garagem deve ser controlada da seguinte maneira: A porta pode ser fechada pelo lado de dentro ou de fora a qualquer instante. A porta pode ser aberta pelo lado de fora somente se a chave e o boto ABRE forem acionados ao mesmo tempo. A porta pode ser aberta pelo lado de dentro a qualquer instante. A porta sempre abre at o limite mximo. A porta somente se fecha enquanto o boto FECHA estiver pressionado.
_

9_

1. Projeto no FST: primeiros passos

Este controle pode ser expresso da seguinte forma:


boto_FECHA_dentro boto_FECHA_fora

fecha_porta

boto_ABRE_fora Chave boto_ABRE_dentro porta_aberta abre_porta

Fig. 1/2 Um CLP IPC FEC FC20 com 12 entradas e 8 sadas ser usado como controlador.

10 _

1. Projeto no FST: primeiros passos

1.1

Projeto, I/Os, programa, IF ... THEN ...

1.1.1

Projeto

Criar um novo projeto no MENU Project

Fig. 1/3

Nomear o projeto. Exemplo: garage

Fig. 1/4

11 _

1. Projeto no FST: primeiros passos

1.1.2

Selecionando o tipo do controlador

Selecionar o controlador adequado. Neste caso um FEC Compact.

Fig. 1/5

5)

Caso o CLP um FEC Standard, alterar em Controller.

Fig. 1/6

12 _

1. Projeto no FST: primeiros passos

1.1.3

Configurao de I/O

Abrir o I/O configuration na janela do projeto com duplo clique.

Fig. 1/7 Voc observar que um I/O module j foi inserido. Isso ocorre automaticamente quando o CLP FEC Compact selecionado. Contudo, obrigatrio que um mdulo de I/O seja inserido, independentemente do tipo do controlador. Nas demais colunas observa-se que o endereamento das entradas inicia-se em I0.0 e das sadas O0.0

I/O configuration para FEC Standard. O uso de outros


controladores da famlia Standard no isenta o usurio da insero manual do mdulo de I/O. A insero automtica ocorre somente para os controladores da famlia Compact! 1. Para inserir um mdulo em I/O configuration, d um duplo clique na rea em branco da janela. 2. Selecionar um mdulo de I/O a partir da lista.

13 _

1. Projeto no FST: primeiros passos

Fig. 1/8 Exemplo: seleo de um FEC FC400 que possui 16 entradas (16 bits) e 8 sadas (8 bits). Selecionar FC400 na lista. Desta forma, as entradas so agrupadas em 2 bytes e as sadas em 1 byte para que o endereamento seja feito em bytes: I0.0 ... I0.7 I1.0 ... I1.7 O0.0 O0.7 Selecionar FC400 (Word) para que o endereamento seja feito em words: I0.0 ... I0.15 O0.0 ... O0.7

14 _

1. Projeto no FST: primeiros passos

Endereamento de I/O
Muitas vezes no fcil a compreenso do sentido do endereamento. Neste exemplo, a automao da porta de uma garagem indica o uso de sensores, atuadores e do prprio controlador como processador. Sensores e atuadores tm funes distintas e, por isto, o controlador pode fazer uso destes dispositivos.

Fig. 1/9 Para o CLP os sensores e os atuadores existem atravs do mdulo de I/O (I/O module). Cada sensor e cada atuador representado por um bit independente que nomeado e pode ser acessado dentro das chamadas IW ou input word e OW ou output word.

15 _

1. Projeto no FST: primeiros passos

Esta nomeao conhecida como endereo. Se um carteiro possui 16 cartas para distribuir na mesma rua diz-se, por exemplo, que a rua possui o endereo OW66. Assim, cada caixa de correio ser tambm independentemente endereada: O66.0, O66.1, O66.2 .... O66.15 Pode-se criar uma lista de alocao (Allocation List) que relaciona o endereo da caixa de correio com um smbolo para fcil identificao:

Fig. 1/10

16 _

1. Projeto no FST: primeiros passos

1.1.4

Programao
A Allocation List pode ser criada antes de qualquer outra coisa, como tambm pode ser criada durante a edio do programa propriamente dito.

Allocation list

Abrir a allocation list com um duplo clique.

Fig. 1/11

Em Absolute Operandescreve-se o endereo de um operando qualquer (entrada, sada, flag, etc.). Em Symbolic Operand pode-se escrever um apelido para fcil identificao do endereo pelo usurio.

Fig. 1/12

17 _

1. Projeto no FST: primeiros passos

Allocation List para o exemplo do controle da porta de garagem.

Fig. 1/13 Regras para criao da allocation list: Deve-se enderear os operandos de acordo com o I/O configuration. O operando simblico deve ter no mximo 9 caracteres, excluindo nmeros como inicial. Nenhum caracter especial ou reservado pode ser usado.

Os comentrios no tm restries quanto ao tipo dos caracteres.

18 _

1. Projeto no FST: primeiros passos

Programando em statement list


Uma vez com a allocation list criada ou no, possvel editar um programa. Todo projeto deve conter necessariamente o programa de nmero 0 (P0). Com o boto direito do mouse, selecionar New Program.

Fig. 1/14 A partir deste ponto voc deve selecionar uma linguagem de programao. O FST oferece duas opes: Statement List (lista de instrues) ou Ladder Diagram (diagrama ladder). Note que no possvel converter automaticamente uma linguagem de programao para outra. Por outro lado, um projeto pode conter programas escritos em linguagens diferentes.

Fig. 1/15

19 _

1. Projeto no FST: primeiros passos

Janela New Program:

Fig. 1/16 Type: Number: Version: Comment:

Programa ou CMP ou CFM nmero dos programas (0 ... 63) verso de cada programa (1 ... 9) comentrio

Clicar em OK para abrir a janela de edio do programa

20 _

1. Projeto no FST: primeiros passos

Fig. 1/17 Agora o programa para controle da abertura e fechamento da porta da garagem pode ser escrito em Statement List segundo a lgica de acionamento descrita anteriormente: boto ABRE do lado de dentro OR... boto ABRE do lado de fora AND chave acionada Voc pode usar praticamente as mesmas palavras para escrever o programa:

Fig. 1/18

21 _

1. Projeto no FST: primeiros passos

IF OR AND SET (

THEN

I0.2 I0.4 I0.6 O0.0

boto abre do boto abre do Chave do lado K1: rele para

lado de dentro lado de fora de fora abrir a porta

Fig. 1/19 Com a instruo THEN SET O0.0 o motor ser ligado para abrir a porta. Depois disso, quando o motor dever ser desligado? O motor ser desligado quando a porta j estiver aberta! Assim:
IF THEN ABRE rele_abre I0.0 O0.0

RESET

Fig. 1/20 Para fechar a porta, tanto do lado de fora como do lado de dentro, o boto FECHA deve ser pressionado continuamente por questes de segurana.

IF OR AND THEN SET RESET

( N

fecha_dent boto FECHA do lado de dentro fecha_for ) boto FECHA do lado de fora FECHA porta fechada rele_fech rele_abre O0.1 O0.0

Fig. 1/21 Unindo todos os trechos mostrados e acrescentando outros trechos que no foram descritos aqui, o programa estar pronto!

22 _

1. Projeto no FST: primeiros passos

O programa final ser como segue:

IF OR AND AND AND AND AND SET OR OR RESET ( OR AND AND AND AND SET RESET N N N N ( N N N N

THEN IF

THEN IF

THEN OTHRW

abre_dent I0.2 abre_fora I0.4 Chave ) I0.6 rele_fech O0.1 fecha_den I0.3 fech_for I0.5 ABRE I0.0 rele_abre O0.0 ABRE I0.0 fecha_den I0.3 fecha_for I0.5 rele_abre O0.0 fecha_den I0.3 fecha_for ) I0.5 FECHA I0.1 rele_abre O0.0 abre_dent I0.2 abre_fora I0.4 rele_fech O0.1 rele_fech O0.1

Fig. 1/22

23 _

1. Projeto no FST: primeiros passos

Quando digitado algo que o software no entende como um endereo ou apelido, ou seja, como um operando absoluto ou simblico da allocation list, automaticamente ser aberta uma janela para insero de um novo operando.

Fig. 1/23 O FST assume, neste caso, que a palavra digitada Nonsens um apelido para o usurio. O FST sempre realiza operaes Booleanas com os operandos. Instrues como IF; THEN e OTHRW quase sempre so necessrias.

24 _

1. Projeto no FST: primeiros passos

Programando em ladder diagram


Seguindo os mesmos passos anteriores, um programa pode ser alternativamente editado em ladder diagram. Da mesma forma que em statement list, o programa 0 obrigatrio.

Fig. 1/24 A partir deste ponto voc deve selecionar uma linguagem de programao. O FST oferece duas opes: Statement List (STL) ou Ladder Diagram (LDR). Note que no possvel converter automaticamente uma linguagem de programao para outra. Por outro lado, um projeto pode conter programas escritos em linguagens diferentes.

Fig. 1/25

25 _

1. Projeto no FST: primeiros passos

Janela New Program:

Fig. 1/26 Type: Number: Version: Comment: Programa ou CMP ou CFM nmero dos programas (0 ... 63) verso de cada programa (1 ... 9) comentrio

Clicar em OK para abrir a janela de edio do programa

26 _

1. Projeto no FST: primeiros passos

Fig. 1/27

Agora o programa para controle da abertura e fechamento da porta da garagem pode ser escrito em ladder diagram segundo a lgica de acionamento descrita anteriormente: boto ABRE do lado de dentro OR ... boto ABRE do lado de fora AND chave acionada

Fig. 1/28

27 _

1. Projeto no FST: primeiros passos

Os contatos podem ser inseridos usando-se tanto o endereo absoluto como o apelido simblico:

Fig. 1/29 Seguindo-se os mesmos passos para elaborao do programa anterior possvel escrev-lo em LDR.

Fig. 1/30

28 _

1. Projeto no FST: primeiros passos

Algumas outras instrues podem ser inseridas em LDR. Como pode ser observado, o diagrama dividido em linhas. Estas linhas, tambm chamadas de networks ou rungs agrupam os contatos (negados ou no) em srie ou em paralelo para fornecerem um resultado lgico da operao para uma sada, por exemplo. As linhas podem ser inseridas antes ou depois de outra linha selecionada.

Fig. 1/31 Um ou mais contatos podem ser inseridos em srie como mostrado abaixo:

Fig. 1/32
_

29 _

1. Projeto no FST: primeiros passos

ou em paralelo:

Fig. 1/33 Podem-se inserir bobinas, chamadas tambm de coil.

Fig. 1/34 Um contato ou bobina podem ser igualmente negados.

Fig. 1/35

30 _

1. Projeto no FST: primeiros passos

Uma bobina pode receber outros atributos especiais como S-SET, R-RESET, I-INCREMENT (INC incrementa), D-DECREMENT (DEC decrementa).

Fig. 1/36 Os comentrios mostrados sobre os operandos podem ser configurados em Extras Preferences... LDR Lines for Operand Comments. Quando digitado algo que o software no entende como um endereo ou apelido, ou seja, como um operando absoluto ou simblico da allocation list, automaticamente ser aberta uma janela para insero de um novo operando.

Fig. 1/37

31 _

1. Projeto no FST: primeiros passos

O programa final ser como segue:

Fig. 1/38

32 _

1. Projeto no FST: primeiros passos

1.1.5

Compilando o projeto
O software FST nem sempre concorda com tudo o que foi editado, principalmente se houver erros de sintaxe. Desta forma, durante a compilao o software busca por erros formais de programao (syntax check).

Fig. 1/39 Clicando no cone mostrado, uma mensagem de status ser mostrada com o resultado da compilao. As figuras baixo mostram as mensagens para os programas escritos em STL e LDR, respectivamente.

Fig. 1/40

33 _

1. Projeto no FST: primeiros passos

Erros em statement list

Fig. 1/41 Neste exemplo o FST reportou 4 erros: CZ0P00V1.AWL[24] THEN expected e CZ0P00V1.AWL[24] THEN Invalid operation e CZ0P00V1.AWL[28] IF, OTHERW or STEP expected e CZ0P00V1.AWL[29] IF or STEP expected

O significado destas mensagens : CZ0P00 - Programa 00 (P00) V1 - Verso 1 [24] - linha 24

34 _

1. Projeto no FST: primeiros passos

D um duplo clique na mensagem para que o FST selecione automaticamente a linha com erro.

Fig. 1/42 Neste exemplo, uma palavra IF foi inserida mais de uma vez na mesma estrutura.

Erros em ladder diagram

Fig. 1/43

35 _

1. Projeto no FST: primeiros passos

Neste caso o FST reportou 3 erros: CZ0P00V1.OUT(17) Unknown operand ??? e CZ0P00V1.OUT(17) Onebit operand expected e CZ0P00V1.OUT(23) Empty sentence part Significado: CZ0P00 - Program 00 (P00) V1 - Version 1 [17] - linha 17 do cdigo compilado.

Fig. 1/44 Neste caso, um contato foi adicionado sem ser endereado.

36 _

1. Projeto no FST: primeiros passos

1.1.6

Download do projeto

Ligar o CLP com tenso de 24 VDC. Conectar o cabo de programao no CLP e no PC. No exemplo, um FEC Compact FC20 est conectado com cabo em sua porta denominada COM; no PC geralmente o cabo conectado em COM1 ou COM2.

Para testar a comunicao serial entre o controlador e o PC,

clique no cone Control Panel.

Fig. 1/45 Em caso positivo (comunicao estabelecida) uma janela como mostrado abaixo ser visvel:

Fig. 1/46
_

37 _

1. Projeto no FST: primeiros passos

Em caso negativo (sem comunicao):


A comunicao serial (RS232) dever ser reconfigurada como se observa abaixo. Acessar Extras Preferences... Communication.

Fig. 1/47

Quando a comunicao estabelecida, o LED deve necessariamente acender nas cores verde, laranja ou vermelha, dependendo do ocorrido anterior.

Quando a comunicao estiver estabelecida possvel descarregar (download) do projeto.

38 _

1. Projeto no FST: primeiros passos

Fig. 1/48 A mensagem Download complete deve aparecer na janela de mensagem. Dependendo do uso anterior do CLP, voc pode precisar comutar a chave RUN/STOP. Nota
*

Checar o RUN LED: se o LED est verde, ento o CLP

est pronto para operar e se o LED est laranja, ento necessrio comutar a chave RUN/STOP.

Fig. 1/49

*)

Nos controladores Standard, a chave RUN/STOP substituda por uma chave rotativa de 16 posies (STOP posio 0) com a mesma funcionalidade.
_

39 _

1. Projeto no FST: primeiros passos

1.1.7

Visualizao do projeto
de grande importncia que o projeto possa ser analisado ao mesmo tempo em que o CLP o est processando, ou seja, essencial poder checar os programas, entradas, sadas e outros operandos em tempo real. Contudo, importante observar tambm o que o controlador est fazendo e como ele est reagindo. Para tanto, existem duas possibilidades: observar o programa e a outra, as entradas e sadas. Para observar o programa basta clicar com o boto direito do mouse sobre a janela do programa e selecionar online.

Fig. 1/50

40 _

1. Projeto no FST: primeiros passos

O modo de visualizao online de programas em STL e LDR segue o mesmo procedimento. O status de cada operando indicado com ON ou OFF. A janela do programa alterada como mostrada abaixo:

Fig. 1/51

Fig. 1/52
_

41 _

1. Projeto no FST: primeiros passos

Alternativamente, possvel verificar as entradas, sadas e outros operandos em uma outra janela. Diferentemente do modo online, esta janela (Online Display) mostra todos os operandos disponveis, incluindo aqueles no usados.

Fig. 1/53 Aqui, por exemplo, observam-se todas as sadas.

Fig. 1/54 As entradas I0.3, I0.4 e I0.7 esto ativadas.

42 _

1. Projeto no FST: primeiros passos

1.1.8

Documentao
O FST pode registrar toda a documentao de um projeto em um manual que pode ser escrito pelo usurio e gravado em Project Documentation.

Fig. 1/55

A documentao do projeto (project documentation) um arquivo texto. O arquivo salvo com a extenso .txt e pode ser editado toda a vez que o usurio clicar duas vezes sobre o cone mostrado.

Fig. 1/56
_

43 _

1. Projeto no FST: primeiros passos

Por fim, o projeto inteiro pode ser impresso.

Fig. 1/57 Selecionar o que ser impresso do projeto.

Fig. 1/58
_

44 _

Multitasking com o FST

Captulo 2

45 _

46 _

2. Multitasking com o FST

O FST permite a edio de mais de um programa e todos eles podem ser ativados e processados simultaneamente. Esta flexibilizao de software se adequa s necessidades para se trabalhar com muitas tarefas ao mesmo tempo, no sendo necessria a criao de um nico programa para

2.1

Programas trabalham simultaneamente


O FST suporta at 64 programas que podem trabalhar simultaneamente. Esta descentralizao facilita a edio dos programas e agiliza a velocidade de processamento. Apesar da possibilidade de processamento simultneo, executa-se uma tarefa de cada vez, ou seja, o processamento respeitar uma ordem de prioridade (do 0 at 63), porm o status das sadas ser modificado quando todos os programas j foram lidos.

Fig. 2/1

47 _

2. Multitasking com o FST

Primeiro ocorre a leitura das entradas (inputs), depois o processamento de cada programa (por ordem de prioridade) e por ultimo a escrita das sadas (outputs).

Fig. 2/2 O procedimento descrito acima se chama multitasking o quer dizer execuo de vrias tarefas simultaneamente.

48 _

Temporizadores em statement list

Captulo 3

49 _

50 _

3. Temporizadores em statement list

No FST existem trs tipos de temporizadores (timers) dos quais apenas o temporizador de pulso (pulse timer) est disponvel em Statement List: O temporizador iniciado com a instruo SET Tx; X = 0 ... 255 (so 256 temporizadores disponveis por projeto). O tempo a ser contado registrado em um operando reservado chamado de timer preselect, TP0 ... TP255 O contato (T, TON ou TOFF) associado ao temporizador se torna 1 depois do tempo em TP0 ... TP255 expirou. O valor atual de contagem registrado em outros operandos reservados: TW0 ... TW255

3.1

Exemplo de aplicao
Quando a entrada I0.6 ativada, a sada O0.6 dever ser ativada 5 segundos depois:

Fig. 3/1

51 _

3. Temporizadores em statement list

Exemplo em STL:
STEP Start IF THEN SET WITH STEP Time_eval IF THEN SET OTHRW RESET IF THEN IF THEN I0.6 T0 5s Input to start the timer Pulse timer

T0 O0.6 O0.6

Pulse timer Input showing pulse Output showing pulse Pulse timer Input to start the timer

N T0 AND N I0.6 JMP TO Start NOP JMP TO Time eval

Fig. 3/2 Observando em detalhes:

THEN

SET

T0

Fig. 3/3 A instruo acima ativa o temporizador e a contagem do tempo se inicia.

WITH

5s

Fig. 3/4 Defini-se o tempo. Aqui so permitidos os valores de 0.01 ... 655.35 s ou de 1 a 65535.

52 _

3. Temporizadores em statement list

No online display pode-se ver o status do temporizador e os valores dos operandos reservados (TP e TW):

Fig. 3/5

IF

T0

Pulse timer

Fig. 3/6 possvel executar operaes booleanas com os operandos dos temporizadores.

53 _

54 _

Temporizadores e contadores em ladder diagram

Captulo 4

55 _

56 _

4. Temporizadores e contadores em ladder diagram

Em ladder existem trs tipos de temporizadores (timers) que se distinguem pela forma como so chamados T (pulse timer), TON e TOFF, mas que compartilham os mesmos operandos: O temporizador iniciado com a instruo SET Tx (ou TONx ou TOFFx). X = 0 ... 255 ( so 256 temporizadores disponveis por projeto). O tempo a ser contado registrado em um operando reservado chamado de timer preselect, TP0 ... TP255 O contato (T, TON ou TOFF) associado ao temporizador se torna 1 depois do tempo em TP0 ... TP255 expirou. O valor atual de contagem registrado em outros operandos reservados: TW0 ... TW255

4.1

Exemplo de aplicao
Quando a entrada I0.6 ativada, a sada O0.6 dever ser ativada 5 segundos depois:

Fig. 4/1
_

57 _

4. Temporizadores e contadores em ladder diagram

Exemplo em LDR:

Fig. 4/2

No online display pode-se ver o status do temporizador e os valores dos operandos reservados (TP e TW):

Fig. 4/3

58 _

4. Temporizadores e contadores em ladder diagram

4.1.1 Temporizador ON delay


O temporizador ON delay - TON (timer ON delay), tambm conhecido como temporizador com retardo para ativao, ativa seu contato depois que o tempo expirou:

Fig. 4/4

59 _

4. Temporizadores e contadores em ladder diagram

O temporizador TON em LDR:

Fig. 4/5

4.1.2 Temporizador OFF delay

Outra possibilidade o temporizador OFF delay - TOFF (timer OFF delay ou temporizador com retardo para desativao) que quando ativado tambm ativa o seu contato, desativando-o depois da contagem do tempo.

60 _

4. Temporizadores e contadores em ladder diagram

Fig. 4/6 O temporizador TOFF em LDR:

Fig. 4/7

61 _

4. Temporizadores e contadores em ladder diagram

4.2

Contador universal
A manipulao do contador basicamente uma operao multibit, ou seja, depende de operandos compostos por bytes e no simplesmente por um nico bit. Estas instrues so: I - increment (incrementa) e D - decrement (decrementa). Exemplo de aplicao:

Fig. 4/8

62 _

4. Temporizadores e contadores em ladder diagram

4.3 Limitaes de temporizadores e contadores

Temporizadores e contadores so elementos digitais que so manipulados por words, ou seja, 16 bits que so agrupados convenientemente. Desta forma, os valores decimais podem ser expressos entre 0 e 216 - 1 = 65535. Um contador pode contra at o valor mximo possvel e depois recomear a partir do 0, sem que o controlador perceba isto. Um temporizador pode conta o seu tempo at 65535, o que em sentido prtico significa contar at 10 min e 55.35 s, j que a sua base centesimal =0.01 s.

63 _

64 _

Subprogramas

Captulo 5

65 _

66 _

5. Subprogramas

Cada subprograma pode usar qualquer operando como parmetros de entrada ou sada. At 7 parmetros de entrada e outros 7 de sada podem ser utilizados. Quando os subprogramas usam flags, por exemplo, estes operandos so sempre de uso global, ou seja, qualquer outro programa ou sub-programa pode utiliz-los.

5.1 Importando e nomeando os mdulos


Os sub-programas so assim chamados por fora de expresso, mas so tambm conhecidos como mdulos ou funes. O FST permite o uso de at 200 deles, divididos em 100 mdulos de programa (CMP) e 100 mdulos de funo (CFM).

Note que caso o tipo do controlador seja alterado em um arquivo de projeto j existente, todos os mdulos devero ser importados novamente. Cada mdulo recebe um nmero quando criado ou importado. Este nmero deve estar entre 0 e 99, e no pode ser repetido.

67 _

5. Subprogramas

Voc pode importar os mdulos:

Fig. 5/1

Os mdulos j implementados no FST esto disponveis em uma lista.

Fig. 5/2

68 _

5. Subprogramas

Aps selecionar o mdulo da lista, digite um nmero (0 a 99) para identificao.

Fig. 5/3 Neste exemplo o modulo qualquer importado sob a identificao CFM 0.

Fig. 5/4

69 _

5. Subprogramas

5.2

Exemplo de uso dos mdulos em statement list


Como exemplo, usa-se o mdulo F4 da lista. Este mdulo inicia um determinado programa a cada intervalo de tempo tambm determinado pelo usurio. Sabendo-se que o mdulo foi importado como F4e se quer iniciar o programa 1 a cada 3000 ms, ento:

IF THEN

NOP CFM 1 WITH WITH V1 V3000 Start cyclical program processing Program number, 0 to 63 Time in ms; 0:deactivate

Fig. 5/5 Acima se observa que houve uma chamada de mdulo ou module call e os parmetros V1 e V3000 representam o programa 1 e o intervalo de tempo de 3000 ms, respectivamente. A palavra WITH deve ser usada para a insero de cada parmetro. O mdulo F4 foi implementado desta forma e no pode ser alterado.

IF THEN

NOP CFM 1 WITH WITH R1 R2 Start cyclical program processing Program number, 0 to 63 Time in ms; 0:deactivate

Fig. 5/6 Os valores V1 e V3000 no precisam ser necessariamente digitados (usando-se a letra V que indica um nmero) quando o mdulo chamado. Os valores podem estar armazenados em outros operandos. No exemplo acima os registradores R1 e R2 guardam os valores 1 e 3000, respectivamente e podem ser invocados pelo mdulo.

70 _

5. Subprogramas

5.3 Diferena entre CFM e CMP


A diferena entre CFM e CMP est no fato da CMP interromper o processamento natural dos programas e dos demais mdulos, tendo prioridade. No caso da CFM no h interrupo e a sua chamada entra na fila de processamento. At 64 programas podem ser criados com o FST. Cada um pode ser ativado e se tornar uma tarefa para o controlador. O processador do CLP controla estas tarefas: Por ordem de prioridade, do programa 0 at o de nmero 63 (P0 ... P63). De um ponto do programa at outro em que um STEP completamente executado. At o ponto em que uma CMP chamada.

71 _

72 _

Comunicao em rede

Captulo 6

73 _

74 _

6. Comunicao em rede

A comunicao entre dispositivos industriais no tem sido to importante quanto atualmente. A informao na automao vai alm da simples troca de entradas e sadas entre controladores. Muitas redes de comunicao tm a responsabilidade de serem meios seguros e rpidos para troca de dados. Hoje em dia a rede Ethernet tem provado ser uma rede de comunicao muito poderosa para troca de dados, justamente por ser rpida e cobrir grandes distncias.

6.1 Pr-requisito para a Ethernet: o driver TCP/IP


Alguns controladores FEC tm a porta de comunicao Ethernet. Para efetivamente usar este recurso de hardware necessria a instalao virtual do driver TCP/IP. O driver TCP/IP inserido virtualmente pelo FST da mesma forma que os demais drivers. Para a sua instalao, acessar Driver Configuration com um duplo clique.

Fig. 6/1
_

75 _

6. Comunicao em rede

Dentro da janela Select Driver possvel instalar e configurar qualquer driver.

Fig. 6/2

*)

O driver TCP/IP para o FEC Compact TCPIPFEC, e para o FEC Standard TCPIPFC2.

76 _

6. Comunicao em rede

A configurao deste driver requer um endereo IP e uma mascara IP:

Fig. 6/3

Endereo IP

Um endereo IP composto por 4 bytes, ou seja, 4 nmeros entre 0 e 255. Os endereos 0.0.0.0 e 255.255.255.255 no so permitidos. As demais combinaes podem ser escolhidas aleatoriamente.

Mscara IP

A mscara IP limita o uso de endereos IP. Alm disso, os endereos IP para a comunicao entre dispositivos de uma mesma rede devem ter os mesmos bits quando o bit correspondente da mscara IP for 1.

Endereo IP de gateway

Caso exista comunicao ou links entre redes distintas, um endereo IP de gateway deve ser usado. Caso contrrio, o endereo IP de gateway deve ser 0.0.0.0.
_

77 _

6. Comunicao em rede

Fig. 6/4 Agora em Extras Preferences... Communication pode ser selecionada o download de projetos via rede Ethernet. O endereo IP do controlador deve ser digitado aqui.

78 _

Mensagens de Erros

Captulo 7

79 _

80 _

7. Mensagens de erros

7.1 Nmeros para erros


Nmero Significado Erro
0 2 6 7 9 Sem erro Checksum error no arquivo do projeto PROJECT.RUN. Realizar o download do projeto novamente Programa 0 deve ser iniciado, mas no est disponvel. Criar o Programa 0. Programa no existente quando ou sem registro do seu status. Trocar o programa ou realizar o download do programa novamente. O programa no pode ser iniciado por falhas no arquivo do projeto PROJECT.RUN. Checar o projeto novamente. Um driver pode ser necessrio, mas no est presente no projeto ou est presente no projeto, porm as condies no so conhecidas como parmetros corretos. O controlador no possui memria disponvel. Carto de I/O com defeito, curto-circuito nas sadas ou mdulo de I/O sem alimentao eltrica. Carto de I/O no encontrado. Checar carto de I/O. Checar switch para o mdulo de I/O em I/O configuration. Watchdog expired A driver, module or IO script blocked the runtime system for more than 1 second and triggered a restart. O driver a ser inicializado no foi encontrado. O driver requisitado no pode ser encontrado ou no executvel devido a um erro de inicializao. As configuraes e parmetros para o driver podem estar incorretos. Instalar o driver, parametrizar corretamente os seus valores e checar o hardware. Mdulos CMP ou CFM no encontrados quando invocados. Alterar estrutura do programa. Double error, erro no programa. Eliminar fonte de erro. Diagnstico do CPX Limpar erro

11 12

13

14

36 39 42

81 _

82 _

Endereamento de operandos

Captulo 8

83 _

84 _

8. The FST CI command interpreter

8.1 Operandos / variveis


Os mais importantes operandos disponveis so: Operando
Entradas Sadas Flag Registrador Programas Status de Programas Program modules (CMP) Function modules (CFM) Temporizadores (pulso) Timer preselect Timer word (valor atual) Contadores Counter preselect (set word) Counter word (valor atual)

Endereamento
I0.0 ... I255.15 O0.0 ... O255.15 F0.0 ... F9999.15 R0 ... R255 P0 ... P63 PS0 ... PS63 CMP0 ... CMP99 CFM0 ... CFM99 T0 ... T255 TP0 ... TP255 TW0 ... TW255 C0 ... C255 CP0 ... CP255 CW0 ... CW255

Exemplo de endereamento
I0.12 O47.3 F4312.14

Exemplo de endereamento
IW147 OW0 FW9999 R36

P14 PS14 CMP12 CFM99 T14 TP14 TW14 C33 CP33 CW33

85 _

86 _