Professional Documents
Culture Documents
IEC 61131-3
dezembro de 1999
CLP
O que é um CLP ?
Características básicas
n Sistema modular
n Hardware dedicado (CPU, memória, I/O, comunicação,
etc.)
n Software fechado (S.O., comunicação, etc.)
classe de produto
n Software aplicativo dependente do hardware
58584-00 3
CLP
Vantagens
58584-00 4
CLP
Desvantagens
n Solução proprietária de HW e SW
n Custo elevado dos módulos inteligentes
58584-00 5
Visão do Usuário (OMAC, 1994)
n Tecnologia proprietária
n Política comercial (ditadura de preços)
n Interfaces proprietárias
58584-00 6
Visão do Usuário (OMAC)
n Flexibilidade
n Conectividade
n Mantenabilidade
n Facilidade de treinamento
58584-00 7
Desejo do Usuário (OMAC)
n Econômica
n Aberta
n Modular
n Fácil manutenção
n Escalável
58584-00 8
Soft Logic
Características
e SW
n Execução periódica ou engatilhada (multitarefa)
n Recursos de HW ilimitados
58584-00 10
Soft Logic
Vantagens
n Solução aberta
n Baixo custo de HW (HW de mercado)
IHM, etc.)
n Flexibilidade
n Facilidade de expansão
n Maior conectividade
n Etc...
58584-00 11
Soft Logic
Desvantagens
58584-00 12
PC Based Control
Software de
Controle Hardware PC Padrão
ou Embedded
S.O. de Mercado
(WNT, CE, QNX,
Vx Works, UNIX,
LINUX, etc...)
17008472
I/O de Mercado
58584-00 13
PC Based Control
n 61131-5 - Comunicação
58584-00 14
Norma IEC 61131
Definições
n Configuração
Corresponde ao sistema do controlador programável,
composto pelos diversos recursos
n Recurso
58584-00 16
Norma IEC 61131
Definições
n Variável global
Variável cujo escopo é global
n Caminho de acesso
58584-00 17
Norma IEC 61131
Mecanismo de execução
...
Define
saídas Task N periódica período_N
n Ambiente multitarefa
n Usuários devem definir cada variável
antes de usá-la
58584-00 18
Norma IEC 61131
58584-00 19
Open PLC
Controle baseado em PC
Soft PLC
58584-00 20
Open PLC
l Divulgação da norma
l Certificação de produtos
n Testes de compatibilidade
l Base level
l Portability level
l Full compliance
58584-00 21
PLC x Open PLC
tecnologias de rede
n Múltiplas linguagens de programação (padrão 61131-3)
convencionais
58584-00 22
PLC x Open PLC
n Automobilística
n Bebidas
n Alimentos
n Cigarros
n Farmacêutica
n Predial
n Manufatura em geral
58584-00 23
PLC x Open PLC
58584-00 24
IEC 61131-3
Características
da Norma
IEC 61131-3
58584-00 25
Características
Convenção de nomes
Endereçamento simbólico Endereçamento físico
DIGESTOR_1
SEQUÊNCIA
FATOR_H
CONTROLE_TEMP
DIGESTOR_1
DIGESTOR_1.SEQUÊNCIA
DIGESTOR_1.SEQUÊNCIA.FATOR_H
DIGESTOR_1.SEQUÊNCIA.FATOR_H.CONTROLE_TEMP
DIGESTOR_1.SEQUÊNCIA.FATOR_H.CONTROLE_TEMP.TIC101_VP 17051021
58584-00 26
Características
Convenção de nomes
gestão
n Facilita e exportação da base de dados
Time#14ms
n Etc
58584-00 27
Características
Tipos de dados
l ANY
l ANY - NUM
l ANY - BIT
l STRING
l ANY - DATE
l TIME
l DERIVADOS
58584-00 28
Características
n Elemento simples
Consiste de um único elemento de um tipo de dado
Ex:
%QX75 e %Q75 Bit de saída 75
%IW215 Palavra de entrada 215
%IW2.5.7.1 (hierárquico) Canal 1, módulo 7, rack 5,
barramento 2
n Múltiplos elementos
l Array - Coleção de dados do mesmo tipo
58584-00 29
Características
Exemplo de variáveis
VAR Declaração direta (posição
AT %IW6.2 : WORD; de memória)
AT %MW6 : INT ;
END_VAR
VAR_GLOBAL Declaração de variáveis
LIM_SW_S5 AT %IX27 : BOOL; simbólicas como alocação
TEMPERATURE AT %IW28: INT; direta
END_VAR
VAR Declaração de array com
INARY AT %IW6 : ARRAY [0..9] OF INT; alocação direta
END_VAR
VAR Alocação dinâmcia de
CONDITION_RED : BOOL; variáveis simbólicas
IBOUNCE : WORD ;
AWORD, BWORD, CWORD : INT;
MYSTR: STRING[10] ;
END_VAR
TYPE PRESSURE_SENSOR : Declaração do tipo de
STRUCT dados e inicialização de
INPUT : REAL := 2.0 ; variavél structure
STATUS : BOOL := 0 ;
CALIBRATION : DATE := DT#1999-05-20 ;
HIGH_LIMIT : REAL := 30.0 ;
ALARM_COUNT : INT := 0 ;
END_STRUCT
END_TYPE
58584-00 30
Características
Controle de Tarefas
n Engatilhada (Single)
n Periódica (Interval)
Graphical representation of TASKs within a RESOURCE Graphical association with PROGRAMs (within RESOURCEs)
TASKNAME RESOURCE STATION_2
+---------+ P1 P4
| TASK | +-------+ +-------+
BOOL---|SINGLE | | F | | H |
TIME---|INTERVAL | | | | |
UINT---|PRIORITY | | | | |
+---------+ +-------+ +-------+
Graphical representation of periodic TASKs | PER_2 | | INT_2 |
SLOW_1 FAST_1 +-------+ +-------+
+---------+ +---------+
| TASK | | TASK | END_RESOURCE
|SINGLE | |SINGLE | Graphical association with function blocks
t#20ms---|INTERVAL | t#10ms---|INTERVAL | (within PROGRAMs inside RESOURCEs)
2---|PRIORITY | 1---|PRIORITY | RESOURCE STATION_1
+---------+ +---------+ P2
+------------------------------------------------+
Graphical representation of non-periodic TASK | G |
INT_2 | FB1 FB2 |
+---------+ | +------+ +------+ |
| TASK | | | A | | B | |
%IX2---|SINGLE | | | | | | |
|INTERVAL | | | | | | |
1---|PRIORITY | | +------+ +------+ |
+---------+ | |SLOW_1| |FAST_1| |
| +------+ +------+ |
+------------------------------------------------+
END_RESOURCE
58584-00 31
POU
n Programa (Program)
Características
n Fornecidas pelo fabricante (software, equipamentos, etc… )
n Não recursivas
58584-00 32
POU
Função
operando
n Não possui memória de estados. Isto é, invocar uma
POU
58584-00 33
POU
Exemplo de função
Example Explanation
+-----+ Graphical use of ADD function
| ADD | (No formal parameter names)
B---| |---A
C---| |
D---| |
+-----+
58584-00 34
POU
Funções Padrões
Classe Funções
Conversão de tipo *_TO_**, TRUNC,
BCD_TO_**,
*_TO_BCD
Numéricas ABS, SQRT, LN, LOG, EXP, SIN, COS,
TAN, ASIN, ACOS, ATAN
Aritméticas ADD (+), MUL (*), SUB (-), DIV (/),
MOD, EXPT (**), MOVE (:=)
Deslocamento de Bit SHL, SHR, ROR, ROL
Booleanas AND (&), OR (>=1), XOR, NOT
Seleção SEL, MAX, MIN, LIMIT, MUX
Comparação GT (>), GE (>=), EQ (=),
LE (<=), LT (<), NE (<>)
String LEN, LEFT, RIGHT, MID, CONCAT,
INSERT, DELETE, REPLACE, FIND
Tempo ADD (+), SUB (-), MUL (*), DIV (/),
CONCAT,
DATE_AND_TIME_TO_TIME_OF_DAY,
DATE_AND_TIME_TO_DATE
Enumerações SEL, MUX, EQ, NE
58584-00 35
POU
Funções Derivadas
l Linguagens adicionais
58584-00 36
POU
58584-00 37
POU
BRUTO
TARA PESO
58584-00 38
POU
Tara in2
Function Block
-
Bruto IN1
58584-00 39
POU
Bloco de Função
58584-00 40
POU
58584-00 41
POU
58584-00 42
POU
n Linguagens adicionais
58584-00 43
POU
58584-00 44
POU
Programa
58584-00 45
POU
58584-00 46
Linguagens
Linguagens de Programação
n Textuais
l IL - Lista de Instruções
l ST - Texto Estruturado
n Gráficas
l LD - Ladder
n Organização de Programas
l Flow Chart
lC
l Etc.
58584-00 47
Linguagens
TEXTUAIS GRÁFICAS
Mais Controle lógico Controle lógico
flexível e sequencial e regulatório
Baixo nível
Otimização ou pequenas aplicações
58584-00 48
Linguagens
%I1
%I1 %I2 %I3
%I2
%I1 a Reset
%Q1 %Q1
58584-00 49
Linguagens
TEMPORIZADOR BLOCO RS
TON RS
CONTADOR
CTU
PULSO CU Q SAÍDA
RESET R
VALOR PV CV CONTAGEM
58584-00 50
Linguagens
IL - Lista de Instruções
Características
n Linguagem de Baixo Nível
n Semelhante ao Assembler
de código
n Linguagem básica para exportação de programas
(Portabilidade)
58584-00 51
Linguagens
IL - Lista de Instruções
Estrutura
Label Operator Operand Comment
START: LD %IX1 (* PUSH BUTTON *)
ANDN %MX5 (* NOT INHIBITED *)
ST %QX2 (* FAN ON *)
58584-00 52
Linguagens
IL - Instruction List
Operadores para Blocos de
Operadores Função Padrões
Operator Modifiers Operand Semantics Operators FB Type
LD N Note 2 Set current result equal to operand S1,R SR
ST N Note 2 Store current result to operand location S,R1 RS
S Note 3 BOOL Set Boolean operand to 1 CLK R_TRIG
R Note 3 BOOL Reset Boolean operand to 0
CLK F_TRIG
AND N, ( BOOL Boolean AND
& N, ( BOOL Boolean AND
CU,R,PV CTU
OR N, ( BOOL Boolean OR CD,LD,PV CTD
XOR N, ( BOOL Boolean Exclusive OR CU,CD,R,LD,P CTUD
ADD ( Note 2 Addition V
SUB ( Note 2 Subtraction IN,PT TP
MUL ( Note 2 Multiplication IN,PT TON
DIV ( Note 2 Division
IN,PT TOF
GT ( Note 2 Comparison: >
GE ( Note 2 Comparison: >=
EQ ( Note 2 Comparison: =
NE ( Note 2 Comparison: <>
LE ( Note 2 Comparison: <=
LT ( Note 2 Comparison: <
JMP C, N LABEL Jump to label
CAL C, N NAME Call function block (note 4)
RET C, N Return from called function or function block
) Evaluate deferred operation
58584-00 53
Linguagens
AND OR XOR
LD %IX0.1 LD %IX0.1 LD %IX0.1
AND %IX0.2 OR %IX0.2 XOR %IX0.2
ANDN %IX0.3 ORN %IX0.3 ST %QX1.1
ST %QX1.1 ST %QX1.1
ST - Texto Estruturado
Características
n Linguagem de alto nível
n Ideal para
l Tomada de decisões
l Cálculos
l Implementação de algoritmos
l Utilização de literais
l Criação de blocos
l Etc.
58584-00 55
Linguagens
ST - Structured Text
Operadores Declarações
Operation Symbol Precedence Statement type/Reference Examples
Assignment A := B; CV := CV+1; C := SIN(X);
Parenthesization (expression) HIGHEST
Function block Invocation CMD_TMR(IN:=%IX5, PT:=T#300ms) ;
A := CMD_TMR.Q ;
Function evaluation identifier (argument and FB output usage
list) RETURN ;
RETURN
Examples: LN(A), MAX(X,Y), etc. IF D := B*B - 4*A*C ;
IF D < 0.0 THEN NROOTS := 0 ;
Exponentiation ** ELSIF D = 0.0 THEN
NROOTS := 1 ;
(Note 2) X1 := - B/(2.0*A) ;
ELSE
NROOTS := 2 ;
Negation - X1 := (- B + SQRT(D))/(2.0*A) ;
X2 := (- B - SQRT(D))/(2.0*A) ;
Complement NOT END_IF ;
CASE TW := BCD_TO_INT(THUMBWHEEL);
Multiply * TW_ERROR := 0;
CASE TW OF
Divide / 1,5: DISPLAY := OVEN_TEMP;
2: DISPLAY := MOTOR_SPEED;
3: DISPLAY := GROSS - TARE;
Modulo MOD 4,6..10: DISPLAY := STATUS(TW - 4);
ELSE DISPLAY := 0 ;
Add + TW_ERROR := 1;
END_CASE;
QW100 := INT_TO_BCD(DISPLAY);
Subtract -
FOR J := 101 ;
Comparison < , > , <= , >= FOR I := 1 TO 100 BY 2 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
Equality = EXIT ;
END_IF ;
Inequality <> END_FOR ;
WHILE J := 1;
Boolean AND & WHILE J <= 100 & WORDS[J] <> 'KEY' DO
J := J+2 ;
Boolean AND AND END_WHILE ;
REPEAT J := -1 ;
Boolean Exclusive XOR REPEAT
J := J+2 ;
OR UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
Boolean OR OR LOWEST EXIT EXIT ;
Empty Statement ;
58584-00 56
Linguagens
58584-00 57
Linguagens
58584-00 58
Linguagens
LD - Ladder Diagram
Características
seqüencial (intertravamento)
n Utiliza blocos de função para controle regulatório e
funções especiais
58584-00 59
Linguagens
LD - Ladder Diagram
58584-00 60
Linguagens
AND
%IX0.1 %IX0.2 %IX0.3 %QX1.3
OR %IX0.1 %QX1.3
%IX0.2
%IX0.3
XOR
%IX0.1 =1 %QX1.3
in1 q
%IX0.2 in2
58584-00 61
Linguagens
Tempor.
Liga TON Saida3
TON IN Q
Tempo PT ET ET
Valor PV
58584-00 62
Linguagens
Características
n Baseada nos diagramas de circuitos (Diagrama Lógico)
etc.
n Representação de fácil interpretação
58584-00 63
Linguagens
58584-00 64
Linguagens
AND &
%IX0.1
%IX0.2
%IX0.3 %QX1.4
OR
>=1
%IX0.1
%IX0.2
%IX0.3 %QX1.4
XOR
=1
%IX0.1 IN1
58584-00 65
Linguagens
Memória &
Reset
RS %QX1.4
>=1
Set
%QX1.4
Tempor.
TON
TON
Liga IN Q Saida4
Tempo PT ET ET
Contador
CTU
UP Pulso CU
58584-00 66
Linguagens
Características
n Baseada no Grafcet e Redes de Petri ð Formulação
Matemática
n Padrão para programação de processos Batch ð ISA
SP88
n Adequada para
Discreto
l Controle de estados ð Máquina de Estados Finitos e
Algoritmos
l Tomadas de decisão ð Árvore de decisões
n Rastreabilidade de eventos
58584-00 67
Linguagens
n Elementos de programação
executadas
l Transição: condição pela qual o programa muda de
58584-00 68
Linguagens
RAMIFICAÇÃO R
L
T LINK L
L
P
A
CARREGA-
MENTO DE
MATÉRIA- (FUNÇÃO DE
PRIMA LÓGICA LADDER)
L
T
T
R
A
P
P
CARREGA- ( BLOCOS DE
MENTO DE GERAÇÃO
DE VAPOR FUNÇÕES )
LIXÍVIA
58584-00 69
Linguagens
58584-00 70
Linguagens
2 (* start lead sequence *) 101 (* start flash sequence *) 201 (* start random sequence *)
LEAD (S); FLASH (S); RANDOM (S);
ACTION (P) : ACTION (P) : ACTION (P) :
sequence := 'Lead'; sequence := 'Flash'; sequence := 'Random';
END_ACTION; END_ACTION; END_ACTION;
2 102 202
3 (* kill lead sequence *) 102 (* kill flash sequence *) 202 (* kill random sequence *)
LEAD (R); FLASH (R); RANDOM (R);
3 103 203
58584-00 71
Linguagens
l Bibliotecas dedicadas
58584-00 72
Linguagens
58584-00 73
Aplicação
58584-00 74
Aplicação
Análise do problema
58584-00 75
Exercício
58584-00 76
Exercício
Digitais
n FS_Vazao_Baixa: Entrada da Chave de Fluxo
Analógicas
n LT_Nivel_Caixa: Entrada do Nível da Caixa D'água
58584-00 77
Exercício
Digitais
n ON_OFF: Entrada da chave principal
Analógicas
n SP_Vazao_Agua: Valor desejado da vazão de saída
58584-00 78
Exercício
Considerações
58584-00 79
Exercício
Objetivo
l Falta de água
58584-00 80
Dúvidas ?
58584-00 81