Um Método para Conversão de Redes de Petri Interpretadas em Uma Linguagem de Alto Nível Implementável Por CLP

Você também pode gostar

Você está na página 1de 10

DE REDES DE PETRI

UM METODO
PARA CONVERSAO
INTERPRETADAS EM UMA LINGUAGEM DE ALTO

NIVEL
IMPLEMENTAVEL
POR CLP
Diego Henrique Souza Silva1 , Evangivaldo Almeida Lima 1 .
1

Electrical Engineering Department, Federal University of Bahia, Salvador, Bahia, Brazil


Caixa Postal 40210-630 Salvador BA Brazil
diegoh2222@gmail.com, evanlima@gmail.com

Abstract. This article presents a comparative analysis of the RPI (Interpreted


Petri Nets) and SFC (Sequential Function Chart), a language standard IEC
61131-3, and offers a Interpreted Petri Nets conversion alternative to behave
themselves as the SFC, if the model in RPI does not have the restrictions set
forth in this article. The validation of the proposed method is performed by the
PLC which controls the didactic cell CIM -B manufacture and HPSim, editing
tool and Petri Nets simulation.
Resumo. Este artigo apresenta uma analise comparativa entre as RPI (Redes
de Petri Interpretadas) e o SFC (Sequential Function Chart), uma linguagem do
padrao IEC 61131-3, e propoe uma alternativa de conversao de Redes de Petri
Interpretadas para comportar-se como o SFC, caso o modelo em RPI nao apresente as restrico es apresentadas neste artigo. A validaca o do metodo proposto e
realizado atraves do CLP que controla a celula didatica de manufatura CIM-B
e do HPSim, ferramenta de edica o e simulaca o de Redes de Petri.

1. Introduca o
Ao longo das u ltimas decadas, os sistemas de manufatura sofreram profundas mudancas,
principalmente em sua linha de produca o. Com a evoluca o tecnologica, representada tanto
pelo advento dos computadores e sistemas de comunicaca o quanto pelo desenvolvimento
de processos e equipamentos mais complexos, os sistemas de manufatura passaram a ser
caracterizados por um elevado grau de automaca o. Os Sistemas de manufatura sao classificados como Sistema a Eventos Discretos (SED) que e um sistema de estado discreto,
dirigido a evento, ou seja, sua evoluca o depende integralmente da ocorrencia assncrona
de eventos discretos ao longo do tempo[Cassandras and Lafortune 2008].
Existem varias ferramentas formais para tratar esse tipo de sistema, uma delas
sao as Redes de Petri. Este artigo tem como objetivo apresentar um conjunto de procedimentos que possibilitam a conversao das Redes de Petri Interpretadas (RPI), que e
uma das extensoes das Redes de Petri, para uma linguagem de alto nvel, implementavel
em CLP (Controladores Logicos Programaveis), denominada SFC (Sequential Function
Chart), visando assim contribuir com novos metodos de conversao de modelos formais
em estruturas de implementaca o.
Nas tres primeiras seco es sao apresentados os formalismos teoricos utilizados para
a elaboraca o da proposta. A seca o 4 mostra uma analise comparativa entre Redes de

Petri Interpretadas e SFC. A partir dos dados obtidos dessa comparaca o foi proposto um
metodo de conversao do modelo em RPI para a linguagem SFC, que e uma linguagem
implementavel em CLP. A seca o 6 apresenta a validaca o da proposta feita em duas formas complementares: A primeira parte atraves da implementaca o na planta didatica e a
segunda atraves do HPSim, uma ferramenta que simula modelos em Redes de Petri. A
seca o 7 apresentam as consideraco es finais e os possveis trabalhos futuros .

2. Redes de Petri
Redes de Petri (RdP) sao uma ferramenta grafica e matematica que atende bem a um
grande numero de aplicaco es onde as noco es de eventos e de evoluco es simultaneas sao
importantes como por exemplo os SEDs [Cardoso and Valette 1997].

Figure 1. Ex. de
invariante de lugar.

As Redes de Petri Interpretadas sao uma extensao das Redes de Petri tendo como
objetivo tornar mais fiel o sistema real modelado em Redes de Petri possibilitando controlar o funcionamento desse sistema. Isso e feito a partir da adica o dos sinais vindos do
sistema real, sensores e atuadores por exemplo. A evoluca o da RPI e feita adicionando
a` s regras de disparo de uma RdP basica uma condica o booleana de disparo associada a
transica o. A figura 2 e um modelo em Rede de Petri Interpretada de um sistema de manufatura que possui uma esteira rolante, um braco robotico e uma garra retratil para seleca o
de pecas. Observa-se na mesma figura 2 que os dois lugares marcados representam, respectivamente, que uma determinada peca se encontra posicionada e que a garra esta retrada sem peca. Caso a condica o SENSOR INDUTIVO ATUOU associado a transica o
atuar, ira ocorrer o disparo da transica o e a marcaca o da aca o GARRA DISTENDIDA
apos ser retirada as marcas dos lugares de entrada da respectiva transica o.
2.1. Invariantes de Lugar
Invariante de lugar e uma funca o linear da marcaca o dos lugares com valor constante
sendo dependente da marcaca o inicial da rede, correspondendo a uma restrica o tanto
sobre os estados quanto sobre as atividades do sistema independente da sua evoluca o
[Cardoso and Valette 1997].
A figura 1 apresenta uma rede de Petri com essa condica o de invariante de lugar.
Esta ocorre entre os lugares P1 e P3 onde a soma das marcaco es M (p1 ) e M (p2 ) sera
sempre igual a 1, para qualquer evoluca o da rede.

3. Sequential Function Chart - SFC


O SFC e uma linguagem essencialmente grafica da norma IEC 61131-3 baseada na linguagem internacional da IEC 848: O Grafcet, esta desenvolvida pela Telemechanique
na Franca a partir das Redes de Petri. Ela surgiu a partir da necessidade de se
criar uma representaca o grafica comum que facilitasse a troca de informaco es entre os
tecnicos de varios setores, eletrotecnicos e mecanicos por exemplo, que cooperam para
realizaca o de um sistema de controle do projeto de automaca o de um processo Industrial
[Prudente 2007].
3.1. Estrutura basica
O SFC consiste de passos e transico es interconectados por arcos direcionados (directed
links). Cada passo pode estar associado a um conjunto de aco es e cada transica o e associada a uma condica o formada por uma expressao booleana [Vieira 2007]. Na figura 3
mostra a representaca o grafica dos elementos basicos do SFC onde:
A etapa ou passo e representada por um quadrado.
A aca o e representada por um retangulo.
A transica o e representada por traco e ao lado da mesma se encontra a condica o
logica.

Figure 2. Ex. de
RPI.

Figure 3.
Ele
mentos basicos
do SFC.

Figure 4. Ex. de
selfloop.

4. Analise comparativa de RPI com SFC


Uma das razoes para comparaca o entre RPI e SFC e a observaca o da grande semelhanca
entre ambos. A seguir sera apresentada uma comparaca o entre as mesmas. Tal estudo
esta referendado em [David and Alla 1992].
As caractersticas em comum entre RPI e SFC sao:
Ambos modelos possuem dois tipos de nodos: Lugares e transico es para uma RPI
e Passos e transico es para um SFC.
As suas representaco es graficas sao muito similares.
A evoluca o das marcas tanto em RPI quanto no SFC sao sincronizadas segundo a
ocorrencia de eventos externos.
As diferencas entre RPI e SFC sao:
Tipo de marcaca o: A marcaca o dos lugares na RPI e numerica e a do SFC e
booleana.

Disparos Simultaneas: Em uma situaca o de conflito para transico es com a


mesma condica o de disparo, em uma RPI apenas uma transica o dispara. Ja no
SFC todas as transico es sao disparadas. A figura 5 apresenta um exemplo de RPI
com a situaca o de Disparo simultaneo.
Ativaca o simultanea: Quando duas ou mais transico es com condico es iguais tem
um mesmo lugar de sada, no SFC apenas uma marca e adicionada no lugar de
sada, ja em RPI e adicionado mais de uma marcaca o, esta depende do peso do
arco de sada da transica o ao lugar. A figura 13 apresenta um exemplo de RPI com
a situaca o de Ativaca o simultanea.
Reativaca o: Estando um lugar ja marcado, caso ocorra um novo disparo para
reativaca o (remarcar) do mesmo lugar, no SFC a etapa permanece ativada, porem
na RPI e adicionado ao lugar mais uma marcaca o. A figura 20 mostra um exemplo
de uma RPI com possibilidade de ocorrer uma Reativaca o.

5. Metodo Proposto
Segundo [David and Alla 1992] para que uma RPI seja equivalente a um modelo em SFC
e necessario que a rede nao possua marcaca o diferente de 0 ou 1 e que nao ocorram:
Ativaca o simultanea, Disparo Simultaneo e Reativaca o.
O metodo proposto tem como objetivo verificar se em determinado modelo
em RPI ocorre algum dos seguintes caso: Ativaca o simultanea, Disparo Simultaneo
e Reativaca o. Caso algum desses problemas citados seja identificado sera feito a
modificaca o da estrutura da rede a fim de tornar o modelo equivalente a um SFC.
A seguir sao apresentados os algoritmos que realizam a conversao de RPI para
SFC.
Abaixo estao discriminados 3 consideraco es necessarias para a execuca o do
metodo proposto no trabalho:
E necessario que cada lugar da rede tenha marcaca o inicial igual a 1 ou 0.
E necessario que o peso dos arcos seja unitario.
O metodo nao cobre RPI com selfloop que e a situaca o de um lugar da Rede
receber arcos de entrada e sada de uma mesma transica o. A figura 4 mostra um
exemplo de uma RdP com selfloop.
5.1. Disparo Simultaneo
Como foi exposto anteriormente o disparo simultaneo ocorre quando um lugar possui
duas ou mais transico es em conflito com a mesma condica o de disparo. O conflito se
configura na matriz de incidencia quando uma linha da matriz apresenta dois ou mais
valores negativos. As figuras 5 e 6 mostram um exemplo de RPI onde o lugar P0 leva
conflito a` s 4 transico es, sendo que 3 delas possuem condico es iguais (C1).

Figure 5.
RPI
com Disparo si
multaneo

Figure
6.

Notacao
Matricial da Rede

Figure 7.
Passo.

1o

Para resolver esse conflito, neste trabalho e proposto um agrupamento de


transico es que possuem condico es de disparo iguais, cujos passos para realiza-los sao
apresentados a seguir:
1. Inicialmente verifica se em cada linha da matriz de incidencia se possui mais de
um valor com sinal negativo. Na figura 7 apresenta a matriz de Incidencia da RPI
da figura 5 onde mostra que na linha de P0 apresenta quatro posico es com valor
negativo.
2. Caso sim, ira verificar se essas posico es possuem as mesmas condico es de disparo.
Caso positivo, ira armazenar a condica o, a frequencia que esta se repete e em quais
colunas ela se encontra. Na figura 8 destaca as transico es T1 , T2 e T4 que
possuem a mesma condica o de disparo C1.
3. A partir dos resultados dos passos anteriores e implementado o metodo de reduca o
das transico es seguindo os seguintes passos:
(a) Mantem a primeira transica o com condica o igual como pivo.
(b) Realiza-se a soma da coluna pivo com as colunas com condico es iguais
restantes em todas as linhas, exceto na linha onde ocorre o conflito.
(c) Durante esta operaca o de soma verifica-se:
Se Soma igual a 0 - Ocorre condica o de selfloop (Condica o que
nao e tratado neste trabalho). Na figura 12 mostra um modelo em
RPI como exemplo deste caso que gera selfloop.
Se soma maior ou igual a 1 - Adicione apenas 1. A figura
9 mostra o procedimento de soma dos valores das transico es com
condico es iguais ao valor da posica o pivo.
4. Apos a operaca o de Soma, elimina-se todas as colunas (transico es) com condico es
iguais exceto a coluna pivo. A figura 10 mostra a matriz de Incidencia do modelo ja reduzida apos o procedimento de soma e na figura 11 apresenta a rede ja
modificada apos a execuca o do metodo.

Figure 8.
Passo.

2o

Figure 9.
Passo.

3o

Figure 10.
Passo.

4o

Figure 11.
modificada.

RPI

Figure 12.
Ex.
rede modificada
com selfloop.

Figure 13. RPI


Sicom Ativacao

multanea.

5.2. Ativaca o Simultanea


E proposto no trabalho como mecanismo de soluca o da Ativaca o simultanea a aplicaca o
do conceito de fila de disparo, ou seja, para uma fila de transico es com condico es iguais e
sequencia pre-definida pela ordem de criaca o dos lugares na rede, apenas uma transica o
por vez e disparada.

Figure 14. Matriz

de Incidencia
Inicial.

Figure 15.
Passo.

1o

Figure 16.
Passo.

2o

Logo abaixo e apresentado o conjunto de passos para realiza-lo:


1. Verifica em cada linha da matriz de incidencia se existe mais de uma posica o
(coluna) com valor 1, ou seja, se um determinado lugar possui mais de um arco
de sada de transica o. A figura 15 apresenta o 1o passo deste metodo identificando
na matriz de incidencia do modelo da figura 13 a linha que possui mais de um arco
de sada de transica o, que nesse caso e a linha do lugar P2 .
2. Se o primeiro passo for verdade, e verificado se as condico es de disparo das
transico es que tem valor 1 sao iguais. Caso isso ocorra e armazenado a condica o
que se repete, sua frequencia de repetica o e onde ela ocorre. A figura 16 apresenta
o 2o passo, destacando as transico es que ativam o lugar P2 e verificando se estas
possuem a mesma condica o de disparo.
3. Para cada transica o com condica o igual e criado um novo lugar de controle na
rede. A figura 17 mostra o 3o passo sendo executado.
4. A matriz de incidencia desse novo lugar ira receber -1 na coluna (transica o)
com condica o igual correspondente, ou seja, ira adicionar um arco de entrada na
transica o. Esta mesma coluna (transica o) ira marcar o valor 1 na linha do outro
lugar criado para a outra transica o com condica o igual, ou seja, ira criar um arco
de sada para a mesma.

5. Repete o passo 4 ate a penultima transica o com condico es iguais. Nesta u ltima
transica o, o lugar criado que o corresponde recebe na coluna da u ltima transica o
igual o valor -1 e a transica o ira marcar na linha do primeiro lugar criado o valor
1, criando assim um arco de sada para o mesmo fechando o ciclo. A figura 18
ocorre o 4o e 5o do metodo.
6. Marca o valor 1 no vetor de marcaca o inicial no primeiro lugar de controle
criado. A figura 19 apresenta o 6o passo colocando uma marca no primeiro lugar
de controle criado P3 .

Figure 18. 4o e 5o
Passo.
Figure 17.
Passo.

Figure 19.
Passo.

6o

3o

5.3. Reativaca o
E proposto neste trabalho o uso do conceito de invariantes de lugar com o objetivo de
restringir a Reativaca o de um dado lugar ate que o mesmo esteja apto a ser novamente
ativado.
O metodo de resoluca o da reativaca o numa RPI e feito da seguinte forma:
1. Primeiro e usado o metodo de verificaca o de disparo Simultaneo no modelo em
RPI. Caso ocorra Disparo Simultaneo:
(a) Executa o metodo de modificaca o do Disparo Simultaneo.
(b) Caso o lugar que sofre disparo simultaneo tiver arcos de sada, sera criado
um lugar de controle onde sera setado arcos de sada das transico es que
estao em conflito relacionadas com o lugar que sofre disparo simultaneo
ao lugar de controle e sera setado arcos de entrada do lugar de controle
a todas as transico es que adicionam marcas no lugar que sofre disparo
simultaneo. Adiciona uma marca no lugar de controle.(Esse passo resolve
a reativaca o do lugar que sofre Disparo Simultaneo).
(c) Caso o lugar que sofre disparo simultaneo nao tiver arcos de sada de
transico es este lugar nao sofre reativaca o.
2. E verificado se na rede ocorre Ativaca o Simultanea. Caso ocorra Ativaca o Simultanea:
(a) Executa o metodo de modificaca o da Ativaca o Simultanea.

(b) Caso exista transica o que tira marca do lugar que sofre ativaca o, e criado
um lugar de controle onde e setado arcos de entrada do lugar criado a
todas as transico es que adicionam marcas no lugar que sofre ativaca o e e
adicionado arcos de sada de todas as transico es de sada do lugar que sofre
ativaca o simultanea ao lugar de controle.Adiciona uma marca no lugar
de controle. Esse passo resolve a reativaca o do lugar que sofre Ativaca o
Simultanea.
(c) Caso nao exista transica o que tira marca do lugar que sofre ativaca o nao e
possvel resolver a reativaca o.
3. Executa o metodo que evita a reativaca o. Este e feita nos lugares que ainda nao
foram cobertos com lugares de controle.
As figuras 20, 21, 22 e 23 representam um exemplo de uso do metodo de execuca o
do algoritmo apresentado acima.

Figure 20. RPI


com lugar que
pode
sofrer

reativacao.

Figure 21. Matriz

de Incidencia
Inicial.

Figure 22. Ma
triz de Incidencia
modificada.

Figure 23. Rede


com
lugar
de
controle
que
evita
a

reativacao.

Figure 24. Planta industrial didatica


CIM-B.

6. Validaca o do metodo
A validaca o do metodo foi feita controlando uma Planta didatica CIM-B (Ver figura 24),
que simula uma celula de manufatura, atraves de um CLP que pode ser programado usando as linguagens Ladder ou Lista de Instruco es. Foi feito a modelagem do funcionamento
da planta em Redes de Petri interpretada e logo em seguida foi executado o metodo de conversao proposto neste artigo de RPI para o equivalente ao SFC. Para carregar o modelo no


CLP da Planta didatica foi utilizado o metodo de [Artus
Bolzanni 2012] que converte uma
RPI em lista de instruco es. A figura 25 mostra a modelagem em RPI da Unidade de Transporte da Planta que realiza o transporte de pecas metalicas apos a sua identificaca o para
uma mesa rotativa. A modelagem em RPI da Unidade de Transporte apresenta situaco es
em que pode ocorrer a Reativaca o e o Disparo Simultaneo. A figura 26 apresenta a rede
transformada apos a execuca o do metodo de conversao proposto neste artigo. A planta
didatica nao apresentou problemas de ativaca o simultanea, por isso a validaca o do metodo
de resoluca o da mesma foi feita atraves do HPsim que e uma ferramenta de simulaca o de
Redes de Petri.

7. Resultados e Conclusao
A validaca o do metodo de conversao de RPI para o equivalente em SFC feita controlando
o funcionamento da Planta didatica CIM-B e simulando no HPSim obteve resultados
positivos. Esta pesquisa buscou aprofundar uma a rea ainda pouco explorada que sao
as tecnicas de implementaca o de ferramentas formais que modelam SEDs para sistemas
fsicos. A partir da contribuica o do presente trabalho foi possvel apontar alguns pontos
possveis a serem aprofundados:
1. Agregar os metodos de verificaca o e conversao de RPI para SFC a ferramentas
que modelam RdP.
2. Resolver o problema do selfloop que pode ocorrer durante a conversao de RPI
para SFC usando o metodo proposto neste trabalho.
3. Ampliar o metodo proposto para trabalhar com todos os tipos de peso da RPI.
4. Criar metodos de conversao de outras classes de RdP para o SFC.
5. Acrescentar ao metodo de conversao elementos temporais e/ou estocasticos.

References
Antiqueira, P. A. (2011). Implementaca o de Modelos de Redes de Petri em Hardware de
Logica Reconfiguravel. Doutorado, Universidade Tecnologica Federal do Parana.
Cardoso, J. and Valette, R. (1997). Redes de Petri. Didatica. Editora da UFSC.
Cassandras, C. G. and Lafortune, S. (2008). Introduction to Discrete Event Systems.
Springer.
David, R. and Alla, H. (1992). Petri Nets e Grafcet. Prentice Hall.
John, K.-H. and Tiegelkamp, M. (2010). IEC 61131-3: Programming Industrial Automation Systems. Springer-Verlag Berlin Heidelberg, Heidelber, Alemanha, segunda
edition.
Murata, T. (1989). Petri nets: Properties, analysis and applications. In Proceedings of the
IEEE. IEEE.
Prudente, F. (2007). Automaca o Industrial. LTC, Rio de Janeiro.
Vieira, A. D. (2007). Metodo de Implementaca o do Controle de Sistemas a Eventos Discretos com Aplicaca o da Teoria de Controle Supervisorio. PhD thesis, Universidade
Federal de Santa Catarina.

Artus
Bolzanni (2012). Modelagem, Analise e Implementaca o em CLP de SEDs Utilizando Redes de Petri. Monografia, Universidade do Estado da Bahia.

Figure 25. Modelagem da unidade de transporte.

Figure 26. Modelagem da unidade de transporte modificado pelo metodo


de con
versao.

Você também pode gostar