Sie sind auf Seite 1von 10

27/1/2011 Mecatrônica Atual

Imprimir

AUTOMAÇÃO / Redes
17/07/2009 07:06:56

Redes de Petri: um paradigma de modelagem para a automação


Com o avanço da tecnologia e a necessidade de um maior controle, confira neste artigo a ferramenta
matemática e gráfica que permite obter um sistema de automação de acordo com as suas necessidades

Eduard Montgomery Meira Costa

No atual contexto da automação no mundo são buscadas cada vez mais novas metodologias para geração
de controle nos mais variados ambientes, além da indústria. Dentre estas metodologias, ferramentais
matemáticos e gráficos se tornaram aliados da automação, na busca de estruturas formais que garantam o
funcionamento dos sistemas de uma forma completa e individual. Entre os formalismos encontrados no
mundo da automação, encontram-se as redes de Petri, que consistem em uma importante ferramenta
matemática e gráfica que permite a modelagem de um sistema, visualização e verificação de modelo, entre
outras vantagens.

Em se tratando de automação, há algumas décadas o advento dos controladores lógico- programáveis


(CLPs) determinou um grande passo no crescimento da automação da indústria, e eles se tornaram uma
importante ferramenta na área de controle dos sistemas, estando presentes na maioria dos ambientes
automatizados.

O CLP basicamente é um computador dedicado à automação, que utiliza linguagens específicas para
definir programas que executam as tarefas requeridas no sistema. Entre estas linguagens, a mais conhecida
e mais usada mundialmente, é a linguagem Ladder, que é uma linguagem estruturada como circuito lógico
na forma de uma escada. Toda essa estrutura é baseada em formalismos computacionais básicos do tipo
se...então (if...then). Assim, se uma entrada (ou conjunto de entradas) é verdadeira, então se executa a
saída. Numa visão mais clara, uma chave lógica é acionada por uma entrada que energiza uma saída.

O problema da programação ladder nos CLPs é a estrutura complexa que aumenta à medida que o sistema
cresce. Dessa forma, com um sistema que exibe muitas entradas e muitas saídas, além de várias
interligações entre seus componentes na execução do mesmo, a programação do CLP torna-se de extrema
complexidade, gerando erros difíceis de serem localizados, e muitas vezes necessitando executar o
funcionamento do sistema para tentar se descobrir um erro em algumas das milhares de linhas do código
ladder.

Embora hoje em dia se encontrem softwares que permitem a execução simulada do ladder para que seja
verificado o código antes de ser inserido no CLP, ferramentas mais importantes que permitem o
entendimento lógico do sistema em uma simulação são disponibilizadas, como é o caso da rede de Petri.

As redes de Petri foram desenvolvidas por Carl Adam Petri na década de 60 (Século XX), sendo uma
estrutura gráfica e matemática que passou a ser utilizada na área de automação a partir da década de 80,
quando se estruturaram as primeiras noções de controle supervisório de sistemas a eventos discretos
(SED), com Ramadge e Wonham.

A teoria desenvolvida pelos dois pesquisadores denominou-se de Teoria de Controle Supervisório (TCS),
mecatronicaatual.com.br/…/imprimir:yes 1/10
27/1/2011 Mecatrônica Atual
cujo principal fundamento era gerar um agente de controle autônomo, denominado supervisor, o qual avalia
o estado do sistema e verifica as possibilidades de ocorrências de eventos físicos que mudam o estado,
bloqueando ou liberando sua ocorrência, de forma que o sistema siga um caminho pré-definido pelo
usuário, denominado de especificação de comportamento.

Assim, com um mapa de estados do sistema gerado pelo modelo e com a especificação de comportamento,
esta teoria permite construir este agente supervisor. Neste caso, importam apenas as condições do sistema
e os eventos físicos que mudam os estados. Logo, este tipo de sistema conhecido por SED, interessa atuar
inibindo ou habilitando ocorrências para direcionar sua dinâmica para o que é desejado, não importando o
tratamento das variáveis contínuas (que cabe aos controladores convencionais). Exemplos de SED são os
sistemas de manufatura, os sistemas de supervisão de tráfego aéreo, ferroviário, etc.

Com as redes de Petri, vários formalismos foram desenvolvidos para controle automático, sendo
empregadas no contexto da mecatrônica atualmente. Estas redes, além da facilidade de modelagem e
entendimento e condições de simulação visual e inserção de controle diretamente sobre o modelo,
apresentam uma transformação para os diagramas ladder, pois sua lógica e dinâmica contêm uma
similaridade com a lógica destes programas para CLP. Assim, sua importância no mundo da automação se
tornou de grande relevância.

As Redes de Petri

As redes de Petri são formalizadas por grafos que são direcionados, bipartidos e ponderados, e que
apresentam uma marcação inicial. O conceito de grafo bipartido define que uma rede de Petri tem dois tipos
de nós, os quais são denominados lugares e transições. O termo grafo direcionado determina a existência
de arcos, os quais são direcionados sempre de um lugar para uma transição e de uma transição para um
lugar. Assim, no primeiro caso, denominam-se lugar de entrada da transição e transição de saída do lugar;
e transição de entrada do lugar e lugar de saída da transição no segundo caso.

Os arcos em uma rede de Petri apresentam uma ponderação associada, onde um arco com peso k
representa k arcos paralelos ligando dois nós. A marcação inicial de uma rede de Petri representa o estado
em que a rede se encontra inicialmente.

Formalmente, uma rede de Petri é definida como uma sêxtupla (ou conjunto de seis conjuntos e funções),
RP = (P, T, A, K, W, M0), em que:

• P = {p1, p2, ..., pm} é um conjunto finito de lugares;


• T = {t1, t2, ..., tn} é um conjunto finito de transições;
• A ⊆ (P × T) ∪ (T × P) é um conjunto
de arcos;
• K : P → N ∪ {∞} é a função de capacidade;
• W : A → N+ é a função de ponderação;
• M0 : P → N é a função de marcação inicial, que satisfaz ∀p ∈ P : M0 (p) ≤ K(p).

Deve-se observar que, pela definição de rede de Petri, as condições P ∩ T = ∅ e P ∪ T ≠ ∅ são


satisfeitas. Isso quer dizer que, pela primeira condição, os lugares e as transições são nós distintos, o que
formaliza o termo bipartido; e no segundo caso entende-se que em uma rede de Petri existe pelo menos um
lugar ou uma transição.

A representação gráfica de uma rede de Petri é a seguinte:

• Os lugares em uma rede de Petri são representados por círculos;

• As capacidades dos lugares são representadas pela igualdade de K ao seu valor, junto ao respectivo lugar.
mecatronicaatual.com.br/…/imprimir:yes 2/10
27/1/2011 Mecatrônica Atual
Quando este não aparece, o lugar apresenta capacidade infinita;

• As transições são representadas por barras ou retângulos;

• A marcação de uma rede de Petri atribui a cada lugar um número inteiro não negativo m, de onde se diz
que o lugar com marcação m tem m fichas, as quais são representadas por pequenos círculos pretos. A
marcação de uma rede de Petri é designada por um vetor M = [m1, m2, m3, ..., mk]T, onde k é o número de
lugares da rede, e mi o número de fichas no lugar i;

• Os arcos são sempre direcionados de uma transição para um lugar e de um lugar para uma transição;

• Os pesos dos arcos são representados por números juntos aos mesmos. Quando em um arco não aparece
seu peso, então este arco tem, por definição, peso 1.

Na figura 1 é apresentada uma rede de Petri. Nesta figura, tem-se que os lugares são os círculos
etiquetados por p1, p2, p3 e p4 e as transições são as barras etiquetadas por t1, t2 e t3. Pela definição de
rede de Petri, tem-se:

• P = {p1, p2, p3, p4};


• T = {t1, t2, t3};
• A = {(p1, t1), (p1, t 2), (p2, t1), (p3, t2), (p4, t3), (t1, p3), (t2, p2), (t2, p4), (t3, p2)};
• K(p2) = 4; K(p3) = 5
• W(p1, t1) = 2; W(p1, t2) = 3; W(p2, t1) = 1; W(p3, t2) = 1; W(p4, t3) = 2; W(t1, p3) = 1; W(t2, p2) = 2;
W(t2, p4) = 3; W(t3, p2) = 1;
• M0 = [3 0 1 1]T.

Observe que os arcos são definidos por pares (pi , tj ) ou (tj , pi ), que determinam respectivamente um arco
saindo do lugar pi para a transição tj, e saindo da transição tj para o lugar pi.

Sendo uma ferramenta útil para modelar sistemas dinâmicos, as redes de Petri exibem uma dinâmica que
permite modificar suas marcações, representando assim mudanças no estado do sistema modelado. Sua
evolução dinâmica é determinada por disparos de transições habilitadas em determinadas marcações que
modificam as marcações dos lugares.

Assim, para um lugar pi que contém um número ni de fichas e habilita uma transição t, se esta transição
dispara, há uma redução de fichas no número de fichas do lugar pi para ni - w(pi , t), com w(pi , t) sendo o
peso do arco que liga pi a t. Se há um lugar pj com nj fichas, sendo lugar de saída da transição t, então uma
quantidade de fichas em pj é aumentada para nj + w(t, pj ), em que w(t, pj ) é o peso do arco ligando t a pj .
mecatronicaatual.com.br/…/imprimir:yes 3/10
27/1/2011 Mecatrônica Atual

A evolução dinâmica de uma rede de Petri é formalizada através de algumas regras, as quais são
apresentadas a seguir:

1. Uma transição t é dita estar habilitada (pronta para disparar) em uma marcação M, se e somente se, ∀p
∈ P que é entrada de t : W(p, t) ≤ M(p) e ∀p ∈ P que é saída de t : M(p) ≤ K(p) - W(t, p);

2. Uma transição habilitada pode ou não disparar;

3. O disparo de uma transição t ∈ T, habilitada na marcação M, é instantâneo e resulta em uma nova


marcação M’ da rede dada pela equação M’(p) = M(p) - W(p,t) + W(t,p), ∀p ∈ P;

4. A ocorrência do disparo de t, que modifica a marcação M da rede para uma nova marcação M’, é
denotada por M [t> M’.

Na figura 2 é visto um exemplo de uma rede de Petri com marcação inicial M0 = [2 0 0]T, e sua nova
marcação, após a transição t disparar. Observa-se que após o disparo de t, a nova marcação é M1 = [1 2
1]T, e que ela está de acordo com a regra 3 de disparo das transições, pois uma ficha é retirada de p1 de
acordo com a solicitação do arco de entrada da transição, duas fichas são postas em p2 e uma ficha é
colocada em p3 , conforme os pesos dos arcos de saída da transição.

Deve-se observar que a notação Mk [t> significa que a transição t está habilitada na marcação Mk.

Em se tratando de representação de sistemas, não se deve tentar entender como uma ficha em um lugar
tornou-se duas, ou vice-versa. Mas, deve-se compreender como a visão de partes de um sistema que se
juntam ou se separam. Por exemplo, na rede de Petri da figura 2, poder-se-ía considerar que no lugar p1 há
peças sendo trabalhadas, e quando ocorre o disparo da transição (indicando o término do trabalho sobre
uma peça), duas ferramentas são liberadas (que são as fichas que vão para o lugar p2 ) e uma peça
trabalhada é colocada em um armazém de saída para o consumo ou para iniciar outra operação (ficha no
lugar p3 ). Para entender melhor este contexto, é necessário analisar como se realiza a modelagem de um
sistema por meio das redes de Petri.

mecatronicaatual.com.br/…/imprimir:yes 4/10
27/1/2011 Mecatrônica Atual
Modelagem de Sistemas por Redes de Petri

Para modelar um sistema por uma rede de Petri, considerando-se que nesse sistema deseja-se apenas
estudar o comportamento lógico, e que ele apresenta mudanças de estados definidos por transições
discretas,é possível usar a mesma metodologia apresentada para os sistemas a eventos discretos (SED),
como visto nas bibliografias citadas ao final deste artigo.

Nesta metodologia de modelagem é definido que cada evento físico do sistema que provoca uma mudança
de estado é representado por uma transição na rede de Petri. Os estados do sistema são representados
pela marcação da rede e os lugares da rede de Petri são as partes que compõem o sistema, isto é:

1. Um lugar pode ser interpretado como o estado de um recurso ou de uma atividade. Quando o lugar é
interpretado como o estado de um recurso, o número inicial de fichas pode ser constante para representar
que há uma quantidade fixa de recursos no sistema, ou variável para representar a quantidade de tarefas
realizadas no sistema;

2. Se um lugar é interpretado como o estado de um recurso, a presença de uma ou mais fichas nesse lugar
indica que o recurso está disponível, enquanto que a ausência de fichas indica que o recurso não é
disponível. Por outro lado, se o lugar é interpretado como o estado de uma atividade, a presença da ficha
indica que essa atividade está sendo realizada. ao passo que a ausência da ficha indica que a atividade não
está sendo realizada;

3. Uma transição pode ser interpretada tanto como o início quanto o término de um processo ou de uma
atividade;

Assim, para criar o modelo do sistema por uma rede de Petri de um determinado sistema, é necessário
obedecer os seguintes passos:

1. Identificar os recursos e atividades necessárias ao funcionamento do sistema;

2. Criar uma lista ordenada de atividades de acordo com as relações de precedência definidas da
descrição textual do funcionamento do SED;

3. Para cada atividade da lista:

(a) Criar e etiquetar um lugar para representar a condição da atividade;

(b) Criar uma transição para representar o início da atividade com arcos direcionados para os lugares de
saída;

(c) Criar uma transição para representar o término da atividade com arcos direcionados para os lugares de
entrada. De modo geral, a transição de término de uma atividade será a mesma transição de início da
próxima atividade na lista ordenada. Quando a rede for executada, uma ficha num lugar representa que a
atividade está sendo executada e várias fichas indicarão sua execução na multiplicidade do número de
fichas. O disparo de uma transição de inicialização representa o início do processo e o disparo de uma
transição de finalização representa a complementação da atividade e pode também representar o início da
próxima atividade;

4. Para cada atividade ordenada: se um determinado lugar não já tiver sido criado, crie-o e rotule o lugar
para cada recurso que deve estar disponível para iniciar a atividade. Conecte todos os lugares de
disponibilidade de recursos apropriados com arcos a cada transição de entrada para a inicialização da
atividade. Crie arcos de saída para conectar as transições de finalização seguintes à atividade para algum
lugar de recurso representando recursos que se tornem disponíveis (estão livres) na complementação da
mecatronicaatual.com.br/…/imprimir:yes 5/10
27/1/2011 Mecatrônica Atual
próxima atividade.

5. Especificar a marcação inicial para o sistema.

Seguindo estes passos, modela-se um sistema por uma rede de Petri. Por exemplo, na figura 3 encontra-se
um simples sistema de manufatura com recursos compartilhados: um braço robótico, duas máquinas
processadoras, um buffer de entrada com peças, um buffer intermediário e um buffer de saída. Nesse
sistema de manufatura as duas estações de processamento são máquinas M1 e M2, o robô compartilhado é
R, que é utilizado para carga e descarga e o buffer B é usado para armazenamento temporário de peças
intermediárias entre o processamento das duas máquinas.

Cada peça é processada primeiro em M1 e depois em M2. As peças entram no sistema e na estação de
processamento são automaticamente fixadas a uma bandeja e carregadas na máquina M1. Após o
processamento, o robô R descarrega de M1 a peça intermediária e a coloca no buffer B. Logo a seguir, as
peças intermediárias são automaticamente carregadas em M2 e processadas.

Quando M2 encerra o processamento de uma peça, R descarrega o produto final e libera a bandeja para a
primeira estação de trabalho. Assume-se que peças de entrada estão sempre disponíveis para serem
processadas e que o produto final é sempre removido.

Seguindo a metodologia de construção do modelo do sistema, tem-se no primeiro passo que as atividades
requeridas são: estações de processamento (fixação na bandeja, carga e processamento de peças),
armazenamento e descarga. Os recursos são M1 , M2 , R, B, fixadores e peças. No segundo passo,
identifica-se a ordem das atividades como:

• M1P : M1 carrega, fixa e processa a peça;


• RU1 : R descarrega uma peça intermediária no buffer;
• BS : B armazena uma peça intermediária;
• M2P : M2 carrega e processa uma peça intermediária;
• RU2 : R descarrega o produto final de M2 , libera a bandeja e retorna à primeira estação de trabalho.

Pelos demais passos, é criada a rede de Petri mostrada na figura 4 em que a marcação inicial determina
que as duas máquinas estão livres (uma ficha em M1l e uma ficha em M2l ), há quatro bandejas disponíveis
(representadas por quatro fichas no lugar PA), o robô está livre (uma ficha em RA) e há espaço livre no
buffer para duas peças intermediárias (duas fichas no lugar BA)

mecatronicaatual.com.br/…/imprimir:yes 6/10
27/1/2011 Mecatrônica Atual

Observando a dinâmica da rede, os disparos das transições retiram fichas de alguns lugares e colocam em
outros, em que leitor pode verificar que tais movimentos de fichas representam diretamente os movimentos
ocorridos no sistema. Por exemplo, a transição t1 ao disparar retira uma ficha do lugar PA e uma ficha de
M1l, e coloca uma ficha no lugar M1P, indicando que uma bandeja foi retirada para processar na máquina
M1 que inicialmente estava livre (l), passando uma ficha para o lugar M1P indicando que a máquina M1
passou do estado livre para o estado processando.

Vários softwares editores e simuladores de redes de Petri são encontrados, como o VisualObjectNet
(www.systemtechnik.tu-ilmenau.de/~drath/visual_E.htm), RPFHT (www.univasf.edu.br/~eduard.
montgomery), e tantos outros que podem ser encontrados no Mundo das Redes de Petri (Petri Nets World:
www.informatik. uni-hamburg.de/TGI/PetriNets/). Vários deles são gratuitos, em que o leitor pode fazer seu
download e editar seus modelos para estudá-los e simulá-los.

Com a visão da modelagem de sistemas via redes de Petri, é preciso entender como se utiliza esta
ferramenta nos CLPs para gerar a automação de sistemas.

Redes de Petri e CLP

Basicamente, a estrutura dinâmica de uma rede de Petri apresenta os mesmos princípios de um programa
ladder, desde que uma transição é habilitada quando todas os lugares de entrada têm o número de fichas
solicitado pelo peso dos arcos. Com seu disparo, fichas são retiradas dos lugares de entrada e colocadas
nos lugares de saída da transição.

Observe que a estrutura de um diagrama ladder tem a parte condicional (if) verificando se as entradas são
satisfeitas, enquanto que a parte de execução (then) realiza as funções desejadas após a condição ser
satisfeita. Dessa forma, as entradas de uma transição em uma rede de Petri se tornam as condições em
uma linha do diagrama ladder, enquanto que a parte de execução é a atualização de estados na rede de
Petri (retirada de fichas dos lugares de entrada e colocação de fichas nos lugares de saída).

Na estrutura do código ladder, encontram-se vários componentes que podem realizar as funções dos
lugares das redes de Petri. De uma forma geral, os códigos ladder dos vários fabricantes de CLPs diferem
muito pouco, mas sempre tendo estruturas que satisfazem a transformação da rede de Petri. Sendo assim,
de um modo geral, tem-se a transformação de uma rede de Petri em um diagrama ladder como a seguir:

1. Cada lugar binário (que só apresenta 0 ou 1 ficha) é representado por uma bobina de retenção ou um
flag; cada lugar não binário (que pode ter mais de uma ficha) é representado por um contador de
incremento e decremento;

2. Na primeira linha do código, onde se localiza o início do processamento através de uma entrada definida
(pode ser uma chave normal-aberta ou normal-fechada), devem estar localizadas na parte de execução a
marcação inicial da rede de Petri, colocando bobinas de retenção para a posição on de modos a
representar os lugares binários que têm uma ficha inicialmente e contadores de incremento e decremento
com o valor inicial referente ao número de fichas em cada lugar por eles representados;

3. Toda linha, a partir da segunda, é a representação de uma transição da rede de Petri;

4. Para cada linha a partir da segunda, que representa uma transição, a parte condicional deve apresentar
na forma sequencial (AND) as ligações entre as entradas que levam a transição a disparar. Assim, para
avaliações de condições para lugares de entrada da transição cujo arco exige apenas uma ficha, utiliza-se
um contato normal-aberto, enquanto que para arcos que exigem mais de uma ficha do lugar (que neste caso
é formalizado por um contador), usam-se contatos de blocos comparativos (=, <, >, ≤, ≥, ≠), que verificam o
mecatronicaatual.com.br/…/imprimir:yes 7/10
27/1/2011 Mecatrônica Atual
valor atual do contador;

5. Na parte de execução de cada linha devem-se atualizar os valores dos comandos envolvidos, que
representam os lugares ligados à transição. Dessa forma, para lugares binários utilizam-se códigos de set e
reset, sendo o set para os lugares binários de saída e o reset para os lugares de entrada (desde que foi
retirada a ficha do mesmo); para lugares não binários representados por contadores, usam-se códigos de
blocos aritméticos para somar um número equivalente ao peso do arco que leva da transição ao lugar de
saída, ao contador que representa este último; e blocos de subtração para subtrair o valor numérico
correspondente ao arco do lugar de entrada da transição, do contador que representa este lugar;

6. Em cada linha de código, uma condicional extra na forma de um contato normal- aberto ligado a um
determinado dispositivo sensor de controle deve ser colocada para garantir a evolução do sistema
corretamente, de acordo com as respostas externas do sistema através de sensores.

Deve-se observar que o sexto item apresentado representa o controle da evolução do CLP de acordo com
as respostas do sistema que ativam determinados sensores em cada parte específica do sistema.

A figura 4 tem sua representação em diagrama Ladder para os CLPs da FESTO (especificamente, o FPC
101) ilustrada na figura 5. Nesta figura, vê-se que os lugares PA, BA e BS são representados por
contadores, os demais lugares são flags, desde que suas marcações são sempre binárias. A primeira linha
do código representa as condições iniciais da rede de Petri, e cada uma das demais linhas representa uma
transição, conforme citado anteriormente.

mecatronicaatual.com.br/…/imprimir:yes 8/10
27/1/2011 Mecatrônica Atual

mecatronicaatual.com.br/…/imprimir:yes 9/10
27/1/2011 Mecatrônica Atual
Neste diagrama ladder, não estão apresentadas as chaves normais-abertas em sequências das condicionais
das linhas, que representam as avaliações de respostas de sensores externos. Dessa forma, o ladder
representa apenas a rede de Petri da figura 4, o qual sendo executado, realiza uma execução linha a linha
em uma velocidade muito alta, devido ao clock do CLP que é de apenas 10 ms. Observe que, seguindo as
linhas do código consegue-se ver as condições de evolução dinâmica da rede de Petri mostrada.

Considerações Finais

Com a formalização das redes de Petri e de sua lógica dinâmica com a transformação em diagrama ladder,
a qual já é bastante conhecida no mercado e no mundo acadêmico, muitas facilidades na estruturação de
controle para sistemas automatizados têm sido alcançadas. Especialmente, na necessidade de simulação de
grandes sistemas, a ferramenta “rede de Petri” tem apresentado inúmeras vantagens, reduzindo o esforço
mental na preparação de diagramas ladder para a automação.

Em várias instâncias, as redes de Petri têm sido utilizadas, como na lógica de futebol de robôs e em
controle de tráfego aéreo e ferroviário, entre tantas outras áreas da mecatrônica, tendo se tornado
imprescindível para quem estuda e trabalha nesta área. Naturalmente, as necessidades dos sistemas
levaram a desenvolver várias outras classes de redes de Petri que incluem temporização, regras fuzzy,
características conceituais nas fichas, entre outras, satisfazendo a imensa diversidade de problemas no
mundo da automação.

*Originalmente publicado na revista Mecatrônica Atual Nº41

Extraído do Portal Mecatrônica Atual - Todos os direitos reservados - www.mecatronicaatual.com.br

mecatronicaatual.com.br/…/imprimir:yes 10/10

Das könnte Ihnen auch gefallen