Escolar Documentos
Profissional Documentos
Cultura Documentos
IEC 61131-3
dezembro de 1999
CLP
O que um CLP ?
CLP
Caractersticas bsicas
Sistema modular
n Hardware dedicado (CPU, memria, I/O, comunicao,
etc.)
n Software fechado (S.O., comunicao, etc.)
n Sistema de tempo real
n Execuo cclica do aplicativo (CLP padro)
n Limitao da capacidade e dos recursos de HW e SW por
classe de produto
n Software aplicativo dependente do hardware
n Alta integrao entre HW e SW aplicativo
n
58584-00
CLP
Vantagens
n
n
n
n
n
n
58584-00
CLP
Desvantagens
Soluo proprietria de HW e SW
n Custo elevado dos mdulos inteligentes
n Custo elevado para expanso
n Requer maior especializao / treinamento no produto
n Dificuldade de atualizao e expanso de HW
n Capacidade de processamento restrita em comparao
aos sistemas computacionais
n
58584-00
58584-00
58584-00
58584-00
Soft Logic
O que Soft Logic?
Soft Logic
Caractersticas
Hardware dedicado ou de mercado (padro PC)
n Software aberto (S.O., comunicao, etc.)
n Sistema de tempo real dependente da combinao de HW
e SW
n Execuo peridica ou engatilhada (multitarefa)
n Recursos de HW ilimitados
n Software independente do hardware
n Integrao entre HW e SW aplicativo atravs do S.O.
n
58584-00
10
Soft Logic
Vantagens
Soluo aberta
n Baixo custo de HW (HW de mercado)
n Maior desempenho (HW de ltima gerao)
n Maior integrao entre sistemas (controle, superviso,
BD, MES, ERP, etc.)
n Maior funcionalidade (CLP, CNC, Motion Control, DCS,
IHM, etc.)
n Flexibilidade
n Facilidade de expanso
n Maior conectividade
n Facilidade de manuteno / treinamento
n Etc...
n
58584-00
11
Soft Logic
Desvantagens
Baixa aceitao devido ao desconhecimento e falta de
experincia do mercado
n Confiabilidade questionvel em aplicaes crticas
n
58584-00
12
PC Based Control
O que controle baseado em PC?
Rede de Dados Aberta
Software de
Controle
Hardware PC Padro
ou Embedded
S.O. de Mercado
(WNT, CE, QNX,
Vx Works, UNIX,
LINUX, etc...)
I/O de Mercado
17008472
13
PC Based Control
Em 1992, o IEC publicou a norma IEC 61131, a qual
estabelece padres para Controladores Programveis
A norma 61131 dividida em 5 partes
n 61131-1 - Informaes gerais
n 61131-2 - Requisitos de hardware
n 61131-3 - Linguagens de programao
n 61131-4 - Guia de orientao ao usurio
n 61131-5 - Comunicao
Outras trs partes esto em fase de elaborao
n 61131-6 - Comunicao via Fieldbus
n 61131-7 - Programao utilizando Lgica Fuzzy
n 61131-8 - Guia para implementao das linguagens
58584-00
14
15
58584-00
16
58584-00
17
L
entradas
Executa
programa
peridica
perodo_1
Task 2
evento
event_id
Task 3
evento
event_id
peridica
perodo_N
...
Define
sadas
Task N
n
n
58584-00
Ambiente multitarefa
Usurios devem definir cada varivel
antes de us-la
18
58584-00
19
Open PLC
Controle baseado em PC
Soft PLC
58584-00
20
Open PLC
PLC Open uma associao independente que promove
uma padronizao na implementao da norma IEC 61131-3
n Atuao
l Divulgao da norma
l Definio de interfaces comuns
l Certificao de produtos
n Testes de compatibilidade
l Base level
l Portability level
l Full compliance
n Recomendaes sobre utilizao da norma
58584-00
21
58584-00
22
58584-00
23
PC Control Vendors
Company
Software
3S
CoDeSys
Strategy
Window s NT
Company
Mitsubishi Electric Automation
Software
MELsoft
Strategy
NT/Intime
ABB
Advant OCS
Moore Automation
Adept Technology
AdeptWindow s
NT, 95
National Instruments
Bridgeview , Labview RT
Aerotech Inc.
U500, U600
95, NT
NemaSoft
OpenControl, Paragon
NT/Hyperkernel, NT
Afcon
P-CIM
NT
New Monics
NT/RTX/Java
AlterSys
QNX
Object Automation
OAenterprise 98
NT/RTX/Java
Apilogic
NT
OMNX
NT/QNX
ASAP
ASIC-300
NT
Omron
Sysmac
PLC on PC board
Aspen Technology
Plantelligence
NT
Opto 22
NT
Cegelec
Java
OSI
PI System
NT
Ci Technologies
Citect
NT
PC Soft
WizPLC, WizDCS
NT/RTX, NT
CJ International
IsaGraf
NT
Smart2 PLC
NT
Comdale Technologies
Expert systems
QNX
PharLap
Control Systems
International
CTC Parker
QNX
Phoenix Contact
Real-time systems,
tools
Rtos, CE (in beta)
MachineLogic
DOS/RTX
Cutler-Hammer/Eaton
NetSolver
NT/INtime
Cyberonics
Java
Elsag Bailey
NT, NT
Fisher-Rosemount
PlantWeb
NT
Foxboro
FoxDMM
Java
GE Fanuc
PC Control
NT
Hew lett-Packard
Chai
Java
Smart Control
NT/INtime
NT
Iconics
Genesis32
NT
Imagination Systems
Hyperkernel
Real-time system
Psos, psos +
Intellution
FIX Paradym-31
NT (RTX), CE
NT, CE Development
Tools
Java
ProConOS
Labtech
Lynx
LynxOS
Rtos
MDSI
Open CNC
NT w ith RTX/QNX
58584-00
QNX
Real-time systems
Radisys
INtime
Real-time systems
Allen-Bradley SoftLogix 5
NT
ControlPak
NT
Schneider Automation
TSX Premium
PLC on PC board
Sequentia
OpenBatch
NT
Siemens
WinAC, MP270
NT, CE
Softing
4 Control
NT
SoftPLC
SoftPLC
Embedded RTOS/Java
Steeplechase
NT/Intime
TA Engineering
AIMAX
NT
Think & Do
Think & Do
NT/RTX
Framew orX
NT/CE/RTX
VenturCom
RTX
Real-time systems
VMIC
IOWorks NT/VxWorks
NT/Rtos
Westinghouse PC
Java
Real-time systems
Wonderw are
NT, CE
Yokogaw a Industrial
Automation
Centum CS 1000
NT
24
IEC 61131-3
Caractersticas
da Norma
IEC 61131-3
58584-00
25
Caractersticas
Conveno de nomes
Endereamento simblico
Endereamento fsico
DIGESTOR_1
SEQUNCIA
FATOR_H
CONTROLE_TEMP
DIGESTOR_1
DIGESTOR_1.SEQUNCIA
DIGESTOR_1.SEQUNCIA.FATOR_H
DIGESTOR_1.SEQUNCIA.FATOR_H.CONTROLE_TEMP
DIGESTOR_1.SEQUNCIA.FATOR_H.CONTROLE_TEMP.TIC101_VP
58584-00
17051021
26
Caractersticas
Conveno de nomes
Tornam o banco de dados e a estratgia de controle mais
claros e perceptveis
n Segue hierarquia top-down
n Nome embutido no nvel de recurso, o computador ou
sistema externo solicita dado pelo nome ao invs de
buscar endereo
n Facilita integrao com outros sistemas: administrativo,
gesto
n Facilita e exportao da base de dados
n Uso de Literais: -12, 0.45, 2#1010, FALSE, TRUE,
Time#14ms
n Etc
n
58584-00
27
Caractersticas
Tipos de dados
Elementares (Bool, INT, Real, Time, Date, String, Byte,
Word, etc )
n Genricos
l ANY
l ANY - NUM
l ANY - BIT
l STRING
l ANY - DATE
l TIME
l DERIVADOS
n Derivados (enumerated, subrange, array, struct)
n
58584-00
28
Caractersticas
Variveis (Declarao, Atribuio de tipos, Inicializao)
n
Elemento simples
Consiste de um nico elemento de um tipo de dado
Ex:
%QX75 e %Q75
Bit de sada 75
%IW215
Palavra de entrada 215
%IW2.5.7.1 (hierrquico)
Canal 1, mdulo 7, rack 5,
barramento 2
Mltiplos elementos
l Array - Coleo de dados do mesmo tipo
Ex: Vetores, matrizes
l Structure - Estrutura de dados (Registro)
58584-00
29
Caractersticas
Exemplo de variveis
58584-00
VAR
AT %IW6.2 : WORD;
AT %MW6
: INT ;
END_VAR
VAR_GLOBAL
LIM_SW_S5 AT %IX27 : BOOL;
TEMPERATURE AT %IW28: INT;
END_VAR
VAR
INARY AT %IW6 : ARRAY [0..9] OF INT;
END_VAR
VAR
CONDITION_RED : BOOL;
IBOUNCE : WORD ;
AWORD, BWORD, CWORD : INT;
MYSTR: STRING[10] ;
END_VAR
TYPE PRESSURE_SENSOR :
STRUCT
INPUT : REAL := 2.0 ;
STATUS : BOOL := 0 ;
CALIBRATION : DATE := DT#1999-05-20 ;
HIGH_LIMIT : REAL := 30.0 ;
ALARM_COUNT : INT := 0 ;
END_STRUCT
END_TYPE
Alocao dinmcia de
variveis simblicas
Declarao de variveis
simblicas como alocao
direta
Declarao de array com
alocao direta
Declarao do tipo de
dados e inicializao de
variavl structure
30
Caractersticas
Controle de Tarefas
n Engatilhada (Single)
n Peridica (Interval)
n Prioridades (Preemptivo ou no)
Graphical representation of TASKs within a RESOURCE
TASKNAME
+---------+
| TASK
|
BOOL---|SINGLE
|
TIME---|INTERVAL |
UINT---|PRIORITY |
+---------+
Graphical representation of periodic TASKs
SLOW_1
FAST_1
+---------+
+---------+
| TASK
|
| TASK
|
|SINGLE
|
|SINGLE
|
t#20ms---|INTERVAL |
t#10ms---|INTERVAL |
2---|PRIORITY |
1---|PRIORITY |
+---------+
+---------+
Graphical representation of non-periodic TASK
INT_2
+---------+
| TASK
|
%IX2---|SINGLE
|
|INTERVAL |
1---|PRIORITY |
+---------+
58584-00
31
POU
Unidades de Organizao de Programas (POU)
n Funo (Function)
n Bloco de Funo (Function Block)
n Programa (Program)
Caractersticas
n Fornecidas pelo fabricante (software, equipamentos, etc )
n Desenvolvidas pelo usurio
n No recursivas
58584-00
32
POU
Funo
Deve ser declarada
n Quando executada produz um elemento de dado simples
ou mltiplo (array ou structure)
n Pode ser invocada nas linguagens textuais como
operando
n No possui memria de estados. Isto , invocar uma
funo com os mesmos argumentos (parmetros de
entrada), sempre produzir o mesmo valor (sada)
n Type overloading: a funo pode trabalhar com todos os
tipos de dados de um tipo genrico
n Uma funo pode ser utilizada na declarao de outra
POU
n
58584-00
33
POU
Exemplo de funo
Example
+-----+
| ADD |
B---|
|---A
C---|
|
D---|
|
+-----+
A := ADD(B,C,D);
+-----+
| SHL |
B---|IN
|---A
C---|N
|
+-----+
A := SHL(IN := B,N := C);
58584-00
Explanation
Graphical use of ADD function
(No formal parameter names)
34
POU
Funes Padres
Classe
Converso de tipo
Numricas
Aritmticas
Deslocamento de Bit
Booleanas
Seleo
Comparao
String
Tempo
Enumeraes
58584-00
Funes
*_TO_**, TRUNC,
BCD_TO_**,
*_TO_BCD
ABS, SQRT, LN, LOG, EXP, SIN, COS,
TAN, ASIN, ACOS, ATAN
ADD (+), MUL (*), SUB (-), DIV (/),
MOD, EXPT (**), MOVE (:=)
35
POU
Funes Derivadas
Podem ser criadas usando-se
l Funes padres ou derivadas
l Tipos de dados padres ou derivados
l Qualquer uma das linguagens IL, ST, LD, ou FBD
l Linguagens adicionais
58584-00
36
POU
Funes Derivadas - Exemplo
A textual form of the declaration of this function is:
+-------------------------+
|
WEIGH
|
BOOL---|EN
ENO|---BOOL
BOOL---|weigh_command
|---WORD
WORD---|gross_weight
|
INT----|tare_weight
|
+-------------------------+
(* Function Body *)
END_FUNCTION
(* Implicit "ENO" *)
WEIGH_NOW:
LD
JMPC
ST
RET
LD
BCD_TO_INT
SUB
INT_TO_BCD
ST
weigh_command
WEIGH_NOW
ENO
(* No weighing, 0 to "ENO" *)
gross_weight
tare_weight
(* Return evaluated weight *)
WEIGH
58584-00
37
POU
Funes Derivadas Exemplo IsaGraf
Representao grfica
FUNO
BRUTO
TARA
PESO
Lista de Instrues
LD Bruto
SUB Tara
ST Peso_IL
Texto Estruturado
58584-00
38
POU
Funes Derivadas Exemplo IsaGraf
Ladder
Habilita
Concluida
en
eno
Bruto in1
q Peso_LD
Tara in2
Function Block
Bruto
Tara
58584-00
IN1
IN2
Peso_FBD
39
POU
Bloco de Funo
Deve ser declarado
n Quando executado produz um ou mais valores
n Instanciao: vrias instncias (identificador + estrutura
de dados) podem ser criadas
n Possui memria de dados: todas as variveis internas e
de sada so mantidas entre as execues de um bloco
de funo
n Pode ser invocado pelas linguagens textuais
n Um bloco de funo pode ser usado na declarao de
outro bloco de funo ou programa (instanciao)
n
58584-00
40
POU
Exemplo de bloco de funo
FUNCTION_BLOCK DEBOUNCE
(*** External Interface ***)
VAR_INPUT
IN : BOOL ;
DB_TIME : TIME := t#10ms ;
END_VAR
VAR_OUTPUT OUT : BOOL ;
ET_OFF : TIME ;
END_VAR
VAR DB_ON : TON ;
DB_OFF : TON ;
DB_FF : SR ;
END_VAR
(* Default = 0 *)
(* Default = t#10ms *)
(* Default = 0 *)
(* Default = t#0s *)
(** Internal Variables **)
(** and FB Instances **)
58584-00
FUNCTION_BLOCK
(** External Interface **)
+---------------+
|
DEBOUNCE
|
BOOL---|IN
OUT|---BOOL
TIME---|DB_TIME ET_OFF|---TIME
+---------------+
(** Function Block Body **)
DB_ON
DB_FF
+-----+
+----+
| TON |
| SR |
IN----+------|IN Q|-----|S1 Q|---OUT
| +---|PT ET| +--|R
|
| |
+-----+ | +----+
| |
|
| |
DB_OFF |
| |
+-----+ |
| |
| TON | |
+--|--O|IN Q|--+
DB_TIME--+---|PT ET|--------------ET_OFF
+-----+
END_FUNCTION_BLOCK
41
POU
Blocos de Funo Padres
Biestveis
+-----+
| SR |
BOOL---|S1 Q1|---BOOL
BOOL---|R
|
+-----+
+-----+
| RS |
BOOL---|S Q1|---BOOL
BOOL---|R1
|
+-----+
Deteco de Borda
+--------+
| R_TRIG |
BOOL---|CLK
Q|---BOOL
+--------+
+--------+
| F_TRIG |
BOOL---|CLK
Q|---BOOL
+--------+
Contagem
+-----+
| CTU |
BOOL--->CU Q|---BOOL
BOOL---|R
|
INT---|PV CV|---INT
+-----+
+------+
| CTUD |
BOOL--->CU QU|---BOOL
BOOL--->CD QD|---BOOL
BOOL---|R
|
BOOL---|LD
|
INT---|PV CV|---INT
+------+
+-----+
| CTD |
BOOL--->CD Q|---BOOL
BOOL---|LD
|
INT---|PV CV|---INT
+-----+
Temporizao
+-------+
| TON |
BOOL---|IN
Q|---BOOL
TIME---|PT
ET|---TIME
+-------+
+-------+
| TP
|
BOOL---|IN
Q|---BOOL
TIME---|PT
ET|---TIME
+-------+
58584-00
+-------+
| TOF |
BOOL---|IN
Q|---BOOL
TIME---|PT
ET|---TIME
+-------+
+-------+
| RTC |
BOOL---|IN
Q|---BOOL
DT-----|PDT CDT|-----DT
+-------+
42
POU
Blocos de Funo Derivados
Podem ser criados usando-se
n Blocos de funo padres ou derivados
n Tipos de dados padres ou derivados
n Qualquer uma das linguagens: IL, ST, LD, FBD ou SFC
n Linguagens adicionais
58584-00
43
POU
Blocos de Funo Derivados
Exemplo
+----------------------+
|
FWD_REV_MON
|
BOOL---|AUTO
KLAXON|---BOOL
BOOL---|ACK
FWD_REV_ALRM|---BOOL
BOOL---|AUTO_FWD
FWD_CMD|---BOOL
BOOL---|MAN_FWD
FWD_ALRM|---BOOL
BOOL---|MAN_FWD_CHK
|
TIME---|T_FWD_MAX
|
BOOL---|FWD_FDBK
|
BOOL---|AUTO_REV
REV_CMD|---BOOL
BOOL---|MAN_REV
REV_ALRM|---BOOL
BOOL---|MAN_REV_CHK
|
TIME---|T_REV_MAX
|
BOOL---|REV_FDBK
|
+----------------------+
58584-00
|
FWD_MON
|
|
+---------------+
|
| AUTO_FWD
| CMD_MONITOR |
|
+--| |---------|AUTO_CMD
CMD|
|
| AUTO
|
|
FWD_ALRM |
+--| |---------|AUTO_MODE ALRM|-------( )---+
| MAN_FWD
|
|
|
+--| |---------|MAN_CMD
|
|
| MAN_FWD_CHK |
|
|
+--| |---------|MAN_CMD_CHK
|
|
| FWD_FDBK
|
|
|
+--| |---------|FDBK
|
|
| ACK
|
|
|
+--| |---------|ACK
|
|
|
|
|
|
| T_FWD_MAX---|T_CMD_MAX
|
|
|
+---------------+
|
|
|
|
REV_MON
|
|
+---------------+
|
| AUTO_REV
| CMD_MONITOR |
|
+--| |---------|AUTO_CMD
CMD|
|
| AUTO
|
|
REV_ALRM |
+--| |---------|AUTO_MODE ALRM|-------( )---+
| MAN_REV
|
|
|
+--| |---------|MAN_CMD
|
|
| MAN_REV_CHK |
|
|
+--| |---------|MAN_CMD_CHK
|
|
| REV_FDBK
|
|
|
+--| |---------|FDBK
|
|
| ACK
|
|
|
+--| |---------|ACK
|
|
|
|
|
|
| T_REV_MAX---|T_CMD_MAX
|
|
|
+---------------+
|
|
|
|
ACK
FWD_REV_ALRM |
+-----| |--------------------------(R)-------+
|
|
| FWD_MON.CMD
REV_MON.CMD
FWD_REV_ALRM |
+-----| |-----------| |------------(S)-------+
|
|
| FWD_MON.CMD
FWD_REV_ALRM
FWD_CMD
|
+-----| |-----------|/|-------------( )------+
|
|
| REV_MON.CMD
FWD_REV_ALRM
REV_CMD
|
+-----| |-----------|/|-------------( )------+
|
|
| FWD_REV_ALRM
KLAXON
|
+-----| |------+--------------------( )------+
|
|
|
| FWD_ALRM
|
|
+-----| |------+
|
|
|
|
| REV_ALRM
|
|
+-----| |------+
|
|
|
FWD_MON
+---------------+
| CMD_MONITOR |
AUTO_FWD----------|AUTO_CMD
CMD|--+
AUTO---------+----|AUTO_MODE ALRM|--|-------FWD_ALRM
MAN_FWD------|----|MAN_CMD
| |
MAN_FWD_CHK--|----|MAN_CMD_CHK
| |
FWD_FDBK-----|----|FDBK
| |
ACK----------|-+--|ACK
| |
T_FWD_MAX----|-|--|T_CMD_MAX
| | +---+
| | +---------------+ +--| & |-------------+
| |
+--|
|
|
| |
REV_MON
| +---+
|
| | +---------------+ |
|
| | | CMD_MONITOR | |
|
AUTO_REV-----|-|--|AUTO_CMD
CMD|--+
|
+-|--|AUTO_MODE ALRM|---------REV_ALRM
|
MAN_REV--------|--|MAN_CMD
|
|
MAN_REV_CHK----|--|MAN_CMD_CHK
|
|
REV_FDBK-------|--|FDBK
|
|
+--|ACK
|
|
T_REV_MAX---------|T_CMD_MAX
|
|
+---------------+
|
+------------------------------------------------+
|
FWD_REV_FF
|
+------+
|
| SR |
+-----|S1 Q1|--+----------------FWD_REV_ALRM
ACK---|R
| |
+------+ |
+-----+
+---| >=1 |------KLAXON
FWD_MON.ALRM-------------|---|
|
REV_MON.ALRM-------------|---|
|
|
+-----+
|
|
+---+
+--O| & |--------FWD_CMD
FWD_MON.CMD--------------|---|
|
|
+---+
|
|
+---+
+--O| & |--------REV_CMD
REV_MON.CMD------------------|
|
+---+
44
POU
Programa
um agrupamento lgico dos elementos necessrios
todas as linguagens de programao, para o processamento
de sinais desejado
Deve ser declarado
n Permite a instanciao somente dentro de um recurso
n
58584-00
45
POU
Exemplo de programa
CONFIGURATION AGV_CONTROL
RESOURCE AGV_PROC: SMALL_PC
AGV_1
+--------------------+
|
AGV
|
%IX1---|SINGLE_PB FWD_MOTOR|---%QX1
%IX2---|DOUBLE_PB REV_MOTOR|---%QX2
%IX3---|LEFT_LS
|
%IX4---|RIGHT_LS
|
+--------------------+
58584-00
+----------------------------+
+===+===+
(* Main sequence *)
|START|
+===+===+
+--------------------*----------+
|
|
|
+--+---+ +-+-----+
+---+----+ +-+-----+
SINGLE+-NCYCLE
DOUBLE_1+--NCYCLE
+--+---+ +-+-----+
+---+----+ +-+-----+
|
|
|
*---------+
+ DONE.X
+---------------------+
|
|
|
+-----+-----+
+-----+-----+
|
|
|
+ READY.X
|
|
|
+---+----+ +-+-----+
DOUBLE_2+--NCYCLE
+---+----+ +-+-----+
|
|
|
+ DONE.X
|
|
|
+---------------------+---------+
+----+-----+
NON_REPEAT
+----+-----+
+NOT(SINGLE_PB OR DOUBLE_PB)
+-----------------------------+
46
Linguagens
Linguagens de Programao
Textuais
l IL - Lista de Instrues
l ST - Texto Estruturado
n Grficas
l LD - Ladder
l FBD - Diagrama de Blocos de Funo
n Organizao de Programas
l SFC - Funes Grficas de Seqenciamento
n Outras (dependente do produto)
l Flow Chart
lC
l Etc.
n
58584-00
47
Linguagens
Lista de
Instrues
Ladder
Blocos de
Funo
(ST)
(IL)
(LD)
(FBD)
TEXTUAIS
Mais
flexvel
(Batch
ISA88)
GRFICAS
Controle lgico
e sequencial
Controle lgico
e regulatrio
Baixo nvel
Otimizao ou pequenas aplicaes
58584-00
48
Linguagens
Programao Convencional de CLPs
Lgica E
Lgica OU
%I1
%I1
%I2
%I3
%Q1
Memria RS
Reset
%I2
Set
%Q1
58584-00
%I3
%Q1
Lgica OU Exclusivo
%I1
%I2
%Q1
%Q1
49
Linguagens
Programao Convencional de CLPs
TEMPORIZADOR
BLOCO RS
TON
RS
LIGA
IN
TEMPO
PT
ET
SADA
SET
RESET
Set
Reset
Q1
%Q1
CONTADOR
CTU
PULSO
CU
RESET
VALOR
PV
58584-00
CV
SADA
CONTAGEM
50
Linguagens
IL - Lista de Instrues
Caractersticas
n Linguagem de Baixo Nvel
n Semelhante ao Assembler
n Recomendada para pequenas aplicaes ou otimizao
de cdigo
n Linguagem bsica para exportao de programas
(Portabilidade)
58584-00
51
Linguagens
IL - Lista de Instrues
Estrutura
Label
START:
58584-00
Operator
Operand
Comment
LD
%IX1
(* PUSH BUTTON *)
ANDN
%MX5
(* NOT INHIBITED *)
ST
%QX2
(* FAN ON *)
52
Linguagens
IL - Instruction List
Operadores para Blocos de
Funo Padres
Operadores
Operator
Modifiers
Operand
LD
ST
S
R
AND
&
OR
XOR
N
N
Note 3
Note 3
N, (
N, (
N, (
N, (
Note 2
Note 2
BOOL
BOOL
BOOL
BOOL
BOOL
BOOL
ADD
SUB
MUL
DIV
GT
GE
EQ
NE
LE
LT
(
(
(
(
(
(
(
(
(
(
Note
Note
Note
Note
Note
Note
Note
Note
Note
Note
Addition
Subtraction
Multiplication
Division
Comparison: >
Comparison: >=
Comparison: =
Comparison: <>
Comparison: <=
Comparison: <
JMP
CAL
RET
)
C, N
C, N
C, N
58584-00
2
2
2
2
2
2
2
2
2
2
LABEL
NAME
Semantics
Operators
S1,R
S,R1
CLK
CLK
CU,R,PV
CD,LD,PV
CU,CD,R,LD,P
V
IN,PT
IN,PT
IN,PT
FB Type
SR
RS
R_TRIG
F_TRIG
CTU
CTD
CTUD
TP
TON
TOF
Jump to label
Call function block (note 4)
Return from called function or function block
Evaluate deferred operation
53
Linguagens
IL - Instruction List - Exemplos IsaGraf
AND
LD
%IX0.1
AND %IX0.2
ANDN %IX0.3
ST %QX1.1
Memria RS
LDN Reset
AND( Set
OR %QX1.1
)
ST %QX1.1
58584-00
OR
LD %IX0.1
OR %IX0.2
ORN %IX0.3
ST %QX1.1
Temporizador TON
LD Liga
ST Timer.in
LD Tempo
ST Timer.pt
CAL Timer
LD Timer.q
ST Saida
XOR
LD %IX0.1
XOR %IX0.2
ST %QX1.1
Contador UP
LD Pulso
ST Cont1.cu
LD Reset
ST Cont1.reset
LD Valor
ST Cont1.pv
CAL Cont1
LD Cont1.Q
ST Saida
54
Linguagens
ST - Texto Estruturado
Caractersticas
n Linguagem de alto nvel
n Semelhante ao Pascal (ISO 7185)
n Ideal para
l Tomada de decises
l Declaraes (Variveis, POUs, Configuraes, etc.)
l Clculos
l Implementao de algoritmos
l Definio de aes (SFC)
l Utilizao de literais
l Criao de blocos
l Etc.
58584-00
55
Linguagens
ST - Structured Text
Operadores
Operation
Symbol
Parenthesization
(expression)
Function evaluation
identifier (argument
list)
Examples:
Exponentiation
(Note 2)
**
Negation
Complement
NOT
Multiply
Divide
Modulo
MOD
Add
Subtract
Comparison
Equality
Inequality
<>
Boolean AND
&
Boolean AND
AND
Boolean Exclusive
OR
XOR
Boolean OR
OR
58584-00
Declaraes
Precedence
HIGHEST
Statement type/Reference
Assignment
Function block Invocation
and FB output usage
RETURN
IF
CASE
FOR
Examples
A := B;
CV := CV+1; C := SIN(X);
CMD_TMR(IN:=%IX5, PT:=T#300ms) ;
A := CMD_TMR.Q ;
RETURN ;
D := B*B - 4*A*C ;
IF D < 0.0 THEN NROOTS := 0 ;
ELSIF D = 0.0 THEN
NROOTS := 1 ;
X1 := - B/(2.0*A) ;
ELSE
NROOTS := 2 ;
X1 := (- B + SQRT(D))/(2.0*A) ;
X2 := (- B - SQRT(D))/(2.0*A) ;
END_IF ;
TW := BCD_TO_INT(THUMBWHEEL);
TW_ERROR := 0;
CASE TW OF
1,5: DISPLAY := OVEN_TEMP;
2: DISPLAY := MOTOR_SPEED;
3: DISPLAY := GROSS - TARE;
4,6..10: DISPLAY := STATUS(TW - 4);
ELSE DISPLAY := 0 ;
TW_ERROR := 1;
END_CASE;
QW100 := INT_TO_BCD(DISPLAY);
J := 101 ;
FOR I := 1 TO 100 BY 2 DO
IF WORDS[I] = 'KEY' THEN
J := I ;
EXIT ;
END_IF ;
END_FOR ;
WHILE
REPEAT
LOWEST
J := 1;
WHILE J <= 100 & WORDS[J] <> 'KEY' DO
J := J+2 ;
END_WHILE ;
J := -1 ;
REPEAT
J := J+2 ;
UNTIL J = 101 OR WORDS[J] = 'KEY'
END_REPEAT ;
EXIT
EXIT ;
Empty Statement
56
Linguagens
ST - Structured Text - Exemplos IsaGraf
AND
OR
XOR
Memria RS
Temporizador TON
ContadorUP
58584-00
57
Linguagens
Linguagens Grficas - Elementos comuns
58584-00
58
Linguagens
LD - Ladder Diagram
Caractersticas
Baseada no diagrama eltrico de contatos
n Adequada para controle discreto, combinacional e
seqencial (intertravamento)
n Utiliza blocos de funo para controle regulatrio e
funes especiais
n
58584-00
59
Linguagens
LD - Ladder Diagram
58584-00
60
Linguagens
LD - Ladder Diagram Exemplos IsaGraf
AND
%IX0.1 %IX0.2 %IX0.3 %QX1.3
OR
%IX0.1
%QX1.3
%IX0.2
%IX0.3
XOR
%IX0.1
=1
in1
q
%QX1.3
%IX0.2 in2
58584-00
61
Linguagens
LD - Ladder Diagram Exemplos IsaGraf
Memria
RS
Tempor.
TON
Reset
Set
%QX1.3
Liga
IN
Pulso
Saida3
TON
Tempo PT
Contador
UP
%QX1.3
Q
ET ET
CTU
CU
Q
Saida3
58584-00
62
Linguagens
FBD - Diagrama de Blocos Funcionais
Caractersticas
n Baseada nos diagramas de circuitos (Diagrama Lgico)
n Adequada para controle discreto, seqencial, regulatrio,
etc.
n Representao de fcil interpretao
n Blocos expansveis em funo do no de parmetros de
entrada
n So disparados por parmetros externos, enquanto os
algoritmos internos permanecem escondidos (= OOP)
n Blocos encapsulam o algoritmo, destacando o fluxo de
informaes e o processamento de sinais
Bloco = Funo ou Bloco de Funo
58584-00
63
Linguagens
FBD - Function Block Diagram
58584-00
64
Linguagens
FBD - Function Block Diagram Exemplos IsaGraf
AND
&
%IX0.1
%IX0.2
%IX0.3
%QX1.4
OR
>=1
%IX0.1
%IX0.2
%IX0.3
%QX1.4
XOR
=1
%IX0.1
%IX0.2
58584-00
IN1
IN2
%QX1.4
65
Linguagens
FBD - Function Block Diagram Exemplos IsaGraf
Memria
RS
&
Reset
%QX1.4
>=1
Set
%QX1.4
Tempor.
TON
Contador
UP
58584-00
TON
Liga
Tempo
IN
PT
ET
Saida4
ET
CTU
Pulso
Reset
Valor
CU
RESET
PV
Q
CV
Saida4
Resultado
66
Linguagens
SFC - Funes Grficas de Seqenciamento
Caractersticas
Baseada no Grafcet e Redes de Petri Formulao
Matemtica
n Padro para programao de processos Batch ISA
SP88
n Adequada para
l Estruturao de Programas e Blocos de Funo
l Controle seqencial Receitas e Seqenciamento
Discreto
l Controle de estados Mquina de Estados Finitos e
Algoritmos
l Tomadas de deciso rvore de decises
n Representao de fcil interpretao
n Rastreabilidade de eventos
n
58584-00
67
Linguagens
SFC - Funes Grficas de Seqenciamento
Permite reduzir o esforo computacional
n Facilidade de diagnstico
n Elementos de programao
l Passo: estado do programa onde as aes so
executadas
l Transio: condio pela qual o programa muda de
estado, passando de um ou mais passos antecessores
para um ou mais passos sucessores
l Ao: atividade de controle executada num
determinado passo. Pode ser configurada em qualquer
uma das 5 linguagens
l Ramificao: permite gerar divergncia e
convergncia de seqncias do programa
n
58584-00
68
Linguagens
SFC - Sequential Function Chart
P
PASSO
TRANSIO T
START
AO A
RAMIFICAO R
L
T
LINK
L
P
A
CARREGAMENTO DE
MATRIAPRIMA
(FUNO DE
LGICA LADDER)
L
T
R
P
CARREGAMENTO DE
LIXVIA
58584-00
A
P
GERAO
DE VAPOR
( BLOCOS DE
FUNES )
69
Linguagens
SFC - Sequential Function Chart
58584-00
70
Linguagens
SFC - Sequential Function Chart Exemplo IsaGraf
1
(* initialize *)
(* lead sequence *)
blead & not (bflash) & not (brandom);
1
(* flash sequence *)
bflash & not (blead) & not (brandom);
101
101
not (blead);
2
201
201
not (bflash);
102
(* random sequence *)
brandom & not(blead) & not (bflash);
102
103
202
202
203
58584-00
71
Linguagens
Outras Linguagens - Flow Chart, C, Visual Basic, Etc
A norma permite a utilizao de linguagens adicionais
para declarao de funes ou blocos de funo,
devendo obedecer mesma forma de chamada e troca de
dados
n Utilizao bsica
l Codificao de algoritmos especiais/complexos
l Proteo de cdigo proprietrio
l Recursos de programao avanados
l Bibliotecas dedicadas
n Flow Chart Programming poder ser acrescentada
norma como linguagem padro
n
58584-00
72
Linguagens
Flow Chart Programming Exemplo IsaGraf
58584-00
73
Aplicao
Anlise do problema Usar metodologia da norma ISA SP 88
58584-00
74
Aplicao
Anlise do problema
58584-00
75
Exerccio
Exerccio: Implementar no IsaGraf a lgica de controle de um
chuveiro eltrico inteligente
58584-00
76
Exerccio
Lista de variveis do Processo
Digitais
n FS_Vazao_Baixa: Entrada da Chave de Fluxo
n SV_Valv_Agua: Sada para comando da Vlvula solenide
Analgicas
n LT_Nivel_Caixa: Entrada do Nvel da Caixa D'gua
n TT_Temp_Agua: Entrada da Temperatura da gua
n FCV_Vazao_Agua: Sada para controle da Vazo de gua
n PS_Chaveador: Sada para controle do Chaveador
58584-00
77
Exerccio
Lista de variveis para comando do Operador
Digitais
n ON_OFF: Entrada da chave principal
n Ligado: Sada para indicao do sistema funcionando
Analgicas
n SP_Vazao_Agua: Valor desejado da vazo de sada
n SP_Temperatura: Valor desejado da temperatura da gua
58584-00
78
Exerccio
Consideraes
Todas as variveis analgicas so do tipo inteiro, na faixa
de 0 a 100
n Se o nvel da caixa dgua reduzir a zero, a vlvula
solenide SV deve ser desligada at que o nvel volte
aumentar (restabelecimento)
n O Controlador PID poder ser utilizado conforme exemplo
existente no programa Controle
n O chuveiro consegue trabalhar na faixa de 25 a 50 C para
uma vazo de sada de 0 a 90 %
n
58584-00
79
Exerccio
Objetivo
Desenvolver a lgica de controle do chuveiro de forma a
atender s seguintes condies
Fazer o controle das funes do chuveiro conforme
comandos do operador
n Garantir o funcionamento do chuveiro dentro de condies
seguras
n Proteger o chuveiro contra
l Falta de gua
l Elevao da temperatura acima de 65 C
n Estabelecer a seqncia de ligamento e desligamento
seguro do chuveiro
n
58584-00
80
Dvidas ?
58584-00
81