Sei sulla pagina 1di 14

Mestrado Integrado em Engenharia Informtica e Computao

Apoio programao G7
Em Autmato Programvel
Schneider

Jos Antnio Faria, Armando Jorge Sousa


jfaria@fe.up.pt
asousa@fe.up.pt
FEUP, 2007

Introduo
Este documento destina-se a dar apoio programao de autmatos Shneider atravs da
linguagem Grafcet com o software PL7.
O Grafcet uma generalizao do conceito de mquinas de estados. Permite a
modelizao de sistemas orientados a eventos discretos e tambm uma linguagem de
programao grfica. O Grafcet deve ser entendido como uma formalizao estruturante
que utiliza outras linguagens para definio de cada bloco elementar do Grafcet (IL, LD
e ST).
As aces das etapas e as receptividades das transies podem ser programadas numa
das seguintes linguagens:

IL - Instruction List linguagem do tipo assembly, genrica para autmatos


programveis
LD Ladder diagrama de contactos associado a digramas elctricos com rels e
seus contactos axuiliares
ST - Structured Text texto estruturado linguagem de nvel mais elevado
Nas aulas prticas apenas ser utilizada a linguagem ST.
O Grafcet (no PL7 Junior designado por GR7) uma linguagem que permite descrever
sistemas de controlo sequenciais de forma grfica e estruturada. Esta descrio
efectuada utilizando objectos grficos que representam:
Etapas s quais podem ser associadas aces estados das mquinas de estados.
Transies s quais podem ser associadas condies de transio
(receptividades).
Arcos (direccionados) ligam uma etapa a uma transio ou uma transio a uma
etapa.
O Grafcet ultrapassa diversas limitaes das mquinas de estado tal como:
possvel ter mltiplos estados activos
possvel representar concorrncia, paralelismo, competio e sincornizao
feita a formalizao das aces associadas a cada estado
feita a formalizao e uniformizao dos temporizadores utilizados no diagrama
Formaliza a interaco hierrquica entre zonas distintas do diagrama Grafcet
Acresce ainda que o Grafcet uma linguagem de programao grfica com boa
capacidade de documentao do projectos de elevada dimenso.
Determinados modelos de Autmatos programveis permitem programao directamente
em Grafcet mas noutros casos o fabricante no disponibiliza tal ferramenta. Mesmo que
a ferramenta no esteja disponvel, o Grafcet uma importante ferramenta conceptual
que deve ser utilizada sempre que possvel para obrigar a estruturao de cdigo.
perfeitamente possvel e fcil fazer a compilao manual do cdigo de Grafcet para ST e
desta forma obter cdigo fcil de documentar e manter em projectos de dimenso
considervel.
Esta seco serve de demonstrao ao Grafcet e respectivo ambiente de
desenvolvimento sob Autmato Schneider.
MIEIC

2 / 14

Criao do projecto
Para poder utilizar programao Grafcet necessrio activar esta opo durante a
criao do projecto.

Figura 1 Criao de nova aplicao no PL7

De seguida configure o hardware que est a utilizar.


Na janela Application Browser seleccione STATION/ Configuration/
Configuration e adicione o mdulo TSX DMZ 28 DR na posio 1.
Confirme a alterao no boto

Hardware

Figura 2

MIEIC

3 / 14

Editor grfico
O diagrama construdo utilizando o editor grfico que se encontra na figura seguinte.

Figura 3 editor de GR7 do PL7 Junior


O editor suporta 8 pginas, referenciadas de 0 a 7 na barra de estado. Cada pgina
apresenta a forma de uma matriz com 14 linhas e 11 colunas que definem 154 clulas.
Uma mesma pgina pode conter vrios diagramas. Apenas pode ser colocado um objecto
etapa, transio, etc. por clula.

MIEIC

4 / 14

Cada pgina do editor tem dois tipos de linhas:

Linhas de etapas onde podem ser colocadas etapas, macro-etapas1 e conectores.

Linhas de transio onde podem ser colocadas transies e conectores fonte.


Os comentrios so objectos independentes, que no esto associados a etapas ou
transies, que podem ser introduzidos em qualquer um dos tipos de linha.

Figura 4 pgina exemplo de GR7

Objectos grficos
Os objectos grficos que podem ser utilizados para construir os diagramas (apresentados
da Figura 5 Figura 10) so os seguintes:
Etapas (iniciais ou simples)
o Pode-se associar aces programadas em LD, ST ou IL
Etapa + transio.
Transies
o A condio associada a cada transio (receptividade) pode ser programada
em LD, ST ou IL
Arcos (orientados).
Conectores.
Comentrios.

No suportado pelo TSX 37-21/22

MIEIC

5 / 14

Figura 5 etapas

Figura 6 etapa + transio

Figura 8 arcos orientados

Figura 7 transies

Figura 9 transies

Figura 10 comentrios

MIEIC

6 / 14

Insero do diagrama
As imagens seguintes apresentam a sequncia tpica de construo de um GR7.

Figura 11 passos na criao de um diagrama GR7 de teste

Para iniciar a edio, no Application Browser deve-se seleccionar STATION/


Program/ MAST Task/ Sections / Section GR7 / [G7] Chart (ver Figura 2).

Seleccione uma etapa inicial (F4 ou


linha.

Seleccione uma transio (F6 ou

) e coloque na linha imediatamente abaixo.


Seleccione uma etapa (F3 ou
Coloque tambm uma etapa na mesma linha e duas clulas para a direita.

Para adicionar uma divergncia do tipo AND seleccione (F11 ou


), clique sobre
a transio e depois sobre a etapa 2.
Coloque outra transio na linha abaixo e duas clulas para a esquerda.

) e coloque na segunda clula da segunda


) e coloque na linha imediatamente abaixo.

Para inserir uma convergncia do tipo AND seleccione (F10 ou


etapa 2 e de seguida sobre a transio que acabou de adicionar.

Coloque na linha imediatamente abaixo uma etapa e uma transio (F2 ou

Seleccione uma ligao transio etapa (F9 ou


que adicionou etapa 0.

MIEIC

), clique na
).

) e ligue a ltima transio

7 / 14

Objectos especficos do GR7


Existe um conjunto de objectos que so especficos da programao em GR7:
Objectos (bits) associados s etapas - %Xi.
Objectos (bits) do sistema associados ao GR7 - %S21, %S22, %S23 e %S26.
Objectos (words) associados s etapas e que indicam o tempo de actividade das
mesmas - %Xi.T.
Objectos (words) do sistema associadas ao GR7 - %SW20 e %SW21.
Os objectos associados s etapas - %Xi - tomam o valor 1 quando a respectiva etapa est
activa. O seu valor pode ser testado em todas as tarefas de processamento.
Os objectos que indicam o tempo de actividade das etapas - %Xi.T - so incrementados
de 100 em 100 ms e apresentam h quanto tempo a etapa est activa em (ms). Quando
uma etapa activada, o contedo deste objecto colocado a zero e passa a ser
incrementado enquanto esta se mantiver activa. Quando uma etapa desactivada o seu
contedo mantido. A menos de necessidade imperiosa, utilize sempre estes
temporizadores standard do Grafcet.
Aces associadas com etapas
Cada etapa pode ter aces associadas (programadas em LD, ST ou IL) que apenas so
executadas enquanto a etapa a que se encontram associadas estiver activa. So
admissveis trs tipos de aces que podem ser utilizadas em simultneo numa mesma
etapa:
Aces na activao executadas assim que a etapa a que esto associadas se
torna activam (e apenas nessa altura).
Aces contnuas executas continuamente enquanto a etapa a que esto
associadas se encontra activa.
Aces na desactivao executadas quando a etapa a que esto associadas
desactivada (e apenas nessa altura).
As regras de programao das aces so as seguintes:
Uma aco associada a uma etapa deve ser activada aquando da activao da
etapa e desactivada aquando da desactivao da mesma etapa
Uma aco que afecta vrias etapas deve ser activada na activao da etapa onde
a aco se inicia e desactivada na desactivao da etapa onde a aco termina
possvel ter aces condicionais, isto , possvel codificar associar condies
de activao das aces.
Condies de transio (receptividade)
Cada transio tem associada condies de transio (programada em LD, ST ou IL) que
apenas so avaliadas quando a transio a que esto associadas est validada
(receptiva). No PL7 Junior uma condio de transio no programada sempre
avaliada como falsa.

MIEIC

8 / 14

Quando as condies de transio so programadas em ST necessrio considerar


algumas diferenas para a utilizao normal da linguagem:
No utilizada a etiqueta %L.
No podem ser utilizadas instrues de aco (exemplo: atribuies a bits).
No so permitidos saltos nem chamadas a subrotinas.
No se termina a receptividade com ;
Tal como no trabalho prtico anterior, na janela Application Browser seleccione
STATION/ Variables/ I/O:

No modulo 1: TSX DMZ 28 DR defina as entradas.


No modulo 2: TSX DMZ 28 DR defina as sadas.

Tal como no trabalho prtico anterior, na janela Application Browser seleccione


STATION/ Animation Table/ Create:

Adicione as variveis de entrada e de sada tabela de animao

Confirme a alterao no boto

Edio do programa
Abra o editor em STATION/ Program/ MAST Task/ Sections / Section GR7 / [G7] Chart.
Utilizando a barra de ferramentas que se encontra no fundo da janela de edio
construa o diagrama correspondente ao esquema de funcionamento sequencial do
sistema.
Figura 12 barra de ferramentas do editor
ou atravs do menu
Aps terminar a construo do diagrama deve valid-lo no boto
Edit/Confirm. Quando um diagrama confirmado o seu aspecto altera-se: os objectos
passam de vermelho para preto e a delimitao das pginas torna-se cinzenta.
Nesta altura podem ser definidas as condies de transio (para as diferentes
transies) e programadas as aces (associadas s diferentes etapas).
Para efectuar a programao das aces e das condies de transio o diagrama deve
estar validado. Sempre que efectuar uma alterao no diagrama deve voltar a valid-lo.
A programao das transies acessvel seleccionando a transio com o boto do lado
direito do rato. Abra a transio e seleccione a linguagem para a programao ST.
Neste exemplo vamos seleccionar a linguagem ST e programar a condio de transio
para a transio entre as etapas 0 e 1 (Figura 14). Aps programar a condio deve
valid-la atravs do boto
. As condies para as restantes transies so
programadas de modo semelhante.

MIEIC

9 / 14

Figura 13 escolha da linguagem de programao na transio %X1->%X2

Figura 14 definio da condio de transio %X(1)->%X(2)


A programao das aces efectuada seleccionando a etapa pretendida com o boto
direito do rato (ou com o boto esquerdo e de seguida premindo Shift+F10). Comece por
seleccionar o tipo de aco associado com a etapa (aco na activao, aco contnua
ou aco na desactivao) e de seguida a linguagem em que pretende programar a aco
(LD, ST ou IL). Seleccione ST.

Figura 15 programao das aces em ST

Figura 16 programao das aces: %X1 P1 activao e P0 desactivao


Para este caso vo ser utilizadas aces na activao e aces na desactivao, isto ,
que so executadas enquanto a etapa a que esto associadas activada e quando
desactivada, programadas em IL. A Figura seguinte apresenta a programao da aco
na activao associada etapa 1. Aps programar a aco deve valid-la atravs do

MIEIC

10 / 14

boto
. As restantes aces so programadas de modo semelhante. Para a
programao das aces deve ser utilizada uma condio sempre verdadeira (exemplo
%Q2.1:=True).
A tabela seguinte apresenta as aces a programar no GR7. Apenas necessrio associar
aces s etapas 1 (a abrir) e 3 (a fechar).
Como exemplo tome-se aspecto final de um programa GR7 tal como mostrado na Figura
seguinte. Note que os quadrados a cheio junto aos objectos (transies e etapas)
indicam quais so os que tm as respectivas condies de transio (para as transies)
ou aces (para as etapas) definidas.

Figura 17 exemplo de aspecto final de duas pginas com diagramas GR7

MIEIC

11 / 14

Relativamente Figura 17, confira os seguintes dados, entre outros presentes na figura:

As etapas 1, 10 e 100 so etapas iniciais


A etapa 1 tem a aco activao definida
A etapa 2 tem a aco ao nvel definida
A etapa 3 tem a aco desactivao definida
A transio que sai da etapa 101 est definida

sada da etapa 100 est uma transio que depois liga etapa 101

entrada da etapa 100 est uma transio que saiu da etapa 101
As ligaes anteriores conferem:
o da etapa 100 liga-se etapa 101 que recebe esta ligao
o da etapa 101 liga-se etapa 100 que recebe esta ligao
possvel utilizar setas para ligar dentro ou entre pginas de Grafcet

Relativamente execuo do exemplo citado Figura 17:

MIEIC

As etapas 2 e 3 so activadas em simultneo


A transio (2,4)->5 s ser activada quando 2 e 4 estiverem activas
O disparo da transio 6->1 independente da transio 7->1
perfeitamente possvel que a etapa 1 seja activada diversas vezes
possvel a etapa 1 ser activada e desactiva simultaneamente

12 / 14

Animao
Quando o autmato se encontra em modo Run possvel visualizar no editor de GR7 a
evoluo do estado do autmato. Uma etapa activa indicada a preto enquanto que
uma etapa no activa indicada a branco. Para tal, a funo de animao deve estar
activa (quando o PLC est no modo Run).

Figura 18 animao do GR7


Em simultneo pode utilizar a tabela de animao que definiu inicialmente para
observar a evoluo das variveis de entrada e sada.

Figura 19 tabela de animao

MIEIC

13 / 14

Anexo - Estrutura de um programa em Grafcet (single task)


O programa numa aplicao single task est associado a uma nica tarefa principal:
MAST. O programa associado com esta
tarefa principal pode ser estruturado em
diversos mdulos. Quando se est a
utilizar o Grafect o programa
estruturado em trs mdulos:

Pr
processamento
(PRL):
executado antes do Grafcef,
utilizado para processar a lgica
de entrada e inicializar o Grafcet.
Grafcet (CHART): condies de
transio associadas s transies
e aces associadas s etapas so
programadas nas pginas do
Grafcet.
Ps
processamento
(POST):
Figura 20
executado depois do Grafcet,
utilizado para processar a lgica de sada, monitorizar e definir esquemas de
segurana.

Na primeira parte deste trabalho, apenas tem de programar no mdulo CHART.


Na segunda parte, quando precisar de programar macro-aces, tambm ter de
programar no mdulo PRL. Esta programao deve ser feita em linguagem ST.
Relativamente s macro-aces, recorda-se que, com o software de desenvolvimento
disponvel no laboratrio:
1. possvel actuar directamente sobre o estado de uma dada etapa i do Grafcet
atravs de instrues de Set e Reset sobre o bit Xi associado a essa etapa.
2. possvel actuar sobre o estado global do Grafcet atravs de instrues de Set e
Reset sobre os seguintes bits sistema:
S9: Todas as sadas em estado de repouso (desligadas)
S21: para re-inicializao do Grafcet (voltar ao estado inicial)
S22: desactivao de todas as etapas
S23: desactivao de todas as transies
3. as instrues de Set e Reset dos bits anteriores (Xi e Si) apenas podem ser includas
no mdulo de pr-processamento.
4. quando uma etapa activada/desactivada atravs de um dos bits anteriores, as
aces definidas para a activao/desactivao dessa etapa no so executadas.
Fim

MIEIC

14 / 14