Escolar Documentos
Profissional Documentos
Cultura Documentos
CLP IEC61131-3 - Apresentação
CLP IEC61131-3 - Apresentação
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
Grande aceitao do mercado Facilidade de configurao / programao Soluo robusta de HW e SW Alta confiabilidade (Redundncia, Fail Safe, Troca a quente, etc.) Desempenho comprovado Tecnologia sedimentada
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
Viso do Usurio (OMAC, 1994) Dificuldades encontradas nos sistemas atuais Tecnologia proprietria n Poltica comercial (ditadura de preos) n Interfaces proprietrias n Elevado custo para integrao n Treinamento orientado ao produto n Alto custo para expanso
n
58584-00
Viso do Usurio (OMAC) Necessidades (CNC, Motion, Discret Control) Segurana, confiabilidade e robustez n Baixo custo n Flexibilidade n Conectividade n Mantenabilidade n Facilidade de treinamento
n
58584-00
Desejo do Usurio (OMAC) Open Modular Architecture Controller implica em uma soluo Econmica n Aberta n Modular n Fcil manuteno n Escalvel
n
58584-00
Soft Logic
O que Soft Logic?
uma soluo de SW baseada em HW aberto para aquisio de dados, controle de processos e ...
58584-00
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 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
...
Define sadas Task N peridica perodo_N
n n
58584-00
Apesar do esforo estabelecido pela norma IEC 61131-3 para padronizao das linguagens de programao, alguns aspectos da norma so dependentes da forma de implementao Empresas americanas no se preocupam muito com normas, elas possuem poucos engenheiros, escolhem um fornecedor e ficam ligadas a ele
58584-00
19
Open PLC
Opennes implies more than open communication networks, it also implies open software [The state of PLC - InTech - April - 96]
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 Mitsubishi Electric Automation Moore Automation National Instruments NemaSoft New Monics Object Automation OMNX Omron Opto 22 OSI PC Soft PEP Modular Computers PharLap Phoenix Contact QNX Softw are Systems Radisys Rockw ell Automation Rockw ell Softw are Schneider Automation Sequentia Siemens Softing SoftPLC Steeplechase TA Engineering Think & Do Total Control Products VenturCom VMIC Westinghouse PC Wind River Systems Wonderw are Yokogaw a Industrial Automation MELsoft Bridgeview , Labview RT OpenControl, Paragon PERC Virtual Machine OAenterprise 98 OMNX Direct Control Sysmac OptoRuntimePC, Factory Floor PI System WizPLC, WizDCS Smart2 PLC Real-time ETS kernel for NT Remote Field Controller QNX INtime Allen-Bradley SoftLogix 5 ControlPak TSX Premium OpenBatch WinAC, MP270 4 Control SoftPLC Visual Logic Controller AIMAX Think & Do Framew orX RTX IOWorks NT/VxWorks Web Access View Enabler (WAVE) VxWorks FactorySuite 2000, InControl Centum CS 1000 Software APACS Process Control System NT NT, NT w ith PC board NT/Hyperkernel, NT NT/RTX/Java NT/RTX/Java NT/QNX PLC on PC board NT NT NT/RTX, NT NT Real-time systems, tools Rtos, CE (in beta) Real-time systems Real-time systems NT NT PLC on PC board NT NT, CE NT Embedded RTOS/Java NT/Intime NT NT/RTX NT/CE/RTX Real-time systems NT/Rtos Java Real-time systems NT, CE NT Strategy NT/Intime
58584-00
24
IEC 61131-3
58584-00
25
Caractersticas
Conveno de nomes
Endereamento simblico
DIGESTOR_1 SEQUNCIA FATOR_H CONTROLE_TEMP
Endereamento fsico
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
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 Declarao direta (posio de memria)
Declarao de variveis simblicas como alocao direta Declarao de array com alocao direta Alocao dinmcia de variveis simblicas
58584-00
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 | +---------+
Graphical association with PROGRAMs (within RESOURCEs) RESOURCE STATION_2 P1 P4 +-------+ +-------+ | F | | H | | | | | | | | | +-------+ +-------+ | PER_2 | | INT_2 | +-------+ +-------+ END_RESOURCE Graphical association with function blocks (within PROGRAMs inside RESOURCEs) RESOURCE STATION_1 P2 +------------------------------------------------+ | G | | FB1 FB2 | | +------+ +------+ | | | A | | B | | | | | | | | | | | | | | | +------+ +------+ | | |SLOW_1| |FAST_1| | | +------+ +------+ | +------------------------------------------------+ END_RESOURCE
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);
Textual use of ADD function Graphical use of SHL function (Formal parameter names)
58584-00
34
POU
Funes Padres
Classe Converso de tipo 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 (:=) SHL, SHR, ROR, ROL AND (&), OR (>=1), XOR, NOT SEL, MAX, MIN, LIMIT, MUX GT (>), GE (>=), EQ (=), LE (<=), LT (<), NE (<>) LEN, LEFT, RIGHT, MID, CONCAT, INSERT, DELETE, REPLACE, FIND ADD (+), SUB (-), MUL (*), DIV (/), CONCAT, DATE_AND_TIME_TO_TIME_OF_DAY, DATE_AND_TIME_TO_DATE SEL, MUX, EQ, NE
Enumeraes
58584-00
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:
FUNCTION WEIGH : WORD (* BCD encoded *) VAR_INPUT (* "EN" input is used to indicate "scale ready" *) weigh_command : BOOL; gross_weight : WORD ; (* BCD encoded *) tare_weight : INT ; END_VAR (* Function Body *) END_FUNCTION (* Implicit "ENO" *)
(* No weighing, 0 to "ENO" *)
WEIGH_NOW:
58584-00
37
POU
Funes Derivadas Exemplo IsaGraf Representao grfica
PESO
Texto Estruturado
58584-00
38
POU
Funes Derivadas Exemplo IsaGraf Ladder
Habilita en Bruto in1 Tara in2 eno q Peso_LD Concluida
Function Block
Bruto Tara
IN1 IN2 Q
Peso_FBD
58584-00
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 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
(* Default = 0 *) (* Default = t#10ms *) (* Default = 0 *) (* Default = t#0s *) (** Internal Variables **) (** and FB Instances **)
(** Function Block Body **) DB_ON(IN := IN, PT := DB_TIME) ; DB_OFF(IN := NOT IN, PT:=DB_TIME) ; DB_FF(S1 :=DB_ON.Q, R := DB_OFF.Q) ; OUT := DB_FF.Q ; ET_OFF := DB_OFF.ET ; END_FUNCTION_BLOCK
58584-00
41
POU
Blocos de Funo Padres
Biestveis
+-----+ | SR | BOOL---|S1 Q1|---BOOL BOOL---|R | +-----+ +--------+ | R_TRIG | BOOL---|CLK Q|---BOOL +--------+ +-----+ | 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 +------+ +-------+ | TON | BOOL---|IN Q|---BOOL TIME---|PT ET|---TIME +-------+ +-------+ | TP | BOOL---|IN Q|---BOOL TIME---|PT ET|---TIME +-------+ +-----+ | RS | BOOL---|S Q1|---BOOL BOOL---|R1 | +-----+
Deteco de Borda
+--------+ | F_TRIG | BOOL---|CLK Q|---BOOL +--------+
Comunicao (IEC 61131-5) Conexo CONNECT Verificao de Dispositivos STATUS, USTATUS Aquisio de Dados READ, USEND, URCV Controle WRITE, SEND, RCV Alarmes NOTIFY, ALARM
Contagem
+-----+ | CTD | BOOL--->CD Q|---BOOL BOOL---|LD | INT---|PV CV|---INT +-----+
Temporizao
+-------+ | TOF | BOOL---|IN Q|---BOOL TIME---|PT ET|---TIME +-------+ +-------+ | RTC | BOOL---|IN Q|---BOOL DT-----|PDT CDT|-----DT +-------+
58584-00
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 | +----------------------+
| 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------------------| | +---+
58584-00
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
+----------------------------+ +===+===+ (* Main sequence *) |START| +===+===+ +--------------------*----------+ | | | + READY.X & SINGLE_PB + READY.X & DOUBLE_PB | | | +--+---+ +-+-----+ +---+----+ +-+-----+ SINGLE+-NCYCLE DOUBLE_1+--NCYCLE +--+---+ +-+-----+ +---+----+ +-+-----+ | | | *---------+ + DONE.X + DONE.X & DOUBLE_PB +---------------------+ | | | +-----+-----+ + DONE.X & NOT DOUBLE_PB DOUBLE_WAIT +-----+-----+ | | | + READY.X | | | +---+----+ +-+-----+ DOUBLE_2+--NCYCLE +---+----+ +-+-----+ | | | + DONE.X | | | +---------------------+---------+ +----+-----+ NON_REPEAT +----+-----+ +NOT(SINGLE_PB OR DOUBLE_PB) +-----------------------------+
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
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
Batch e estruturao geral do programa (Sequencial Function Charts) Funes Grficas de Sequenciamento (SFC) Texto Estruturado (ST) Lista de Instrues (IL)
TEXTUAIS
Ladder (LD)
(Batch ISA88)
Mais flexvel
58584-00
48
Linguagens
Programao Convencional de CLPs
Lgica E %I1 %I1 %I2 %I3 %Q1 %I2 %I3 Lgica OU
%Q1
Memria RS
%Q1 %Q1
58584-00
49
Linguagens
Programao Convencional de CLPs
TEMPORIZADOR TON LIGA TEMPO IN PT Q ET SADA SET RESET Set Reset Q1 %Q1 BLOCO RS RS
58584-00
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: Operator LD ANDN ST Operand %IX1 %MX5 %QX2 Comment (* PUSH BUTTON *) (* NOT INHIBITED *) (* FAN ON *)
58584-00
52
Linguagens
IL - Instruction List Operadores
Operator LD ST S R AND & OR XOR ADD SUB MUL DIV GT GE EQ NE LE LT JMP CAL RET ) Modifiers N N Note 3 Note 3 N, ( N, ( N, ( N, ( ( ( ( ( ( ( ( ( ( ( C, N C, N C, N Operand Note 2 Note 2 BOOL BOOL BOOL BOOL BOOL BOOL Note Note Note Note Note Note Note Note Note Note 2 2 2 2 2 2 2 2 2 2 Semantics Set current result equal to operand Store current result to operand location Set Boolean operand to 1 Reset Boolean operand to 0 Boolean AND Boolean AND Boolean OR Boolean Exclusive OR Addition Subtraction Multiplication Division Comparison: > Comparison: >= Comparison: = Comparison: <> Comparison: <= Comparison: < Jump to label Call function block (note 4) Return from called function or function block Evaluate deferred operation
LABEL NAME
58584-00
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 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
58584-00
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 Parenthesization Function evaluation Examples: Exponentiation (Note 2) Negation Complement Multiply Divide Modulo Add Subtract Comparison Equality Inequality Boolean AND Boolean AND Boolean Exclusive OR Boolean OR Symbol (expression) identifier (argument list) LN(A), MAX(X,Y), etc. ** NOT * / MOD + < , > , <= , >= = <> & AND XOR OR LOWEST
REPEAT WHILE FOR CASE
Declaraes
Precedence HIGHEST
Statement type/Reference 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 ; 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 ; ;
58584-00
56
Linguagens
ST - Structured Text - Exemplos IsaGraf
AND OR XOR Memria RS Temporizador TON
%QX1.1:= %IX0.1 AND %IX0.2 AND Not %IX0.3; %QX1.1:=%IX0.1 OR %IX0.2 OR NOT %IX0.3; %QX1.1:=%IX0.1 XOR %IX0.2; %QX1.1:= NOT Reset AND (Set OR %QX1.1); Timer (Liga, Tempo); Saida2:= Timer.q; Cont2 (Pulso, Reset, Valor); Saida2:= Cont2.q; Resultado:= Cont2.cv;
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
%QX1.3
XOR
%IX0.1 =1 in1 q %IX0.2 in2 %QX1.3
58584-00
61
Linguagens
LD - Ladder Diagram Exemplos IsaGraf Memria RS
Reset Set %QX1.3 %QX1.3
Tempor. TON
Liga IN
TON Q ET ET Tempo PT
Saida3
Contador UP
Pulso
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
%QX1.4
XOR
=1 %IX0.1 %IX0.2
IN1 IN2 Q
%QX1.4
58584-00
65
Linguagens
FBD - Function Block Diagram Exemplos IsaGraf Memria RS
Set %QX1.4 & Reset %QX1.4 >=1
Tempor. TON
Saida4 ET
Contador UP
Saida4 Resultado
58584-00
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 START AO A RAMIFICAO R L T L P CARREGAMENTO DE MATRIAPRIMA L T P CARREGAMENTO DE LIXVIA T R P GERAO DE VAPOR ( BLOCOS DE FUNES ) A A (FUNO DE LGICA LADDER) LINK L PASSO P TRANSIO T
58584-00
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 101
(* flash sequence *) bflash & not (blead) & not (brandom); 201
(* start lead sequence *) LEAD (S); ACTION (P) : sequence := 'Lead'; END_ACTION; not (blead);
101
(* start flash sequence *) FLASH (S); ACTION (P) : sequence := 'Flash'; END_ACTION; not (bflash);
201
(* start random sequence *) RANDOM (S); ACTION (P) : sequence := 'Random'; END_ACTION; not (brandom);
102
202
102
202
103
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 d gua 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