Page 1
1
API P. Oliveira Pág. 1
IST / DEEC / SSC
Linguagens de Programação de PLCsStructured Text
Docentes: Prof. Paulo Jorge Oliveira e-mail: pjcro @ isr.ist.utl.ptEng. Bruno Cardeira
LEEC / MEEC 2004-2005
Automação Automação de de
Processos IndustriaisProcessos Industriais
Tel: 21 8418053 ou 2053 (interno)
IST / DEEC / SSC
API P. Oliveira Pág. 2
IST / DEEC / SSC
Cap. 2 - Introdução aos PLCs...Cap. 3 - Linguagens de Programação de PLCs [2 semanas]
Descrição de linguagens standard (IEC-1131-3).
Ladder Diagrams; Instruction list; Structured Text.
Ambientes de desenvolvimento....Cap. 4 - GRAFCET (Sequential Function Chart) [2 semanas]
Automação de Processos Industriais
Programa da Cadeira:Programa da Cadeira:
Page 2
2
API P. Oliveira Pág. 3
IST / DEEC / SSC
Linguagens de programação de Linguagens de programação de PLCsPLCs(IEC 1131(IEC 1131--3)3)
Cap. 3 - Linguagens de Programação de PLCs
Structured Text
Instruction List
Structured Text
Sequential Function Chart(GRAFCET)
LD %M12AND %I1.0ANDN %I1.1OR %M10ST %Q2.0
If %I1.0 THEN%Q2.1 := TRUE
ELSE%Q2.2 := FALSE
END_IF
1
Direita
(1) m
2
3(2) b
(3) p
4
(2) a
Carrega
Esquerda
API P. Oliveira Pág. 4
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Page 3
3
API P. Oliveira Pág. 5
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextTextUma secção de programa é composta por sequências
Uma sequência é equivalente a um secção de ladder diagram (um ou mais degraus).
Legenda:1 – label - identificador único (%Li, i=0...999)2 – comentários - aumentar legibilidade (* limitado a 256 bytes *)3 – instruções
API P. Oliveira Pág. 6
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas
Load
P
N
Contacto aberto: contacto efectuadoenquanto o bit de controlo está a 1.
Contacto fechado: contacto efectuado enquanto o bit de controlo está a 0.
Contacto efectuado durante um ciclo quando sedetecta um flanco ascendente no bit de controlo.
Contacto efectuado durante um ciclo quando sedetecta um flanco descendente no bit de controlo.
StructuredStructured TextText
:=
:=NOT
:=RE
:=FE
Page 4
4
API P. Oliveira Pág. 7
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas
Store
O resultado da função lógica activa o coil.
O resultado negado da função lógica activa o coil.
O resultado da função lógica é armazenado no reléassociado (sets the latch).
S
R O resultado da função lógica é limpa o estado do reléassociado (resets the latch)
StructuredStructured TextText
:=
:=NOT
SET
RESET
API P. Oliveira Pág. 8
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas
AND
AND do operando com o resultado da operação lógica anterior.
AND do operando com a negaçãodo resultado da operação anterior.
AND do flanco ascendente com oresultado da operação anterior.
AND do flanco descendente com oresultado da operação anterior.
P
N
StructuredStructured TextText
AND
AND(NOT...)
AND(FE...)
AND(RE...)
Page 5
5
API P. Oliveira Pág. 9
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas
OR
OR do operando com o resultadoda operação lógica anterior.
OR do operando com a negação doresultado da operação anterior.
OR do flanco ascendente com oresultado da operação anterior.
OR do flanco descendente como resultado da operação anterior.
P
N
StructuredStructured TextText
OR
OR(NOT...)
OR(FE...)
OR(RE...)
API P. Oliveira Pág. 10
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Exemplo:
Page 6
6
API P. Oliveira Pág. 11
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas
XOR
StructuredStructured TextText
API P. Oliveira Pág. 12
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Instruções Básicas pata tabelas de bitsStructuredStructured TextText
Page 7
7
API P. Oliveira Pág. 13
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Relés temporizadosOu
Timers
StructuredStructured TextText
API P. Oliveira Pág. 14
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Relés temporizadosOu
Timers
Características:
Identificador: %TMi 0..63 no TSX37
Entrada: IN para activação
Modo: TON On delayTOFF Off delayTP Monoestável
Base de Tempo: TB 1mn (def.), 1s, 100ms, 10ms
Valor programado: %TMi.P 0...9999 (def.)tempo=TB*TMi.P
Valor Actual: %TMi.V 0...TMi.P (pode serlido ou testado)
Modificação: Y/N modificação a partir de terminal
IN Q
%TMi
MODE: TONTB: 1mn
TM.P: 9999MODIF: Y
StructuredStructured TextText
Page 8
8
API P. Oliveira Pág. 15
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Relés temporizadosOu
Timers
StructuredStructured TextText
IF %I1.1 THENSTART %TM1;
END_IF;%Q2.3 := %TM1.Q
API P. Oliveira Pág. 16
IST / DEEC / SSC
Exemplo:
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Page 9
9
API P. Oliveira Pág. 17
IST / DEEC / SSC
Contadores
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Aplicações típicas
API P. Oliveira Pág. 18
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Características:
Identificador: %Ci 0..31 no TSX37
Valor programado: %Ci.P 0...9999 (def.)Valor Actual: %Ci.V 0...Ci.P (não pode ser escrito)
Modificação: Y/N modificação a partir de terminal
Entradas: R Reset Ci.V=0S Preset Ci.V=Ci.PCU Count UpCD Count Down
Saídas: E Overrun %Ci.E=1 %Ci.V=0->9999
D Done %Ci.D=1 %Ci.V=Ci.PF Full %Ci.F=1 %Ci.V=9999->0
E
%Ci
CP: 9999MODIF: Y
RS
CUCD
D
F
StructuredStructured TextText
Contadores
Page 10
10
API P. Oliveira Pág. 19
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
ContadoresExemplo:
IF %I1.1 THENRESET %C8;
END_IF;IF (%I1.2 AND %M0) THEN
UP %C8;END_IF;%Q2.0 := %C8.D;
API P. Oliveira Pág. 20
IST / DEEC / SSC
Processamento Numérico
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Funções Algébricas e Lógicas
Page 11
11
API P. Oliveira Pág. 21
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico
StructuredStructured TextText
Funções Aritméticas de words e double words
API P. Oliveira Pág. 22
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico
StructuredStructured TextText
Exemplo de uso de Funções Aritméticas
IF %M0 THEN%MW0 := %MW10 + 100;
END_IF;IF %I3.2 THEN
%MW0 := SQRT(%MW10);END_IF;IF RE %I3.3 THEN
INC %MW100;END_IF;
Page 12
12
API P. Oliveira Pág. 23
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico
StructuredStructured TextText
Exemplo de uso de Funções Aritméticas
IF %M0 THEN%MW0 := %MW1 + %MW2;
END_IF;IF %S18 THEN
%MW10 := 32767; RESET %S18;ELSE
%MW10 := %MW0;END_IF;
API P. Oliveira Pág. 24
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico
StructuredStructured TextText
Funções Lógicas
Page 13
13
API P. Oliveira Pág. 25
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico
StructuredStructured TextText
Exemplo de uso de Funções Lógicas
API P. Oliveira Pág. 26
IST / DEEC / SSC
Manipulação de Tabelas Numéricos
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Page 14
14
API P. Oliveira Pág. 27
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
Processamento Numérico de floats
StructuredStructured TextText
API P. Oliveira Pág. 28
IST / DEEC / SSC
Estruturas de Controlo de Fluxo
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Sub-rotinas (imbrincadas)
Chamada e retorno
Exemplo:
Page 15
15
API P. Oliveira Pág. 29
IST / DEEC / SSC
Estruturas de Controlo de Fluxo
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Saltos condicionais e Incondicionais
API P. Oliveira Pág. 30
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Exemplo de uso de Saltos condicionais e Incondicionais
Estruturas de Controlo de Fluxo
Page 16
16
API P. Oliveira Pág. 31
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
IF ... THEN ... ELSE ...
Estruturas de Controlo de Fluxo
API P. Oliveira Pág. 32
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Ciclo WHILE
Estruturas de Controlo de Fluxo
Exemplo:
Page 17
17
API P. Oliveira Pág. 33
IST / DEEC / SSC Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Ciclo REPEAT ... UNTIL
Ciclo FOR ... DO
EXIT para abortar a execução de uma extrutura de controlo de fluxo.
Outras Estruturas de Controlo de Fluxo
Exemplo:
API P. Oliveira Pág. 34
IST / DEEC / SSC
Estruturas de Controlo de Fluxo
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
Instruções de Halt
Nota: pára todos os processos
Máscaras de eventos
Page 18
18
API P. Oliveira Pág. 35
IST / DEEC / SSC
Instruções para manipulação da data, tempo e duração.
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
API P. Oliveira Pág. 36
IST / DEEC / SSC
Existem outras instruções mais avançadas (ver manual de referência)
Cap. 3 - Linguagens de Programação de PLCs
StructuredStructured TextText
• Mono-estável
• Registos de 256 words (LIFO ou FIFO)
• DRUM Programador ciclico
• Comparadores
• Shift-registers...• Funções de manipulação de floats
• Funções de conversão de bases e de tipo