Sie sind auf Seite 1von 27

Notas de Aula SEL0406 | Prof.

Dennis Brando | SEL-EESC-USP Pgina 184 de 250



6. SEQUENTIAL FUNCTION CHARTS

Alm da programao de CLPs pelo mtodo intuitivo, existem algumas mtodos formais muito
uteis principalmente quando se programa aplicaes grandes ou complexas:
- o crescimento da complexidade de sistemas automatizados requer a minimizao do tempo de
programao e, se possvel, a possibilidade de reutilizao de cdigos para CLPs;
- em aplicaes crticas relacionadas sistemas de segurana, existe a necessidade de
procedimentos de verificao e de validao das aplicaes, ou seja, uma metodologia para se provar
caractersticas estticas e dinmicas de programas de CLPs, tal como tempos de resposta.

A figura seguinte representa o processo de criao de um programa de controle para CLP. Sem o
uso de tcnicas formais, o processo seria limitado ao anel externo do diagrama. O programa
implementado diretamente da especificao informal do problema e validado informalmente com bases
nestas especificaes. Entende-se por especificao informal do problema a descrio do sistema
automtico em linguagem no formal (descrio do problema) e todo o conjunto de documentao
tcnica do sistema. A validao neste caso possvel posteriormente implementao do projeto e
quando se dispe de uma equipe de testes, porm este um processo lento e caro.

Figura 5.1. Processo de implementao de programas em CLPs

Validao
Realizao Implementao Formalizao
Especificao
formal
Especificao
informal
Implementao
direta
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 185 de 250
Como alternativa a esta metodologia de projeto, pode-se utilizar tcnicas formais para a
programao e a validao de programas em CLPs. Nesta metodologia, adicionam-se as etapas de
formalizao, especificao formal e implementao.
A formalizao consiste da converso da especificao informal em uma especificao formal,
ou seja, que segue regras de representao e de comportamento. Esta etapa pode ter o auxlio de
softwares nas nunca automtica, pois depende da interpretao do projetista. Uma especificao
formal deve ser capaz de:
1 - capturar as caractersticas estticas e dinmicas do sistema;
2 - acomodar o estilo de modelagem dos estados e de atividades de uma forma natural;
3 - permitir a sua integrao em qualquer outra linguagem de modelagem;
4 - ser capaz de representar sistemas sobre mltiplos nveis de abstrao.

J para o rastreamento de erros, verificao e validao, a tcnica de especificao deve
permitir simulao e animao e dispor de tcnicas de anlise eficientes para verificar as propriedades
do modelo.
A implementao depende da plataforma tecnolgica que se utiliza (software e hardware do
CLP), neste caso pode-se contar com ferramentas de gerao de cdigo automtico.
De acordo com a norma IEC 61131 descrita anteriormente, existem atualmente cinco linguagens
padronizadas: IL (lista de instrues), ST (texto estruturado), FBD (diagramas de blocos funcionais), SFC
(sequential function charts) e LD (diagramas ladder). No captulo anterior foram apresentadas as
linguagens LD e FBD, neste captulo ser apresentada a linguagem SFC.
Derivada das Redes de Petri (tcnica descrita mais a diante neste captulo) e do seu subconjunto
destinado modelagem de sistemas seqenciais IEC 848, o denominado Grafcet (lanado em 1988), o
SFC se presta a uma especificao formal de alto nvel adequada para projetos de maior complexidade
baseados em CLPs. A vantagem a destacar a possibilidade de se traduzir um cdigo SFC para as demais
linguagens da norma.
Quando o projeto requer o processamento paralelo de duas ou mais tarefas em um controlador,
ao contrario da programao direta em ladder (por exemplo), a tcnica do SFC torna-se mais adequada,
pois baseia-se em diagramas grficos de estrutura seqencial adequada modelagem de sistemas
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 186 de 250

orientados a eventos, atravs de uma abordagem capaz de resolver problemas sequencias de grande
porte ou complexidade com mltiplos processos (ou seqncias) paralelos.
Atualmente o SFC adotado por alguns fabricantes de CLP como linguagem direta de
programao. Para CLPs que no possuem essa caracterstica, o SFC pode ser traduzido para ladder ou
para qualquer outra linguagem IEC 1131, tornando-se assim uma ferramenta para elaborao de
comandos seqenciais, segundo uma abordagem top down para estruturao das aes do programa.
A sua filosofia consiste em partir da descrio informal das funes de automao a se projetar
e decomp-las em passos e transies.
Nos passos e s neles so realizadas aes (por exemplo, ligar um contator de acionamento de
um motor) ou eventualmente pode no se realizar qualquer ao (quando o controlador est em
repouso). Em cada instante, numa dada seqncia s um passo est ativo.
Para haver a transio de um passo para outro preciso que se verifique uma ou mais condies
de transio. Por exemplo, para que um elevador em movimento do 2 para o 3 andar pare neste
ltimo, preciso que um fim de curso indique a chegada da cabine a este andar.
Exemplo de representao de um SFC:


Figura 5.2. Exemplo de um SFC
Passo
inicial
Passo
1
Passo
2
0
1
2
1 Transio
2 Transio
3 Transio
Aes a realizar no passo 0
Aes a realizar no passo 1
Aes a realizar no passo 2
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 187 de 250

Elementos de um SFC
Os elementos de um SFC so passos, transies, arcos, aes e regras de evoluo.
Transio Passo (step) Ao Arco orientado



Um arco representado por uma linha vertical e orientado de cima pra baixo (default). No caso
em que se projeta um arco orientado de baixo para a cima, o sentido deve ser representado atravs
uma seta.
Uma seqncia definida por uma srie de passos, transies e passos ligados por arcos
orientados:

possvel realizar seqncias alternativas atravs de caminhos divergentes e convergentes. As
seqncias so executadas em mtua excluso.



home
start N
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 188 de 250









Regras de validao de seqncias alternativas:
As condies booleanas associadas a transies so estimadas da esquerda para direta.
Se uma ou mais transies tem condies TRUE, a precedncia garantida transio mais a
esquerda, possvel todavia modificar a regra de precedncia, atribuindo uma prioridade cada
transio. boa prtica associar a transies presentes em seqncias alternativas, condies lgicas
mutuamente exclusivas
Seqncias Simultneas: possvel realizar seqncias simultneas, da seguinte forma:









Caminho divergente
Caminho convergente
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 189 de 250













As seqncias simultneas so consideradas todas em paralelo, pode-se por exemplo utilizar
uma seqncia para o controle do processo e outra para realizar o monitoramento. Em cada seqncia
simultnea, somente um passo de cada vez pode ser ativado e a convergncia de seqncias
simultneas acontece somente quando todos os ltimos passos de cada seqncia forem ativados.
Regras de Programao de uma seqncia simultnea:
necessrio que a convergncia de seqncias simultneas possa ser atuada, quando todos os
passos que se inserem em tal convergncia devem poder ficar todos ativos.
Exemplo de convergncia de seqncias simultneas errada:

Divergencia de seqncias simultneas
Convergencia de seqncias simultneas

Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 190 de 250



Uma transio representada por uma barra horizontal, a qual possvel associar pelo menos
um passo precedente e pelo menos um passo seguinte (os passos precedentes e seguintes podem ser
mais de um) Para cada transio vem associada uma condio. As condies podem ser constitudas de:
Uma varivel booleana (TRUE, FALSE) ou,
Uma linha em linguagem ladder. Se a linha for ativada, a condio associada transao
torna-se verdadeira, ou,
Uma sada binria de qualquer FB. Se a sada verdadeira ento as condies associadas
transio tornam-se verdadeiras, ou
Um nome de um programa. O programa deve ser definido separadamente e pode ser
escrito em uma das linguagens IEC 1131-3. O programa deve fornecer como sada um
valor booleano que deve ser associado ao nome do prprio programa.

A condio associada a uma transio estimada SOMENTE quando todos os passos
precedentes a essa estiverem ativos. Quando todos os passos precedentes a uma transio estiverem
ativos e a condio associada a esta verdadeira, todos os passos precedentes desativam-se e os passos
seguintes tornam-se ativos. Se a uma transio est associada a um nome, este deve ser singular (ou
nico) em todo o programa (varivel local). Exemplos de Transio:
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 191 de 250




Exemplo de diagramas errados:


Programa "start" codificado em Ladder:
Step1
Step2
start (TRUE, FALSE)
Step1
Step2
x y
z
Step1
Step2
AND
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 192 de 250



Tipos de passo: Passo Normal (caixa simples) e Passo Inicial (representado por caixa dupla)



Pode existir somente um Passo Inicial, que vai ser ativado em um cold-start. Cada passo tem
associado um nome nico em todo o programa (variveis locais).
Para cada passo associado um estado: ativo ou no ativo. O estado ativo quando a transio
precedente ao passo "liberada", isso significa tambm que a condio associada a esta transio
tornou-se verdadeira. O passo desativado com a liberao da transio que o sucede, ou transio de
sada.
A cada passo possvel se associar uma ou mais aes que descrevem o que se fazer quando o
relativo passo ativado. Cada ao representada por um retngulo conectado ao passo:







Nome Nome
Step1
Step2
start
x y
z
start
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 193 de 250









Qualificador: Este parmetro especifica as modalidades de execuo da ao. Pode assumir os
valores: N, S, R, L, D, P, SD, DS, SL
Nome da ao: Este parmetro nico em todo o programa. Ele corresponde ao nome do
programa que realiza a ao. O programa pode ser escrito em qualquer uma das linguagens IEC 1131
Indicador da varivel: Este parmetro opcional e permite indicar a varivel que modificada
pela ao e, quando modificada, indica o fim da execuo.
Uma mesma ao pode ser associada a mais de um passo.
possvel que a um passo no seja associada nenhuma ao. Nesse caso quando o passo fica
ativo, nada executado, e se espera que o passo seja desativado pela liberao da transio de sada.
Observao: A norma IEC 1131-3 assume que qualquer ao associada a um passo vai ser
executada ainda mais uma vez aps a desativao do passo. Pode-se ou no adotar tal
hiptese.
Vantagem: permite o reset de eventuais parmetros ou variveis usados durante a execuo
da ao.

Qualificador 'N' Non stored
Qualificador
Nome da ao
Indicador da varivel
Qualificador
Nome da ao
Indicador da varivel
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 194 de 250


A ao "Action1" executada continuamente enquanto o Step1 ativo. Quando o Step1
desativado, a ao executada somente mais uma vez

Qualificador 'S', 'R', Set e Reset


A ao "Action1" comea a ser executada quando o Step1 ficar ativo. A ao memorizada e
continua a ser executada enquanto o passo StepN ficar ativo. Neste caso a ao "Action1" executada
somente mais vez. No caso em que uma ao no seja resetada atravs do qualificador 'R', esta ser
executada indefinidamente.

Qualificador 'P' pulse
Action1 N
Step1
Step1.X
Action1
T1
T1
Action1 S
Step1
Step1.X
T1
T1
Action1 R
StepN
StepN.X
Action1
TN
TN
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 195 de 250

Quando o Step1 ativado, a ao Action1 executada somente uma vez, em algumas
implementaes do padro, a execuo depois da desativao do Step1 pode no ser prevista.

Qualificador 'L' Time Limited


A ao "Action1" comea a ser executada quando o Step1 fica ativo. A ao executada em um
determinado intervalo de tempo T (associado ao qualificador L). Ao fim de tal intervalo, a ao
terminada. Se o passo desativado antes que do final do tempo T, ento a ao "Action1" terminada.
Quando a ao terminada, em ambos os casos, essa executada pela a ltima vez e somente
uma vez.
Action1 P
Step1
Step1.X
T1
T1
Action1
Action1 L
Step1
Step1.X
T1
T1
Action1
T
Step1.X
T1
Action1
T
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 196 de 250


Qualificador 'SL' stored and time limited


Qualificador 'D' time delayed

Action1 SL
Step1
Step1.X
T1
StepN.X
Action1
T
Step1.X
Action1 R
StepN
TN
StepN.X
Action1
Step1.X
StepN.X
Action1
T
T
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 197 de 250

A ao "Action1" comea a ser executada depois do intervalo temporal T (associado ao
qualificador D) a partir do instante no qual o Step1 fica ativo. A ao executada enquanto o Step1 no
desativado. Nesse caso a ao "Action1" executada somente uma vez. Se o Step1 no permanece
ativo por um tempo pelo menos igual a T, a ao nunca executada.

Qualificador 'SD' stored and time delayed

Action1 D
Step1
Step1.X
T1
T1
Action1
T
Step1.X
T1
Action1
T
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 198 de 250


Quando o Step1 ativo, a ao "Action1" memorizada, mas no executada at que o
intervalo de durao T termine. A ao executada enquanto no resetada atravs do qualificador R.
Se a ao "Action1" chamada com o qualificador R antes que o intervalo T acaba-se, a ao no ser
executada.

Elementos Fundamentais de Controle atravs de SFC
Bypass ou salto de uma seqncia:

Action1 SD
Step1
Step1.X
T1
StepN.X
Action1
T
Step1.X
Action1 R
StepN
TN
StepN.X
Action1
T
Step1.X
StepN.X
Action1
T
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 199 de 250

Loop de uma sequencia

Rendezvous:

Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 200 de 250



Exemplo: Controle de Acesso
O exemplo a seguir representa um SFC para controle de segurana de duas portas. Uma porta
requer um cdigo de acesso de dois dgitos, a segunda porta requer um cdigo de trs dgitos. A
execuo do sistema inicia-se no topo do diagrama, no passo inicial, quando o sistema ligado. Existe
uma ao associada ao passo inicial que trava a porta (Nota: na prtica, em SFC se utiliza lgica ladder
para acionamento de sadas e leitura de entradas, recurso no apresentado no diagrama).
Aps a inicializao do diagrama, sua execuo dividida em dois processos e ambos os passos
1 e 6 so ativados. Quando uma condio lgica de digitao do cdigo satisfeita, a transio
correspondente desativa o passo anterior e aciona o passo seguinte. Enquanto o passo 1 estiver ativo,
duas transies podem ser disparadas. No caso da digitao correta do dgito, o passo 1 ficara inativo e
o passo 2 ativo. Caso a digitao seja incorreta, ento o a transio leva o sistema novamente para o
passo 1. O passo 1 no tem nenhuma ao associada, portanto nada deve acontecer neste perodo. A
lgica para ambas as portas deve se repetir aps o final do ciclo de combinao-abertura-atraso-
travamento.

Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 201 de 250

Exemplo: Controle de Prensa
Um SFC para o controle de uma prensa de estampagem apresentado a seguir. Note que o
processo composto por uma nica seqncia, portanto poderia ser implementado diretamente em
ladder.
O processo da prensa se inicia em um estado ocioso, quando um boto automtico
pressionado, a alimentao da prensa e uma luz de indicao so ligados. Frente deteco de uma
pea, o movimento iniciado at a sensibilizao de um fim de curso, ento a prensa tem o movimento
de retorno acionado at um fim de curso superior ser acionado. Um boto de parada pode ser acionado
somente durante o movimento de descida da prensa (note que este tipo de mecanismo de segurana
2
Incio
1
3
4
1o dgito
1o dgito
errado
OK
2o dgito
OK
3o dgito
OK
destrava#1
5 seg.
atraso
5
trava#1
7
6
8
destrava#2
5 seg.
atraso
9
trava#2
Trava portas
2o dgito
errado
3o dgito
errado
1o dgito
OK
2o dgito
OK
1o dgito
errado
2o dgito
errado
3 seg. atraso
= 1
= 1
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 202 de 250

pode ser ativo durante toda a operao). Quando o sistema parado, deve-se pressionar um boto de
reset antes de se iniciar novamente a operao automtica. Aps o passo 6, a prensa aguarda a no
deteco da pea antes de aguardar por uma nova pea. Sem este mecanismo a prensa entraria em um
ciclo interminvel.

Exerccios
5.1. Crie um SFC para uma estao de trabalho para 2 pessoas. A estao tem duas prensas que
podem ser utilizadas ao mesmo tempo. Cada prensa tem um boto de ciclo que inicia o avano. Um fim
1
2 alimentao on
3 avano on
4
Avano off
6 retrao off
Luz off
Fixa pea off
retrao on
Fixa pea on
luz on
avano off
Boto
reset
Boto
automtico
Pea no
detectada
Pea detectada
boto
stop
1
FC inferior
FC superior
2
3 4
5
6
7
alimentaa off
5
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 203 de 250
de curso inferior interrompe o avano, e o cilindro retrai at o acionamento de um fim de curso
superior.
5.2. Crie um SFC para o controle de um semforo de trnsito. Devem-se considerar botes para
a solicitao de travessia de pedestres em ambos os sentidos. Uma seqncia normal de operao deve
ser: Sinal verde por 16 segundos, Amarelo por 4 segundos e Vermelho por 16 segundos. Se um dos
botes de pedestres for acionado, uma luz de travessia de pedestre deve ser acesa por 10 segundos e o
sinal verde estendido por 24 segundos.
5.3. Desenhe um SFC para o processo de estampagem onde o avano e a retrao so
disparados por um boto de ciclo nico.
5.4. Projete o controle de um porto automtico de garagem:
- existe um nico boto na garagem e outro no controle remoto.
- quando o boto pressionado, o porto abre ou fecha.
- se o boto pressionado durante o movimento, o porto pra. Um Segundo acionamento do
boto inicia o movimento no sentido contrrio.
- existem fins de curso nas duas extremidades do movimento do porto.
- existe uma barreia tica no curso do porto, que interrompe o fechamento e inicia a abertura
quando o sinal tico bloqueado.
- existe uma sinalizao luminosa que se ativa por 1 minuto aps a abertura ou o fechamento do
porto.

Converso de diagramas SFC em linguagem Ladder
Um diagrama SFC pode ser convertido diretamente em ladder de algumas formas distintas. O
mtodo aqui apresentado deve ser utilizado em seqncia elaborao do diagrama SFC. O programa
ladder comea com uma seo de inicializao de passos e transies para valores nicos. Em uma
segunda seo da lgica ladder ativam-se as transies subseqentes aos passos. Em uma terceira
seo, caso determinada condio de transio seja satisfeita, ento o prximo passo ativado e o
passo precedente, bem como a prpria transio em questo, so desativados. Segue-se a lgica ladder
com a codificao da ao associada a cada passo, com as ativaes de sadas e lgicas locais em uma
ltima seo.
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 204 de 250

A seguir, demonstra-se a codificao em ladder do exemplo 5.2. Controle de Prensa.

Nesta primeira seo do ladder, inicializam-se todas as variveis relacionadas a passo e
transies. Note que so seis passos e sete transies nomeados de forma nica no programa. Deve-se
sempre nomear passos e transies de forma nica. Em geral os CLPs possuem uma varivel de sistema
que pode ser utilizada para a ativao das inicializaes somente no primeiro ciclo de scan do programa.
Caso o controlador no tenha este recurso, necessria a utilizao de uma lgica para realizar tal
funo.

Primeiro Ciclo
S
R
R
R
R
R
R
R
R
R
R
R
R
passo 1 (passo inicial)
passo 2
passo 3
passo 4
passo 5
passo 6
transio 1
transio 2
transio 3
transio 4
transio 5
transio 6
transio 7
INICIALIZAO DE
PASSOS E DE
TRANSIES
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 205 de 250



Na seo de habilitao das transies, deve-se reproduzir a estrutura do SFC em relao s
seqncias passos-transies.
Na seo seguinte, cada transio deve ter sua condio de disparo avaliada e, caso a avaliao
seja positiva, deve-se ativar os passos seguintes, desativar o passo anterior e desativar a prpria
transio em questo.

passo 1
S
transio 1
passo 2
S
transio 2
passo 3
S
S
transio 3
transio 4
passo 4
S
transio 5
passo 5
S
transio 7
HABILITAO DAS TRANSIES
passo 6
S
transio 6
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 206 de 250


transio 1
AVALIAO DAS TRANSIES
Boto automtico
transio 7 Boto reset
transio 2 Pea detectada
S
R
S
R
S
R
passo 2
transio 1
passo 1
transio 7
passo 3
transio 2
transio 3 FC inferior
S
R
passo 4
transio 3
R
transio 4
transio 4 Boto stop
S
R
passo 5
transio 3
R
transio 4
transio 5 FC superior
transio 6 Pea detectada
S
R
S
R
passo 6
transio 5
passo 2
transio 6
R
passo 1
R
passo 5
R
passo 2
R
passo 3
R
passo 3
R
passo 4
R
passo 6
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 207 de 250

Por fim, executam-se as aes atribudas a cada passo. Note que nesta seo do diagrama
ladder o passo 1 no foi considerado por no ter nenhuma ao associada.



EXECUO DAS AES EM CADA PASSO
passo 2
passo 3
S
S
S
S
alimentao
luz
avano
fixa pea
passo 4
passo 5
S
R
R
R
retrao
avano
luz
avano
R
alimentao
passo 6
R
R
retrao
fixa pea
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 208 de 250

Pode-se alternativamente proceder com a converso em ladder sem o uso de bobinas do tipo
Set/Reset atravs do mtodo exemplificado abaixo para o mesmo exemplo da prensa. Seguem as lgicas
para a ativao das transies e para os passos.

Passo 5 Boto reset
Transio 7
Passo 1 Boto automtico
Transio 1
Passo 6 Pea detectada
Transio 6
Passo 2 Pea detectada
Transio 2
Passo 3 FC inferior
Transio 3
Passo 3 Boto STOP
Transio 4
Passo 4 FC superior
Transio 5
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 209 de 250

Passo 1 Transio 1
Passo 1
Transio 7
Passo 2 Transio 2
Passo 2
Transio 1
Passo 3 Transio 3
Passo 3
Transio 2
Transio 6
Transio 4
Primeiro Ciclo
Notas de Aula SEL0406 | Prof. Dennis Brando | SEL-EESC-USP Pgina 210 de 250



Alguns CLPs permitem a programao grfica diretamente do SFC. Mesmo assim, cdigos em
ladder, lista de instrues, blocos funcionais ou texto estruturado devem ser programados para cada
transio ou passo. Cada cdigo ento deve ser separado em um programa distinto nesta lgica.

Exerccios
5.5. a 5.9. Codifique em ladder os SFCs projetados nos exerccios 5.1 a 5.4 e no exemplo 5.1
respectivamente.

Passo 6 Transio 6
Passo 6
Transio 5
Passo 5 Transio 7
Passo 5
Transio 4
Passo 4
Transio 4
Passo 4
Transio 3
Transio 5

Das könnte Ihnen auch gefallen