Escolar Documentos
Profissional Documentos
Cultura Documentos
Guia Prtico de
Programao com o FST
2_
3_
4_
Contedo
1.
1.1
11
11
12
13
17
32
37
39
43
2.
45
2.1
47
3.
49
3.1
Exemplo de aplicao
.
............................................
51
4.
55
4.1
Exemplo de aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1
Temporizador ON delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.2
Temporizador OFF delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
57
59
60
4.2
Contador universal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
4.3
63
5_
5.
Sub-programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
5.1
5.2
5.3
67
70
71
6.
Comunicao em rede . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .
73
6.1
75
7.
Mensagens de erros . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . .
79
7.1
81
8.
Endereamento de operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
8.1
Operandos / variveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
6_
Captulo 1
8_
2
ABRE
FECHA
ABRE
FECHA
6 Chave
3 Porta da garagem
4 Motor de acionamento
Fig. 1/1
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_
fecha_porta
boto_ABRE_fora
Chave
boto_ABRE_dentro
abre_porta
porta_aberta
Fig. 1/2
Um CLP IPC FEC FC20 com 12 entradas e 8 sadas ser
usado como controlador.
10 _
1.1
1.1.1
Projeto
Fig. 1/3
Fig. 1/4
11 _
1.1.2
Fig. 1/5
5)
Fig. 1/6
12 _
1.1.3
Configurao de I/O
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
13 _
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 _
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 _
Fig. 1/10
16 _
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
Fig. 1/11
Fig. 1/12
17 _
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.
18 _
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 _
Fig. 1/16
Type:
Number:
Version:
Comment:
20 _
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 _
IF
THEN
OR
AND
SET
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
RESET
ABRE
rele_abre
I0.0
O0.0
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
fecha_dent
boto FECHA do lado de dentro
fecha_for ) boto FECHA do lado de fora
FECHA
porta fechada
THEN
SET
RESET
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 _
IF
THEN
IF
THEN
IF
THEN
OTHRW
OR
AND
AND
AND
AND
AND
SET
(
N
N
N
N
OR
OR
RESET
(
OR
AND
AND
AND
AND
SET
RESET
N
N
N
N
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 _
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 _
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 _
Fig. 1/26
Type:
Number:
Version:
Comment:
26 _
Fig. 1/27
Fig. 1/28
27 _
Fig. 1/29
Seguindo-se os mesmos passos para elaborao do programa
anterior possvel escrev-lo em LDR.
Fig. 1/30
28 _
Fig. 1/31
Um ou mais contatos podem ser inseridos em srie
como mostrado abaixo:
Fig. 1/32
_
29 _
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 _
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 _
Fig. 1/38
32 _
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 _
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
34 _
Fig. 1/42
Neste exemplo, uma palavra IF foi inserida mais de uma vez na
mesma estrutura.
Fig. 1/43
35 _
Fig. 1/44
Neste caso, um contato foi adicionado sem ser
endereado.
36 _
1.1.6
Download do projeto
Fig. 1/45
Em caso positivo (comunicao estabelecida) uma janela
como mostrado abaixo ser visvel:
Fig. 1/46
_
37 _
Fig. 1/47
38 _
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
Fig. 1/49
*)
39 _
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 _
Fig. 1/51
Fig. 1/52
_
41 _
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.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
Fig. 1/56
_
43 _
Fig. 1/57
Selecionar o que ser impresso do projeto.
Fig. 1/58
_
44 _
Captulo 2
45 _
46 _
2.1
Fig. 2/1
47 _
Fig. 2/2
O procedimento descrito acima se chama multitasking o
quer dizer execuo de vrias tarefas simultaneamente.
48 _
Captulo 3
49 _
50 _
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 _
Exemplo em STL:
STEP Start
IF
THEN SET
WITH
I0.6
T0
5s
STEP Time_eval
IF
THEN SET
OTHRW RESET
T0
O0.6
O0.6
Pulse timer
Input showing pulse
Output showing pulse
IF
THEN
N
T0
AND
N
I0.6
JMP TO Start
IF
THEN
NOP
JMP TO Time eval
Pulse timer
Input to start the timer
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 _
Fig. 3/5
IF
T0
Pulse timer
Fig. 3/6
possvel executar operaes booleanas com os operandos
dos temporizadores.
53 _
54 _
Captulo 4
55 _
56 _
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 _
Exemplo em LDR:
Fig. 4/2
Fig. 4/3
58 _
Fig. 4/4
59 _
Fig. 4/5
60 _
Fig. 4/6
O temporizador TOFF em LDR:
Fig. 4/7
61 _
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 _
63 _
64 _
Subprogramas
Captulo 5
65 _
66 _
5. Subprogramas
67 _
5. Subprogramas
Fig. 5/1
Fig. 5/2
68 _
5. Subprogramas
Fig. 5/3
Neste exemplo o modulo qualquer importado sob a
identificao CFM 0.
Fig. 5/4
69 _
5. Subprogramas
5.2
IF
THEN
NOP
CFM 1
WITH
WITH
V1
V3000
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
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
71 _
72 _
Comunicao em rede
Captulo 6
73 _
74 _
6. Comunicao em rede
Fig. 6/1
_
75 _
6. Comunicao em rede
Fig. 6/2
*)
76 _
6. Comunicao em rede
Fig. 6/3
Endereo IP
Mscara IP
Endereo IP de gateway
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
Sem erro
11
Carto de I/O com defeito, curto-circuito nas sadas ou mdulo de I/O sem
alimentao eltrica.
12
13
Watchdog expired A driver, module or IO script blocked the runtime system for more
than 1 second and triggered a restart.
14
36
39
42
Diagnstico do CPX
Limpar erro
81 _
82 _
Endereamento de operandos
Captulo 8
83 _
84 _
Endereamento
Exemplo de
endereamento
Exemplo de
endereamento
Entradas
I0.12
IW147
Sadas
O47.3
OW0
Flag
F4312.14
FW9999
Registrador
R0 ... R255
Programas
P0 ... P63
P14
Status de Programas
PS14
CMP12
CFM99
Temporizadores (pulso)
T0 ... T255
T14
Timer preselect
TP14
TW14
Contadores
C0 ... C255
Counter preselect
(set word)
CP33
CW33
R36
C33
85 _
86 _