Documente Academic
Documente Profesional
Documente Cultură
Aprovada por:
_______________________________________________
Prof. Joo Carlos dos Santos Basilio, Ph. D.
_______________________________________________
Prof. Fernando Cesar Lizarralde, D. Sc.
_______________________________________________
Prof. Paulo Csar Marques Vieira, D. Sc.
ii
minha me Conceio, minha esposa Andra.
Aos meus filhos Andr Ricardo e Samuel Elias, e
aos meus irmos Eduardo, Ftima, Berna, Glria e Bete.
iii
AGRADECIMENTOS
A Deus Pai pela vida, pela sade, cuidado, proteo e disposio concedidos
sem medida e a Jesus, por seu sacrifcio e sua interseo por ns.
minha me, por ter dedicado sua vida para que ns (seus filhos) tivssemos
condies de estudar e todo o seu esforo para fazer-nos pessoas de bem, e aos meus
irmos que sempre me ajudaram nas dificuldades.
minha esposa Andra e meus filhos Andr e Samuel, pela compreenso,
pacincia e apoio durante mais essa jornada.
Aos professores Afonso Celso, Amit Bhaya, Fernando Lizarralde, Liu Hsu e
Ramon Romankevicius da UFRJ/COPPE, professora Marly Guimares e ao professor
Ccero Costa da UFAM e SUFRAMA, pela disposio e colaborao no ensino.
Ao professor Dionsio pelo emprstimo de vrios livros e a todos que, de
maneira direta e indireta , colaboraram para a concluso deste trabalho.
E, em especial, ao meu professor e orientador Joo Carlos dos Santos Baslio,
que mesmo enfrentando problemas de sade, nunca desanimou e nem me fez desanimar,
continuando sempre firme para concluso deste trabalho, e pelos laos de amizade que
se formaram pela convivncia, mesmo que distncia.
iv
Resumo da Teses apresentada COPPE/UFRJ como parte dos requisitos necessrios
para a obteno do grau de Mestre em Cincias (M. Sc.)
Abril/2005
v
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the
requirements for the degree of Master in Sciences (M. Sc.)
April/2005
vi
Sumrio
Resumo v
Abstract vi
1. Introduo 1
2. Fundamentos da teoria de sistemas a eventos discretos 6
2.1. Sistemas a eventos discretos....................................................................... 6
2.1.1. Evento................................................................................................ 6
2.1.2. Sistemas controlados pelo tempo e sistemas baseados em eventos... 7
2.1.3. Propriedades caractersticas de sistemas a evento discretos.............. 8
2.1.4. Exemplos de sistemas a evento discretos........................................... 10
2.2. Linguagens e Autmato.............................................................................. 14
2.2.1. Linguagens......................................................................................... 14
2.2.2. Operaes em linguagens................................................................... 15
2.2.3. Autmato............................................................................................ 16
2.2.4. Representao de linguagens por autmatos...................................... 18
2.2.5. Bloqueio............................................................................................. 19
2.3. Redes de Petri.............................................................................................. 20
2.3.1. Fundamentos de redes de Petri......................................................... 20
2.3.2. Evoluo dinmica das redes de Petri.............................................. 23
2.3.3. Equaes de estado........................................................................... 25
2.3.4 - Linguagens de Rede de Petri........................................................... 26
2.3.5 - Modelos de redes de Petri para sistemas com filas........................ 27
2.3.6. Comparao entre redes de Petri e autmato................................... 29
2.4. Modelos temporizados................................................................................ 30
2.4.1. Redes de Petri temporizadas............................................................. 31
3. Programao e utilizao de controladores lgicos Programveis (CLPs) 36
3.1. Controlador lgico programvel................................................................. 36
3.1.1. Introduo........................................................................................ 36
vii
3.1.2. Operao Bsica............................................................................... 39
3.1.3. Arquitetura bsica do CLP............................................................... 40
3.1.4. Classificao dos CLPs.................................................................... 45
3.2. Linguagem de programao (ladder).......................................................... 45
3.2.1. Programadores................................................................................. 46
3.2.2. Fundamentos de programao em linguagem ladder....................... 47
3.2.3. Implementao da lgica de controle............................................... 48
3.2.4. Implementao da lgica de controle por funes do CLP.............. 50
3.3. Converso entre Redes de Petri e Linguagem Ladder................................. 53
3.3.1. Mtodos de converso entre redes de Petri e linguagem ladder....... 53
3.3.2. Um mtodo para converter redes de Petri em linguagem ladder...... 55
4. Equipamentos do laboratrio 61
4.1. CLP TSX 37-22.......................................................................................... 61
4.2. Linguagem de Programao do TSX 3722................................................. 66
4.2.1. Estrutura de execuo das Tarefas................................................... 67
4.2.2 Ambiente de trabalho do PL7 Micro................................................ 68
4.2.3. Programao.................................................................................... 68
4.2.4. Criando um programa em linguagem ladder no PL7 Micro............ 72
4.3. Esteira transportadora................................................................................. 75
4.4. Conjunto de lmpadas e chaves de impulso sem reteno......................... 77
4.5. Esquemas de ligaes dos experimentos do captulo 5.............................. 79
5. Experincias do laboratrio 86
5.1. Experimentos bsicos para familiarizao com o CLP............................... 87
5.2. Experimentos para controle de trfego....................................................... 93
5.3. Experimentos para simular uma linha de produo industrial ................... 108
6. Concluso e trabalhos futuros 121
Bibliografia 123
viii
Captulo 1. Introduo
1
A teoria de sistemas a eventos discretos um campo de conhecimentos em
expanso. Seu surgimento justifica-se, entre outras coisas, em face da necessidade de
um tratamento formal requerido por diversos sistemas construdos pelo homem, como
redes de comunicao, sistemas de manufatura, sistemas de trfego automatizado e
sistemas computacionais, guiados a eventos cujo tratamento, baseado classicamente em
equaes diferenciais, se torna extremamente complexo. A teoria tem carter
interdisciplinar e inclui princpios e conceitos extrados da cincia da computao,
teoria de controle e pesquisa operacional (KUMAR e GARG, 1995).
Devido ao grande avano na pesquisa em torno de formalismos e linguagens que
podem executar, implementar e controlar um sistema a eventos discretos, de
significativa importncia a criao de um laboratrio que vise tratar do assunto em
termos de implementao, pois muito do que visto tem carter apenas conceitual. A
experincia de ensino em engenharia de automao industrial, em nvel de graduao,
tem mostrado a importncia de trs elementos: a) a prtica com o hardware e o software
dos Controladores Lgicos Programveis; b) as redes de Petri aplicadas ao projeto de
automao; c) um conjunto consistente de experincias de laboratrio (MORAES e
CASTRUCCI, 2002).
evidente a importncia para a economia nacional de um maior nmero de
graduados em Automao Industrial, e especificamente com experincia nos
Controladores Lgicos Programveis (CLPs). As inmeras aplicaes possveis exigem
do engenheiro: i) presena nas longas fases da especificao, em dilogo com o cliente;
ii) projeto do sistema; iii) gerao do software do PLC; iv) start-up, na prpria planta
industrial, isto , hoje em dia, em qualquer parte do territrio nacional. (MORAES e
CASTRUCCI, 2002). Tambm, segundo MORAES e CASTRUCCI (2002), parece
difcil a migrao de tais instrumentos para a prtica do engenheiro. Nesta, portanto, o
projeto depende de tentativas, de intuies, de simulaes, enfim de engenho e arte.
O projeto de sistemas de controle automticos requer muito conhecimento
terico. A conseqncia deste fato que um nmero grande de conceitos novos tem que
ser introduzido em um primeiro curso em sistemas de controle. Porm, estes conceitos
so introduzidos em geral de alguma maneira independentemente e isto coloca srios
problemas quando os estudantes so exigidos a lidar com o projeto inteiro de um
sistema de controle. Neste sentido um laboratrio de controle deve ser proposto com a
viso a reunir todos os conceitos introduzidos em um curso terico ministrado
previamente (BASILIO, 2002, BASILIO e MOREIRA, 2004). No que se refere a
2
sistemas a eventos discretos, para o conhecimento das ferramentas de modelagem
necessrio um profundo conhecimento dos formalismos de modelagem utilizados em
sistemas a eventos discretos, um conhecimento amplo dos sistemas de controladores
lgicos programveis e suas linguagens de programao e uma metodologia na
elaborao de projetos, com base em linguagem ladder e redes de Petri. Segundo
VENKATESH e ZHOU (1998), um sistema industrial discreto consiste de vrias
unidades simultneas como mquinas, robs, veculos com guias automatizados,
controladores lgicos programveis e computadores que funcionam de forma assncrona
para se encontrar as necessidades dinmicas das variveis do mercado. Softwares
integrados que desenvolvem mtodos para modelar, analisar, controlar, e simular tais
sistemas so tambm importantes.
Muitos usurios industriais de CLPs preferem programar em linguagem ladder
que usa mtodos heursticos. Para sistemas simples, fcil escrever para programas de
PLC que usam o mtodo heurstico. Porm, medida que o sistema se torna mais
complexo, fica muito difcil de controlar problemas efetivamente (CHIRN e
McFARLANE, 1999, VENKATESH et al., 1994b). Estes problemas foram
reconhecidos desde que a linguagem ladder foi extensamente usada. Alguns
nivelamentos foram propostos s ferramentas de projeto para ajudar a solucionar estes
problemas (IEC, 1992; DAVID, 1995). Redes de Petri (PETERSON, 1981,
ZURAWSKI e ZHOU, 1994) so ferramentas comumente usadas neste aspecto, por
causa do sucesso em sistemas de controle de evento discretos (SED).
O objetivo desse trabalho no comparar redes de Petri e linguagem ladder, mas
mostrar que existem estudos a este respeito e na parte de elaborao das experincias de
laboratrio mostrar as duas formas de representao. Contudo os controles sero
implementados usando a linguagem ladder.
Por causa do planejamento e vantagens de organizao de redes de Petri, vrios
investigadores tentaram desenvolver mtodos para transformar redes de Petri
(desenvolvidos na fase de projeto) em linguagem ladder (fase de implementao)
(SATO e NOSE, 1995, JAFARI e BOUCHER, 1994, BURNS e BINDANDA, 1994,
TAHOLAKIAN e HALES, 1997, VENKATESH et al., 1994a, LEE e HSU, 2001).
Alm disso, UZAM et al. (1996) props um mtodo lgico para converter redes de Petri
em linguagem ladder. Porm, estas aproximaes esto focalizadas tipicamente somente
na fase de projeto em lugar de as outras fases do desenvolvimento de sistemas de
controle. As metodologias apontam para traduzir a rede de Petri na sintaxe de
3
linguagem ladder. Porm, problemas na fase de teste e fase de manuteno posterior
ainda so grandes. No somente o tempo de projeto mas tambm o tempo de
manuteno pode ser reduzido se uma aproximao apropriada estiver disponvel
(CHIRN e McFARLANE, 2000). Mais recentemente, LUCAS e TILBURY (2003)
conduziram um estudo com o objetivo de determinar os mtodos atuais de projeto de
sistemas de automao usados na industria automotiva. Neste sentido, verificou-se que
embora a linguagem ladder seja ainda a mais empregada, necessrio, dada a
necessidade de constantes modificaes das programaes nas linhas de produo, que
outras formas de implementaes devam ser usadas. Neste contexto, surge a chamada
linguagem SFC (sequential flow chart) que permite uma implementao mais rpida dos
programas no sistema industrial. Apesar disto, neste trabalho, a implementao ser
feita usando-se linguagem ladder.
Este trabalho est estruturado da seguinte forma. O captulo 2 apresenta os
fundamentos da teoria de sistemas a eventos discretos: autmatos e redes de Petri. O
autmato como formalismo de modelagem discutido em detalhe. apresentado,
tambm, o formalismo de modelagem por redes de Petri e discute-se a anlise e o
controle de modelos de rede de Petri independente do tempo. No final do captulo, as
duas classes de modelos independentes do tempo, autmato e redes de Petri, so
refinadas para incluir o tempo por meio de uma estrutura de temporizao, resultando
no autmato temporizado e nas redes de Petri temporizadas.
O captulo 3 descreve de forma geral um CLP (software e hardware), com suas
definies e caractersticas principais. Os principais blocos que compem um CLP so
descritos. feita uma classificao dos tipos de CLPs. A linguagem que ser utilizada
para implementao das experincias deste trabalho a linguagem ladder. So
mostradas as implementaes das funes lgicas utilizadas em projetos de circuitos
digitais (funes NOT, AND, OR, NAND, NOR, OR Exclusivo e NOR Exclusivo).
Finalizando o captulo, feita uma comparao entre linguagem ladder e redes de Petri,
onde so descritos alguns mtodos relacionados tentativa de converso direta entre
redes de Petri e linguagem ladder.
No captulo 4 so apresentados todos os equipamentos que sero utilizados no
laboratrio proposto, quais sejam: o CLP TSX 3722 (hardware e software), a esteira
transportadora, o dispositivo com um conjunto de lmpadas e o conjunto de chaves sem
reteno. Cada um desses equipamentos detalhado de forma a mostrar suas
caractersticas tcnicas. Tambm descrito o programa PL7 Micro que o software
4
destinado ao modelo de CLP utilizado, dando uma viso geral do ambiente de
programao e dos recursos e ferramentas que so usadas para criao dos programas
em linguagem ladder.
O captulo 5 dedicado aos experimentos que sero propostos. So sete
experimentos ao todo, sendo dois experimentos utilizando-se os recursos do CLP para
acionamento de uma carga, no caso uma lmpada, trs experimentos com o conjunto de
esteiras, procurando simular um ambiente de produo e dois experimentos utilizando o
conjunto de lmpadas, simulando o funcionamento de semforos.
Finalmente, no captulo 6 so apresentados as concluses e os trabalhos futuros.
5
Captulo 2. Fundamentos da teoria de sistemas a eventos discretos
2.1.1. Evento
Evento um conceito primitivo e necessita de uma boa base intuitiva para
compreender o seu significado. Deve ser enfatizado que um evento deve ser pensado
como alguma coisa acontecendo instantaneamente e que causa transies de um valor
6
de estado para outro. Um evento pode ser identificado como uma ao especfica; por
exemplo algum aperta um boto, um computador deixa de funcionar, a chave de
ignio de um automvel ligada etc, ou pode ser o resultado de vrias condies que,
de repente, acontecem.
Neste trabalho ser usado o smbolo e para denotar um evento. Ao considerar
um sistema afetado por tipos diferentes de eventos, define-se um conjunto E cujos
elementos so todos estes eventos. Claramente, E um conjunto discreto.
O conceito de evento pode ser melhor entendido com a ajuda do seguinte
exemplo: um sistema de armazenamento de cargas. Neste caso pode-se perfeitamente
verificar que h, no mnimo, dois eventos: um evento a chegada de produto e o
outro a chegada de caminho. Neste caso, pode-se definir um conjunto de eventos E
= {P,T} onde P denota o evento chegada de produto, e T denota o evento chegada de
caminho, que corresponde sada do produto.
7
evento) selecionado. O tempo responsvel por toda e qualquer possvel transio de
estado. Em 2, todo evento e de E define um processo distinto pelo qual os momentos de
tempo, quando e acontece, so determinados. As transies de estado so o resultado
das combinaes destes processos de eventos assncronos e simultneos. Alm disso,
estes processos no precisam ser independentes um do outro.
A distino entre 1 e 2 d origem s definies de sistemas dirigidos pelo tempo
(1) e sistemas dirigidos por eventos (2). importante ressaltar que a idia de transies
de estado baseadas em eventos corresponde a uma noo familiar, que de uma
interrupo em sistemas de computador. Enquanto muitas das funes em um
computador so sincronizadas por um relgio, e so controladas pelo tempo, outras so
resultados de chamadas assncronas que podem acontecer a qualquer hora como, por
exemplo, o pedido de um usurio externo ou uma mensagem de intervalo pode
acontecer como resultado de eventos especficos, mas completamente independentes do
relgio do computador.
8
Muitos sistemas, particularmente tecnolgicos, so na realidade sistemas de
estados discretos. At mesmo se este no for o caso, para muitas aplicaes de interesse,
uma viso de estado discreto de um sistema complexo pode ser necessria. Alguns
exemplos simples de sistemas de estados discretos so: (i) O estado de uma mquina
pode ser selecionado de um conjunto como {LIGADA, DESLIGADA} ou
{OCUPADO, OCIOSO, LIVRE}; (ii) um computador que executa um programa pode
ser visto como estando em um de trs estados: {ESPERANDO POR INSTRUES,
EXECUTANDO, PARADO}; (iii) qualquer tipo de inventrio que consiste de valores
discretos (por exemplo produtos, unidades monetrias, pessoas) tem um espao de
estado natural nas grandezas no negativas {0,1,2,...}, (iv) a maioria dos jogos pode ser
modelado como tendo um espao de estado discreto (em xadrez, por exemplo, toda
possvel configurao do tabuleiro define um estado); o espao resultante enorme, mas
discreto.
A propriedade baseada em eventos de SED decorre do fato de que o estado s
pode mudar no tempo em pontos discretos, que correspondem fisicamente a ocorrncias
assncronas de eventos discretos. De um ponto de desenvolvimento de um modelo, isto
tem a seguinte implicao: se for possvel identificar um conjunto qualquer de "eventos"
que podem causar uma transio de estado, ento o tempo j no serve ao propsito de
dirigir tal sistema e no pode ser uma varivel independente apropriada.
As duas caractersticas fundamentais que distinguem Sistemas Dinmicos de
Variveis Contnuas (SDVC) de SED so claramente mostradas ao se comparar
trajetrias tpicas de cada uma destas classes de sistema, como na figura 2.1. Para o
SDVC mostrado, o espao de estado X o conjunto de nmeros reais R, e x(t) pode
assumir algum valor fixo. A funo x(t) a soluo da equao diferencial x& (t)=f[x(t),
u(t), t], onde u(t) a entrada. Para o SED, o espao algum X fixo e discreto igual a
{s1, s2, s3, s4, s5, s6}. De acordo com a trajetria mostrada na figura 2.1.b, o estado s
muda de um valor para outro se um evento ocorrer. V-se, inclusive, que um evento
pode acontecer, mas no causar uma transio de estado, como no caso de e3.
9
s6
x(t)
s5
s4
s3
s2
X = {s1, s2, s3, s4, s5, s6}
s1
X=
t1 t2 t3 t4 t5 t6 t7 t
(b)
t
e1 e2 e3 e4 e5 e6 e7 e
(a) (c)
1. Sistemas de filas
O termo fila decorre de um fato intrnseco que em muitos dos sistemas mais
comuns, para se usar certos recursos, deve-se esperar. Por exemplo, para usar os
recursos de um caixa de banco, as pessoas formam uma fila e esperam; para usar o
recurso de um caminho, produtos acabados esperam em um armazm.
Semelhantemente, para usar os recursos da CPU, vrias tarefas esperam em algum lugar
no computador at que seja dado acesso s mesmas por mecanismos potencialmente
complexos.
H trs elementos bsicos em um sistema de filas:
1 - As entidades que fazem a espera para utilizao dos recursos. Estas entidades
so usualmente denominadas clientes.
2 - Os recursos para os quais a espera realizada. Desde que os recursos
provejam alguma forma de servio aos clientes, devemos genericamente os
cham-los de servidores.
3 - O espao onde a espera realizada. A esse elemento d-se o nome fila.
10
Fila Servidor
Chegada de clientes Partida de clientes
11
2. Sistemas de manufatura
Em um processo industrial, os clientes so as peas ou partes de peas da
produo. Essas peas esto dispostas para o acesso aos vrios servidores da fbrica que
so as mquinas que executam operaes especficas e dispositivos de manipulao de
material, como robs e correias transportadoras. Quando as peas no esto sendo
trabalhadas, elas so armazenadas em uma fila at que o servidor libere o acesso para a
prxima operao que est disponvel. Por causa de reais limitaes fsicas, filas em um
sistema industrial tm normalmente capacidades finitas.
Uma vez mais, modelos de filas provem uma conveniente descrio para
sistemas industriais. Um exemplo simples mostrado na figura 2.3, onde as peas
passam por duas mquinas, sendo a capacidade da primeira fila infinita, enquanto a
capacidade da fila da segunda mquina limitada a dois. Como resultado, possvel que
uma parte de servio da mquina 1 seja completado porm a mquina 2 esteja ocupada e
alm disso a fila esteja completa. Neste caso, a pea tem que permanecer na mquina 1
embora no requeira mais nenhum servio; alm disso, so foradas outras peas a
esperar o acesso na mquina 1 permanecendo em fila. O conjunto de eventos fixado
para este exemplo E = {a, c1, d2}, onde a uma chegada para a primeira mquina, c1
uma concluso de servio da primeira mquina e d2 uma partida para a fila da segunda
mquina.
12
se deseja capturar) pode-se gerar um espao de estado alternativo que pode ser: X = {x1,
x2) : x1 {I, W, B} e x2 {I, W}} onde x1 o estado da primeira mquina, que pode
assumir os seguintes valores: inativo (I), trabalhando (W) ou bloqueado (B), e x2 o
estado da segunda mquina, que pode assumir os seguintes valores: inativo (I) ou
trabalhando (W). Neste modelo, no so focalizados os comprimentos das filas, mas sim
os estados lgicos de cada mquina.
3. Sistemas de trfego
Considere, agora, como exemplo uma simples interseo em T (figura 2.4). H
quatro tipos movimentos de veculos: (a) veculos vindo de ponto 1 e virando para o
ponto 2; (b) veculos vindo de 1 e virando para o ponto 3; (c) veculos que vo
diretamente do ponto 2 ao 3, e (d) veculos que vo do ponto 3 ao 2. O semforo
funciona da seguinte forma: fica vermelho para os veculos vindo da posio 1 e verde
para os veculos vindo das posies 2 e 3, permitindo assim os movimentos ce d, ou
ao contrrio, vermelho para os veculos vindo das posies 2 e 3 e verde para os
veculos vindo da posio 1, permitindo os movimentos ae b.
Neste caso, o conjunto de eventos determinado por:
E = {a12, a13, a23, a32, d12, d13, d23, d32, g, r},
onde a12, a13, a23, a32 so as chegadas de veculo em cada uma das quatro possibilidades
e d12, d13, d23 e d32 so as partidas de veculo quando o semforo permite o trfego, g e r
indicam o estado do semforo.
Um possvel espao de estado definido pelos comprimentos de fila formados
pelos quatro tipos de veculo e o estado do prprio semforo, isto :
X = {(x12, x13, x23, x32, y) : x12, x13, x23, x32 0, y {g1, g2, g3, r1, r2, r3},
onde x12, x13, x23, x32 so os quatro comprimentos de fila, e y o estado da luz (gi e ri
denotam, respectivamente, verde e vermelho para os veculos que vem dos pontos
indicados).
1 Semforo
13
2.2. Linguagens e autmato
Nesta seo ser apresentado o primeiro formalismo de modelagem utilizado
para representar um SED, que o autmato, uma vez que os sistemas a eventos
discretos (SED) no so adequadamente modelados atravs de equaes diferenciais,
como so modelados os Sistemas Dinmicos de Variveis Contnuas (SDVC).
O autmato forma a classe bsica de modelos de SED. So intuitivos, fceis de
usar, com facilidade para operaes de composio e para anlise (no caso de estado
finito), mas carecem de uma estrutura e, por esta razo, podem levar a grandes espaos
de estados quando do modelamento de sistemas complexos. O segundo formalismo de
modelagem a ser considerado neste trabalho redes de Petri. Como ser visto, as redes
de Petri tm mais estruturas que os modelos de autmatos, embora no possuam, no
geral, o mesmo poder analtico que os autmatos. Deve ser ressaltado que as redes de
Petri que sero utilizadas para gerar a modelagem dos experimentos do laboratrio
propostos neste trabalho.
2.2.1. Linguagens
Um SED possui um conjunto de eventos E associado a ele que pode ser visto
como sendo o alfabeto de uma linguagem. As seqncias de eventos associados a este
conjunto so definidas como "palavras" desta linguagem. Para entender o seu sentido
considere o seguinte exemplo: suponha que aps um carro ser ligado, as seguintes
tarefas bsicas devam ser realizadas: (a) quando o carro ligado (ON), primeiramente
deve ser enviado um sinal informando que foi ligado e est no estado ON, e ento; (b)
realizar um simples relatrio informando as seguintes condies: 1-tudo OK, 2-
checar leo, ou 3-necessito de gasolina, e, (c) concluir com outro sinal informando
que o relatrio de condies foi feito". Cada um destes sinais define um evento e todos
os possveis sinais que o carro puder emitir definem um alfabeto. Assim, esse sistema
tem as mesmas caractersticas de um SED dirigido por esses eventos, sendo responsvel
por reconhecer eventos e dar a prpria interpretao para qualquer seqncia particular
recebida. Por exemplo, a seqncia de eventos: estou ON, tudo est OK, relatrio
de condies feito, completam com sucesso a tarefa. Por outro lado, a seqncia de
eventos: estou ON e relatrio de condies feito, sem que seja relatada a condio
real entre os eventos, deve ser interpretado como uma condio anormal requerendo
ateno especial. Pode-se, portanto, pensar nas combinaes de sinais emitidos pelo
14
carro, como palavras pertencendo linguagem particular falada por este carro. Neste
exemplo, a linguagem de interesse tem somente trs palavras ou eventos.
Uma linguagem um caminho formal para descrever o comportamento de um
SED. A linguagem especifica todas as seqncias admissveis de eventos que o SED
capaz de "processar" ou "gerar", no necessitando de qualquer estrutura adicional.
Definio 2.2. (Notao de Linguagem) O conjunto de eventos E de um SED visto
como um alfabeto, e ser suposto finito. Uma seqncia de eventos tirados desse
alfabeto forma uma palavra ou seqncia. Uma seqncia que consiste de nenhum
evento chamado de seqncia vazia e denotada por (o smbolo no deve ser
confundido com o smbolo genrico e para um elemento de E). O comprimento de uma
sequncia o nmero de eventos contidos nesta seqncia, contando ocorrncias
mltiplas do mesmo evento. Se s uma seqncia, seu comprimento denotado por
s. Por conveno, o comprimento da seqncia vazia zero, isto , =0.
Definio 2.3. (Linguagem) Uma linguagem definida em um conjunto de eventos E
um conjunto de seqncias de comprimentos finitos formados de eventos de E.
Como exemplo, seja E = {a, b, g} um conjunto de eventos. Podem-se definir as
seguintes linguagens: L1 = {, a, abb}, consistindo somente de trs seqncias, ou uma
linguagem; L2 = {todos as possveis seqncias de comprimento 3 que comeam com o
evento a}, ou seja, L2 = {aaa, aab, aag, aba, abb, abg, aga, agb, agg}, que contm
nove seqncias; ou linguagem L3 = {todos as seqncias de possveis comprimentos
finitos que comeam com evento a}, que contm um nmero infinito de seqncias etc.
15
seqncia em La com uma seqncia em Lb.
2 Fechamento de Prefixos. O fechamento de prefixos de L a linguagem
denotada por L e consiste de todo os prefixos de todas as seqncias em L. No geral, L
L . Seja L E*, ento:
L := {s E* : t E* (st L)}.
L4 = {, g}
2.2.3. Autmato
A dificuldade de se trabalhar com linguagens simplesmente que representaes
simples de linguagem no so, em geral, fceis de especificar ou de trabalhar.
necessrio, pois, um conjunto de estruturas compactas que definam linguagens e que
possam ser manipuladas atravs de operaes claras de modo que possam construir e,
subseqentemente, manipular e analisar linguagens arbitrariamente complexas.
16
Um autmato um dispositivo que capaz de representar uma linguagem de
acordo com regras claras. O modo mais simples para apresentar a noo de autmato
considerar sua representao de grfico direcionada, ou diagrama de transio de
estado. Considere, portanto, o seguinte exemplo: considere o grafo da figura 2.5, onde
os ns representam estados e os arcos rotulados representam transies entre esses
estados. Este grfico fornece uma descrio completa de um autmato. O conjunto de
ns o conjunto de estados do autmato, X = {x, y, z}. O conjunto de rtulos para as
transies o conjunto de evento (alfabeto) do autmato, E = {a, b, g}. Os arcos no
grfico fornecem uma representao grfica da transio funcional do autmato, sendo
denotado como : X E X: (x, a) = x, (x, g) = z, (y, a) = x, (y, b) = y, (z, b) = z
e (z, a) = (z, g) = y. A notao (y, a) = x representa os meios de representar que o
autmato est no estado y, e com a ocorrncia de um evento a, o autmato far uma
transio rpida para o estado x. A causa da ocorrncia do evento a irrelevante; o
evento pode ser uma entrada externa para o sistema modelado pelo autmato, ou pode
ser um evento espontaneamente gerado pelo sistema modelado.
a
a
x y b
g a,g
z b
17
so marcados. Os estados so marcados quando necessrio dar um significado
especial para eles e so referidos como estados finais. O estado inicial ser
identificado por uma flecha apontando para dentro e estados pertencentes a Xm sero
identificados por crculos duplos.
Pode-se, agora, dar uma definio formal de um autmato.
Definio 2.4. (Autmato determinstico) Um autmato Determinstico denotado por
G, uma sextpla G = (X, E, f, , x0, Xm ), onde X o conjunto de estados, E o
conjunto finito de eventos associados com as transies em G, f : X E X a funo
de transio f(x, e) = y, que significa que existe uma transio rotulada pelo evento e do
estado x para o estado y (no geral, f uma funo parcial em seu domnio), : X 2E
funo de evento ativa (ou possvel funo de evento), (x) o conjunto de todos os
eventos de E tais que f(x, e) definida (isto chamado de conjunto de evento ativo ou
possvel conjunto de evento de G em x), x0 o estado inicial e Xm X o conjunto de
estados marcados.
O autmato G opera como segue: comea no estado inicial x0 e na ocorrncia de
um evento e (x0) E far uma transio de estado f(x0, e) X. Este processo ento
continua baseado nas transies para as quais f definida.
Por convenincia, f sempre estendida do X E para o domnio X E* da
seguinte maneira recursiva: f(x, e) := x e f(x, se) := f(f(x, s), e) para s E* e e E .
18
definida em (x0, s). A segunda linguagem representada por G, Lm(G), o subconjunto
de L(G) consistindo unicamente da seqncia s tais que f(x0, s) Xm, quer dizer, essas
seqncias correspondem aos caminhos que terminam em um estado marcado no
diagrama de transio de estado.
As definies de linguagens gerada e marcada podem ser melhor compreendidas
com a ajuda do seguinte exemplo: seja E = {a, b} um conjunto de eventos e considere o
autmato de estado finito G = (X, E, f, , x0, Xm) onde X = {0, 1}, x0 = 0, Xm = {1}, e f
definida como : f(0, a) = 1, f(0, b) = 0, f(1, a) = 1, f(1, b) = 0, representado na figura
2.6. Como 0 o estado inicial, a linguagem gerada por esse autmato o prprio E* isto
: L (G) = {a, b, aa, ba, bb, aaa, }. Como o nico estado marcado o 1, ento esse
estado s pode ser atingido pelas seqncias de L (G) em que o ltimo evento o a.
Portanto Lm(G) = {a, aa, ba, aaa, aba, baa, bba, }. Pode-se, ento, concluir que um
autmato G a representao de duas linguagens L(G) e Lm(G).
b a
a
0 1
b
Figura 2.6: Autmato.
2.2.5. Bloqueio
A partir das definies de G, L(G), e Lm(G) tem-se que Lm(G) Lm (G ) L(G).
vez que qualquer seqncia de L(G) que termina no estado x no pode ser um prefixo de
uma seqncia em Lm(G).
Outro tipo de trancamento quando o sistema entra em um determinado
conjunto de estados no marcados e no consegue sair deles. A esse tipo de
19
trancamento, dar-se o nome de trancamento cclico (livelock). Tambm nesse caso,
fcil observar que Lm (G ) um subconjunto prprio de L(G). Pode-se, ento, apresentar
a seguinte definio:
Definio 2.6. Um autmato G dito estar bloqueando se Lm ( G ) L(G) onde a
com aa. Assim G est bloqueando uma vez que Lm (G ) um subconjunto prprio de
L(G).
g
1 5
a a
0 b 3
b
g a
2 4 g
20
diagrama de transio de estado de um autmato; em seguida, junta-se a esse grafo um
estado inicial, um conjunto de estados marcados, e uma funo de transio rotulada,
resultando no modelo completo da rede de Petri.
Em uma rede de Petri, os eventos esto associados s transies. Para que uma
transio acontea, vrias condies devem ser satisfeitas. Estas condies so
localizadas nos prprios estados ou lugares com suas informaes relacionadas a cada
transio. Os lugares podem ser definidos como entradas ou sadas para uma
transio. Transies, lugares, e as relaes entre esses definem os componentes bsicos
de um grafo da rede de Petri. O grafo de uma rede de Petri tem dois tipos de ns
(lugares e transies) e setas conectando estes ns. Por esta razo a rede de Petri um
grafo bipartido, no sentido que as setas no podem conectar diretamente ns do mesmo
tipo, isto , as setas conectam ns de lugares para ns de transio e ns de transio
para ns de lugares. Pode-se, ento apresentar a seguinte definio.
Definio 2.7. (Grafo da rede de Petri) Um grafo ou estrutura da rede de Petri um
grafo ponderado bipartido (P, T, A, w), onde P o conjunto finito de lugares, T o
conjunto finito de transies, A (P x T) (T x P) o conjunto de setas de lugares
para transies e de transies para lugares no grfico e w : A {1,2,3,...} a funo
dos pesos das setas (um nmero inteiro positivo).
t2
p1
t1 p2 p3 t4
t3
t5 p4
Para tornar mais clara a definio 2.7, considere o grafo de uma rede de Petri
mostrado na figura 2.8. Tem-se que o conjunto de lugares P = {p1, p2, p3, p4}, o
conjunto de transies T = {t1, t2, t3, t4, t5}, A={(p1, t1), (p1, t2), (p2, t2), (p2, t3), (p2, t5),
(p4, t5), (t1, p1), (t1, p2), (t2, p3), (t3, p3), (t3, p4), (t4, p3), (t5, p1)}, w(p1, t1)=1, w(p1, t2)=1,
w(p2, t2)=1, w(p2, t3)=2, w(p2, t5)=1, w(p4, t5)=1, w(t1, p1)=1, w(t1, p2)=1, w(t2, p3)=1,
w(t3, p3)=1, w(t3, p4)=1, w(t4, p3)=1 e w(t5, p1)=1.
Note que como a transio t4 no tem nenhum lugar de entrada, ento o evento
21
correspondente a t4 acontece de forma incondicional. Em contraste, o evento
correspondente transio t2, depende de certas condies relacionadas aos lugares p1 e
p2 para que possa ocorrer.
Voltando idia de que as transies em um grafo de redes de Petri representam
os eventos que fazem a evoluo de um SED e que os lugares descrevem as condies
sob as quais esses eventos podem ocorrer, tornam-se, ento, necessrios mecanismos
que identifiquem se essas condies foram, de fato, satisfeitas ou no. Isto feito
atribuindo-se discos aos lugares para indicar que a condio descrita por aquele lugar
satisfeita. Esses discos definem uma marca. Formalmente, uma marcao, x, de um
grafo da rede de Petri (P, T, A, w) uma funo x : P = {0, 1, 2,...}. Assim, a
marcao de x define um vetor linha x = [x(p1), x(p2),..., x(pn)] onde n o nmero de
lugares na rede de Petri e a i-sima entrada deste vetor indica o nmero de discos no
lugar pi, x(pi) . Em um grafo da rede de Petri, um disco indicado por um ponto
escuro posicionado no interior do crculo que define o lugar.
Definio 2.8. (Rede de Petri marcada) Uma rede de Petri marcada uma Quntupla
(P, T, A, w, x), onde (P, T, A, w) um grafo da rede de Petri e x a marcao de um
conjunto de lugares P, isto , x = [x(p1), x(p2),...,x(pn)] n o vetor linha associado a
x.
Para ilustrar o conceito acima, considere a rede de Petri representada pelo grafo
da figura 2.9. Nessa figura esto mostradas duas possveis marcaes, correspondentes
aos vetores linha x1= [1, 0] e x2 = [2, 1].
p1 t1 p2 p1 t1 p2
x1=[1, 0] x2=[2, 1]
Observao 2.2. (a) Por simplicidade, uma rede de Petri marcada ser, de agora em
diante, referida simplesmente como Rede de Petri; (b) O nmero de discos atribudos a
um lugar um nmero inteiro arbitrrio e no negativo. Segue-se, ento, que o nmero
de estados que se pode ter , em geral, infinito. Assim, o espao de estado X, de uma
rede de Petri, com n lugares definido por todos os vetores n-dimensionais, isto ,
X=n.
22
Enquanto o termo marcao mais comum que estado na literatura sobre
rede de Petri, o termo estado consistente com o papel de estado em sistemas
dinmicos. Alm disso, o termo estado evita uma potencial confuso entre marcao em
grafos da rede de Petri e marcao no sentido de estados marcados em autmato.
23
A condio (2.1) assegura que a funo de transio de estado seja definida
unicamente por transies que so habilitadas. Assim, o prximo estado, definido pela
condio (2.2) depende explicitamente dos lugares de entrada e de sada de uma
transio e dos pesos das setas que conectam esses lugares transio. importante
observar que o nmero de discos no precisa necessariamente ser conservado aps o
disparado de uma transio em uma rede de Petri. Em geral, inteiramente possvel que
depois de vrios disparos de transio, o estado resultante seja x = [0,...,0], ou que o
nmero de smbolos em um ou mais lugares cresa arbitrariamente depois de um
nmero arbitrariamente grande de disparos de transio.
Para ilustrar o processo de disparo de transies e mudanas de estado de uma
rede de Petri, considere a rede de Petri da figura 2.10(a), onde o estado "inicial" x0 =
[2, 0, 0, 1]. fcil verificar que a nica transio habilitada t1, uma vez que ela requer
um nico smbolo do lugar p1 e tem-se x0(p1) = 2. Em outras palavras, x0(p1) w(p1, t1),
e a condio (2.1) satisfeita para a transio t1. Quando t1 dispara, um smbolo
removido de p1, e um smbolo colocado em cada lugar de p2 e p3, como pode ser visto
no grfico da rede de Petri. Esse mesmo resultado poderia ser obtido tambm aplicando-
se diretamente a equao (2.2) para obter o novo estado x1= [1, 1, 1, 1], como mostrado
na figura 2.10(b). Neste estado, todas as trs transies t1, t2 e t3 esto habilitadas.
Considere, agora, o disparo da transio t2. Um disco removido de cada um dos
lugares de entrada, p2 e p3. Como os lugares de sada so p2 e p4, ento, um disco retorna
ao lugar p2, uma vez que p2 I(t2) O(t2); alm disso, um disco adicionado a p4. O
novo estado x2 = [1, 1, 0, 2], como mostrado na figura 2.10(c). Neste estado, t2 e t3 j
no esto habilitados, mas t1 ainda est.
Voltando ao estado x1 da figura 2.10(b) e ao invs de disparar t2, suponha se
dispare t3. fcil verificar que de cada um dos lugares de entrada, p1, p3, e p4, mover-se-
a um disco. Como no h lugares de sada, o novo estado denotado por x'2 ser dado por
x'2 = [0, 1, 0, 0], como mostrado na figura 2.10(d). V-se que nenhuma transio est
habilitada e, assim, nenhuma mudana de estado adicional possvel, isto , o estado [0,
1, 0, 0] um estado de trancamento definitivo desta rede de Petri.
24
p1 p4 p1 p4
p2 t2 p2 t2
t1 t1
p3 t3 p3 t3
(a) (c)
p1 p4 p1 p4
p2 t2 p2 t2
t1 t1
p3 t3 p3 t3
(b) (d)
25
defina a matriz de incidncia A de uma rede de Petri, uma matriz m x n cujo elemento
(j, i) da forma
aji= w(tj, pi) w(pi, tj) (2.3)
Usando a matriz de incidncia A, pode-se agora obter a seguinte equao de
estados
x' = x + uA (2.4)
que descreve o processo de transio de estado como resultado de uma "entrada" u, isto
, uma transio particular disparando. O i-simo elemento da equao (2.4)
precisamente a equao (2.2). Portanto, f(x, tj) = x + uA, onde f(x, tj) a funo de
transio definida anteriormente. O argumento tj nesta funo indica que a j-sima
entrada em u , no zero. A equao de estado fornece uma ferramenta algbrica
conveniente e uma alternativa anlise grfica para descrever o processo de transies
aps disparos e mudanas de estado de uma rede de Petri.
Para ilustrar a evoluo de um SED a partir das equaes de estado, considere a
rede de Petri da figura 2.10(a), com o estado inicial x0= [2, 0, 0, 1]. Pode-se,
primeiramente, escrever a matriz de incidncia por inspeo do grfico da rede de Petri,
que neste caso :
1 1 1 0
A = 0 0 1 1
1 0 1 1
A entrada (1, 2), por exemplo, dada por w(t1, p2) - w(p2, t1) = 1 - 0. Usando a equao
(2.4), a equao de estado quando a transio t1 dispara no estado x0
1 1 1 0
x1=[ 2 0 0 1] + [1 0 0] 0 0 1 1
1 0 1 1
x1=[ 2 0 0 1] + [-1 1 1 0] = [ 1 1 1 1]
que precisamente o foi obtido no exemplo de figura 2.10(b). Similarmente, os outros
estados tambm podem ser obtidos.
26
Contudo, isto poderia ser desnecessariamente restritivo, uma vez que em modelos de
autmatos permitido haver duas setas diferentes (originando de dois estados
diferentes) rotulados com o mesmo evento. Isto conduz definio de uma rede de
Petri rotulada.
Definio 2.12. (Rede de Petri rotulada) Uma rede de Petri rotulada N uma ctupla
N = ( P, T, A, w, E, l, x0, Xm), onde ( P, T, A, w) um grfico de rede de Petri, E o
conjunto de eventos por transio rotulada, l: T E a funo de transio rotulada, x0
n o estado inicial da rede (i.e., o nmero inicial de smbolos em cada lugar) e Xm
n o conjunto de estados marcados da rede.
A seguir introduzido o conceito de estados marcados para definir uma
linguagem marcada de uma rede de Petri rotulada.
Definio 2.13. (Linguagens geradas e marcadas) A linguagem gerada por uma rede de
Petri rotulada N = ( P, T, A, w, E, l, x0, Xm)
L(N) := {l(s) E* : s T e f(x0, s) definida }.
A linguagem marcada por N
Lm(N):= {l(s) L(N) : s T* e f(x0, s) Xm }.
Pode-se ver que essas definies esto completamente consistentes com as
definies correspondentes aos autmatos. A linguagem L(N) representa todas as
seqncias de transies rotuladas que so obtidas por todos as possveis (finitas)
seqncias de disparos de transio em N, comeando no estado inicial x0 de N. A
linguagem marcada Lm(N) o subconjunto destas seqncias que deixam a rede de Petri
em um estado que um membro do conjunto de estados marcados da definio de N.
A classe de linguagens que podem ser representados por redes de Petri rotuladas
27
sistema com filas, quais sejam: chegada de cliente (a), comeo do servio (s) e servio
completo e partida do cliente (c). A partir desses eventos possvel formar o conjunto
de transio T ={a, s, c}. Note que, nesse exemplo no necessrio considerar redes de
Petri rotulada; equivalentemente, pode-se supor que E = T e que l um mapa um-para-
um entre esses dois conjuntos. A transio a espontnea e no requer condies
(lugares de entrada). Por outro lado, a transio s conta com duas condies: a presena
de clientes na fila, e que o servidor esteja inativo. Essas duas condies sero
representadas por dois lugares de entradas para esta transio, lugar Q (fila) e lugar I
(servidor inativo). Finalmente, a transio c requer que o servidor esteja ocupado, assim
introduziremos um lugar de entrada B (servidor ocupado) para isto. Assim, o conjunto
de lugares desse sistema P = {Q, I, B}.
O grfico da rede de Petri completo, junto com o simples modelo de sistema de
fila, mostrado nas figuras 2.11(a) e (b). Nenhum smbolo colocado em Q, indicando
que a fila est vazia, e um smbolo colocado em I, indicando que o servidor est
inativo. Isto define o estado inicial x0= [0, 1, 0]. Uma vez que a transio de estado a
est sempre habilitada, possvel gerar vrios caminhos de amostra possveis. Como um
exemplo, a figura 2.11(c) mostra o estado [2, 0, 1] resultante do disparo da seqncia de
transies {a, s, a, a, c, s, a}. Este estado corresponde a dois clientes esperando na fila,
enquanto um terceiro est em servio (a primeira chegada na seqncia j tem partido
depois da transio c).
Fila Servidor
Chegada de clientes Partida de clientes
(a)
a a
I I
Q Q
s s
B B
c c
(b) (c)
Figura 2.11: (a) Simples sistema de fila, (b) Modelo de rede de Petri para um sistema de
fila simples com estado inicial [0, 1, 0]. (c) Modelo de rede de Petri de um sistema de
28
fila simples com estado inicial [0, 1, 0] depois de disparada a seqncia {a, s, a, a, c, s,
a}.
estritamente maior que a classe R, significando que redes de Petri com conjuntos
finitos de lugares e transies podem representar (isto , marcar) mais linguagens em E*
que os autmatos de estado finito. Um exemplo de criao de uma rede de Petri em que
no h um correspondente autmato, pode ser visto em CASSANDRAS e
LAFORTUNE (2000).
29
no tm eventos comuns. Isto significa combinar sistemas mltiplos, aumentando-se
ligeiramente a complexidade de modelos de autmatos. Por outro lado, se os sistemas
so modelados atravs da rede de Petri, o sistema combinado freqentemente mais
fcil de se obter por deixar as redes originais como eles so e simplesmente somando-se
uns poucos lugares e/ou transies (ou fundindo alguns lugares) representando a unio
efetuada entre os dois. Alm disso, ao olhar tal grfico da rede de Petri, uma pessoa
pode convenientemente ver os componentes individuais, discernir o nvel de sua
interao, e finalmente decompor o sistema dentro de mdulos distintos lgicos.
30
2.4.1. Redes de Petri temporizadas
Ser, agora, introduzido uma temporizao estrutura de redes de Petri. Para
tanto, uma seqncia de tempo vj agora associada com uma transio tj. Um nmero
real positivo, vj,k, atribudo a tj ter o seguinte significado: quando a transio tj for
habilitada no k-simo instante, ela no dispara imediatamente, mas incorre em um atraso
no disparo dado por vj,k; durante este atraso, os discos so guardados na entrada do lugar
t j.
importante ressaltar que nem todas as transies tero que disparar com atraso.
Algumas transies podem disparar to logo sejam habilitadas. Assim, T (o conjunto
das transies ou eventos) pode ser dividido em dois subconjuntos T0 e TD, tais que T =
T0 TD, onde T0 um conjunto de transies que sempre ocorrem sem atrasos no
disparo, e TD o conjunto de transies que geralmente incorrem em algum atraso no
disparo. O ltimo chamado de transies dependentes do tempo
As seguintes definies podem ser apresentadas.
Definio 2.14. A estrutura de tempo associada a um conjunto de transies
temporizadas TD T de uma rede de Petri marcada (P, T, A, w, x) um conjunto V =
{vj : tj TD} de seqncias de temporizao (tempo de vida), vj ={vj,1, vj,2, ...}, tj TD,
Vj,k R+, k = 1, 2, ...
Graficamente, as transies sem atraso de disparo so representadas por barras,
ao passo que transies temporizadas so representadas por retngulos, conforme
mostra a figura 2.12. A seqncia de tempo associada com uma transio temporizada
normalmente escrita prximo ao retngulo.
Definio 2.15. Uma Rede de Petri Dependente do Tempo (com temporizao) uma
sextupla (P, T, A, w, x, V) onde (P, T, A, w, x) uma rede de Petri marcada, e V = {vj : tj
TD} uma estrutura de tempo.
Para ilustrar as definies de estrutura de tempo para redes de Petri, considere
uma seqncia de duas tarefas T1 e T2 que so desempenhadas simultaneamente com
uma terceira tarefa T3, e ento uma quarta tarefa T4 executada para combinar as sadas
de T2 e T3. Uma possvel modelagem deste processo mostrada na figura 2.12.
31
p1 p3
v1 t1 v3 t3
p2 p2C
v2
s t2
t23 p4 v4 F
t4
pC3
v1={v1,1, v1,2, }
{1,1 , 1, 2 , ...}
Dinmicas da rede de
vm={v1,1, v1,2, }
Petri temporizada { m,1 , m, 2 , ...}
32
Ser considerado, inicialmente, o caso em que um lugar pi tem somente uma
transio de entrada tr. Para tanto, seja i,k o instante de tempo quando o lugar pi recebe
seu k-simo disco, k = 1, 2,.... Suponha inicialmente que x(pi) = 0. Ento, o k-simo
instante em que um disco depositado em pi precisamente o k-simo tempo de disparo
tr. que denotado por r,k. Se, por outro lado, pi inicialmente contm xi0 discos, ento, o
k-simo tempo de disparo de tr o tempo quando pi recebe seu (xi0 + k)-simo disco.
Portanto tem-se a seguinte relao:
i,k + xi0 = r,k, pi O(tr), k = 1, 2, ... (2.5)
onde xi0 a marcao inicial do lugar pi e i,k = 0 para todo k = 1,... , xi0.
Equivalentemente,
i,k = r,k - xi0 , pi O(tr), k = xi0 + 1, xi0 + 2, ... (2.6)
Ser, agora, considerado o caso em que o lugar pi tem somente uma nica
transio de sada tj. Para tanto, suponha que pi o nico lugar de entrada de tj. Se tj
no dependente do tempo, ento o k-simo tempo de disparo de tj precisamente o
tempo em que pi recebe seu k-simo disco, e habilita tj. Ento, tem-se que j,k = i,k , k =
1, 2, .... Por outro lado, tj dependente do tempo com uma seqncia de tempo vj, ento
este relacionamento torna-se
j,k = i,k + vj,k k = 1, 2, ... (2.7)
Finalmente se pi no a nica entrada do lugar tj, ento tj habilitado para o k-
simo tempo sempre que o ltimo lugar de entrada do conjunto I(tj) recebe seu k-simo
disco, isto , em algum instante s,k, ps I(tj), tal que s,k i,k para todo pi I(tj).
Pode-se, ento, expressar este simples fato com a expresso
j,k = max { i,k} + vj,k, k = 1, 2, (2.8)
pi I ( tj )
33
correspondente para chegadas de cliente e para partidas do servidor. A transio s, por
outro lado, no precisa de nenhum atraso de disparo. O servio comea to logo o
servidor fique ocioso e um cliente esteja na fila. A estrutura de tempo para este modelo
consiste de va = {va,1, va,2, ...} e vd = {vd,1,vd,2,... } e a mesma estrutura de tempo de um
modelo de autmato dependente do tempo. Alm disso, pode-se fazer x(t) = x(Q) + x(B)
denotar o nmero total de discos nos lugares Q e B com o tempo t.
a va
Q I
d vd
34
I,k = dk-1, k = 1, 2, ..., I,1 = 0
B,k = sk, k = 1, 2, ...
Combinando as equaes acima para eliminar Q,k, I,k e B,k, resulta:
sk = max{ak, dk-1}, k = 1, 2, , d0 = 0
dk = sk + vd,k, k = 1, 2,
Pode-se ainda eliminar sk para obter a seguinte relao fundamental que
importante para este simples sistema de fila, obtendo
dk = max{ak, dk-1}+ vd,k, k = 1, 2, , d0 = 0,
que representa uma simples relao recursiva caracterizando os instantes de partida dos
clientes, que representa o fato de que a k-sima partida ocorre no tempo vd,k unidades
depois da (k - l)-sima partida, exceto quando ak >dk-1. Este ltimo caso ocorre quando a
partida em dk-1 esvazia a fila; o servidor deve ento esperar a prxima chegada no
instante ak,e gerar a prxima partida no instante ak + vd,k.
Reescrevendo ak e dk para k = 2, 3, ... obtm-se:
ak = ak-1 + va,k, a0 = 0
dk = max{ak-1 + va,k, dk-1}+ vd,k, d0 = 0
que representa um modelo em espao de estado na estrutura da figura 2.13. O modelo
de sistema de filas dirigido pelas seqncias de tempo va e vd, e sua sada consiste de
seqncias de tempo de chegada e partida {a1, a2, ...} e {d1,d2, ...} geradas atravs das
equaes de estado de ak e dk para k = 1, 2, ..., a0 = 0 e d0 = 0.
35
Captulo 3. Programao e utilizao de controladores lgicos
programveis
Neste captulo ser feita uma anlise geral sobre controladores lgicos
programveis (CLP) com suas caractersticas. Sero apresentados, tambm, alguns CLP
disponveis no mercado e abordadas cada uma de suas partes com seus detalhes
tcnicos.
Este captulo est estruturado da seguinte forma: na seo 3.1 descrito o CLP
com suas definies e caractersticas principais, sendo os principais blocos que
compem um CLP descritos, e tambm, uma classificao dos tipos de CLPs; na seo
3.2 realizado um estudo sobre linguagem ladder (linguagem esta que ser utilizada
para implementao dos experimentos deste trabalho), apresentando tambm as
implementaes das funes utilizadas em projetos de circuitos digitais (funes NOT,
AND, OR, NAND, NOR, OR Exclusivo e NOR Exclusivo); na seo 3.3 so vistas
formas de converso entre linguagem ladder e redes de Petri, onde so descritos alguns
mtodos relacionados tentativa de converso direta, sendo mostrados ainda alguns
exemplos de converso utilizando um desses mtodos, tendo como objetivo principal a
reduo do esforo de projeto devido complexidade de problemas de controle e prover
critrios de projeto para ajustar as aproximaes.
36
dispositivo de estado slido, com memria programvel para armazenamento de
instrues para controle lgico programvel e pode executar funes equivalentes s de
um painel de rels ou de um sistema de controle lgico, tambm realizando operaes
lgicas e aritmticas, manipulao de dados e comunicao em rede, sendo utilizado no
controle de sistemas automatizados.
O CLP e seus perifricos, ambos associados, so projetados de forma a poder ser
integrados dentro de um sistema de controle industrial e finalmente usados a todas as
funes s quais so destinados. A figura 3.1 apresenta uma aplicao do CLP.
Dispositivos de
Entrada
Sistema
PLC Automatizado
Dispositivos de
Sada
37
fornecida CPU e aos Mdulos (circuitos) de I/O. Em alguns casos proporciona sada
auxiliar de baixa corrente.
4) Base ou Rack. Serve de conexo mecnica e eltrica entre a CPU, os mdulos
de I/O e a fonte de alimentao. Contm o barramento de comunicao entre os
dispositivos, no qual os sinais de dados, endereo, controle e tenso de alimentao
esto presentes.
A figura 3.2 mostra a estrutura bsica de um CLP por meio dos blocos descritos.
Um CLP comercial apresentado na figura 3.3.
Dispositivos de Dispositivos de
Entrada
Entrada CPU Sada Sada
Alimentao
Externa Fonte de Alimentao Fonte Auxiliar
Base
38
3.1.2. Operao Bsica
A CPU controla todas as aes do CLP executando a leitura das condies e
estados dos dispositivos por meio dos mdulos de I/O. Essas condies so
armazenadas em memria para serem processadas pelo programa de aplicao
desenvolvido pelo usurio e armazenado na memria no CLP. O processador atualiza os
status dos dispositivos de sada por meio dos mdulos de I/O, realizando a lgica de
controle, para garantir o ciclo de varredura.
A programao pode ser feita atravs de um programador manual ou com
software de programao no computador para posterior transferncia. A linguagem
ladder (Relay Ladder Logic), a mais utilizada. Esta linguagem a representao lgica
da seqncia eltrica de operao, como ilustrado nas figuras 3.4 e 3.5.
B0 B1 L0
F1 F2
COM COM
F2 COM
F2
COM
B0
F1 X0
Y0 F1
B1 X3 Y3 L0
Y1
X1
X4 Y4
Y2
X2
X5 Y0 Y5
X0 X1
End
Mdulo de Mdulo de
Linguagem de Programao
Entrada Sada
De acordo com as figuras 3.4 e 3.5 (SILVEIRA, 1999), v-se que a lgica
implementada pelo CLP muito similar convencional, sendo que os dispositivos de
entrada (chaves B0 e B1) so conectados aos mdulos de entrada e os dispositivos de
sada (lmpada L0) aos mdulos de sada. O programa de aplicao determina o
acionamento da sada em funo das entradas. Qualquer alterao desejada nesta lgica
realizada por meio de alteraes no programa, permanecendo as mesmas conexes nos
mdulos de I/O.
39
3.1.3. Arquitetura bsica do CLP
A figura 3.6 ilustra a estrutura bsica de um CLP. Esta compreende o processador,
o sistema de memria, os barramentos de dados, de endereos e de controle, alm dos
circuitos auxiliares de controle. A figura 3.7 apresenta trs modelos de CPUs
disponveis em uma mesma famlia de CLP, relacionando algumas de suas
caractersticas.
E
N Processador Memria S
T A
R
A D
Barramento (Dados + Controle + Endereo)
D A
A
CPU
40
programa de aplicao, controla a comunicao com dispositivos externos e verifica a
integridade de todo o sistema realizando relatrios ou diagnsticos do sistema
operacional. Pode operar com registros e palavras de instruo, ou de dados, de
diferentes tamanhos (8, 16 ou 32 bits), de acordo com a capacidade do acumulador e
pela lista de instrues disponveis para cada CPU.
b) Sistema de memria
O sistema de memria da CPU composto por: (i) memria do sistema de
operao, onde armazenado o programa de execuo desenvolvido pelo fabricante, e
que determina como o sistema deve operacionalizar, incluindo a execuo dos
programas do usurio, controle de servios perifricos, atualizao dos mdulos de I/O
etc. (ii) memria de aplicao ou memria de usurio, onde o programa desenvolvido
pelo usurio para implementao (chamado de programa de aplicao) armazenado.
Juntamente com o programa de aplicao, so armazenados os dados do sistema em
uma tabela para realizao dos controles dos mdulos de I/O utilizados. Cada ponto de
I/O conectado aos mdulos, tem um endereo especfico na tabela de dados, o qual
acessado pelo programa de aplicao. Essa memria do tipo RAM. A tabela 3.1
apresenta uma comparao entre as memrias do sistema de operao e do usurio.
41
serem processados pela CPU. Os mdulos de sada enviam os sinais de controle aos
dispositivos externos tais como motores, atuadores e sinalizadores. Esses sinais so
resultantes da lgica de controle, pela execuo do programa de aplicao, ou podem
ser forados pelo usurio, independente da lgica de controle.
Para CLP compactos com CPU e I/O alojados em um nico invlucro, usa-se o
termo circuitos de I/O e para CLP modulares com CPU e I/O disponveis de forma
independente, usa-se o termo mdulos de I/O. A figura 3.8 mostra exemplos de CLP
compacto e CLP modular.
42
Boto Vlvula Solenide
Chave Contator
Pressostato Sinalizador
Fluxostato Rels de Controle
Termostato Cartes Cartes Sirene
Ch. Fim de Curso CPU Display
Discretos Discretos
Teclado Lmpada
Chave BCD Ventiladores
Fotoclula Alarmes
Outros Outros
Circuito
Optoacoplador
Barramento CP
D/A
Demultiplexadores Atuadores Processo
d) Fonte de alimentao
o dispositivo responsvel pela converso da tenso de alimentao fornecida
pela rede de energia eltrica aos nveis aceitveis de funcionamento para cada tipo de
aplicao. A fonte de alimentao fornece todos os nveis de tenso para a alimentao
da CPU e dos mdulos de I/O e funciona como um dispositivo de proteo. A fonte do
43
CLP responsvel, em alguns casos, pela alimentao do circuito lgico dos mdulos
de I/O, sendo que a fonte externa alimenta os circuitos de potncia, ou circuitos
externos. A figura 3.12 mostra duas possibilidades de apresentao da fonte de
alimentao.
Atualmente, as fontes de alimentao para os CLPs so do tipo chaveadas. Em
alguns casos, a tenso de entrada no fixa e nem selecionvel pelo usurio, mas a
fonte possui ajuste automtico, proporcionando maior versatilidade e qualidade ao
sistema. As protees externas so basicamente um transformador de isolao ou
supressor de rudos para rede e aterramento.
e) Base ou Rack
A Base responsvel pela sustentao mecnica dos elementos. Possui o
barramento que faz a conexo eltrica entre os elementos do CLP, no qual esto
presentes os sinais de dados, endereo e controle necessrios para comunicao entre a
CPU e os mdulos de I/O, alm dos nveis de tenso fornecidos para que possam
operar. A figura 3.13 apresenta um exemplo de base com indicao do barramento
interno.
Cada posio da base denominada de slot (ranhura, abertura) e cada slot da base
tem uma identificao prpria, conforme o fabricante (figura 3.14). Uma mesma famlia
de CLP pode possuir bases com diferentes quantidades de slots, com o objetivo de
44
atender s necessidades especficas de cada aplicao.
S S S S S S
L L L L L L
O O O O O O
T T T T T T
Fonte de
D 0 1 2 3 4
Alimentao A
C
P
U
45
instrues uma linguagem textual, semelhante ao assembly, e faz parte das linguagens
bsicas normalmente disponveis em um CLP.
As outras linguagens de programao encontrados no mercado para programao
dos CLP so as linguagens C e BASIC. A Norma IEC 61131 (inicialmente 1131), de
agosto de 1992, apresenta atualmente oito partes (IEC 61131-1 a IEC 61131-8). A
terceira parte (IEC 61131-3), aborda as linguagens de programao, e define, tambm,
a estrutura de um projeto, os tipos de dados e a organizao interna do programa. As
cinco linguagens de programao definidas com sintaxe e semntica de duas linguagens
textuais e duas linguagens grficas, e estruturao por diagramas funcionais, podendo,
inclusive, ser interligadas, so: ladder (LD), lista de instrues (IL), texto estruturado
(ST), diagrama de blocos de funo (FBD) e diagrama funcional seqencial (SFC)
(NATALE, 1995, OLIVEIRA, 1993).
3.2.1. Programadores
As principais ferramentas para programao disponveis atualmente para as
famlias de CLP encontrados no mercado so o programador manual e o software de
programao para PC. Ambas as ferramentas possuem recursos para monitorao de
condies internas CPU (diagnsticos e erros), verificao da execuo do programa
de aplicao e controle sobre os modos de operao, entre outros. Cada fabricante, e em
alguns casos cada famlia de CLP, tem suas prprias ferramentas de programao que
no podem ser usadas para CLP (ou CPU) distintos.
O programador manual uma ferramenta de menor custo e utilizada para
pequenas alteraes. Conforme mostrado na figura 3.15, o programador manual possui
um display de cristal lquido com duas linhas para apresentao das informaes
(endereo e dados do programa, condio dos pontos de I/O e diagnsticos internos) e
um teclado de membrana para entrada dos dados. O programador manual, contudo, no
indicado para o desenvolvimento de todos os programas de aplicao, pois permite
edio e alterao apenas por meio de mnemnicos (linguagem de lista de instrues).
Porm, bastante til como ferramenta de manuteno para trabalho de campo,
proporcionando visualizao, monitorao e alterao de parmetros e do programa de
aplicao com muita rapidez e com a vantagem de ser porttil e resistente ao ambiente
industrial.
46
Figura 3.15: Ferramentas de programao - programador manual.
Linha 2 I3
Linha 1 I1
Rung 2 2 Q1
END
47
A quantidade de colunas e linhas, ou elementos e associaes, que cada rung
pode conter determinada pelo fabricante do PLC, podendo variar conforme a CPU
utilizada. Em geral, este limite no representa uma preocupao ao usurio durante o
desenvolvimento do programa de aplicao, pois os softwares de programao indicam
se tal quantidade foi ultrapassada, por meio de erro durante a compilao do programa
de aplicao.
Cada elemento da lgica de controle representa uma instruo da linguagem
ladder, sendo alocada em um endereo especfico e consumindo uma quantidade
determinada de memria (word) disponvel para armazenamento do programa de
aplicao, conforme a CPU utilizada. Um mesmo smbolo grfico da linguagem ladder
(contato normalmente aberto, por exemplo) pode representar instrues diferentes,
dependendo da localizao na lgica de controle.
Gerao de
Interpretao
Tabela-Verdade Funces
Lgica
Lgicas
A anlise para a criao de programas no CLP est baseada na lgica binria. Esse
sistema conhecido como lgebra de Boole, o qual est baseado em um conjunto de
operaes entre variveis binrias. O sistema binrio um sistema de numerao que
consta de dois valores, 0 e 1. Cada dgito de um nmero representado no sistema binrio
recebe o nome de bit, de maneira tal que cada bit pode tomar o valor 0 ou 1. A notao
aqui utilizada A para negar A, . e + para indicar e e ou, respectivamente
(BIGNELL e DONOVAN, 1995). Os teoremas booleanos so:
1. A = A 5. A + 1 = A 9. A. A = 0
2. A.0 = 0 6. A + A = A 10. A.B + A.C = A.(B+C)
3. A + 0 = A 7. A.A = A 11. A + A .B = A + B
4. A.1 = A 8. A + A = A
48
Esses teoremas, juntamente com os teoremas de DE MORGAN permitem
minimizar as relaes lgicas entre as variveis. Os teoremas de De Morgan so:
1. A . B = A + B
2. A + B = A . B
A tabela 3.2 a seguir considera as funes lgicas e suas implementaes
utilizando a linguagem ladder.
Lgica booleana /
Funo Tabela-verdade Implementao em Linguagem ladder
De Morgan
A A I0 Q0
NOT 0 1 A=A
1 0
A B Y I0 I1 Q0
0 0 0
AND 0 1 0 Y = A.B
1 0 0
1 1 1
A B Y I0 Q0
0 0 0
OR 0 1 1 Y = A+B I1
1 0 1
1 1 1
A B Y I0 I1 M0 I0 Q0
0 0 1
NAND 0 1 1 Y = A.B = A+B M0 Q0 OU I1
1 0 1
1 1 0
I0 M0
A B Y
0 0 1 I0 I1 Q0
I1
NOR 0 1 0 Y = A+B = A.B OU
1 0 0
M0 Q0
1 1 0
A B Y I0 I1 Q0
0 0 0
OR
0 1 1 Y=A.B+A.B= A + B I0 I1
Exclusivo
1 0 1
1 1 0
I0 I1 M0
A B Y I0 I1 Q0
0 0 1 Y = A.B + A.B =
NOR I0 I1
0 1 0 OU
Exclusivo Y = (A+B).(A+B)
I0 I1
1 0 0
M0 Q0
1 1 1
49
3.2.4. Implementao da lgica de controle por funes do CLP
a) Funo SET e RESET
Em muitas situaes necessrio fixar o valor lgico de uma varivel no nvel
lgico 1, aps o acionamento de um sensor atravs do uso da sentena SET, que permite
ativar uma sada ante uma condio de entrada e permanecer ativada mesmo mudando o
estado da entrada e podendo desativar este estado na execuo de um programa
mediante o uso de uma instruo de RESET, a qual desativa a sada ante uma condio
da entrada e permanece desativada mesmo mudando essa condio de entrada.
Os CLP diferem na forma de implementar essas funes variando de acordo com
o tipo de fabricante dos controladores. Um exemplo geral mostrado na figura 3.19.
Neste diagrama, aps o acionamento da entrada I0, se estabelecer (SET) na sada Q0
ou estado lgico 1, o qual permanecer nesse estado indefinidamente, mesmo que o
estado da entrada seja alterado. Somente mediante o acionamento da entrada I1, se
desativar a sada Q0, voltando ao nvel lgico 0, permanecendo nesse estado desde que
I0 no esteja acionada. Em muitos CLPs a sentena de RESET prevalece sobre as
sentenas de SET, no causando travamento do CLP.
I0 Q0
S
I1 Q0
R
b) Temporizadores
Os CLPs atuais possuem um recurso de temporizao, acionando os dispositivos
aps um retardo de tempo. A maneira como ele inserido no diagrama de contatos,
assim como algumas de suas particularidades so prprias de cada modelo de CLP. Um
diagrama de contatos para o uso de um temporizador est mostrado na figura 3.20. Note
que o tempo ajustado de 10 segundos. Assim ao se ativar a entrada I0, se ativar a
base de tempo T0, a qual esperar um tempo 10 s. Passado esse tempo, se ativar a
50
chave T0 e, portanto, a sada Q0, a qual permanecer ativada at a entrada I0 se
desativar. Se, no entanto, a entrada I0 permanecer ativada um tempo menor que 10s, a
sada Q0 no se ativar. O diagrama de tempos mostrado na figura 3.21 ilustra essa
situao.
I0 T0
Tempo
10
T0
Q0
<10s >10s
I0
10s
T0
Q0
Figura 3.21: Diagrama de tempos de um circuito temporizador.
c) Contadores
Os CLPs possuem funes de contagem, que podem ter como base o tempo, pois
variam de acordo com os sinais de entrada que ele recebe, permitindo controlar
quantidades, nmero de ocorrncias e com esses dados efetuar operaes matemticas
internas do CLP. O modo de implementar um contador em um diagrama de contatos ou
linguagem ladder tambm varia de um modelo para outro em um CLP. Existem
contadores que realizam essa funo em ordem crescente ou decrescente de acordo com
o especificado no dispositivo. Um exemplo geral de um contador est mostrado na
figura 3.22.
51
I0 C0
C (crescente)
I1
D (Decrescente)
I2
Reset
C0 Tempo
100
Q0
d) Rels Especiais
So funes existentes em muitos CLPs e predefinidas pelo fabricante, por
exemplo, instrues internas de memria, como indicao de status do acumulador da
CPU, monitoramento do sistema, indicao de erros e base de tempo-real. So
identificados por SP ou por outro smbolo de acordo com o tipo de CLP e so
associadas s instrues booleanas de entrada, ou seja, contatos normalmente abertos ou
contatos normalmente fechados. A tabela 3.3 apresenta alguns exemplos de rels
especiais.
52
Tabela 3.3: Rels especiais (nvel lgico alto 1 e nvel lgico baixo 0).
53
as especificaes para linguagem ladder. CAZZOLA et al. (1995), investigaram como o
desempenho de um algoritmo de controlador lgico afetado pelo modo particular de
paridade no qual um esquema de redes de Petri convertido em um algoritmo corrente
em um CLP. Os mtodos sistemticos para formular redes de Petri para CLP e comparar
redes de Petri e linguagem ladder para sistemas industriais podem ser visto em
VENKATESH e ZHOU (1998).
A tabela 3.4 mostra os elementos bsicos que constituem uma linguagem ladder e
uma rede de Petri e na tabela 3.5 so mostradas a lgica modelada construda por redes
de Petri e linguagem ladder, que podem ser usadas para calcular o nmero de elementos
bsicos necessrios para uma rede de Petri e linguagem ladder (PENG e ZHOU, 2001,
LEE e HSU, 2001, PENG e ZHOU, 2004). Os critrios de comparao incluem
complexidade de projeto (medida pelo nmero de ns bsicos e ligaes), facilidade de
compreenso (habilidade para avaliar a lgica programada, verificar a transformao e
manter o sistema de controle), flexibilidade (facilidade de modificar o sistema de
controle quando ocorrem mudanas nas especificaes) e tempo de resposta (tempo de
varredura da linguagem programada).
Boto de Presso
Lugar
Chave NA
Transio
Chave NF
Ns Rel R
TR
Temporizador
Contador CNT
Solonide
Arco normal
Links Linha
Arco inibidor
54
Tabela 3.5: Lgica para converso entre redes de Petri e linguagem ladder.
1 m
1
Lgica OR
m+1 Ns = 2m + n m+1 Ns = m + n
Links = m (1 + n) Links = 2(m + n)
m
m+n
m+n
1 m m+1
1 m+n+1
Modelo m+2 m+3 Ns = m + n + 2n
m+1 m+n Links = 3(n + 1) + (m -1) + 2(n - 1)
Sequencial
m+2n m+2n+1
m+n+n
m+2n+n
m
Ns = 2(m + n + n) - 1
Links = m + n + 2n
1 m m m+1
... 1
Timer
Lgica AND Ns = m + n + 1 T
Atraso
Temporizada (delay)
Links = m + n
m+2 m+r
...
m+1 m+n m+r+n
Ns = m + n + r + 1
Links = m + 2n + r + 2
1 m 1
Timer 3d+1
Lgica OR Atraso
Atraso 1 Atraso d (delay 1)
Temporizada (delay) m+1 (delay)
Ns = 3d + n
Ns = 2d + n Links = 5d + 2n
Links = d (1 + n)
m+n Timer
Atraso
(delay d)
3d+n
1 m+n+1 1 m
Timer
Modelo m+1 m+n
Atraso
(delay 1)
Sequencial
Temporizado m+n+n
1
m
Atraso 1 Atraso d Timer
(delay) (delay) Atraso
(delay d)
Ns = 2d + m + n - 1
Links = 2d + m + n - 2 n
Ns = 4d + m + n - 2
Links = 6d + m + 2n - 3
55
A lgica e outros blocos de construo bsicos usados para controle em seqncia
que so modelados por redes de Petri e linguagem ladder so mostrados na tabela 3.6.
Na tabela, as primeiras quatro linhas mostram em fila como os elementos bsicos de
redes de Petri so usados para modelar condies, estados, atividades, informaes e
fluxo de material e recursos. Note que a linguagem ladder no possui as representaes
explcitas correspondentes. A lgica AND e a lgica OR podem facilmente modelar
redes de Petri e linguagem ladder com complexidades semelhantes, os outros conceitos
mencionados como concorrncia e sincronizao so tambm ilustrados na tabela 3.6,
sendo acrescentado, tambm, a questo da temporizao.
A B C A B C D
Lgica AND
IF A=1 AND B=1 AND C=1
THEN D=1
D
A
A B C
Lgica OR
IF A=1 OR B=1 OR C=1 B D
THEN D=1
C
D
A B A B C
Concorrncia
IF A=1 AND B=1
D
THEN C=1 AND D=1 AND E=1 E
C D E
Temporizado B
A B A
IF A=1
THEN aps atraso de tempo
Timer
B=1
Sincronizao A B C A D
IF A=1
THEN Aps atraso de tempo 1 Timer
1 E
D=1 B C
IF B=1 AND C=1 D E Timer
2
THEN Aps atraso de tempo 2 D E F
E=1 Timer
IF D=1 AND E=1 3
THEN Aps atraso de tempo 3 F
F=1
56
Para ilustrar a aplicao da tabela 3.6, suponha a seguinte funo lgica: Y = ((X0
+ X1 + X2).(X4.X5)) + X3, essa funo gera respectivamente as seguintes linguagens
ladder, conforme figura 3.23, e rede de Petri, figura 3.24.
X0
X1
X2 X4 X5
Y
X3
P1 P2 P3
P10
P5 P6
P4 P7
P9
P8
57
Estao de
Armazenamento de Transportador
Estrados(Pallet)
Estao
Mesa de Trabalho de
Montagem
Chave limite D
Chave limite F
Rob
Estao de Inspeo
A B C
Timer
A B D C 1
E
D
Timer
t1 t2
C E
E 2
D E F
t3 Timer
F F 3
(a) (b)
Figura 3.26: (a) Rede de Petri e (b) Linguagem ladder da figura 3.25.
58
Considere mais um exemplo para anlise entre redes de Petri e linguagem ladder.
Suponha que em uma estao de teste exista uma linha de transporte usando detectores
para encontrar produtos defeituosos. A condio do produto conferida quando o
produto entrar na estao de teste. Se um defeito achado no produto, ele expelido
atravs do acionamento de uma alavanca que faz com o produto defeituoso siga por
outro caminho; caso contrrio, ele atravessa a linha de transporte e vai para a prxima
estao. O mecanismo para este exemplo ilustrado na figura 3.27.
Detectores de saida
Detector de passagem
Detector para
expelir produto
Sensor de entrada
Detector de defeito
Entrada de produto
59
Ligar
P1
Esperando sinal para prxima
entrada de produto (A3)
T1
Entrada de produto
P2
Ativado o detector de defeito (A1)
T2 T3
Detecco: Falha Deteco: OK
P3 P4
Conjunto acionado Conjunto deixa
para expelir o passar o produto (A2)
produto defeituoso (A2)
T4 T5
Expelir produto Passar produto
T6 Sada do produto
100.04 000.05 P1
P5 T6-1
000.06
T6-2
100.00 100.01
P1 P2
100.02 100.04 P3
P3 P5
100.01 001.00
100.01 000.01 100.03
P2
P2 T3
001.00 100.04 A1
100.03 100.04 P4
A1 P5
P4 P5
100.02 001.01
100.02 000.04 100.04
P3
P3 T4
001.01 100.03 A2
100.03 000.03 P5
A2 P4
P4 T5
100.00 001.02
100.04 100.00
P1
P5 P1
A3
(a) (b)
Figura 3.29: (a) Linguagem ladder da seqncia de controle e (b) Linguagem
ladder para as aes de sada.
60
Captulo 4. Equipamentos do laboratrio proposto
61
requeridos, desde que o consumo de corrente seja menor ou igual a 400 mA. Se este no
o caso, necessrio o uso de uma alimentao auxiliar de 24 VDC.
Mdulo em
formato
padro
Mdulo em
formato
reduzido
Rack de Extenso
Base do CLP
62
Sada 1
9 NC Mdulo analgico integrado
Sada comum 2
10 Entrada 2
Entrada 3 3
11 Entrada 4
Entrada 5 4
12 Entrada 6
Entrada 7 5
13 Entrada 8
Entrada 9 6
14 Entrada comum
NC 7
15 Sada de referncia : 10v
NC 8
A estrutura de memria do CLP TSX 3722 composta por uma memria RAM
onde so executados os programas e uma memria Flash EPROM onde fica armazenada
uma cpia de backup do programa que est sendo executado. Caso seja necessrio um
espao maior de memria, pode-se conectar um carto de memria PCMCIA, que
possibilita um aumento de memria de 32 ou 64 Kwords. Para maior compreenso
dessa estrutura de memria observa-se a figura 4.3 (sem carto de memria PCMCIA).
Na parte Dados ficam armazenadas as palavras (words) de sistema, funes do FB
(contadores, temporizadores, monoestveis, registradores e drums), words internas ou
words comuns. Na parte Programa feita a descrio e execuo das tarefas pr-
definidas. As Constantes podem ser valores iniciais ou configurao de I/Os;
finalmente o Backup o local onde fica armazenado uma cpia do programa que est
sendo executado (memria Flash EPROM). Como se pode observar na figura 4.3,
feito um backup atravs de uma memria Flash EPROM do programa que est sendo
executado; na falta de alimentao o programa fica armazenado.
63
RAM
interna
Dados
14 Kwords(37-10)
20 Kwords(37-20) Programa
Constantes
Flash Cpia de
EPROM
interna Backup
15 Kwords Programa
O CLP possui um bloco de visualizao dos estados e falhas dos mdulos, este
bloco centraliza um grupo de servios que so requeridos para setup, operao,
diagnstico e manuteno. Pode ser melhor descrito na figura 4.4. A visualizao do
estado do CLP melhor vista na figura 4.5, com os seguintes terminais: 5 LEDs (RUN ,
TER ,I/O , ERR , BAT).
Boto
64
Aceso uma aplicao est sendo executada
Piscando execuo da aplicao est parada
Apagado - nenhuma aplicao vlida no CLP ou este est com falha
65
Figura 4.6: Portas de comunicao.
XBT Z 968
T FTX 1020/050
Terminal de
programao
Terminal de
programao CCX 17
66
que est adaptada ao tratamento combinatrio com as seguintes caractersticas: (i)
oferece smbolos grficos de base (contatos e bobinas); (ii) a escrita de clculos
numricos pode ser efetuada nos blocos de operao; e, (iii) uma linguagem booleana
que a linguagem de lista de instrues, sendo uma linguagem de mquina com
escrita de tratamentos lgicos e numricos; b) Uma linguagem literal estruturada que
uma linguagem do tipo informtica com uma escrita estruturada de tratamentos
lgicos e numricos; c) Uma linguagem Grafcet que permite representar graficamente e
de forma estruturada o funcionamento de um automatismo seqencial.
Estas linguagens formulam blocos de funes predefinidas (temporizadores,
contadores etc), funes especficas (analgica, comunicao, contagem etc) e funes
particulares (controle de tempo, cadeia de caracteres etc). Os objetos da linguagem
podem ser simbolizados mediante o editor de variveis na rea de trabalho do programa.
67
4.2.2. Ambiente de trabalho do PL7 Micro
1 2 3 4
5
6
4.2.3. Programao
A linguagem de contatos pode mostrar simultaneamente variveis e smbolos.
Os objetos da linguagem podem ser simbolizados usando-se o editor de variveis na
rea de trabalho do programa. O usurio pode introduzir e visualizar os objetos
68
mediante suas variveis (%M1, %M2), ou mediante uma cadeia de caracteres (mximo
32 caracteres) denominada smbolo (Ligar, Sensor_1, Sensor_2, por exemplo),
conforme mostra a figura 4.9.
69
TSX 3722 verso 1.5 do software. Note que, no mesmo quadro aparece a opo para ser
utilizada a linguagem Grafcet, deve-se clicar na opo No, pois a linguagem a ser
utlizada ser a linguagem ladder, a ser selecionada mais adiante. As opes de 32K ou
64K, mostradas na figura 4.11, s podem ser selecionadas quando existir a placa
PCMCIA para a expanso de memria. No caso do laboratrio proposto neste trabalho,
o modelo utilizado no possui esta placa; portanto, deve ser selecionada a opo None.
70
Figura 4.13: Seleo da linguagem a ser utilizada.
71
Contato normalmente aberto S Seta o bit associado para 1 quando este recebe nvel 1
F2 F12
Contato normalmente fechado R Seta o bit associado para 0 qdo. este recebe nvel 1
F3 S-F1
x Apaga uma linha construda na vertical ... Bloco para acessar as subrotinas
F8 S-F6
Seta o bit associado para um valor recebido F (...) Bloco de funes pr -definidas (PID, etc...)
F10 S-F8
Smbolo Operando
%I, %Q, %M, %S, %BLK
%I, %Q, %M, %S, %BLK
P %I, %Q, %M
N %I, %Q, %M
%Q, %M, %FBs
%Q, %M, %FBs
S %Q, %M, %FBs
R %Q, %M, %FBs
72
Estando o programa no ambiente de programao, conforme mostrado na figura
4.18, clique na funo F2 (no teclado do computador) ou arraste o mouse at o ponto
indicado pela seta A mostrada na figura 4.18 e clique no boto esquerdo do mouse; a
partir deste momento, quando o mouse for arrastado, a figura da funo selecionada
aparecer ao lado da seta do mouse no monitor. Arraste o mouse at o ponto de incio
do programa indicado por B que a clula inicial. Neste momento ir aparecer o
contato NA selecionado e um retngulo aparecer sobre o contato pedindo que seja
especificada a descrio do contato, conforme figura 4.19, neste caso deve-se digitar
%I1.0. Aps digitar I1.0 aperte no boto ENTER do teclado. O resultado mostrado na
figura 4.20, estando, portanto, criada a chave NA referente ao circuito da figura 4.17.
Para criar a sada, clique com o boto direito do mouse sobre o ponto indicado
pela seta C (figura 4.18); a partir deste momento acontece o mesmo que na criao da
chave NA, a figura referente a sada aparecer ao lado da seta do mouse. Arraste o
mouse para posicionar ao lado da figura da chave NA %I1.0 e clique com o boto do
lado direito do mouse. O resultado mostrado na figura 4.21. Digite, ento, o tipo de
sada desejada, neste caso deve-se digitar Q2.0 e apertar, agora, duas vezes na tecla
ENTER do teclado do computador. O resultado mostrado na figura 4.22, o programa
est criado e pronto para ser transferido para o PLC.
A C
73
Figura 4.19: Incio do programa: especificar o contato NA.
74
4.3. Esteira transportadora
Sensores
Liga
127 VCA +
Rede Desliga
24 VCC
-
+ 24 V - Habilita Esteira + 24 V - Inverte Sentido
+24 Vcc
Sensor 1
NPN PNP
+24 Vcc
Sensor 2
NPN PNP
102 mm
610 mm
Comunicao entre esteira e
painel
75
detalhadamente o painel. Internamente o painel constitudo por um transformador de
127 volts para 24 volts e uma placa eletrnica para realizar a inverso de alimentao do
motor, isto , para que o motor possa inverter o sentido de rotao.
Liga
127 VCA +
Rede Desliga
24 VCC
-
+ 24 V - Habilita Esteira + 24 V - Inverte Sentido
+24 Vcc
Sensor 1
NPN PNP
+24 Vcc
Sensor 2
NPN PNP
Motor
76
Marron
Cabo do sensor +V
PNP Preto
NA
Carga
Azul
0V
Carga
Branco
NF
77
Figura 4.29: Pontos de alimentao 127 V da rede eltrica e 24 VDC via CLP.
127 VAC
24 VDC
Fase Neutro
Lmpada
130 V / 15
W
Rel
Sada
do
CLP
Figura 4.31: Esquema simplificado para acionamento de uma lmpada via CLP.
78
Botoeira A
chave
B
1 5
Boto
2 6
3 7
4 8
Entrada Sadas
Figura 4.32: Conjunto de chaves de impulso sem reteno.
CLP
9
10 %I1.9
10
11 11 %I1.10
12 12 %I1.11
13 13 %I1.12
14 14 %I1.13
15 15 %I1.14
16 16 %I1.15
17 +24VDC Source
17
18 0VDC
18
19 Sink
20 19 NC
21 20 %Q2.0
22 21
23 22 %Q2.1
24VDC
24 23 %Q2.2
25
24 %Q2.3
26
0VDC 25
27
28 26 %Q2.4
29 27 %Q2.5
L 30 28 %Q2.6
31 29 %Q2.7
127/220VCA 32 30
33
31 %Q2.8
N 34
35 32 %Q2.9
33 %Q2.10
34 %Q2.11
35
Figura 4.33: Esquema de ligao do mdulo TSXDMZ 28DR do CLP TSX 37-22.
79
A B
Botoeira chave
1 5
2 6
3 7
130V 130V 130V
4 8
15W 15W 15W
TSXDMZ
L1 L4 L7
28DR
1
2
3 130V 130V 130V
4
5
6 15W 15W 15W
7
8
9 24VDC
CLP 10
11
80
13
12 L1 L2 L5 L8
14 L2
15
16 L3
17
18 L4 130V 130V 130V
19 L5
20
21 L6 15W 15W 15W
22
23
24VDC 24 L7
25 L8
26 L3 L6 L9
0VDC 27 L9
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35 COM
TSXDMZ
L1 L4 L7
28DR
1
2
3 130V 130V 130V
4
5
6 15W 15W 15W
7
8
9 24VDC
CLP 10
11
81
13
12 L1 L2 L5 L8
14 L2
15
16 L3
17
18 L4 130V 130V 130V
19 L5
20
21 L6 15W 15W 15W
22
23
24VDC 24 L7
25 L8
26 L3 L6 L9
0VDC 27 L9
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35 COM
N
F
Rede Eltrica 127 VAC
Rels de 24V - 5A
TSXDMZ
L1 L4 L7
28DR
1
2
3 130V 130V 130V
4
5
6 15W 15W 15W
7
8
9 24VDC
CLP 10
11
82
12 L1 L2 L5 L8
13
14 L2
15
16 L3
17
18 L4
(experimento 4).
19
130V 130V 130V
20 L5
21 L6 15W 15W 15W
22
23
24VDC 24 L7
25 L8
26 L3 L6 L9
0VDC 27 L9
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35 COM
N
F
Rede Eltrica 127 VAC
TSXDMZ Liga
28DR L
127 VCA +
1 Rede Eltrica Rede Desliga
2 N 24 VCC
3 -
4
5 + 24 V - Habilita Esteira + 24 V - Inverte Sentido
6
83
7
8
9 +24 Vcc
CLP 10
11
12 Sensor 1
(experimento 5).
13
14 NPN PNP
15 +24 Vcc
16
17
18 Sensor 2
19
20 NPN PNP
21
22
23
24VDC 24
25
26
0VDC 27
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35
84
8
9 +24 Vcc +24 Vcc
CLP 10
11
12 Sensor 1 Sensor 1
13
14 NPN PNP NPN PNP
15
(experimento 6).
+24 Vcc +24 Vcc
16
17
18 Sensor 2 Sensor 2
19
20 NPN PNP NPN PNP
21
22
23
24VDC 24
25
26
0VDC 27
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35
Esteira 1 Esteira 2
85
8
9 +24 Vcc +24 Vcc
CLP 10
11
12 Sensor 1 Sensor 1
13
14 NPN PNP NPN PNP
15
(experimento 7).
+24 Vcc +24 Vcc
16
17
18 Sensor 2 Sensor 2
19
20 NPN PNP NPN PNP
21
22
23
24VDC 24
25
26
0VDC 27
28
L 29
30
31
Rede Eltrica 127/220VCA 32
N 33
34
35
Esteira 1 Esteira 2
86
Sensor 1 Sensor 2
Avanar
Movimento da esteira
A Retroceder B
Movimento da esteira
87
Apagar lmpada
t3
v3
p3 p2
Acender lmpada
Lmpada apagada Lmpada acesa
Acionar boto
t2
p1 p4
t1 Boto acionado Boto para ligar a
lmpada desabilitado
Desabilitar
acionamento do boto
t4
Suponha ainda que o estado inicial desta rede de Petri x0= [0, 0, 1, 0], isto , a
lmpada se encontra apagada e o boto ainda no foi apertado.
Para obter a dinmica desta rede de Petri, deve-se inicialmente encontrar a
matriz de incidncia A, que ser uma matriz 4x4 cujos elementos (j, i) so da forma
aji=w(tj, pi) w(pi, tj), sendo, portanto, dada por:
1 0 0 0
1 1 1 1
A=
0 1 1 0
1 0 0 0
Usando a matriz de incidncia A, pode-se, a partir da equao de estados x' = x
+ uA, simular os resultados de todos os prximos estados que podem ser gerados a
partir do disparo das transies.
Com o disparo de t1 tem-se u1=[1, 0, 0, 0], ento:
x1= x0 + u1.A, x1 = [0, 0, 1, 0] + [1, 0, 0, 0].A = [1, 0, 1, 0]
A partir do disparo de t1, a transio t2 fica habilitada, disparando
imediatamente. Assim, a lmpada acender e portanto:
x2= x1 + u2.A, x2= [1, 0, 1, 0] + [0, 1, 0, 0].A = [0, 1, 0, 1]
x3= x2 + u3.A, x3= [0, 1, 0, 1] + [0, 0, 1, 0].A = [0, 0, 1, 0] = x0
Se t1 for disparada antes do final do ciclo, t4 dispara desabilitando o acionamento
do boto, tem-se:
x'2= [0, 1, 0, 1] + [1, 0, 0, 0].A = x'2= [1, 1, 0, 1]
x'3= [1, 1, 0, 1] + [0, 0, 0, 1].A = x'3= [0, 1, 0, 1] = x3
88
Lembrando que i,k denota o instante em que o lugar pi recebe seu k-simo disco
e que j,k o k-simo tempo de disparo da transio tj, ento para este experimento
pode-se decompor o modelo dentro das dinmicas de transies individuais, que so:
Equaes dos instantes de tempo que os lugares recebem os discos (1).
1,k = 1,k, k = 1, 2, ...
2,k = 2,k, k = 1, 2, ...
3,k = 3,k-1, k = 2, 3, ..., 3,1 = 0
4,k = 2,k, k = 1, 2, ...,
Equaes dos instantes de tempo de disparo das transies (2).
1,k = 1,k, k = 1, 2, ...
2,k = max{1,k, 3,k}, k = 1, 2, ...
3,k = max{2,k, 4,k}+ v3,k, k = 1, 2, ...,
4,k = max{1,k, 4,k}, k = 1, 2, ...,
As equaes acima podem ser arranjadas, levando seguinte forma recursiva e
desprezando 4,k, pois apenas uma condio para desabilitar o boto e no influencia
no tempo do ciclo, tem-se:
1,k = 1,k ,
2,k = max{1,k, 3,k}, com condio inicial 3,1 = 0,
3,1 = 3,k + v1,k .
Note que a evoluo desse sistema depende de 1,k. Para ilustrar esse
experimento, considere a seguinte sequncia: 1,k={0, 12, 25}. Tem-se ento:
1,1 = 1,1 = 0,
2,1 = max{1,1, 3,1}= max{0, 0} = 0,
3,2 = 3,1 + v1,1 = 0 + 10 = 10,
A lmpada fica, agora, 2 segundos apagada antes de ser acesa novamente.
1,2 = 12,
2,2 = max{1,1, 3,2}= max{12, 10} = 12,
3,3 = 12 + 10 = 22,
A lmpada fica, agora, 3 segundos apagada antes de ser acesa novamente.
1,3 = 25,
2,2 = max{25, 22}= 25,
3,4 = 25 + 10 = 35,
89
O programa em linguagem ladder para implementao no CLP mostrado na
figura 5.3, onde %I1.0 a entrada do CLP acionada por uma chave para ligar a lmpada
e %Q2.0 a sada do CLP para acionar o mdulo de lmpadas e %TM0 o
temporizador, ajustado para um atraso de 10s.
TM.P: 10
MODIF: Y
tempo = 10s
p3 p2
Lmpada apagada Acender lmpada Lmpada acesa
4 tempo = 0s
t2
Acionar boto
p1
t1 Contador
Figura 5.4: Redes de Petri para ligar uma lmpada utilizando um contador.
90
experimento anterior, e w(p1, t2) = 4, w(p2, t3) = 1, w(p3, t2) = 1, w(t1, p1) = 1, w(t2, p2) =
1, w(t3, p3) = 1. (V={v3} e v3={v3,1, v3,2, v3,3, ...} = {10, 10, 10, ...}).
O estado inicial desta rede de Petri x0= [0, 0, 1], e por inspeo pode-se
encontrar a matriz de incidncia A da rede de Petri da figura 5.4, uma matriz 3x3 cujo
elemento (j, i) da forma aji= w(tj, pi) w(pi, tj), dada por:
1 0 0
A = 4 1 1
0 1 1
x1= [1, 0, 1]
A partir do primeiro disparo de t1, nenhuma transio habilitada, pois para que
a transio t2 possa ser habilitada necessrio que ocorram quatro disparos da transio
t1, que habilitar t2 fazendo com que o prximo disparo estado seja [0, 1, 0], conforme
descrito na seqncia a seguir:
x2= [1, 0, 1] + [1, 0, 0].A
x2= [2, 0, 1]
x3= [2, 0, 1] + [1, 0, 0].A
x3= [3, 0, 1]
x4= [3, 0, 1] + [1, 0, 0].A
x4= [4, 0, 1]
x5= [4, 0, 1] + [0, 1, 0].A
x5= [0, 1, 0]
Assim como no experimento anterior, os prximos estados dependero do
nmero de vezes que o boto seja acionado antes que sejam decorridos v3 segundos. A
evoluo desse sistema melhor visualizada utilizando-se as equaes dos instantes de
disparo das transies . Para tanto note que:
Equaes dos instantes de tempo que os lugares recebem os discos (1).
91
1,k = 1,k, k = 1, 2, ...
2,k = 2,k, k = 1, 2, ...
3,k = 3,k-1, k = 2, 3, ..., 3,1 = 0
Equaes dos instantes de tempo de disparo das transies (2).
1,k = 1,k, k = 1, 2, ...
2,k = max{1,4k, 3,k}, k = 1, 2, ...
3,k = 3,k + v3,k, k = 1, 2, ...
Essas equaes podem ser colocadas na seguinte forma recursiva:
1,k = 1,k,
2,k = max{3,k-1, 1,4k}, 3,1 = 0
3,k = 2,k + v3,k,
que depende inicamente das sequncias 1,k e v3,k. Considere, ento a sequncia: 1,k =
{1, 2, 5, 10, 12, 14, 16, 19, 25, 36, 39, 41}. Portanto:
1,1 = 1, 1,2 = 2, 1,3 = 5, 1,4 = 10
2,1 = max{3,1, 1,4}= max{ 0, 10}= 10
3,1 = 10 + 10 = 20
92
lmpadas, %TM0 o temporizador, ajustado para um atraso de 10s e %C0 contador,
ajustado para o nmero de contagem igual a 4.
% M0 % TM0 % Q2.0
P IN TM Q
MODE: TON
TB: 1s
TM.P: 5
MODIF: Y
% Q2.0 % C0
N R C E
%M0
S D
% I1.0 C.P: 4
CU F
MODIF: Y
CD
93
(sincronizados). Em todos os semforos, o tempo que o sinal verde permanecer ligado
ser de 15s e o tempo do sinal amarelo de 6s. Deve-se ressaltar que a mudana de
sinal entre os dois semforos s ocorrer 3s aps o sinal vermelho acender em todos os
semforos. Por exemplo, no semforo 1 o sinal vermelho s passar para o sinal verde
aps 3s dos semforos 2 e 3 estiverem passado para o sinal vermelho.
Semforo 3
Semforo 1
Semforo 2
Avenida A
Avenida B
Para obter o modelo (P, T, A, w, x, V) da rede de Petri, note que os eventos desse
sistema so: (i) ligar semforos (lmpada verde do semforo 1 juntamente com as
lmpadas vermelhas dos semforos 2 e 3 acendem) ; (ii) desligar lmpada verde
semforo 1 e ligar lmpada amarela do semforo 1; (iii) desligar lmpada amarela do
semforo 1 e ligar lmpada vermelha do semforo 1; (iv) desligar lmpadas vermelhas
dos semforos 2 e 3 e ligar lmpadas verdes dos semforos 2 e 3; (v) desligar lmpadas
verdes dos semforos 2 e 3 e ligar lmpadas amarelas dos semforos 2 e 3; (vi) desligar
lmpadas amarelas dos semforos 2 e 3 e ligar lmpadas vermelhas dos semforos 2 e 3;
(vii) desligar lmpada vermelha do semforo 1 e ligar a lmpada verde do semforo 1,
voltando ao estado inicial. Esses eventos do origem ao conjunto T = {t1, t2, t3, t4, t5, t6,
t7}. Os lugares, que representam as condies para que os eventos ocorram so:
lmpada verde semforo 1 acesa (p1), lmpadas vermelhas dos semforos 2 e 3 acesas
94
(p2), lmpada amarela do semforo 1 acesa (p3), lmpada vermelha do semforo 1 acesa
(p4), lmpadas verdes dos semforos 2 e 3 acesas (p5), lmpadas amarelas dos
semforos 2 e 3 acesas (p6), indica mudana de sinal do amarelo para o vermelho nos
semforos 2 e 3 (p7), indica mudana do sinal amarelo para o vermelho no semforo 1
(p8), definindo, portanto, o conjunto P = {p1, p2, p3, p4, p5, p6, p7, p8}. Os elementos da
rede de Petri so: A={(p1, t2), (p2, t4), (p3, t3), (p4, t7), (p5, t5), (p6, t6), (p7, t7), (p8, t4), (t1,
p1), (t1, p2), (t2, p3), (t3, p4), (t3, p8), (t4, p5), (t5, p6), (t6, p2), (t6, p7)}, w(p1, t2)=1, w(p2,
t4)=1, w(p3, t3)=1, w(p4, t7)=1, w(p5, t5)=1, w(p6, t6)=1, w(p7, t7)=1, w(p8, t4)=1, w(t1,
p1)=1, w(t1, p2)=1, w(t2, p3)=1, w(t3, p4)=1, w(t3, p8)=1, w(t4, p5)=1, w(t5, p6)=1, w(t6,
p2)=1, w(t6, p7)=1, x[x(p1), x(p2), x(p3), x(p4), x(p5), x(p6), x(p7), x(p8)], onde x0=[0, 0, 0, 0, 0, 0,
0, 0] e v2={v2,1, v2,2, v2,3, ...}={15, 15, 15, ...}, v3={v3,1, v3,2, v3,3, ...}={6, 6, 6, ...}, v4={v4,1, v4,2, v4,3,
...}={3, 3, 3, ...}, v5={v5,1, v5,2, v5,3, ...}={15, 15, 15, ...}, v6={v6,1, v6,2, v6,3, ...}={6, 6, 6, ...},
v7={v7,1, v7,2, v7,3, ...}= {3, 3, 3, ...}.
Ligar semforos
t1
Semforo 1 passou do sinal
amarelo para o vermelho
Lmpada vermelha
acesa
p1
Lmpada verde acesa
(semforo 1) p8 (semforos 2 e 3)
p2
t2 t4
Acender lmpada
amarela (semforo 1) Acender lmpada
v2 v4 verde
p3 p5
t3 t5
Acender lmpada Acender lmpada
vermelha amarela
(semforo 1)
v3 v5 (semforos 2 e 3)
Lmpada vermelha
acesa (semforo 1) Lmpada amarela
acesa
p4 p6 (semforos 2 e 3)
t7 t6
Acender lmpada verde Acender lmpada
(semforo 1) vermelha
v7 p7 v6 (semforos 2 e 3)
Semforos 2 e 3 passaram do
sinal amarelo para o vermelho
95
1 1 0 0 0 0 0 0
1 0 1 0 0 0 0 0
0 0 1 1 0 0 0 1
A= 0 1 0 0 1 0 0 1
0 0 0 0 1 1 0 0
0 1 0 0 0 1 1 0
1 0 0 1 0 0 1 0
Usando a matriz de incidncia A, pode-se a partir da equao de estados, x' = x +
u.A, simular os resultados de todos os prximos estados que podem ser gerados a partir
do disparo das transies.
t1: u1 = [1, 0, 0, 0, 0, 0, 0] x1 = x0 + u1.A = [1, 1, 0, 0, 0, 0, 0, 0]
t2: u2 = [0, 1, 0, 0, 0, 0, 0] x2 = x1 + u2.A = [0, 1, 1, 0, 0, 0, 0, 0]
t3: u3 = [0, 0, 1, 0, 0, 0, 0] x3 = x2 + u3.A = [0, 1, 0, 1, 0, 0, 0, 1]
t4: u4 = [0, 0, 0, 1, 0, 0, 0] x4 = x3 + u4.A = [0, 0, 0, 1, 1, 0, 0, 0]
t5: u5 = [0, 0, 0, 0, 1, 0, 0] x5 = x4 + u5.A = [0, 0, 0, 1, 0, 1, 0, 0]
t6: u6 = [0, 0, 0, 0, 0, 1, 0] x6 = x5 + u6.A = [0, 1, 0, 1, 0, 0, 1, 0]
t7: u7 = [0, 0, 0, 0, 0, 0, 1] x7 = x6 + u7.A = [1, 1, 0, 0, 0, 0, 0, 0]
As equaes de estado para os tempos de disparos das transies, so:
Equaes dos instantes de tempo para os lugares receberem o disco (1).
1,k , k = 1
1,k =
1,k , k 1
1,k , k = 1
2,k =
6 , k , k 1
3,k = 2,k
4,k = 3,k
5,k = 4,k
6,k = 5,k
7,k = 6,k
8,k = 3,k
Equaes do instante de tempo de disparo das transies (2).
1,k (definido apenas para k=1): 1,1 = 0
2,k = 1,k + v2,k
3,k = 3,k + v3,k
96
4,k = max{8,k; 2,k}+ v4,k
5,k = 5,k + v5,k
6,k = 6,k + v6,k
7,k = max{4,k; 7,k} + v7,k
Substituindo as equaes de 1 em 2, temos:
1,k (definido apenas para k=1): 1,1 = 0
1,k + v 2,k , k = 1
2,k =
7,k -1 + v 2,k , k 1
3,k = 2,k + v3,k
max{ 3,k , 1,k } + v 4,k , k = 1
4, k =
max{ 3,k , 6,k -1} + v 4,k , k 1
max{ 2,k + v3,k , 1,k } + v 4,k , k = 1
4, k =
max{ 2,k + v3,k , 6,k -1} + v 4,k , k 1
max{1,k + v 2,k + v3,k , 1,k } + v 4,k , k = 1
4, k =
max{ 7,k -1 + v 2,k + v3,k , 6,k -1} + v 4,k , k 1
como 2,1 = 0, ento:
v 2,k + v3,k + v 4,k , k = 1
4, k =
max{ 7,k -1 + v 2,k + v3,k , 6,k -1} + v 4,k , k 1
5,k = 5,k + v5,k
v 2,k + v3,k + v 4,k + v5,k , k = 1
5, k =
max{ 7,k -1 + v 2,k + v3,k , 6,k -1} + v 4,k + v5,k , k 1
6,k = 6,k + v6,k
v 2,k + v3,k + v 4,k + v5,k + v6,k , k = 1
6,k =
max{ 7,k -1 + v 2,k + v3,k , 6,k -1} + v 4,k + v5,k + v6,k , k 1
7,k = max{4,k; 7,k} + v7,k
max{max{ 3,k , 1,k }, 6,k } + v7,k , k = 1
6,k =
max{max{ 3,k , 6,k -1}, 6,k } + v7,k , k 1
Portanto:
1,k (definido apenas para k=1): 1,1 = 0
1,k + v 2,k , k = 1
2,k =
7,k -1 + v 2,k , k 1
97
3,k = 2,k + v3,k
1,k + v 2,k + v3,k + v 4,k , k = 1
4, k =
7,k -1 + v 2,k + v3,k + v 4,k , k 1
1,k + v 2,k + v3,k + v 4,k + v5,k , k = 1
5, k =
7,k -1 + v 2,k + v3,k + v 4,k + v5,k , k 1
1,k + v 2,k + v3,k + v 4,k + v5,k + v6,k , k = 1
6,k =
7,k -1 + v 2,k + v3,k + v 4,k + v5,k + v6,k , k 1
1,k + v 2,k + v3,k + v 4,k + v5,k + v6,k + v7,k , k = 1
7,k =
7,k -1 + v 2,k + v3,k + v 4,k + v5,k + v6,k + v7,k , k 1
O programa em linguagem ladder que realiza a seqncia de transies para
implementao do experimento dos semforos da interseo T no CLP mostrado na
figura 5.8. %I1.0 a chave para ligar o sistema, %Q2.0 acende a lmpada verde do
semforo 1, %Q2.1 acende a lmpada amarela do semforo 1, %Q2.2 acende a lmpada
vermelha do semforo 1, %Q2.3 acende a lmpada verde do semforo 2, %Q2.4 acende
a lmpada amarela do semforo 2 e %Q2.5 acende a lmpada vermelha do semforo 2.
% M4 % TM2 %M6
TM % M12
N IN Q
MODE: TP %M7
TB: 1s % M14
TM.P: 3
MODIF: Y % M9 % Q2.3
TM.P: 15 %M10 % M5
MODIF: Y
TM.P: 6
MODIF: Y
98
(ii) Quarto experimento
Neste experimento ser implementado um programa para executar o controle de
sistema de trfego de veculos em um ponto de travessia de pedestre. O sistema possui
dois semforos, um para os veculos com trs lmpadas sinalizadoras (verde, amarela e
vermelha) e outro para o pedestre com duas lmpadas sinalizadoras (verde e vermelha).
Quando o pedestre chega a uma via pblica (figura 5.9) e deseja atravessar esta
via, usando o recurso do semforo de controle de trnsito, ele dever acionar um boto
no poste prximo a passagem em um painel de comando para poder ativar o sistema.
Aps acionado o pedido de passagem, o programa dever executar um tempo de espera
de 20s para poder iniciar o ciclo de mudana nas lmpadas do semforo. Quando a
mudana comear, a luz verde, para passagem de veculos, dever piscar quatro vezes
at que mude para o sinalizador amarelo, e em seguida para o vermelho. Durante a
passagem do sinal amarelo para o sinal vermelho, a luz amarela deve permanecer por 6s
acesa. Aps 3s da passagem do sinal amarelo para o sinal vermelho no semforo para
passagem de veculos, o sinalizador para passagem de pedestre passar do sinal
vermelho para o verde, permanecendo assim por 15s. Ao final deste perodo a lmpada
verde, do sinal de pedestre dever, tambm, piscar quatro vezes, indicando o final do
perodo e, em seguida, retornar para o vermelho. Aps 3s da passagem do sinal verde
para o vermelho da passagem de pedestre, que o sinalizador para passagem de
veculos voltar para o sinal verde. A tabela 5.2 mostra a evoluo dos estados do
experimento e a figura 5.10 mostra a modelagem em rede de Petri.
99
Tabela 5.2: Evoluo de estados da passagem de pedestre.
Estado das lmpadas
Semforo - Carros Semforo - Pedestre
Vermelha Amarela Verde Vermelha Verde Boto
1 OFF OFF ON ON OFF OFF
2 OFF OFF ON ON OFF ON
3 OFF OFF ON / OFF ON OFF XX
4 OFF ON OFF ON OFF XX
5 ON OFF OFF ON OFF XX
6 ON OFF OFF OFF ON XX
7 ON OFF OFF OFF ON / OFF XX
8 ON OFF OFF ON OFF XX
9 OFF OFF ON ON OFF ON ou OFF
Para obter o modelo (P, T, A, w, x, V) da rede de Petri, note que os eventos desse
sistema so: (i) apertar boto; (ii) fazer lmpada verde semforo de veculos piscar; (iii)
desligar lmpada verde do semforo de veculos e ligar lmpada amarela do semforo
de veculos; (iv) desligar lmpada amarela do semforo de veculos e ligar lmpada
vermelha do semforo de veculos; (v) desligar lmpada vermelha do semforo de
pedestre e ligar lmpada verde do semforo de pedestre; (vi) piscar lmpada verde do
semforo de pedestre; (vii) desligar lmpada verde do semforo de pedestre e ligar
lmpada vermelha do semforo de pedestre; (viii) desligar lmpada vermelha do
semforo de veculos e ligar lmpada verde do semforo de veculos, voltando ao estado
inicial. Esses eventos do origem ao conjunto T = {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12,
t13}. Os lugares, que representam as condies para que os eventos ocorram so:
lmpada verde do semforo de veculos acesa (p1), boto para passagem de pedestre
acionado (p2), torna invlido todos os acionamentos do boto durante a realizao do
ciclo de passagem de pedestre (p3), condio para lmpada verde do semforo de
veculos comear a piscar (p4), lmpada verde do semforo de veculos apagada (p5),
nmero de vezes que a lmpada verde do semforo de veculos pisca (p6), lmpada
amarela do semforo de veculos acesa (p7), lmpada vermelha do semforo de veculos
acesa (p8), indica mudana do sinal amarelo para o vermelho no semforo de veculos
(p9), lmpada vermelha do semforo de pedestre acesa (p10), lmpada verde do semforo
de pedestre acesa (p11), condio para lmpada verde do semforo de pedestre comear
a piscar (p12), lmpada verde do semforo de pedestre apagada (p13), nmero de vezes
que a lmpada verde do semforo de pedestre deve piscar (p14), indica mudana do sinal
verde para o vermelho no semforo de passagem de pedestre (p15), definindo, portanto,
100
o conjunto P = {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15}. Os elementos
da rede de Petri so: A={(p1, t1), (p1, t2), (p2, t1), (p3, t4), (p3, t8), (p4, t2), (p4, t6), (p5, t5),
(p5, t6), (p6, t6), (p7, t7), (p8, t8), (p9, t9), (p10, t9), (p11, t10), (p11, t11), (p12, t11), (p12, t13),
(p13, t12), (p13, t13), (p14, t13), (p15, t8), (t1, p3), (t1, p4), (t1, p5), (t2, p4), (t2, p5), (t2, p6), (t3,
p2), (t4, p3), (t5, p1) (t6, p7), (t7, p8), (t7, p9), (t8, p1), (t9, p11), (t10, p12), (t11, p12), (t11, p13),
(t11, p14) (t12, p11), (t13, p10), (t13, p15)}, w(p1, t1)=1, w(p1, t2)=1, w(p2, t1)=1, w(p3, t4)=1,
w(p3, t8)=1, w(p4, t2)=1, w(p4, t6)=1, w(p5, t5)=1, w(p5, t6)=1, w(p6, t6)=4, w(p7, t7)=1,
w(p8, t8)=1, w(p9, t9)=1, w(p10, t9)=1, w(p11, t10)=1, w(p11, t11)=1, w(p12, t11)=1, w(p12,
t13)=1, w(p13, t12)=1, w(p13, t13)=1, w(p14, t13)=4, w(p15, t8)=1, w(t1, p3)=1, w(t1, p4)=1,
w(t1, p5)=1, w(t2, p4)=1, w(t2, p5)=1, w(t2, p6)=1, w(t3, p2)=1, w(t4, p3)=1, w(t5, p1)=1,
w(t6, p7)=1, w(t7, p8)=1, w(t7, p9)=1, w(t8, p1)=1, w(t9, p11)=1, w(t10, p12)=1, w(t11, p12)=1,
w(t11, p13)=1, w(t11, p14)=1, w(t12, p11)=1, w(t13, p10)=1, w(t13, p15)=1, x[x(p1), x(p2), x(p3),
x(p4), x(p5), x(p6), x(p7), x(p8), x(p9), x(p10), x(p11), x(p12), x(p13), x(p14), x(p15)], onde
x0=[1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] e v1={v1,1, v1,2, v1,3, ...}= {16, 16, 16, ...},
v2={v2,1, v2,2, v2,3, ...}= {0.5, 0.5, 0.5, ...}, v3={v3,1, v3,2, v3,3, ...}={0, a, b, ...}, v5={v5,1, v5,2,
v5,3, ...}={0.5, 0.5, 0.5, ...}, v7={v7,1, v7,2, v7,3, ...}={6, 6, 6, ...}, v8={v8,1, v8,2, v8,3, ...}={3,
3, 3, ...}, v9={v9,1, v9,2, v9,3, ...}={3, 3, 3, ...}, v10={v10,1, v10,2, v10,3, ...}= {11, 11, 11, ...} ,
v11={v11,1, v11,2, v11,3, ...}={0.5, 0.5, 0.5, ...}, v12={v12,1, v12,2, v12,3, ...}={0.5, 0.5, 0.5, ...}.
Uma vez caracterizados todos os elementos da rede de Petri, o prximo passo
obter a evoluo dos estados. A partir da figura 5.10 pode-se obter a matriz de
incidncia A. Portanto:
1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 4 1 0 0 0 0 0 0 0 0
A= 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0
1 0 1 0 0 0 0 1 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 0 0 0 1 0 1 1 4 1
101
Lmpada verde acesa
(semforo)
p1 Solicitao de
Passagem t3
Acionar
boto
t2 t1 v3
Apagar
p2
Apagar lmpada
lmpada
v2 v1
Retirar
discos de p2
Invalida todos os p3 t4
Inicia ciclo
p4 Lmpada verde
apagada t5
acionamentos do boto
durante o ciclo
para lmp. (semforo)
piscar
p5 v5
4 Acender lmpada
verde (semforo)
Condio para
mudana de sinal p11
Lmpada vermelha acesa
(semforo) p15
p8
t11 t10
t8 Apagar
Apagar lmpada
Acender lmpada verde lmpada
(semforo veculos) v11 v10
v8
v12
4 p13 Acender lmpada verde
(passagem)
p14
Nmero de vezes t13
que a lmpada
Acender lmpada verde
verde (p1) deve
(passagem) e habilitar
piscar
condio
102
Usando a matriz de incidncia A, pode-se, a partir da equao de estados, x' = x
+ u.A, simular os resultados de todos os prximos estados que podem ser gerados a
partir do disparo das transies. x0=[1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
A partir do disparo da transio t3, tem-se:
t3: u1 =[0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x1 = x0 + u1.A = [1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t1: u2 =[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x2 = x1 + u2.A = [0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t5: u3 =[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
x3 = x2 + u3.A = [1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t2: u4 =[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x4 = x3 + u4.A = [0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t5: u5 =[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
x5 = x4 + u5.A = [1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t2: u6 =[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x6 = x5 + u6.A = [0, 0, 1, 1, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t5: u7 =[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
x7 = x6 + u7.A = [1, 0, 1, 1, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t2: u8 =[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x8 = x7 + u8.A = [0, 0, 1, 1, 1, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t5: u9 =[0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
x9 = x8 + u9.A = [1, 0, 1, 1, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t2: u10 =[0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
x10 = x9 + u10.A = [0, 0, 1, 1, 1, 4, 0, 0, 0, 1, 0, 0, 0, 0, 0]
t6: u11 =[0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
x11 = x10 + u11.A = [0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0]
t7: u12 =[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
x12 = x11 + u12.A = [0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0]
t9: u13 =[0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0]
x13 = x12 + u13.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0]
t10: u14 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0]
x14 = x13 + u14.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0]
t12: u15 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
x15 = x14 + u15.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0]
103
t11: u16 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
x16 = x15 + u16.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0]
t12: u17 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
x17 = x16 + u17.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0]
t11: u18 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
x18 = x17 + u18.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0]
t12: u19 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
x19 = x18 + u19.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 2, 0]
t11: u20 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0]
x20 = x19 + u20.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 0]
t12: u21 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
x21 = x20 + u21.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 3, 0]
t11: u22 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0]
x22 = x21 + u22.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 4, 0]
t13: u23 =[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]
x23 = x22 + u23.A = [0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1]
t8: u24 =[0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]
x24 = x23 + u24.A = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0]=x0
1,k , k = 1,6,11,16,21,...
4,k =
2 , k , k = 2,3,4,5,7,8,9,10,12,...
1,k , k = 1,6,11,16,21,...
5, k =
2 , k , k = 2,3,4,5,7,8,9,10,12,...
104
7,k = 6,k, k = 1,2,3,
8,k = 7,k, k = 1,2,3,
9,k = 7,k, k = 1,2,3,
10,k = 13,k-1, k = 1,2,3,; 1,1 = 0
9,k , k = 1,6,11,16,21,...
11,k =
12,k , k = 2,3,4,5,7,8,9,10,12,...
10,k , k = 1,6,11,16,21,...
12,k =
11,k , k = 2,3,4,5,7,8,9,10,12...
10,k , k = 1,6,11,16,21,...
13,k =
11,k , k = 2,3,4,5,7,8,9,10,12...
105
t5: 5,2 = 2,1 + v5,2= v1,1+ v2,1+ v3,1 + v5,1+ v5,2; (disco: 1,3)
t2: 2,2 = 5,2 + v2,2= v1,1+ v2,1+ v2,2+ v3,1 + v5,1+ v5,2; (disco: 4,3, 5,3, 6,2)
t5: 5,3 = 2,2 + v5,3= v1,1+ v2,1+ v2,2+ v3,1 + v5,1+ v5,2+ v5,3; (disco: 1,4)
t2: 2,3 = 5,3 + v2,3= v1,1+ v2,1+ v2,2+ v2,3+ v3,1 + v5,1+ v5,2+ v5,3; (disco: 4,4, 5,4, 6,3)
t5: 5,4 = 2,3 + v5,4= v1,1+ v2,1+ v2,2+ v2,3+ v3,1 + v5,1+ v5,2+ v5,3+ v5,4; (disco: 1,5)
t2: 2,4 = 5,4 + v2,4= v1,1+ v2,1+ v2,2+ v2,3+ v2,4+ v3,1 + v5,1+ v5,2+ v5,3+ v5,4; (disco: 4,5, 5,5,
6,4)
t6: 6,1 = 2,4= v1,1+ v2,1+ v2,2+ v2,3+ v2,4+ v3,1 + v5,1+ v5,2+ v5,3+ v5,4; (disco: 7,1)
t7: 7,1 = 6,1+ v7,1= v1,1+ v2,1+ v2,2+ v2,3+ v2,4+ v3,1 + v5,1+ v5,2+ v5,3+ v5,4+ v7,1; (disco: 8,1,
9,1)
t9: 9,1 = 7,1+ v9,1= v1,1+ v2,1+ v2,2+ v2,3+ v2,4+ v3,1 + v5,1+ v5,2+ v5,3+ v5,4+ v7,1+ v9,1
(v2,1= v2,2= v2,3= v2,4 e v5,1= v5,2= v5,3= v5,4); (disco: 11,1)
t10: 10,1 = 9,1+ v10,1= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1; (disco: 12,1, 13,1)
t12: 12,1 = 10,1+ v12,1= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v12,1; (disco: 11,2)
t11: 11,1 = 12,1+ v11,1= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v12,1; (disco: 12,2,
13,2, 14,1)
t12: 12,2 = 11,1+ v12,2= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v12,1+ v12,2; (disco:
11,3)
t11: 11,2 = 12,2+ v11,2= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v12,1+ v12,2;
(disco: 12,3, 13,3, 14,2)
t12: 12,3 = 11,2+ v12,3= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v12,1+ v12,2+
v12,3; (disco: 11,4)
t11: 11,3 = 12,3+ v11,3= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v11,3+ v12,1+
v12,2+ v12,3; (disco: 12,1, 13,4, 14,3)
t12: 12,4 = 11,3+ v12,4= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v11,3+ v12,1+
v12,2+ v12,3+ v12,4; (disco: 11,5)
t11: 11,4 = 12,4+ v11,4= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v11,3+ v11,4+
v12,1+ v12,2+ v12,3+ v12,4; (disco: 12,5, 13,5, 14,4)
t13: 13,1 = 11,4= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v9,1+ v10,1+ v11,1+ v11,2+ v11,3+ v11,4+ v12,1+
v12,2+ v12,3+ v12,4; (disco: 10,2, 15,1)
(v11,1= v11,2= v11,3= v11,4 e v12,1= v12,2= v12,3= v12,4)
106
t8: 8,1 = 13,1+ v8,1= v1,1+ 4.v2,1+ v3,1 + 4.v5,1+ v7,1+ v8,1+ v9,1+ v10,1+ 4.v11,1+ 4.v12,1;
(disco: 1,6)
1,6 indica que foi executado um ciclo completo, desde que o boto para
passagem de pedestre foi acionado.
O programa em linguagem ladder que ser implementado no CLP que executa a
seqncia de mudanas de estado no semforo de pedestre mostrado na figura 5.11.
%I1.0 a chave para ligar o sistema, %I1.1 o boto para passagem de pedestre,
%Q2.0 acende a lmpada verde do semforo de veculos, %Q2.1 acende a lmpada
amarela do semforo de veculos, %Q2.2 acende a lmpada vermelha do semforo de
veculos, %Q2.3 acende a lmpada verde do semforo de pedestres e %Q2.4 acende a
lmpada vermelha do semforo de pedestre.
N IN TM Q
MODE: TP %M5 % M8
TB: 1s
TM.P: 6 % M12
MODIF: Y
% M9 % Q2.3
% M4 % TM3 %M6
IN TM Q
N % M1 % Q2.4
MODE: TP %M7
TB: 1s
% M5
TM.P: 3
MODIF: Y
% M7
% M13
% M15
107
5.3. Experimentos para simular uma linha de produo industrial
Nos experimentos a seguir (quinto, sexto e stimo) a motivao principal
descrever como uma seqncia de comandos pode ser realizada em uma linha de
produo industrial. Sero, para tanto, utilizadas duas esteiras e sensores para detectar
os objetos para realizao de controles como: parar por um determinado perodo de
tempo, avanar e retroceder. Durante essas operaes podem ser realizadas, em um
ambiente industrial, operaes de soldagem, pinturas, montagem de aparelhos
eletrnicos, empacotamento etc e aps a realizao dessas atividades o processo
continua normalmente.
108
Sensor 1 Sensor 2
Bloco
A B
Esteira p2 p1
desligada t11
t2 Ligar esteira
Esteira
parada, objeto
Esteira retrocedendo
objeto no sentido do Parar esteira na posio do
Avanar
esteira
Esteira
avanando
t4
sensor 1
sensor 1
t7 Sensor 2
detecta objeto
p7 p4
p3
p6 t6 Objeto na posio
v7= 10s do sensor 2
t3 Parar esteira
Parar esteira
t8
Esteira parada,
Objeto na posio objeto na posio
do sensor 1 do sensor 2
p8 p5
t5
t9 Sensor 1
Reroceder esteira
detecta objeto v5= 5s
109
Para se obter o modelo (P, T, A, w, x, V) da rede de Petri desse sistema, note que
os eventos do sistema, considerando primeiro, que o objeto seja colocado no centro da
esteira ou na posio do sensor 2, so: (i) ligar esteira; (ii); deteco do objeto pelo
sensor 2; (iii) parada da esteira nas posies do sensor 2; (iv) retroceder esteira aps 5s;
(v) deteco do objeto pelo sensor 1; (vi) parar esteira na posio do sensor 1 e (vii)
avanar esteira aps 3s. Considerando, agora, que o objeto colocado na posio do
sensor 1, os eventos so: (i) ligar esteira; (ii); deteco do objeto pelo sensor 1; (iii)
parada da esteira nas posies do sensor 1; (iv) avanar esteira aps 10s; (v) deteco do
objeto pelo sensor 2; (vi) parar esteira na posio do sensor 2 e (vii) retroceder esteira
aps 5s. Observa-se que a seqncia de eventos pode mudar, mas o movimento
peridico permanece. Esses eventos do origem ao conjunto T = {t1, t2, t3, t4, t5, t6, t7, t8,
t9, t10, t11}. Os lugares, que representam as condies para que os eventos ocorram so:
acionamento do boto (p1), esteira desligada (p2), esteira ligada e avanando (p3), objeto
na posio do sensor 2 (p4), esteira parada na posio do sensor 2 (p5), esteira
retrocedendo (p6), esteira parada na posio do sensor 1 (p7), objeto na posio do
sensor 1 (p8), definindo, portanto, o conjunto P = {p1, p2, p3, p4, p5, p6, p7, p8}. Os
elementos da rede de Petri so: A={(p1, t2), (p1, t10), (p1, t11), (p2, t2), (p3, t3), (p3, t8), (p4,
t3), (p5, t5), (p6, t6), (p7, t7), (p7, t10), (p8, t6), (p8, t8), (t1, p1), (t2, p3), (t3, p5), (t4, p4), (t5,
p6), (t6, p7), (t7, p3), (t8, p7), (t9, p8), (t10, p2), (t11, p1)}, w(p1, t2)=1, w(p1, t10)=1, w(p1,
t11)=2, w(p2, t2)=1, w(p3, t3)=1, w(p3, t8)=1, w(p4, t3)=1, w(p5, t5)=1, w(p6, t6)=1, w(p7,
t7)=1, w(p7, t10)=1, w(p8, t6)=1, w(p8, t8)=1, w(t1, p1)=1, w(t2, p3)=1, w(t3, p5)=1, w(t4,
p4)=1, w(t5, p6)=1, w(t6, p7)=1, w(t7, p3)=1, w(t8, p7)=1, w(t9, p8)=1, w(t10, p2)=1, w(t11,
p1)=1, x[ x(p1), x(p2), x(p3), x(p4), x(p5), x(p6), x(p7), x(p8)], onde x0=[0, 1, 0, 0, 0, 0, 0, 0]
e v5={v5,1, v5,2, v5,3, ...}= {5, 5, 5, ...}, v7={v7,1, v7,2, v7,3, ...}= {10, 10, 10, ...}.
Uma vez caracterizados todos os elementos da rede de Petri, o prximo passo
obter a evoluo dos estados. A partir da figura 5.13 pode-se obter a matriz de
incidncia A(j, i)11x8, onde aji= w(tj, pi) w(pi, tj). Portanto:
110
1 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0
0 0 1 1 1 0 0 0
0 0 0 1 0 0 0 0
0 0 0 0 1 1 0 0
A= 0 0 0 0 0 1 1 1
0 0 1 0 0 0 1 0
0 0 1 0 0 0 1 1
0 0 0 0 0 0 0 1
1 1 0 0 0 0 1 0
2 0 0 0 0 0 0 0
111
% I1.0 % M1 %M0
% I1.0 %M1
% M0 % M2 %M2
% I1.2 % Q2.0
% M0 % M2 R
% Q2.1
% M2 % Q2.0 R
S %M4
% I1.1 % M4 % Q2.0 R
R %M5
% M3
% M5 % M2 % TM1 % Q2.0
TM Q
% M3 % TM0 % Q2.0 IN S
TM
IN Q S MODE: TON
TB: 1s
MODE: TON % Q2.1
TB: 1s
S TM.P: 10
MODIF: Y
TM.P: 5 %M4
MODIF: Y
S
112
Sensor 1 Sensor 2 Sensor 3
A B A B
113
x(p7), x(p8) , x(p9), x(p10)], onde x0=[0, 0, 0, 0, 0, 0, 0, 0, 0, 0] e v7={v7,1, v7,2, v7,3, ...}= {5,
5, 5, ...}, v10={v10,1, v10,2, v10,3, ...}= {10, 10, 10, ...}.
Ligar esteiras
t1
Sensor 1 Sensor 2 Sensor 3
detecta objeto t2 detecta objeto t3 detecta objeto t8
Objeto detectado
Objeto Esteira 2 Esteira 2
pelo sensor 2
Esteira 1 detectado pelo com objeto avanando
avanando sensor 1
Objeto detectado
p1 p2 p3 pelo sensor 3
p6 p7 p9
2
t4 Parar esteira t6 t9 Parar esteira 2
Parar esteira 2 tempo = 0s
Esteira 2 livre
Esteira 2
Esteira 2
Esteira 1 parada com parada com
parada com
objeto na posio do objeto na
objeto na
posio do
sensor 1
p4 p5 sensor 2
posio do
p8 p10
sensor 3
t5 t10
t7 Ligar esteira 2 Ligar esteira 2
Ligar esteira 1
v7 v10
Objeto sai da esteira 2
114
A partir do disparo de t1, que ocorre uma nica vez, tendo em vista que se refere
operao de uma chave externa para ligar o sistema, as prximas transies que
ocorrem, aps o objeto ser colocado sobre a esteira 1, so: t2, t3, t6, t2, t4, t7, t8, t9, t10, t5,
t3, t6, t2, t4,.... Quando o objeto passa para a esteira 2, imediatamente colocado um
novo objeto sobre a esteira 1.
Para este experimento, tambm, no ser feita a decomposio do modelo dentro
das dinmicas de transies individuais, pois, as transies dos sensores dependem de
fatores como: comprimento do objeto, arrasto da esteira, escorregamento da esteira
devido ao peso do objeto, sensibilidade dos sensores na deteco dos objetos etc, tudo
isso levaria a uma impreciso na determinao dos tempos de disparos das transies.
Com o disparo de t1 tem-se u1=[1, 0, 0, 0, 0, 0, 0, 0, 0, 0], ento:
x1 = x0 + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0]
x2 = x1 + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 0, 0, 0, 0, 1, 0, 0, 0]
115
% I1.0 %M0 % I1.4 %M3
S R
%M1 %M5
S
%M9 % M5 % TM1 %M6
S IN TM Q S
% I1.1 % M7 %M0 MODE: TON %M8
TB: 1s
R S
% I1.3 % M4 %M1 TM.P: 10 %M4
MODIF: Y
R R
%M2 % M0 % Q2.0
R
%M6 % I1.1 % M9
R
%M7 % M8
S
%M8 % M1 % Q2.1
R R
% M2 % TM0 %M3 % M3
IN TM Q S
MODE: TON %M4 % M6
TB: 1s
S
TM.P: 5
MODIF: Y
116
a esteira 2, para que um novo ciclo seja iniciado. Nesta nova entrada de objeto para a
esteira 2 o sensor 2 tem a funo de resetar o contador, para que o contador inicie uma
nova contagem, sempre que um objeto passa por este. A figura 5.18 ilustra o
posicionamento dos sensores deste experimento e a tabela 5.5 mostra a evoluo dos
estados. A figura 5.19 mostra a modelagem por rede de Petri para o experimento. A
diferena deste experimento em relao ao experimento anterior o fato que, agora, o
objeto na esteira 2 ter que executar um ciclo repetitivo entre os dois pontos da esteira.
A B A B
117
esteira 1 parada com objeto na posio do sensor 1 (p4), esteira 2 livre (p5), objeto
detectado pelo sensor 3 (p6), esteira 2 avanando (p7), esteira 2 parada com objeto na
posio do sensor 3 (p8), objeto detectado pelo sensor 4 (p9), esteira 2 parada com
objeto na posio do sensor 4 (p10), esteira 2 retrocedendo (p11), contador do nmero de
deteces do sensor 4 (p12), indica o nmero de vezes que a esteira 2 deve retroceder
aps o disparo de t2 (p13), definindo, portanto, o conjunto P = {p1, p2, p3, p4, p5, p6, p7,
p8, p9, p10, p11, p12, p13}. Os elementos da rede de Petri so: A={(p1, t4), (p2, t4), (p3, t4),
(p4, t5), (p5, t5), (p6, t7), (p6, t12), (p7, t7), (p7, t10), (p8, t8), (p9, t10), (p10, t11), (p10, t13), (p11,
t13), (p12, t13), (p13, t11), (t1, p1), (t1, p7), (t2, p2), (t3, p3), (t3, p13), (t4, p4), (t5, p1), (t6, p6),
(t7, p8), (t8, p7), (t9, p9), (t9, p12), (t10, p10), (t11, p11), (t12, p8), (t13, p5), (t13, p7)}, w(p1,
t4)=1, w(p2, t4)=2, w(p3, t4)=1, w(p4, t5)=1, w(p5, t5)=1, w(p6, t7)=1, w(p6, t12)=1, w(p7,
t7)=1, w(p7, t10)=1, w(p8, t8)=1, w(p9, t10)=1, w(p10, t11)=1, w(p10, t13)=1, w(p11, t13)=1,
w(p12, t13)=2, w(p13, t11)=1, w(t1, p1)=1, w(t1, p7)=1, w(t2, p2)=1, w(t3, p3)=1, w(t3, p13)=1,
w(t4, p4)=1, w(t5, p1)=1, w(t6, p6)=1, w(t7, p8)=1, w(t8, p7)=1, w(t9, p9)=1, w(t9, p12)=1,
w(t10, p10)=1, w(t11, p11)=1, w(t12, p8)=1, w(t13, p5)=1, w(t13, p7)=1, x[x(p1), x(p2), x(p3),
x(p4), x(p5), x(p6), x(p7), x(p8), x(p9), x(p10), x(p11), x(p12), x(p13)], onde x0=[0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0] e v8={v8,1, v8,2, v8,3, ...}= {5, 5, 5, ...}, v12={v12,1, v12,2, v12,3, ...}= {10,
10, 10, ...}, v13={v13,1, v13,2, v13,3, ...}= {10, 10, 10, ...}.
Ligar esteiras
t1
Sensor 1 Sensor 2 Sensor 3 Sensor 4
t2 detecta objeto
t3 detecta objeto detecta objeto
t6 detecta objeto
t9
Objeto
Objeto Esteira 2 detectado Objeto detectado
Esteira 1 detectado pelo com objeto pelo sensor 3 pelo sensor 4
avanando sensor 1 Esteira 2
avanando
p1 p2 p7
p3 p6 p9
2 Contador
t4 t7 t10 p12
Parar esteira 1
Parar esteira 2 Parar esteira 2
t13
Esteira 2 livre
Esteira 2
Esteira 2
2 Objeto sai da
esteira 2
Esteira 1 parada com parada com
parada com
objeto na posio do objeto na
sensor 1
p4 p5
posio do
sensor 3
objeto na
posio do v13 Avanar
p8 sensor 4
p10
esteira 2
p13
t5 t11
t8 Avanar Nmero de
Ligar esteira 1
v8 esteira 2
v11 Retroceder
esteira 2
vezes que a
esteira 2 deve
retroceder
Esteira 2
retrocedendo
p11
t12
v12 Parar esteira 2
118
Por inspeo da da rede de Petri da figura 5.19 pode-se encontrar a matriz de
incidncia A. Ento, tem-se:
1 0 0 0 0 0 1 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0 0 0 1
1 2 1 1 0 0 0 0 0 0 0 0 0
1 0 0 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 0 0
A= 0 0 0 0 0 1 1 1 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 1 0
0 0 0 0 0 0 1 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 1
0 0 0 0 0 1 0 1 0 0 1 0 0
0 0 0 0 0 0 1 0 0 1 0 2 0
Usando a matriz de incidncia A, pode-se, a partir da equao de estados, x' = x
+ u.A, simular os resultados de todos os prximos estados que podem ser gerados a
partir do disparo das transies.
Com o disparo de t1 tem-se u1=[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ento:
x1 = x0 + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
x2 = x1 + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
119
x16 = x15 + [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 2, 0]
x17 = x16 + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1].A = [0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0]
x17 = x16 + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0] = x2
Para este experimento, tambm, no ser feita a decomposio do modelo dentro
das dinmicas de transies individuais, uma vez que o os disparos dos sensores no
podem ser precisamente determinados.
O programa em linguagem ladder que dever ser implementado no CLP para
realizao do experimento 5 mostrado na figura 5.20, onde %I1.0 a chave para ligar
a esteira, %I1.1, %I1.2, %I1.3 e %I1.4 so, respectivamente, os sensores 1, 2, 3 e 4.
%Q2.0, %Q2.1 e Q2.2 so, respectivamente, as sadas do CLP para ligar as esteiras.
Quando %Q2.0 est acionada a esteira 1 deve avanar. %Q2.1 e %Q2.2 controlam o
movimento da esteira 2, quando %Q2.1 est acionada a esteira 2 deve avanar e quando
%Q2.1 e %Q2.1 estiverem acionadas a esteira 2 retrocede.
%M7 % I1.1 % M8
R
%M6 % M1 % Q2.1
R
%M11 % M3
R
%M0 % M6
R
%M9 % M7 % M9 % Q2.2
R
% I1.3 %M10 % I1.2 % C0
R R C E
% M2 % TM0 %M3 % M11
TM
IN Q S S D S
MODE: TON %M4 % I1.4 C.P: 2 % M9
TB: 1s
S CU F S
TM.P: 5 MODIF: Y
MODIF: Y
CD
% I1.4 %M3
R
%M4
R
%M5
120
Captulo 6. Concluso e trabalhos futuros.
121
estados de um sistema, quando estes dependem de fatores externos a rede de Petri, como
acionamento manual de botes, deteco por sensores etc.
A partir desse trabalho pde-se observar uma grande vantagem do uso de redes
de Petri dentro dos laboratrios de automao industrial, pela facilidade de compreenso
da evoluo dos estados do sistema (embora, em alguns casos de difcil representao) e
por esta ferramenta proporcionar aos profissionais em formao uma ampla viso
metodolgica para o desenvolvimento, criao a anlise de projetos envolvendo CLP. O
grande crescimento da industria nacional depende e muito da capacidade de produo e
gerao de novos conceitos, estando as redes de Petri nesta linha de conhecimento.
Assim, implant-las nos cursos automao industrial pode representar um grande
benefcio para o estudo, desenvolvimento e expanso do ensino de sistemas a eventos
discretos.
Em relao a trabalhos futuros que podem ser desenvolvidos, a partir deste
trabalho, pode-se destacar: (i) a implantao destas mesmas experincias em um
laboratrio de sistemas a eventos discretos com a utilizao de controle supervisrio;
(ii) incorporao do uso de sistemas hidrulicos e pneumticos com suas respectivas
formas de modelagem em conjunto com a utilizao de redes de Petri ou autmato; (iii)
mtodos de transformao direta entre redes de Petri e linguagem ladder, com vistas aos
grandes aperfeioamentos de linguagem de programao ladder que so oferecidos por
cada fabricante de CLP; (iv) a implantao de experincias utilizando mtodos
estocsticos com ajuda de softwares de simulao de redes de Petri e (vi)
desenvolvimento de ferramentas para a atualizao remota desse laboratrio via
internet.
122
Referncias Bibliogrficas
BAUM, E., DOWELL, E., McTAGUE, J., HOCKER, J., Engineering Education for a
Changing World, Joint Project by the Engineering Deans Council and the
Corporate Roundtable, American Society of Engineering Education, vol. 4, n 4,
1994.
BIGNELL, J. W., DONOVAN, R. L., Eletrnica Digital, Editora Makron Books, vol. 1
e 2, So Paulo, 1995.
123
BOUCHER, T. O., JAFARI, M. A., MEREDITH, G. A., Petri Net Control of an
Automated Manufacturing Cell, Computers in Industrial Engineering, vol. 17,
Orlando, FL, USA 459-463, 1989.
BURNS, G. L., BINDANDA, B., The Use of Hierarchical Petri Nets for the Automatic
Generation of Ladder Logic Programs, Proceedings ESD IPC-94 Conference &
Exposition, 169-179, Detroit, Michigan, 1994.
CAZOLA, F., FERRARINI, L., PREZIOSA, M., Interpretation rules of PETRI NET
models for logic control, Proc. IEEE Symp. Emerging Technologies and Factory
Automation (ETFA'95), vol. 2, 289-297, 1995.
CHIRN, J. L., McFARLANE, D. C., Petri net based design of ladder logic diagrams,
Internal Report, Institute for Manufacturing, Cambridge University, England,
2000.
CIBUZAR, G., STAEGE, J., NORDELL, J., RAU, A., BUSENBARRICK, D., MTL
Intranet: A University Microelectronics Laboratory WWW-based Management
System, IEEE Transactions on Industrial Electronics, 92-95, 2001.
DAVID, R., Grafcet: A Powerful Tool for Specification of Logic Controllers", IEEE
Transactions on Control Systems Technology, vol. 3, n 3, 253-268, 1995.
124
JAFARI, M., BOUCHER, T. O., A rule-based system for generating a ladder logic
control program from a high-level systems model, Journal of Intelligent
Manufacturing, vol. 5, n. 2, 103-120, 1994.
JIMNES, I., LOPS, E., RAMRES, A., Synthesis of Ladder Diagrams from Petri
Nets Controller Models, Proceedings of the 2001 IEEE International Symposium
on Intelligent Control, 225-230, Mxico City, Mxico, 2001.
JONES, A. H., UZAM, M., AJLOUNI, N., Design of discrete event control systems
for programmable logic controllers using T-timed Petri nets, Proc. 1996 IEEE
Int. Symp. Computer-Aided Control System Design, Dearborn, MI, 212-217, 1996.
KUMAR, R., GARG, V. K., Modeling and Control of Logical Discrete Event Systems,
research monograph, Kluwer Academic Publishers, Norwell Massachusetts, 1995.
LEE, J. S., HSU, P. L., A New Approach to Evaluate Ladder Logic Diagrams and Petri
Nets via the IF-THEN Transformation, IEEE Conference on Systems, Man and
Cybernetics, 2711-2716, Tucson, AZ, 2001.
LUCAS, M. R., TILBURY, D. M., A study of current logic design practices in the
automotive manufacturing industry, International Journal of Human-Computer
Studies, vol. 59, 725-753, 2003.
125
MIYAGI, P. E., Controle Programvel. Editora Edgard Blcher. So Paulo, 1996.
PETERSON, J. L., Petri net theory and the modeling of systems, Prentice Hall, 1981.
PENG, S. S., ZHOU, M. C., Ladder Diagram and Petri Net Based Discrete Event
Control Design Methods, IEEE Transactions on Systems, Man, and Cybernetics
Part C: Applications and Reviews, 1-9, 2004.
PENG, S. S., ZHOU, M. C., Conversion between Ladder Diagrams and Petri Net in
Discrete Event Control Design A Survey, In: IEEE Conference on Systems,
Man and Cybernetics, Tucson, AZ, 2682-2687, 2001.
SATO, T., NOSE, K., Automatic Generation of Sequence Control Program via Petri
Nets and Logic Tables for Industrial Applications, Petri Nets in Flexible and Ag.
Automation, Kluwer Academic Publishers, 93-108, 1995.
126
TAHOLAKIAN, A. HALES, W. M. M., PN/PLC: A methodology for designing,
simulating and coding PLC based control systems using Petri nets, International
Journal of Product Research, , vol. 35, n 6, 1743-1762, 1997.
UZAM, M., JONES, A., AJLOUNI, N., Conversion of Petri nets controllers for
manufacturing systems into ladder logic diagrams", IEEE Symposium on
Emerging Technology and Factory Automation, ETFA, vol. 2, 649-655, 1996.
ZURAWSKI, R., ZHOU, M. C., Petri Nets and Industrial Application: A Tutorial,
IEEE Transactions on Industrial Electronics, vol. 41, n 6, 567-583, 1994.
127