Documente Academic
Documente Profesional
Documente Cultură
Abstract— We propose in this paper a method for discrete-event controller implementation using ladder
diagrams that is capable to synchronize all the component behaviors of a discrete-event system modeled with
control interpreted Petri nets and, therefore, avoids the need to previously find the parallel composition of the
Petri net models of the individual elements, which would lead to a considerably larger ladder diagram. In order
to do so, we extend a previously proposed method that converts control interpreted Petri nets in ladder diagrams
by adding a synchronization module in such a way that the resulting ladder diagram obtained from the method
proposed here executes, at each event observation, a synchronous composition of the modules that form the
system.
Keywords— Discrete event systems, discrete-event controller, control interpreted Petri net.
Resumo— Neste artigo propomos um método de implementação de controladores a eventos discretos usando
diagramas ladder que é capaz de sincronizar todos os comportamentos dos componentes do sistema modelados por
redes de Petri interpretadas para controle, evitando, portanto, que seja necessário realizar a composição paralela
dos modelos individuais de cada componente, o que levaria a um diagrama ladder consideravelmente maior. Para
tanto, estendemos um método previamente proposto na literatura que converte redes de Petri interpretadas para
controle em diagramas ladder adicionando-se um módulo de sincronização, de tal sorte que o diagrama ladder
obtido utilizando-se o método proposto neste trabalho passa a executar, a cada observação de um evento, uma
composição sı́ncrona dos módulos que compõem o sistema.
Palavras-chave— Sistemas a eventos discretos, controlador a eventos discretos, redes de Petri interpretadas
para controle.
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483
entre subsistemas não constitui um método siste- transições, P re : (P × T ) → N é a função dos
mático e a solução é obtida caso a caso. Uma outra arcos ordinários que ligam lugares a transições,
forma de composição seria realizar a composição P ost : (T × P ) → N é a função dos arcos ordiná-
paralela entre as redes de Petri dos sistemas indi- rios que ligam transições a lugares.
viduais (Iordache and Antsaklis, 2006). Contudo,
esse procedimento, em geral, leva a um aumento Para indicar quando as condições para o dis-
significativo no número de transições da rede com- paro das transições são satisfeitas, atribui-se fichas
posta, incluindo até mesmo transições que nunca aos lugares da rede. O número de fichas atribuı́das
ficarão habilitadas e, portanto, nunca irão dispa- a um lugar pi é representado por x(pi ) ∈ N. Uma
rar. marcação de uma rede de Petri é o vetor coluna
T
Em um trabalho recente, Moreira and Basi- x = [x(p1 ) x(p2 ) . . . x(pn )] , formado pelo nú-
lio (2013) propõem um método para a construção mero de fichas em cada lugar pi , para i = 1, . . . , n,
do diagrama ladder diretamente a partir da rede em que n denota a cardinalidade de P .
de Petri interpretada para controle que modela a Podemos, agora, definir formalmente redes de
dinâmica do controlador a eventos discretos. O di- Petri.
agrama ladder consiste dos seguintes módulos: (i)
módulo de inicialização; (ii) módulo dos eventos; Definição 2 (Redes de Petri) Uma rede de Petri
(iii) módulo das condições para o disparo das tran- N é uma quı́ntupla N = (P, T, P re, P ost, x0 ), em
sições; (iv) módulo da dinâmica; (iv) módulo das que (P, T, P re, P ost) é, de acordo com a definição
ações. Contudo, o método proposto por Moreira 1, o grafo de uma rede de Petri e x0 é a marcação
and Basilio (2013) exige que as composições para- inicial do conjunto de lugares.
lelas entre os elementos individuais do controlador
sejam executadas a priori. Neste artigo, estende- Uma extensão das redes de Petri é feita
mos o método proposto por Moreira and Basilio acrescentando-se um novo tipo de arco: o arco ini-
(2013) adicionando-se um módulo de sincroniza- bidor. Os arcos inibidores são representados por
ção e alterando-se o módulo das condições para o um arco cuja extremidade final possui um cı́rculo.
disparo das transições de tal sorte que o novo di- Um arco inibidor de peso y, ligando um lugar pi
agrama ladder seja capaz de executar a cada ob- a uma transição tj , habilita tj quando o número
servação de um evento, uma composição sı́ncrona de fichas em pi é inferior ao peso y e, quando tj
dos módulos que compõem o sistema, isto é, per- dispara, o número de fichas de pi permanece inal-
mitindo que os eventos comuns somente ocorram terado. Uma rede de Petri com arcos inibidores é
quando ambas as transições de cada um dos mo- denominada de rede de Petri estendida. Podemos,
delos associadas a esse evento estejam habilitadas. então, apresentar a seguinte definição.
Este artigo está estruturado da seguinte
forma. Na seção 2 apresenta-se uma breve revi-
Definição 3 (Rede de Petri estendida) Uma
são de redes de Petri com o objetivo de definir
rede de Petri estendida é uma sêxtupla Ne =
redes de Petri interpretadas para controle, que é
(P, T, P re, P ost, In, x0 ), em que P , T , P re, P ost
o formalismo utilizado para descrever a dinâmica
e x0 são definidos da mesma forma que na defini-
do controlador a eventos discretos. Na seção 3, o
ção 2, e In : (P × T ) → N é a função dos arcos
método de conversão de RPIC em diagrama lad-
inibidores que ligam lugares a transições.
der para implementação em um CLP, apresentado
em Moreira and Basilio (2013), é estendido, sendo As redes de Petri estendidas são mais apropri-
propostas algumas alterações para permitir a sin- adas para descrever o comportmanento desejado
cronização dos componentes do sistema. Final- do sistema. Contudo, para modelar o comporta-
mente, na seção 4, são apresentadas as conclusões. mento do controlador a eventos discretos, torna-
Um exemplo é utilizado ao longo do texto para se necessário adicionar à rede de Petri estruturas
ilustrar todos os passos do método proposto neste capazes de lidar com sensores e atuadores. As-
artigo. sim, os sinais enviados pelos sensores e que são
destinados a informar a ocorrência de eventos, as-
2 Fundamentos teóricos: redes de Petri sim como as condições da planta, são associados
interpretadas para controle às transições, e as ações impulsionais ou opera-
ções, como, por exemplo, a contagem de peças em
Antes de apresentarmos a definição de redes de um sistema de automação, ou ações de nı́vel co-
Petri, vamos, inicialmente, apresentar a definição mandadas pelo controlador são associadas aos lu-
de grafo de uma rede de Petri. gares. Além disso, deve-se incluir possı́veis atra-
sos de disparo das transições, ou seja, o conjunto
Definição 1 (Grafo de uma rede de Petri) Um de transições será particionado da seguinte forma:
grafo de uma rede de Petri é um grafo bipartido T = T0 ∪T ˙ D , em que T0 denota o conjunto de tran-
ponderado (P, T, P re, P ost), em que P é um con- sições sem atraso de disparo e TD denota o con-
junto finito de lugares, T é um conjunto finito de junto de transições com atraso de disparo. A rede
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483
de Petri que inclui todas essas estruturas é deno- por eventos que não pertencem a NC1 ; (iii) as
minada rede de Petri interpretada para controle, transições que modelam a sincronização de tran-
sendo formalmente definida da seguinte forma. sições rotuladas por eventos em comum de NC1
e NC2 . É importante ressaltar ainda que a ocor-
Definição 4 (Rede de Petri interpretada rência de um evento σ que rotula transições de
para controle) Uma rede de Petri inter- NC1 e NC2 somente poderá levar a uma evolução
pretada para controle é dada por NC = dos seus estados, se existir pelo menos uma tran-
(P, T, P re, P ost, In, x0 , C, E, l, D, lD , AI , AN , lA ) sição rotulada por σ habilitada em cada uma das
em que (P, T, P re, P ost, In, w, x0 ) é uma rede de RPICs, NCi , para i = 1, 2, e se as condições as-
Petri estendida segura, C e E, são os conjuntos sociadas a essas transições são ambas verdadeiras,
de condições e eventos externos associados às permitindo o disparo simultâneo das transições.
transições não temporizadas pertencentes a T0 , Um algoritmo para obtenção da composição
l : T0 → (E × C) é a função que associa a paralela entre duas RPICs pode ser obtido a partir
cada transição não temporizada um evento e do algoritmo apresentado em Iordache and Ant-
uma condição para o disparo da transição, D é saklis (2006) para composição sı́ncrona entre duas
o conjunto de atrasos de disparo associados às redes de Petri rotuladas. Contudo, a composi-
transições temporizadas TD , lD : TD → D é a ção entre redes de Petri interpretadas para con-
função que associa a cada transição de TD um trole leva, em geral, a um número excessivamente
atraso do conjunto D, AI denota o conjunto de grande de transições, sendo que algumas nunca
ações impulsionais e de operações, AN denota o poderão disparar. Isso resultaria em um diagrama
conjunto de ações de nı́vel, e lA : P → (AI ∪ AN ) ladder excessivamente grande e, acima de tudo,
a função que associa aos lugares da rede uma com linhas que nunca seriam disparadas.
ação pertencente a AI ∪ AN . 2 Um método para a obtenção de diagramas
Note que na definição 4 acima, supõe-se que ladder para implementação de controladores a
cada transição tj ∈ T0 está associada a uma con- eventos discretos modelados por redes de Petri in-
dição e a um evento. Se a condição associada a terpretadas para controle foi proposto por Moreira
tj não for explicitamente especificada, então essa and Basilio (2013). Entre as vantagens desse mé-
condição será igual a um, i. e., a condição lógica todo estão a sua capacidade de evitar o chamado
será verdadeira. Além disso, se o evento externo efeito avalanche, além de fornecer um diagrama
de entrada ej não for especificado, então tj será ladder que permite tanto uma fácil visualização
igual ao evento sempre ocorrente λ (David and da estrutura da rede de Petri quanto o acompa-
Alla, 2005), utilizado para indicar que a transição nhamento da evolução das fichas ao longo da rede
tj deve disparar assim que habilitada, se a condi- à medida que os eventos ocorrem. O método pro-
ção associada cj for verdadeira. Ainda de acordo posto por Moreira and Basilio (2013) consiste na
com a definição 4, ações impulsionais, operações divisão do código de programação em cinco módu-
e ações de nı́vel são associadas aos lugares. Con- los, quais sejam: (i) módulo de inicialização; (ii)
tudo, em alguns casos, lugares podem não possuir módulo dos eventos; (iii) módulo das condições
ações ou operações associadas, ou seja, o lugar re- para o disparo das transições; (iv) módulo da di-
presenta apenas um estado parcial do sistema. nâmica; (iv) módulo das ações. Essa estrutura ga-
rante que cada estado da rede de Petri permanece
inalterado por pelo menos um ciclo de varredura.
3 Implementação do controlador a
Neste artigo, iremos estender o método pro-
eventos discretos modelado por uma
posto por Moreira and Basilio (2013) para permi-
RPIC utilizando diagramas ladder
tir que a sincronização entre os componentes do
particionados em módulos
sistema seja feita na etapa de implementação do
A obtenção da RPIC que descreve o comporta- controlador, evitando, assim, a necessidade de se
mento completo do sistema a partir de cada um calcular, a priori, a composição paralela entre as
de seus subsistemas, também descritos por RPICs, RPICs. Isso será feito da seguinte forma:
requer a realização de uma operação de composi- 1. Inicialmente será criado um módulo de sin-
ção. Sejam NC1 e NC2 duas redes de Petri in- cronização para assegurar que as transições
terpretadas para controle. Então, a operação de de RPICS diferentes associadas a um mesmo
composição, denominada aqui de composição pa- evento somente dispare quando estiverem ha-
ralela entre RPICs, deve gerar uma rede de Pe- bilitadas em ambas as RPICs.
tri NC tal que NC contém: (i) as transições de
NC1 rotuladas pelo evento sempre ocorrente λ, as 2. Em seguida, o módulo das condições para o
transições temporizadas de NC1 , e as transições disparo das transições será alterado no sen-
de NC1 rotuladas por eventos que não pertecem tido de garantir que as linhas associadas aos
a NC2 ; (ii) as transições de NC2 rotuladas pelo eventos comuns somente fiquem energizadas
evento sempre ocorrente λ, as transições tempo- quando as condições de sincronização se tor-
rizadas de NC2 , e as transições de NC2 rotuladas nem verdadeiras no módulo de sincronização.
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483
Como resultado, o diagrama ladder estendido terá B0
p11
S
a seguinte estrutura:
p21
• Módulo de inicialização; S
p22
• Módulo de eventos; S
B0
• Módulo de sincronização; S
p23
p14 p15
Figura 3: Módulo de eventos para o ladder sincro-
t22 b t23 a
t14 λ
nizante das RPICs NC1 e NC2 .
(a) (b)
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483
de que uma transição tj é disparável se e somente mod1b mod2b p11 t11
se é habilitada pela marcação de seus lugares de
entrada e a condição associada cj for verdadeira. mod1b mod2b p12 t12
t11 p12
sincronização assegura que as transições associa- S
das ao evento b somente poderão disparar quando p13
S
um dos lugares, p11 ou p12 , tenha ficha, e a se- p11 t21 p23
transições R
S p22
p13
R
Nesse módulo são verificadas as condições para o R
t23 p21
p11
disparo das transições e cada linha de programa- t14
S
S
ção está associada a uma única transição. No caso p14
p22
S
do evento externo estar associado a apenas um R p22
p15
único módulo, as condições são obtidas pela asso- R
R p23
ciação em série de contatos normalmente abertos, R
representando a conexão aos lugares de entrada da
transição por arcos ordinários, e de contatos nor-
malmente fechados, representando a ligação aos Figura 6: Módulo da dinâmica para o ladder sin-
lugares de entrada da transição por arcos inibido- cronizante das RPICs NC1 e NC2 .
res.
Quando o evento externo está associado a
mais de um subsistema, como é o caso do evento b transições serem disparadas no módulo da dinâ-
na figura 1, contatos normalmente abertos devem mica, o disparo de uma transição não é capaz
ser inseridos em série para verificar se o evento de habilitar uma outra transição e provocar o
pode ocorrer em todos os subsistemas para os seu disparo em um mesmo ciclo de varredura.
quais é definido. Isso evita o chamado efeito avalanche (Fabian and
Na figura 5, o módulo das condições para o Hellgren, 1998). O módulo da dinâmica da RPIC
exemplo da figura 1 é mostrado. Note que os con- possui o número de linhas igual a soma do número
tatos rotulados por mod1b e mod2b, inseridos em de transições dos subsistemas. Na figura 7 é mos-
série nas duas primeiras linhas e na penúltima li- trado o módulo da dinâmica dos subsistemas da
nha do diagrama ladder da figura 5, asseguram o figura 1.
disparo sı́ncrono das transições t11 e t22 ou t12 e
t22 , dependendo dos lugares p11 ou p12 terem ou 3.6 Módulo das ações
não fichas.
No último módulo, as ações são definidas. Quando
um lugar possui uma ação impulsional associada
3.5 Módulo da dinâmica da RPIC
a ele, um contato OSR é utilizado para energizar
O módulo da dinâmica fornece a evolução das fi- uma bobina de saı́da por apenas um ciclo de varre-
chas quando uma transição dispara. Como pri- dura, e quando um lugar possui uma ação de nı́vel
meiramente a habilitação das transições é veri- associada, uma bobina normal é utilizada. Na fi-
ficada no módulo das condições, para depois as gura 7 o módulo de ações para os subsistemas da
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483
p14 OSR A1 Jeng, M. D. and DiCesare, F. (1993). A review of
synthesis techniques for petri nets with ap-
plications to automated manufacturing sys-
p23 tems, IEEE Transactions on Systems, Man,
A2
and Cybernetics 23: 301–312.
Jimenez, I., lopez, E. and Ramirez, A. (2001).
Figura 7: Módulo das ações para o ladder sincro- Synthesis of Ladder diagrams from Petri nets
nizante das RPICs NC1 e NC2 . controller models, Proceedings of the 2001
IEEE International Symposium on Intelli-
gent Control, pp. 225–230.
figura 1 é mostrado supondo-se que existem ape-
nas uma ação impulsional e uma ação de nı́vel IEC 1131-3 (1993). Programmable controllers -
associadas aos lugares p14 e p23 , respectivamente. Part 3: Programming Languages, Internati-
onal Electrotechnical Commission.
Anais do XI Simpósio Brasileiro de Automação Inteligente (SBAI 2013) - Fortaleza, CE ISSN 2358-4483