Escolar Documentos
Profissional Documentos
Cultura Documentos
IEC1131SFC
IEC1131SFC
IEC 1131-3
Sequential
Charts
Livro Texto:
Textuais
Grficas
SFC
ST
IL
TEXTUAIS
LD
FBD
GRFICAS
usada para:
Descrever o comportamento seqencial de um sistema.
Como linguagem de estruturao das aes de um programa segundo um
modelo top-down. Este particionamento do problema traz ganhos de
performance porque apenas o cdigo relativo aos passos ativos executado.
Para descrever o comportamento baixo nvel de um processo seqencial.
Para representar as fases de um processo de batelada.
Para representar um processo de comunicao de dados, etc.
Histrico
Universidades francesas desenvolveram uma linguagem de representao de
processos seqenciais baseada nas Redes de Petri: o Grafcet (Graphe Fonctionnel
de Command Etape Trasition). Grafcet se tornou um padro europeu. Em 1988 foi
publicado o padro IEC 848: Preparation of function charts for control system,
baseado na linguagem Grafcet.
A norma IEC 61131-3 introduziu pequenas modificaes no padro IEC 848
visando acoplar esta quinta linguagem s demais linguagens da suite 1131-3.
Estrutura de um chart
Passo (Step) Inicial
Start
Transio
ChaveLiga = 1
Condio de Transio
Fill
ReatorCheio = 1
Stir
Step
Timer1.ET = T#1h
Drain
ChaveLiga = 0
Varivel de sada de um
temporizador externo.
Stop
Start
ChaveLiga = 1
Fill
Tran2
Tran3
Divergncia OU
Stir
Filter
Tran4
Tran5
Convergncia OU
Drain
ChaveLiga = 0
ChaveLiga = 1
Stop
Seqncias simultneas
Faz uso da construo divergncia AND para iniciar aes que sero realizadas
em paralelo. e convergncia AND que espera at todas as tarefas estarem
concludas.
Start
ChaveLiga = 1
Fill
Divergncia AND
Tran1
Stir
TempCks
Tran2
Drain
Monitor
Tran3
PressCks
Convergncia AND
Steps
Cada Step deve receber um nome nico e s pode aparecer uma nica vez
em uma SFC. Os nomes dos Steps e transies so locais a uma POU
(bloco de funo ou programa) onde a SFC definida.
Existem dois tipos de Steps:
1. Steps normais: so exibidos em caixas retangulares com o nome do step
no centro.
2. Step inicial: Possui barras verticais nas laterais do retngulo. Todo SFC
deve ter um step inicial. O step inicial deve ser nico.
Cada Step pode ter um bloco de ao associado. O bloco de ao pode ser
definido utilizando-se qualquer uma das outras linguagens IEC: ST, FBD,
LD ou IL.
Vlvula1
Tran1
Exemplo:
ChaveLiga = 1
Fill
Fill.T > T#10m
Stir
Transies
Cada transio deve ter uma condio associada. Se a transio deve
ocorrer sempre, ento devemos associar a ela a condio TRUE.
Exemplos
Diversas
maneiras
transio
de
se
representar
uma
Texto Estruturado
Qualquer expresso ST que
resulte em um valor booleano
pode ser usada para descrever
uma condio de transio.
Heat
(Temp1>2000) AND (Press >=20)
Cool
Diagrama Ladder
Enable
%IX4
Raise
Stop
Sw1
MotorCheck
Mancal1 _
Tanque1 _
Gas1
PreCheck
Vibration
Fuel
Pressure
Go
Power
Conector de transio
Heat
>TransNewBatch >
Cool
Transio nomeada
Step1
Trans1
Step2
AND
OR
EN1
TransGo
IN2
AND
EN2
END_TRANSITION
Transio definida usando LD
TRANSITION TRANS21:
%IX2 EX10
FDIR21
Trans21
END_TRANSITION
AES
Cada step pode ter uma mais aes associadas. Estas aes que realizaro o
trabalho de modificar o meio ambiente produzindo trabalho.
Cada ao pode ser descrita utilizando-se uma das quatro linguagens IEC 1131:
ST, FBD, LD ou IL.
Start
PrompOperator
OpenValves
StartPump
ChaveLiga
ChaveLiga = 1
Fill
Tran1
MainPump := ON;
Pump1 := ON;
Ao
Varivel de Indicao
Pump_Control
%IX30
Pump1
X10
AL1
V1 AuxSw1
Pump1
AuxX1
Pump2
10
SP
StirSpeed
PV
OUT
StirDrive
GT
1500.0
OverSpeed
StirSpeed
Dose1
AddX1
Dose.T>T#2m
AdjustPh
AddAcid
pHBal<=0.7
Dose3
AddX2 Rdy
11
Ao definida atravs de ST
ACTION OpenValves:
IF BatchType = BO_100" THEN
ValveAB := OPEN;
ELSE
ValveAC := OPEN;
END_IF;
BrainValve := CLOSE;
Vent := OPEN;
END_ACTION
Ao definida atravs de IL
ACTION AddX2:
LD
1
SST
TankX2.Enable
LD
100
ST
TankX2.ShotLevel
CAL
TankX2
S
X2_added
END_ACTION
Exemplo
%IX10
AllShut
Enable
ShutDrain
V1
12
Exemplo
Usando
blocos
de
Blocos de Funo
%IX10
ao
em
Diagramas
de
AND
ShutDrain
V1
AllShut
Enable
Qualificadores de aes
Qualificador
Nenhum
N
R
S
L
D
P
SD
DS
SL
Descrio
No armazenado, o mesmo que N
No armazenado, executa enquanto o step associado estiver ativo
Reseta uma ao armazenada
Armazena uma ao ativa isto armazenada. A ao continuar a
ser executada at um qualificador R ser encontrado.
Ao limitada no temo, termina aps um perodo estipulado
Ao adiada no tempo, comea aps um perodo de tempo
Uma ao pulsada qua s executada uma nica vez quando o
step ativado e uma vez quando o step desativado.
Armazenada e com atraso de tempo. A ao ativada aps um
tempo estipulado mesmo que o step associado for desativado antes
do tempo de atraso.
A ao atrasa no tempo e armazenada. Se o step associado
desativado antes do perodo de atraso, a ao no armazenada.
Armazenada e limitada no tempo. A ao iniciada e executada
por um perodo de tempo.
Observao:
Deve-se tomar cuidado com aes armazenadas que comecem muito tempo
aps seus estado terem sido desativados porque isto leva a programas
confusos e de difcil depurao.
13
N - Ao no armazenada
StepA
Action1
T1
StepA.X
Action1
T1
Set e Reset
Step1.X
Step1
Action1
T1
T1
Action1
StepN
Action1
StepN.X
TN
TN
14
L - Ao limitada no tempo
Step1.X
T1
L
T#4s
Step1
Action1
Action1
T1
4s
Step1.X
T1
Action1
4s
Step1
Action1
Action1
T1
4s
Step1.X
T1
Action1
4s
15
P - Ao pulsada
Step1
Action1
T1
Step1.X
T1
Action1
A ao executada uma nica vez aps o estado ter sido ativado. Pelo padro, a
ao deve ser executada ainda uma segunda vez, entretanto isto ir depender da
implementao.
SD - Ao armazenada e adiada
Step1.X
Step1
SD
T#4s
Action1
StepN.X
T1
Action1
4s
StepN
Action1
TN
Step1.X
StepN.X
Action1
4s
16
DS - Ao adiada e armazenada
Step1.X
Step1
DS
T#4s
Action1
StepN.X
T1
Action1
4s
StepN
Action1
TN
Step1.X
StepN.X
Action1
4s
SL
T#4s
Action1
StepN.X
T1
Action1
4s
StepN
Action1
TN
Step1.X
StepN.X
Action1
4s
17
MotorOn
TR1
CountUp
CTU(CU:=CountUp.Q);
Execuo de um SFC
Redes SFC podem ser usadas para descrever o comportamento de uma POU ou de
aes.
Cada POU est associada a uma task. A task executa periodicamente os elementos
de uma POU. A SFC associada POU ser avaliada toda vez que a POU for
executada. Uma SFC associada a uma ao ser executada toda vez que a ao for
executada.
18
19
TRUE, todas as aes sero executadas uma vez, antes do estado ser
desativado.
Step1
Alterando a ordem
de prioridade
Step1
2
Tr1
Tr1
Tr2
Step2
Step3
Step2
Tr2
Step3
Drill
Turn
Grind
20
Salto de seqncia
Pode-se usar um caminho divergente para saltar uma seo de uma seqncia. O
caminho divergente no conter steps e serve apenas para saltar obre o caminho
alternativo.
LineStart
LineRdy
TrNextPack
StartOil
Label
Oil = 1 (*Open *)
LB1=1
OilPump
Glue
Pump = 1 (*On *)
GL1=1
Filter
Check
Filter=0 (*On *)
TrCheckOk
TrReWork
EndBatch
LineReady
Loop
permitido um salto para um step anterior, o que configura um loop.
Convergncia Simultnea
Pump1
Pump2
MainGen
TrGo
OnLine
SelecAuto
21
Step1
Step1
Tr1
StartOil
Step2
StartOil
StepA
Tr2
TrA
OilPump
Step3
OilPump
StepB
Tr3
TrB2
TrB1
Step4
StepC
StepD
TrX
StepX
TrD
TrY
22
Step1
Step1
Tr1
Tr1
Step2
Start
Oil
Tr2
StepA
Start
Oil
Step3
OilP
ump
StepB
OilP
ump
TrA
Tr3
TrB1
Step4
StepC
TrB2
StepD
Step2
Start
Oil
Tr2
StepA
Start
Oil
Step3
OilP
ump
StepB
OilP
ump
TrA
Tr3
TrB1
Step4
StepC
TrC
TrB2
StepD
TrC
TrX
StepE
StepX
TrX
StepX
23
Estados do Forno
OCIOSO
VAZIO
AQUECENDO
PRONTO
TRATAMENTO
TERMINADO
RESFRIANDO
Cada estado poderia ser sub dividido novamente em sub estados. Por
exemplo o estado TRATAMENTO poderia ser dividido em
APLICA_RAMPA_TEMP, MANTEM_TEMP, etc. Esta nova seqncia
pode estar contida dentro de outro SFC, por sua vez contido numa caixa de
ao ou o SFC pode ser encapsulado em um bloco de funo.
Depois de definidos os estados deve-se identificar quando as transies
entre estados deve acontecer. Transies esto ligadas a eventos de
operao (intervenes do operador) ou de processo.
SFC permite um enfoque top down, em que o comportamento do sistema
refinado sistematicamente, gerando SFC cada vez mais detalhados do
comportamento do sistema.
APLICA_RAMPA_TEMP
OilPump
CARREGAMENTO
StartOil
MANTEM_TEMP
PRONTO
TRATAMENTO
Ao PERFIL_TEMP
24
Step inicial
Transio:
Neste caso uma
transio simples do
estado Start para Fill
25
Aes associadas
ao step
STEP FILL:
OpenValves(P);
StartPump(N);
END_STEP
ACTION StartPump:
MainPump := ON;
Pump1 := ON;
END_ACTION
Comandos em ST ou IL
Ao:
Pump1
Pump2
MainGen
TrGo
OnLine
SelecAuto
(Pump1,
Pump2,
MainGen)
TO
(OnLine,
26
Freio
Elevador
O elevador puxado
por um guincho e pode
ser requisitado para
parar
em
qualquer
andar especificado.
Switch do andar
Existem 3 chaves de
Sensores de proximidade proximidade: um na
posio de parada do
andar, outro acima e
outro abaixo. A porta s
se abre se a chave do
andar estiver ativada.
Porta
O
elevador
deve
desacelerar quando a
primeira
chave
acionada
Motor
27
Init
PowerOn
ResetLift
Ready
Ready
DoorOpen
FloorCall>0 AND (CloseDoor OR
DoorOpen.T > T#10s)
Shutting
ShutDoor
Shut
Shut
MoveLift
MotorControl
ApplyBrake
Checks
ChkFault
L
MotorInching
T#5s
Fault
Fault
CheckLimits Fault
Fault OR EmergStop
Proximity(FloorCall) = 1 OR Fault
Inching
ApplyBrake
InchFault
OpenDoor Open
Open
1
Halted
Alarm
S ApplyBrake
R PowerOn
28
Leitura Complementar:
q Bonfatti, Monari, Sampieri, IEC1131-3 Programming Methodology, CJ
International, 1997.
q Paul Barracos, Grafcet Step by Step - A tutorial and reference guide to the
Grafcet automation Language - Famic, Canad.
Exerccios:
1. Voc quer definir expresses divergentes para evitar ambigidade na
avaliao de uma derivao OU. Qual das expresses abaixo so disjuntas
(no intersecantes) com a expresso: T = A BC + AD + C D ?
a)
b)
c)
d)
(
(
(
(
)
)
)
)
T 1 = AC + CD
T 1 = AC + CD
T 2 = AB C + CAD
T3 = C
2. Desenhe SFC para calcular o tempo mdio de scan de um CLP avaliado a cada
1 segundo. O SFC deve tambm avaliar o tempo mximo e mnimo de scan j
obtidos.
3. Carregamento automtico de silos
Deve-se automatizar o carregamento dos silos S1 e S2.
29
Relao de entradas/sadas:
S0_min
S1_min
S2_min
S1_max
S2_max
CX1_s1
CX1_s2
EC1
TC1
TC2
TC3
CX1
CX1_dir
S0
S0_min
EC1
*
TC1
TC2
CX1_S2
CX1_S1
CX1
TC3
S1
S1_max
S1_min
S2
S2_max
S2_min
4. Uma tela tem 5 campos editveis. Voc deve editar os campos na ordem: 0, 3,
2, 1, 4. Voc no pode sair da tela sem terminar a edio de todos os campos.
Escreva o esqueleto de um programa que v para o campo 1 e depois da
edio de cada campo j dirija o cursor para o prximo campo a ser editado.
Use autmatos de estados finitos como modelo de programao. A posio
30
1
2
3
4
5. Motor reversvel [Extrado de Automao Industrial - Ferdinando Natale Nobel - Siemens series]
Um motor eltrico pode ser acionado nos dois sentidos com reverso manual
no sentido de rotao. O motor no deve entrar em funcionamento e deve ser
desligado se qualquer uma das condies estiver presente:
Se a chave de emergncia for acionada.
Se a presso de leo nos mancais for igual a zero.
Se a temperatura da carcaa do motor for superior a 70C.
O diagrama lgico do sistema para ligar e desligar o motor mostrado
abaixo:
Emergncia
Presso do leo
0---T
OR
IN
PT
ET
Temp carcaa
Desliga
Tempo
LIGA Direita
&
&
Note que:
_
Q
_
Q
LIGA Esquerda
Motor direita
Motor esquerda
31
32