You are on page 1of 32

SUPORTE DE CURSO

IEC 1131-3 Sequential Charts


Livro Texto: Programming industrial control systems using IEC 1131-3 R.W. Lewis

UFMG Informtica Industrial Prof. Constantino Seixas Filho


IEC1131-3 - Sequential Function Charts 1

IEC 1131-3 Sequential Function Charts


Structured Text (ST) Instruction List (IL) Function Block Diagram (FBD) Ladder Diagram (LD) Sequential Function Charts (SFC) Textuais

Grficas

SFC ST IL LD FBD GRFICAS

TEXTUAIS

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.

IEC1131-3 - Sequential Function Charts

Estrutura de um chart
Passo (Step) Inicial
Start

Transio
ChaveLiga = 1 Fill ReatorCheio = 1 Stir Timer1.ET = T#1h Drain ChaveLiga = 0 Stop

Condio de Transio

Step

Varivel de sada de um temporizador externo.

Caminhos convergentes e divergentes


Start ChaveLiga = 1

Transies nomeadas definidas em outra parte do SFC

Fill Tran2 Tran3 Filter Tran4 Tran5

Divergncia OU
Stir

Convergncia OU
Drain

ChaveLiga = 0 Stop

ChaveLiga = 1

Derivao com seta direcional

IEC1131-3 - Sequential Function Charts

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 Tran1

Divergncia AND

Stir Tran2 Drain

TempCks Tran3 PressCks

Monitor

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.

IEC1131-3 - Sequential Function Charts

Cada estado possui duas variveis associadas:

Flag de estado ativo:


uma varivel booleana que s est ativa quando um step em particular est ativo. Sintaxe: <StepName>.X
Exemplo

Na figura anterior podemos definir Tran3 em linguagem ST: Drain.X = 1 A transio do step TempCks para o step PressCks s ocorrer quando o estado Drain for ativado. Esta flag pode ser conectada diretamente a uma sada booleana:
Start ChaveLiga = 1 Fill Tran1 Vlvula1

Conexo direta com a flag .X de estado ativo

Flag de tempo decorrido


Cada estado tem associada uma varivel de tempo decorrido do tipo TIME. Esta varivel computa quanto tempo o estado est ativo. Ela zerada toda vez que o estado ativado. Esta varivel retm o seu ltimo valor quando o estado desativado. Sintaxe: <StepName>.T Esta varivel til para se determinar por quanto tempo um determinado estado est ativo.

IEC1131-3 - Sequential Function Charts

Exemplo: ChaveLiga = 1 Fill Fill.T > T#10m Stir

O SFC ficar no estado Fill durante 10 minutos. Uma outra funo desta varivel pode ser a de diagnstico, pois podemos avaliar por quanto tempo cada estado de uma seqncia ficou ativo.

Transies
Cada transio deve ter uma condio associada. Se a transio deve ocorrer sempre, ento devemos associar a ela a condio TRUE.

IEC1131-3 - Sequential Function Charts

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.
(Temp1>2000) AND (Press >=20) Cool

Heat

Diagrama Ladder Quando um degrau permite a passagem de potncia, a condio de transio se torna verdadeira.

Enable

%IX4

Raise

Sw1

Stop

Diagrama de Blocos de Funo Qualquer FBD que produza um resultado booleano, pode ser ligado a uma transio. No exemplo ao lado o bloco MotroCheck ir fazer GO =1 se os valores de vibrao, combustvel e presso estiverem dentro de seus limites operacionais.

MotorCheck Mancal1 _ Tanque1 _ Gas1 _ Vibration Fuel Pressure Go Power PreCheck

IEC1131-3 - Sequential Function Charts

Conector de transio
Heat >TransNewBatch > Cool

Usamos um conector de transio para colocar a condio de transio em outra parte do diagrama.

Ready NewJob Enable TransNewBatch >

Transio nomeada Uma transio pode receber um nome e ser definida em outra parte do diagrama usando uma das linguagens IEC: ST, FBD, LD ou IL

Step1 Trans1 Step2

Transio definida usando ST A expresso deve retornar um valor booleano. Note que o TRANSITION Trans1: := AB1 AND CX3 OR CX5 AND smbolo de atribuio := necessrio para indicar que o (TX3 >= 100.2); valor atribudo para a condio END_TRANSITION de transio.

IEC1131-3 - Sequential Function Charts

Transio definida usando FBD TRANSITION TransGo:


IN1 EN1 AND OR TransGo IN2 EN2 AND

Uma transio pode ser definida graficamente usando FBD.

END_TRANSITION Transio definida usando LD TRANSITION TRANS21:


%IX2 EX10 FDIR21 Trans21

A bobina deve ter o mesmo nome da transio. Quando a bobina energizada, a condio de transio verdadeira.

END_TRANSITION

Transio definida usando IL TRANSITION Trans21: LD %IX21 AND EX10 AND FDIR21 END_TRANSITION

O ltimo valor no acumulador corresponde ao valor a ser retornado. A operao deve retornar sempre um valor booleano. Se o valor for 1 o resultado ser verdadeiro.

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.

IEC1131-3 - Sequential Function Charts

Start ChaveLiga = 1 Fill Tran1

PrompOperator

ChaveLiga

P N

OpenValves StartPump

MainPump := ON; Pump1 := ON;

Cada ao tem um nome que deve ser nico em cada POU. As aes so representadas num retngulo contendo trs campos.
Qualificador da Ao

Ao

Varivel de Indicao

O primeiro campo esquerda o qualificador da ao. O qualificador determina quando a ao ser executada. Uma caixa de ao pode ter opcionalmente uma varivel de indicao. A varivel de indicao indica o nome de uma varivel que modificada dentro dado corpo da ao e que indica que a ao foi completada. A ao PrompOperator ir indicar atravs de StartSwitch que a funo foi completada Aes complexas podem ser definidas fora do SFC usando-se as linguagens LD, FBD, IL ou ST: Ao definida atravs de LD
Pump_Control
%IX30 X10 AL1 Pump1

Os rungs so envoltos em uma caixa retangular com o nome da ao colocada no seu topo.

Pump1

V1 AuxSw1

AuxX1

Pump2

IEC1131-3 - Sequential Function Charts

10

Ao definida atravs de FBD


Stir_Control
Stir_Loop PID 1000.0 StirSpeed SP PV OUT StirDrive

A rede FBD deve ser circundada por um box retangular tendo o nome da ao em seu topo. Se uma ao for definida para ser executada continuamente, ela pode conter loops PID ou outro tipo de loop realimentado de controle.

1500.0 StirSpeed

GT OverSpeed

Ao definida atravs de SFC


Dosagem

Dose1

N Dose.T>T#2m

AddX1

Usando SFC podemos descrever aes complexas. Uma das variveis de indicao de uma ao em SFC pode tambm ser usada como varivel de indicao da ao do nvel mais alto. Para uma ao ser capaz de executar o seu prprio SFC, ela deve ser configurada para executar continuamente durante um perodo suficiente para permitir que seu SFC seja completado.

AdjustPh

AddAcid

pHBal<=0.7 Dose3 N AddX2 Rdy

IEC1131-3 - Sequential Function Charts

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

Uma varivel modificada por uma diretiva ST pode ser usada como a varivel indicadora da ao.

Ao definida atravs de IL ACTION AddX2: LD 1 SST TankX2.Enable LD 100 ST TankX2.ShotLevel CAL TankX2 S X2_added END_ACTION

Uma varivel modificada por uma instruo IL pode ser usada como a varivel indicadora da ao.

Uso de aes em linguagens grficas:


Aes no tm seu uso restrito SFC. Aes tambm podem ser usadas nas linguagens FBD e LD como no exemplo abaixo:

Exemplo

Usando blocos de ao em diagramas ladder

%IX10

Enable

AllShut

ShutDrain

V1

IEC1131-3 - Sequential Function Charts

12

Exemplo

Usando blocos de Blocos de Funo

ao

em

Diagramas

de

%IX10 Enable

AND

ShutDrain

V1

AllShut

Em FBD, a ao ativada quando sua entrada booleana TRUE. Em LD a ao ativada quando existe um fluxo de potncia dentro do bloco de ao.

Qualificadores de aes
Qualificador Nenhum N R S L D P SD 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.

DS SL

Observao: Uma ao dita armazenada quando continua aps a desativao do estado, at que um qualificador R seja encontrado. 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.

IEC1131-3 - Sequential Function Charts

13

N - Ao no armazenada

StepA T1

Action1

StepA.X

Action1

T1

A ao executa continuamente enquanto o StepA est ativo, isto enquanto a flag StepA.X = 1. A ao executada uma ltima vez quando o step desativado.

Set e Reset
Step1.X Step1 T1 S Action1 T1

Action1

StepN TN

Action1

StepN.X

TN

A ao comea a ser executada quando StepA se torna ativo, e continua a ser executada at que o StepN ativado. A ao associada ao estado StepN deve possuir o qualificador R e referenciar a mesma ao de nome Action1. A ao executa ainda uma ltima vez.

IEC1131-3 - Sequential Function Charts

14

L - Ao limitada no tempo
Step1.X T1 Step1 T1 L T#4s Action1 Action1 4s Step1.X T1

Action1 4s

A ao executa durante o tempo estipulado a partir do instante de ativao do estado. Se o estado desativado antes que o tempo haja expirado, a ao interrompe sua execuo. A ao executada uma ltima vez quando o step desativado ou aps o tempo haver expirado.

D - Ao com atraso de tempo


Step1.X T1 Step1 T1 4s Step1.X T1 D T#4s Action1 Action1

Action1 4s

A ao executa aps um atraso de tempo estipulado, a partir do instante de ativao do estado. Se o estado desativado antes que o tempo de atraso haja expirado, a ao no executada. A ao executada uma ltima vez quando o step desativado somente se tiver sido executada.

IEC1131-3 - Sequential Function Charts

15

P - Ao pulsada

Step1 T1

Action1

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 T1 Action1 SD T#4s Action1 StepN.X

4s StepN TN R Action1 Step1.X

StepN.X Action1

4s

Quando Step1 se torna ativo, a ao armazenada, mas s comea a executar aps o tempo ter se expirado. Independente da durao do Step1, a ao ser executada at ser cancelada por uma ao com qualificador R referenciando a mesma ao (Action1). A ao no ser executada se uma ao com qualificador R for executada antes do tempo de atraso expirar. A ao executa ainda uma ltima vez.

IEC1131-3 - Sequential Function Charts

16

DS - Ao adiada e armazenada
Step1.X Step1 T1 Action1 DS T#4s Action1 StepN.X

4s StepN TN R Action1 Step1.X

StepN.X Action1

4s

No comeo do Step1 o tempo de atraso comea a ser computado. Aps o tempo ter expirado, a ao armazenada e comea a ser executada. A continua a ser executada at ser novamente referenciada por uma ao com o qualificador R. Se o Step1 for desativado antes do tempo expirar, a ao no ser armazenada e no ser executada. SL - Ao armazenada e limitada no tempo
Step1.X Step1 T1 Action1 4s StepN TN R Action1 Step1.X SL T#4s Action1 StepN.X

StepN.X

Action1 4s

Quando o estado Step 1 se torna ativo, a ao armazenada e comea a ser executada. Ela ser executada at que o tempo T se esgote, independentemente do estado de Step1 e mais uma vez. Se a ao for desarmada por uma ao com qualificador R, antes do tempo se expirar, a ao ser interrompida. IEC1131-3 - Sequential Function Charts 17

O bloco de funes controle de ao


Trata-se de um bloco de funo conceitual definido no standard como meio de descrever o comportamento da ao. Cada ao controlada por uma instncia deste bloco. A sada do bloco de controle de ao chamada Q . A ao associada ao bloco executada, enquanto Q verdadeiro. Todos os comandos da ao ou rede devem ser executados mais uma vez na borda de descida de Q. Ou seja, as aes so executadas uma vez extra.
Exemplo:

Suponha uma ao qualificada com o qualificador P e definida em ST: ACTION CONTING: COUNT := COUNT + 1; END_ACTION Assuma que esta ao est associada a uma step e se chama A1. Logo, toda vez que A1 ativado, COUNT incrementado de 1. Toda vez que A1 desativado, COUNT incrementado uma segunda vez !!! Para executar um bloco uma nica vez, devemos ter acesso ao qualificador da ao Q:
Exemplo:

Contar o nmero de vezes que um motor acionado:

MotorOn TR1

CountUp

CTU(CU:=CountUp.Q);

A ao CountUp executada duas vezes. O contador entretanto s incrementado na subida de CU.

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.

IEC1131-3 - Sequential Function Charts

18

Regras de avaliao de um SFC:


1. step inicial estar ativo quando a POU executa, aps a inicializao do sistema. Quaisquer aes associadas com o passo inicial sero executadas. 2. No inico de cada avaliao, o conjunto de steps ativos determinado. Todas as transies associadas com os steps ativos sero avaliadas. 3. Aes que terminaram sua execuo na ltima avaliao, so executadas mais uma vez. 4. Todas as aes ativas so executadas. 5. Todos os steps ativos que precedem transies avaliadas como verdadeiras so desativados e os seus estados sucessivos so ativados. 6. Todas as aes tendo uma condio de habilitao que abcabam de ser desativadas, so marcadas como inativas, por exemplo, uma ao com o qualificador de limite de tempo L, quando o perodo de tempo esgotado.

Regras de evoluo de um SFC:


O padro IEC 1131-3 define um nmero de restries na maneira como networks SFC so projetados e interpretados para que o resultado final seja livre de ambigidade. 1. Dois steps no podem ser diretamente ligados. Eles devem ser separados por uma transio. 2. Duas transies nunca podem estar diretamente ligadas, elas devem ser sempre separadas por um step. 3. Se uma transio a partir de um step leva a dois ou mais steps, ento estes steps iniciam seqncias simultneas. Seqncias simultneas continuam independentemente. 4. Quando projetando um SFC o tempo para realizar uma transio, desativar steps anteriores e ativar steps posteriores, deve ser considerado nulo. 5. Quando mais do que uma condio de transio verdadeira ao mesmo tempo, o tempo de ativao e desativao dos stps associados deve ser considerado nulo. O projetista no deve considerar as diferenas de tempo de transies simultneas (condio de corrida). 6. A condio de transio de um step no avaliada at que todo o comportamento resultante do step ativo tenha se propagado atravs da POU. Por exemplo, se um step foi ativado com a sua condio de sada sempre

IEC1131-3 - Sequential Function Charts

19

TRUE, todas as aes sero executadas uma vez, antes do estado ser desativado.

Evoluo de caminhos divergentes


Quando existem duas ou mais transies a partir do mesmo step, existe ambigidade sobre qual o caminho a ser seguido. Mesmo que vrias transies estejam ativas simultaneamente, somente um caminho selecionado. O caminho selecionado determinado pela precedncia da transio.
Alterando a ordem de prioridade

Step1

Step1 1 Tr1

2 Tr1 Step2

Tr2 Step3

Tr2 Step3

Step2

O default seria a avaliao da esquerda para a direita. Se as transies Tr1 e Tr2 forem ambas verdadeiras, a transio ser feita para o Step2. A transio pela prioridade default indicada no diagrama por uma asterisco colocado sobre o centro dos ramos divergentes. Caso desejamos uma outra ordem de precedncia, devemos indicar a ordem desejada numerando os ramos divergentes e colocando o asterisco na juno. A melhor maneira de se evitar ambigidades usar expresses mutuamente exclusivas para assegurar que apenas um dos ramos estar ativado. Esta alternativa tem como benefcio extra estar conforme o padro IEC 848.

Drill

Job=4 AND RDY

NOT(Job=4) AND RDY

Turn

Grind

IEC1131-3 - Sequential Function Charts

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 OilPres < 3.0 StartOil Oil = 1 (*Open *) OilPump Pump = 1 (*On *) Filter Filter=0 (*On *) TrCheckOk EndBatch LineReady TrReWork OilPress >= 3.0 Label LB1=1 Glue GL1=1 Check

Loop
permitido um salto para um step anterior, o que configura um loop.

Convergncia Simultnea
Pump1 Pump2 MainGen

TrGo

OnLine

SelecAuto

IEC1131-3 - Sequential Function Charts

21

Na verdade serve apenas para sincronizar as sub seqncias. As seqncias devem se encontrar na convergncia AND. Quando TrGo disparado, as duas seqncias de sada so ativadas.

Projeto seguro e Inseguro

Step1 Step1 Tr1

StartOil Step2 Tr2 OilPump Step3 Tr3

StartOil StepA TrA OilPump StepB

TrB1 Step4 StepC StepD

TrB2

TrX StepX TrD TrY

O diagrama acima inseguro. Se o caminho por Step4 for tomado, poder haver um retorno para o estado 1 com o a subseqncia Step2..Step4 ainda ativa. Se o SFC continua a ser executado, mais de um estado de uma mesma subseqncia a pode estar ativo ao mesmo tempo, o que conduz a um resultado imprevisvel.

IEC1131-3 - Sequential Function Charts

22

Step1 Tr1

Step1 Tr1

Step2 Start Oil Tr2 Step3 OilP ump Tr3 Step4

StepA Start Oil TrA StepB OilP ump TrB1 StepC TrB2 StepD

Step2 Start Oil Tr2 Step3 OilP ump Tr3 Step4

StepA Start Oil TrA StepB OilP ump TrB1 StepC TrC TrB2 StepD TrC

TrX StepE StepX

TrX StepX

O SFC da esquerda tem um estado (StepX) que nunca ser alcanado porque Steps C e D so mutualmente exclusivos, logo nunca os dois ramos sero percorridos simultaneamente. O SFC da direita corrige esta situao introduzindo um estado intermedirio (StepE).

Projeto Top down


Geralmente SFCs so utilizados para estabelecer a arquitetura de um sistema complexo. Primeiro os estados do sistema so identificados. Depois os cada estado do sistema modelado atravs de um step do SFC principal. Por exemplo, se estivermos modelando um forno de reaquecimento de lingotes em uma siderrgica, cada estado de funcionamento do forno modelado como um Step do SFC:

IEC1131-3 - Sequential Function Charts

23

Estados do Forno OCIOSO VAZIO AQUECENDO PRONTO TRATAMENTO TERMINADO RESFRIANDO

O forno est frio e no est em uso O forno no contm lingotes O forno est seno aquecido para a temperatura de operao O forno contm pelo menos um lingote e est com a porta fechada. O forno est carregado e na temperatura de operao O processo de tratamento do processo est completo e os lingotes podem ser descarregados. O forno est esfriando da sua temperatura de trabalho.

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.

CARREGAMENTO StartOil

APLICA_RAMPA_TEMP OilPump

PRONTO

MANTEM_TEMP

TRATAMENTO

Ao PERFIL_TEMP

IEC1131-3 - Sequential Function Charts

24

Bom Estilo de Programao


1. Use nomes significativos para steps, transies e aes sempre que possvel. 2. Tente manter cada SFC pequeno e focado no principal comportamento sendo considerado no nvel hierrquico sendo analisado. Todo comportamento detalhado deve estar contido dentro dos blocos de ao e cobertos por SFCs de nveis inferiores. 3. Tente reduzir as interaes entre seqncias simultneas ao mnimo possvel. 4. Evite que aes associadas aos steps de duas seqncias diferentes e simultneas manipulem as mesmas variveis, por exemplo parmetros de entrada para blocos de funo. 5. Cuidado deve ser tomado quando uma ao contm uma subseqncia eu pode ser paralisada em um estado intermedirio por uma seqncia de nvel superior. A seqncia de alto nvel deve assegurar que todas as operaes incompletas sejam limpas convenientemente.

Escopo de nomes dentro de redes SFC


Todos os nomes de estados, transies, conectores de transio e aes devem ser nicos dentro de uma POU, por exemplo bloco de funo, que contm a rede SFC. O escopo de um nome usado em um SFC dentro de um bloco de funo o bloco de funo. Elementos de SFC dentro de um bloco de ao pertencem ao mesmo escopo que as variveis externas do SFC.

SFC em modo texto


SFCs podem ser definidos em modo texto. A utilidade seria ter uma notao cannica para transportar programas entre PLCs. INITIAL_STEP Start: Prompt_Operator(N, StartSwitch); END_STEP TRANSITION FROM Start TO Fill: StartSwitch = 1; END_TRANSITION
Step inicial

Transio: Neste caso uma transio simples do estado Start para Fill

IEC1131-3 - Sequential Function Charts

25

STEP FILL: OpenValves(P); StartPump(N); END_STEP ACTION StartPump: MainPump := ON; Pump1 := ON; END_ACTION
Ao:

Aes associadas ao step

Comandos em ST ou IL

ActionName(Qualifier, Timed _qualifier, indicator variable);


Exemplos:

Action_StartUp(L, T#2m, Ready); Action_Stop(P, Stopped);

Pump1

Pump2

MainGen

TrGo

OnLine

SelecAuto

A transio TrGo colocada na forma cannica se torna: TRANSITION FROM SelectAuto) := TrGo EQ 1; END_TRANSITION (Pump1, Pump2, MainGen) TO (OnLine,

IEC1131-3 - Sequential Function Charts

26

Exemplo: Controle de um elevador de carga

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

IEC1131-3 - Sequential Function Charts

27

Init

S N Ready

PowerOn ResetLift Ready

DoorOpen FloorCall>0 AND (CloseDoor OR DoorOpen.T > T#10s) Shutting N ShutDoor Shut

Shut
MoveLift N R MotorControl ApplyBrake Checks N CheckLimits Fault

Fault OR EmergStop ChkFault

Proximity(FloorCall) = 1 OR Fault Inching L MotorInching T#5s Fault

Floor(FloorCall)=1 AND NOT Fault Stopping S ApplyBrake

Fault

InchFault

Stopping.T > T#2s Opening N OpenDoor Open

Open 1 Halted N Alarm

S ApplyBrake R PowerOn

IEC1131-3 - Sequential Function Charts

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. A eclusa EC1 do silo S0 despeja material na linha formada pelos transportadores TC1 e TC2,at que o detetor de nvel alto do silo sendo carregado atue e a desligue. Ela ser ligada quando o detetor de nvel baixo de um dos silos atuar. O desviador de fluxo acionado toda vez que um dos silos estiver vazio. Caso ambos os silos estejam vazios (situao inicial), o silo S1 ter a preferncia no enchimento. Os transportadores devem ser ligados na ordem correta a fim de alimentar os silos. O tempo de estabilizao de rotao de 15 segundos. Existe uma chave de emergncia que se acionada paralisa todos os equipamentos. Uma sirene deve ser disparada por 2 minutos. Uma nova partida s ser autorizada se for pressionado o boto de rearme. O nmero total de partidas comandadas, e o tempo de funcionamento das seqncias (S1 enchendo e S2 enchendo) devem ser computados e armazenados nas variveis n_partidas e S1_func e S2_func respectivamente.

IEC1131-3 - Sequential Function Charts

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 detetor de nvel mnimo do silo S0 detetor de nvel mnimo do silo S1 detetor de nvel mnimo do silo S2 detetor de nvel mximo do silo S1 detetor de nvel mximo do silo S2 fim de curso do desviador CX1 fim de curso do desviador CX1 Comando do motor da eclusa de descarregamento do silo S0 Comando do motor do transportador 1 Comando do motor do transportador 2 Comando do motor do transportador 3 Comando do Motor do desviador Direo do motor CX1: 0 = para silo S1

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

IEC1131-3 - Sequential Function Charts

30

X/Y de cada campo est no array PosicaoCampo. Para ir para o incio de um novo campo use a instruo GotoXY(coluna, linha); typedef struct { int X; int Y; } Coord; Coord PosicaoCampo[5]= {{0, 10}, {200, 10}, {50, 100}, {0, 100}, {0, 100}}; 0 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 Temp carcaa Desliga Tempo PT ET OR 0---T IN Q

LIGA Direita

&

Q _ Q

Motor direita

&
Note que:
LIGA Esquerda

Q Motor esquerda _ Q

IEC1131-3 - Sequential Function Charts

31

O temporizador com retardo no desligamento garante que sua sada ficar energizada durante o tempo em que a entrada se encontra energizada, e ainda durante um retardo de tempo T. O ligamento / desligamento do motor se d via memrias biestveis. Parar evitar que o motor que se encontra em um sentido de rotao seja ligado em sentido contrrio, foi colocado um intertravamento no circuito. O desligamento deve ser nico.

Construa a soluo correspondente em SFC. 6. Descreva para que coisas voc utilizaria cada uma das seguintes linguagens IEC61131-3: a) Ladder (LD) b) Lista de instrues (IL) c) Texto Estruturado (ST) d) Diagrama de blocos de funes (FBD) e) Sequential Function Charts (SFC) f) Fluxograma (ainda no padronizada). Algumas idias: Intertravamento/ programao de batelada/ Motion Control/ Lgica de controle em indstria petroqumica/ lgica de proteo/ funes DCS / codificar blocos lgicos de alto desempenho / rotina fuzzy / algoritmos de otimizao/ algoritmos genticos/ partida de rotas de equipamentos, etc.

IEC1131-3 - Sequential Function Charts

32

You might also like