10 de agosto de 2010
Grafcet
Modelar lgicas de controle baseadas na seqncia temporal
de eventos de processo;
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.
Componentes Bsicos
Estados;
Transies;
Links;
Jumps;
Estados
Cada Estado referenciado por um nmero, escrito dentro do
retngulo;
A descrio do estado feita em um retngulo ligado ao
smbolo do estado, sendo que a mesma no faz parte da
programao);
Estados
No modo run time, um alerta indica que o estado est sendo
executado.
Estados
Estado inicial:
Todo programa SFC possui um Estado Inicial, representado
por dupla borda;
O alerta de Estado ativo automaticamente ligado no
Estado Inicial quando o programa executado;
Estados
O bloco de aes de cada Estado pode ser definido em em
qualquer uma das outras linguagens da IEC 61131;
GSnnn.x : Varivel booleana que indica se o Estado nnn est
ativo. Comumente utilizado em seqncias simultneas ,
sincronizando diferentes passos;
GSnnn.t : Varivel timmer que indica a quanto tempo o Estado
nnn est ativo;
Estados
A lgica de cada estado do programa em SFC, quando descrita
em ST (texto estruturado), deve ser encapsulada entre o par
de declaraes ACTION (qualificador ) e END ACTION, onde
qualificador descreve o tipo da ao. Os qualificadores mais
freqentemente usados so:
N, que indica que a ao ser executada continuamente
enquanto o estado estiver ativo;
P, que indica uma ao pulsada (no ISaGRAF, executada
apenas uma vez quando o estado for ativado).
Estados
Qualificadores aceitos em outros PLCs:
Estados
Exemplo:
ACTION(N):
x:= x+1;
desligado := FALSE;
END_ACTION;
Transies
So representadas por uma pequena barra horizontal que
cruza o link entre estados;
Assim como os estados, cada transio referenciada por um
nmero e pode ser descrita por um comentrio;
Exemplo:
Link Orientado
So as linhas usadas para interligar Estados e Transies;
Quando a orientao no explicita (sem setas indicativas) a
orientao de cima para baixo;
Jump
Usados em substituio ao link orientado;
Indicam a conexo sem o desenho da linha de interligao;
Os jumps devem referenciar ao nmero do Estado de destino;
Jump
Jumps no podem ser usados para representar o link de um
estado para uma transio.
Diagramas equivalentes:
Convergncias e Divergncias
Divergncias so multplas conexes de um smbolo SFC
(estado ou transio) para dois ou mais smbolos SFC;
Convergncias/Divergncias Simples
Mesmo que vrias transies estejam ativas simultaneamente,
somente um caminho selecionado. O caminho selecionado
determinado pela precedncia da transio. O default a
avaliao da esquerda para a direita;
Convergncias/Divergncias Mltiplas
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.
Macro Estado
Um macro estado a representao de um grupo de estados
e transies;
O macro estado descrito em separado, tambm em
linguagem SFC;
Macro Estado
O nmero de referncia do macro estado a referncia do
primeiro estado de sua descrio.
A descrio deve iniciar e terminar com um estado;
Um macro estado pode possuir outro macro estado em sua
descrio;
Um macro estado no pode ser usado em mais de um
programa SFC.
Macro Estado
Aes
Booleanas;
Pulsadas;
Contnuas;
Aes SFC;
Aes Booleanas
Altera o valor de uma varivel (interna ou sada) nos
momentos de ativao e desativao do Estado;
<variavel_booleana>(N): varivel torna-se TRUE durante o estado
ativo;
< variavel_booleana >: mesmo efeito de (N);
/< variavel_booleana>: variavel torna-se FALSE durante o estado ativo;
< variavel_booleana>(S): variavel torna-se TRUE na entrada do estado
e permanece assim at ser resetado;
< variavel_booleana>(R): variavel torna-se FALSE na entrada do estado
e permanece assim at ser setado;
Aes Booleanas
Aes Pulsadas
Aes executadas somente uma vez durante o estado ativo;
Sintaxe:
ACTION (P):
(Cdigo em texto estruturado);
END_ACTION;
Aes Pulsadas
Exemplo:
Aes Contnuas
Aes executadas em todos os ciclos de scan, enquanto o
estado estiver ativo;
Sintaxe:
ACTION (N):
(Cdigo em texto estruturado);
END_ACTION;
Aes Contnuas
Exemplo:
Aes SFC
Trata-se de partir/interromper subprogramas do tipo SFC;
Sintaxe:
<programa_filho> (N): parte (interrompe) o subprograma quando o
estado ativado (desativado);
<programa_filho> : mesmo efeito de (N);
<programa_filho> (S): Parte o subprograma quando o estado
ativado. No possibilita a interrupo do subprograma;
<programa_filho> (R): Interrompe o subprograma quando o estado
ativado. No possibilita partir novamente o subprograma;
Aes SFC
Exemplo: Programa pai com os subprogramas SeqMix e
SeqPump;
Chamada de Funes
Trata-se de partir/interromper subprogramas e funes no
escritos em SFC;
Sintaxe:
ACTION (P):
resultado:=sub_program ();
END_ACTION;
ACTION (N):
resultado:=sub_program ();
END_ACTION;
Datas Importantes
14 de setembro Data limite para envio da Prtica 6
28 de setembro Apresentao da Prtica 7
19 de outubro Data limite de envio da Prtica 8