Escolar Documentos
Profissional Documentos
Cultura Documentos
SUBMETIDA AO CORPO DOCENTE DA COORDENAO DOS PROGRAMAS DE PS-GRADUAO DE ENGENHARIA DA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO COMO PARTE DOS REQUISISTOS NECESSRIOS PARA A OBTENO DO GRAU DE MESTRE EM CINCIAS EM ENGENHARIA ELTRICA. Aprovada por: _______________________________________________ Prof. Joo Carlos dos Santos Basilio, Ph. D. _______________________________________________ Prof. Fernando Cesar Lizarralde, D. Sc. _______________________________________________ Prof. Paulo Csar Marques Vieira, D. Sc.
DIAS, JOS RICARDO DA SILVA Um Laboratrio para um Curso de Automao Industrial utilizando a Teoria de Sistemas a Eventos Discretos [Rio de Janeiro] 2005 VIII, 127 p. 29,7 cm (COPPE/UFRJ, M.Sc., Engenharia Eltrica, 2005) Tese Universidade Federal do Rio de Janeiro, COPPE 1. Sistemas a Eventos Discretos 2. Autmato 3. Redes de Petri 4. Controladores Lgicos Programveis 5. Linguagem de Programao Ladder 3. Experincias de Laboratrio I. COPPE/UFRJ II. Ttulo ( srie )
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.) UM LABORATRIO PARA UM CURSO DE AUTOMAO INDUSTRIAL UTILIZANDO A TEORIA DE SISTEMAS A EVENTOS DISCRETOS Jos Ricardo da Silva Dias Abril/2005 Orientador: Joo Carlos dos Santos Baslio Programa : Engenharia Eltrica O ensino de automao industrial, em cursos de engenharia, alm dos fundamentos tericos, requer, a nvel de projeto, a utilizao de redes de Petri e na implementao, a prtica com o hardware e o software dos controladores lgicos programveis. Este trabalho tem por finalidade elaborar experincias para um laboratrio de automao industrial utilizando a teoria de sistemas a eventos discretos, tratando de algumas tcnicas usadas para modelagem desses sistemas. As experincias sero implementadas utilizando-se um controlador lgico programvel (CLP) que ser programado em linguagem ladder para executar o controle de seqncias de eventos pr-determinadas. O modelo a ser implementado ser formalizado em rede de Petri e posteriormente gerado um programa em linguagem ladder de forma heurstica. As teorias de autmatos e redes de Petri, que so alguns dos formalismos utilizados para representar um sistema a eventos discretos, sero tambm estudadas neste trabalho.
Abstract of Thesis presented to COPPE/UFRJ as a partial fulfillment of the requirements for the degree of Master in Sciences (M. Sc.) A LABORATORY FOR A COURSE IN INDUSTRY AUTOMATION USING THE THEORY OF DISCREET EVENTS SYSTEMS Jos Ricardo da Silva Dias April/2005 Advisor: Joo Carlos dos Santos Basilio Department: Electrical Engineering The teaching of industry automation, at undergraduating level, and its besides theoretical background, also requires the use of Petri Nets implementation using the hardware and software of programmable logic controllers. The objective of this work is to propose experiments for a laboratory of a course in industry automation using the theory of discrete events systems, dealing with some techniques used for modeling these systems. The experiments will be implemented using a programmable logical controller (PLC) that will be programmed in ladder language to execute the control of pre-determined sequences of events. The model to be implemented will be formalized in Petri net and in the sequel, a program in ladder language will be developed in a heuristic way. Automata and Petri nets theories, some of the formalisms used to represent a discrete events system will also be studied in this work.
vi
Sumrio
Resumo Abstract 1. Introduo 2. Fundamentos da teoria de sistemas a eventos discretos v vi 1 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 Bibliografia 121 123
viii
Captulo 1. Introduo
As queixas mais freqentes de alunos dos cursos tcnicos da rea de indstria so a falta de prticas nos laboratrios do curso e a necessidade de mais embasamento prtico para que os alunos possam se desenvolver melhor durante seus estgios curriculares. Segundo MARTIN e BROWN (1998), durante os ltimos dez anos, foram administradas entrevistas com os alunos dos cursos superiores do Departamento de Engenharia Eltrica da Universidade de Engenharia Eltrica de Arkansas em Fayetteville, Arkansas 72701, aproximadamente 2 semanas antes de completarem o semestre final. Dos muitos anos de entrevistas, ficou claro que muitos estudantes sentiam que as disciplinas do currculo carecem de treinamento prtico adequado, i.e., no bastava dispensar algum tempo no laboratrio, se que os exerccios de laboratrio no estiverem bem relacionados ao material dirigido em sala de aula. Alm disso, nas discusses abertas com empregadores dos mesmos estudantes, verificou-se tambm que os alunos precisam de uma exposio a uma variedade mais ampla de experincias e equipamentos. Um laboratrio de sistemas de engenharia uma amlgama de criar mtodos, habilidades, princpios e disciplinas. Os mtodos de engenharia incluem descoberta, avaliao e investigao. As habilidades de engenharia aplicveis incluem experimentao, anlise de dados e modelagem, (MIDDLETON et al., 1996). Enquanto foram aplicadas idias inovadoras a muitos aspectos do currculo de engenharia em recentes anos (GRAYSON, 1994, ASEE, 1994, BORDOGNA et al., 1993, CIBUZAR et al., 2001), o componente de laboratrio geralmente arrastou-se no processo de reforma, com a exceo de algum progresso notvel ao nvel de iniciantes (QUINN, 1993). Ainda hoje, os empregadores das indstrias pedem que a educao dos estudantes seja recheada de inovaes para adquirir experincias prticas afinadas com habilidades de integrao necessria aos engenheiros modernos. De acordo com Norman Augustine (Lockheed Martin Corporation), Uma educao de engenharia tem que incluir aplicaes claras que certamente tm que incluir as mos no trabalho.... (AUGUSTINE, 1994), De acordo com o Conselho de Engenharia, o currculo tem que encarnar uma perspectiva de sistemas, uma perspectiva multi-disciplinar, e uma integrao de conhecimento. (BAUM et al., 1994).
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 3 rede de Petri na sintaxe de
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.
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
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.
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.
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.
x(t)
s6 s5 s4 s3 s2
X = {s1, s2, s3, s4, s5, s6}
X=
s1 (b) t1 t2 t3 t4 t5 t6 t7 t
t (a) (c) e1 e2 e3 e4 e5 e6 e7 e
Figura 2.1: Comparao de caminhos de amostra para Sistemas Dinmicos de Variveis Contnuas (SDVC) e Sistemas de Evento Discretos (SED).
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
Figura 2.2: Um simples sistema de fila. A cada chegada, o cliente, ou se dirige ao SERVIDOR e servido, ou tem que esperar primeiro na FILA at que o servidor esteja disponvel. Aps ser atendido, cada cliente parte. Exemplos de clientes so: pessoas (por exemplo, esperando em um banco ou em um ponto de nibus), mensagens transmitidas de algum meio de comunicao, tarefas, trabalhos ou transaes executadas em um sistema de computador, produo em um processo de fabricao e carros que usam uma rede de estradas. Exemplos de servidores so: pessoas (por exemplo, caixas de banco ou caixas de sada de supermercado), canais de comunicao responsveis pela transmisso de mensagens, processadores de computador ou dispositivos perifricos, vrios tipos de mquinas usadas na fabricao e semforos que regulam o fluxo de carros. Exemplos de filas so encontrados em vrios locais, como por exemplo banco, pontos de nibus ou supermercados. Porm, filas tambm esto presentes em redes de comunicao ou sistemas de computador onde tambm so alocadas formas menos tangveis de clientes, como telefonemas ou tarefas a serem executadas em reas de espera. Graficamente, um simples sistema de fila ser representado como mostrado na figura 2.2. O crculo representa um servidor, e uma caixa aberta representa uma fila que precede a este servidor. Aberturas de fila indicam os clientes em modo de espera. Os clientes so vistos como chegando fila e partindo do servidor. Supe-se ainda que o processo de servir os clientes, normalmente leva uma quantidade estritamente positiva de tempo (caso contrrio no haveria espera). Assim, um servidor pode ser visto como um "bloco de atraso" que retm um cliente por algum tempo at a realizao do servio. Visto como um SED, o sistema de fila da figura 2.2 tem um conjunto de eventos E = {a, d}, onde {a} denota um evento de chegada e {d} denota um evento de sada. Uma varivel de estado o nmero de clientes na fila ou o comprimento da fila. Assim, o espao de estado o conjunto de valores no negativos X = {0,1,2,...}.
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. Fila Entradas Mquina 1 Figure 2.3: Sistema industrial de filas. Observe que o evento c1 no implica em movimento de uma pea da mquina 1 para a fila da mquina 2, desde que esta possibilidade esteja bloqueada. O estado do sistema pode ser definido como um vetor x = [x1, x2]T correspondendo aos comprimentos de fila das duas mquinas. Neste caso, x2 restrito aos valores {0,1,2,3}. Porm, note que quando x2 = 3, a mquina 1 bloqueada, pois acabou de executar o servio na pea e a fila da segunda mquina est completa. Para modelar o fenmeno de bloqueio necessitamos introduz uma varivel adicional B que x2 pode gerar. O espao de estado se torna o conjunto discreto X = {(x1, x2) : x1 0, x2 {0, 1, 2, 3, B}}. Para ilustrarmos a flexibilidade do processo modelado (dependendo do nvel de detalhe que Fila Mquina 2
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).
3
Semforo
13
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, 2checar 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)}.
Uma linguagem L dita ser de prefixo fechado se L = L . Assim a linguagem L de prefixo fechado se qualquer prefixo de qualquer seqncia em L for tambm um elemento de L. 3 Fechamento de Kleene: seja L E*, ento L* := {} L LL LLL ... Para melhor entender os conceitos acima, considere o seguinte exemplo: Seja E = {a,b,g}, e considere as linguagens L1 = {, a, abb} e L4 = {g}. Note que L1 e L4 no so de prefixo fechado uma vez que ab L1 e L4. Ento: L1L4 L1 L4 L1 L4 L4* L1* (i) ; (ii) {} uma linguagem no-vazia, contendo unicamente uma seqncia vazia; (iii) Se L = ento L = , e se L ento, necessariamente, L ; (iv) * = {} e {}* = {}. = = = = = = {g, ag, abbg} {, a, ab, abb} {, g} {, a abb, g, ag, abbg} { , g, gg, ggg, } { , a, abb, aa, aabb, abba, abbabb, }
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 x g z a y a,g b b
Figura 2.5: Diagrama de transio de estado. Trs observaes so vlidas com respeito ao exemplo acima: primeira, um evento pode ocorrer sem mudar o estado, como em (x, a) = x; segunda, dois eventos distintos podem ocorrer em um dado estado causando a mesma exata transio, como em (z, a) = (z, g) = y (o que interessante sobre o ltimo fato que possvel no distinguir os eventos a e g simplesmente observando-se uma transio do estado z para o estado y); terceira, a funo uma funo parcial com domnio em X E, isto , no precisa ser uma transio definida para cada evento em E e cada estado de X (por exemplo, (x, b) e (y, g) no so definidas). Para se definir completamente um autmato, necessrio ainda um estado inicial, denotado por x0, e um subconjunto Xm de X que representa os estados de X que
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 .
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 0 a b
a 1
2.2.5. Bloqueio
A partir das definies de G, L(G), e Lm(G) tem-se que Lm(G) Lm (G ) L(G). A primeira incluso de conjunto devida ao fato de Xm ser um subconjunto do prprio X, enquanto a segunda incluso de conjunto uma conseqncia da definio de Lm(G) e do fato de que L(G) ser, por definio, de prefixo fechado. Um autmato G pode alcanar um estado x, tal que (x) = mas x Xm isto , f no definida para x. Isto chamado de trancamento definitivo (deadlock) tendo em vista que nenhum evento adicional pode ser executado. Se um trancamento definitivo acontecer, ento necessariamente Lm (G ) ser um subconjunto prprio de L(G), uma 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 incluso de conjunto prpria, e no bloqueia quando Lm (G ) = L(G). Para entender esses conceitos, considere o autmato G descrito na figura 2.7. Claramente, o estado 5 um estado de trancamento definitivo. Alm disso, os estados 3 e 4, com suas transies associadas a, b, e g, formam um componente absorvente fortemente conectado; uma vez que 3 e 4 no so marcados, qualquer seqncia que alcana o estado 3 conduzir a um trancamento cclico. Note que a seqncia ag L(G) mas ag Lm (G ) ; o mesmo verdade para qualquer seqncia em L(G) que comea com aa. Assim G est bloqueando uma vez que Lm (G ) um subconjunto prprio de L(G).
1 a 0 g 2 b a 3 b a 4
g
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 t3 p3 t4
t5
p4
Figura 2.8: Grfico de rede do Petri. 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]
Figura 2.9: Duas marcaes, x1 e x2, ao grfico de rede de Petri. 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 aplicandose 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-sea 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 p2 t1 p3 (a) p1 p2 t1 p3 (b) t3 t2 t3 t2
p4
p1 p2 t1 p3 (c) p1 p2 t1 p3 (d) t3 t2 t3 t2
p4
p4
p4
Figura 2.10: Seqncias de disparos de transies em uma rede de Petri. Uma observao importante sobre o comportamento dinmico de redes de Petri que nem todos os estados em n podem necessariamente ser alcanados em um grfico da rede de Petri com um dado estado inicial. Por Exemplo, ao examinar o grafo da figura 2.9, tem-se que para o estado inicial x2 = [2, 1], o nico estado que pode ser alcanado de x2 [0, 2]. Isto leva definio de conjunto de estados alcanveis, R[(P, T, A, w, x)], da rede de Petri (P, T, A, w, x). Neste sentido, primeiramente, necessrio estender a funo de transio de estado f do domnio n T ao domnio Nn T*, isto : f( x , ) := x f( x , st) := f(f( x , s), t) para s T * e t T onde o smbolo interpretado como a ausncia de disparo de transio. Definio 2.11. (Estados Alcanveis) O conjunto de estados alcanveis da rede de Petri (P, T, A, w, x) R[(P, T, A, w, x)] := {y n : s T*( f(x, s) = y)}
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) 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 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. x0= [2, 0, 0, 1]. Pode-se, primeiramente, escrever a matriz de incidncia por inspeo do grfico da rede de Petri, (2.3) Usando a matriz de incidncia A, pode-se agora obter a seguinte equao de
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 PNL:={K E*: N = ( P, T, A, w, E, l, x0, Xm)[ Lm(N)=K]} Esta uma definio geral e as propriedades de PNL dependem fortemente das suposies especficas que so feitas sobre l (por exemplo, se injetiva ou no) e Xm (por exemplo, se finito ou infinito). Nesse trabalho sero adotadas as seguintes hipteses: l no necessariamente injetiva e Xm no precisa ser finito.
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-paraum 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 Chegada de clientes Servidor Partida de clientes
(a)
a a
(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}.
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. (c) Capacidade de Tomar Decises Outra maneira de se comparar redes de Petri com autmatos quanto a capacidade de tomar deciso. Suponha que seja feita a seguinte pergunta: pode uma certa seqncia de eventos ser reconhecida por um determinado autmato de estado finito? A este problema d-se o nome de capacidade de tomar deciso, isto , se h um algoritmo ou procedimento especfico que permite dizer sim ou no como resposta. Um recurso atrativo dos autmatos de estado finito que tais perguntas podem ser respondidas precisamente porque o espao de estado finito. Infelizmente, isto nem sempre verdadeiro em procedimentos com redes de Petri, refletindo um compromisso natural entre a capacidade de tomar deciso e a riqueza do modelo. Como concluso mais conveniente pensar em redes de Petri e autmatos como abordagens de modelagens complementares e no como tcnicas que competem entre si. Ser a aplicao considerada que definir qual a tcnica de modelagem (autmato ou rede de Petri) a ser adotada.
30
31
p1
p3
v1
t1 v3
t3
p2
p2C
v2
s t2 t23 p4 v4 F
pC3
t4
Figura 2.12: Rede de Petri dependente do tempo. As transies dependentes do tempo t1, t2, t3, t4 correspondem aos eventos de concluso das tarefas so indicadas pelos retngulos acompanhados pelos correspondentes tempos de atrasos de disparo v1, v2, v3, v4. Quando a tarefa 2 concluda, um disco somado para o lugar pC3 (indicando que T2 est completa, mas T3 ainda pode estar em execuo). Similarmente, para o lugar p2C. Assim, a transio de tempo t23 ser habilitada quando ambas as tarefas 2 e 3 so completadas. Note que os lugares pC3 e p2C podiam diretamente habilitar a transio t4, omitindo t23 e p4. O processo terminado quando um disco adicionado ao lugar F. Na figura 2.12 a rede de Petri tem um estado inicial tal que as tarefas 1 e 3 esto sendo realizadas. Pode-se explorar a estrutura da rede de Petri decompondo o modelo dentro de dinmicas de transies individuais. As equaes de estado em um tal modelo geram seqncias de disparo de transies da forma {j,1, j,2, ...}, j = 1, ... , m onde j,k o ksimo tempo de disparo da transio tj, k = 1, 2,..., que ilustrado na figura 2.13. A obteno desses modelos , em geral, uma tarefa bastante complicada, porm para uma classe especial de sistemas (sistemas de filas, por exemplo), ele pode ser obtido com relativa facilidade.
v1={v1,1, v1,2, } vm={v1,1, v1,2, }
{1,1 , 1, 2 , ...}
{ 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) k = 1,... , xi0. (2.6)
onde xi0 a marcao inicial do lugar pi e i,k = 0 para todo Equivalentemente, i,k = r,k - xi0 , pi O(tr), k = xi0 + 1, xi0 + 2, ...
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 ksimo 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,
pi I ( tj )
k = 1, 2,
(2.8)
Em resumo, a combinao de (2.5) at (2.8) fornece um conjunto de equaes recursivas que permitem determinar o tempo de disparo das transies para esta classe de redes de Petri. Para ilustrar as dinmicas da rede de petri, considere um sistema de filas com redes de Petri temporizadas, sendo P = {Q, I, B} o conjunto que representa os estados do servidor e {a, d} o conjunto que representa as chegadas de clientes fila e s partidas de clientes do servidor. Um modelo de rede de Petri temporizado mostrado na figura 2.14 com estado x = [0, 1, 0], isto , quando a fila est vazia e o servidor est ocioso. Neste caso, o conjunto de transio dependente do tempo tD = {a, d},
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
vd
Figura 2.14: Rede de Petri dependente do tempo de um simples sistema de filas. Observando a figura 2.14, pode-se ver que o modelo satisfaz os requisitos de um grafo marcado. Portanto, pode-se imediatamente derivar as equaes da forma (2.5) a (2.8) para descrever a dinmica de disparo das transies de um simples sistema de filas. Fazendo: ak : k-simo instante de chegada. dk : k-simo instante de partida. sk : k-simo instante de comeo do servio. Q,k : instante em que Q recebe seu k-simo disco. I,k : instante em que I recebe seu k-simo disco, com I,1 = 0. B,k : instante em que B recebe seu k-simo disco. De (2.6), ou diretamente por inspeo, pode-se escrever: ak = ak-1 + va,k, sk = max{Q,k, I,k}, dk = B,k + vd,k, Q,k = ak, k = 1, 2, ... a0 = 0 k = 1, 2, ... k = 1, 2, ... k = 1, 2, ... 34
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 d0 = 0 dk = max{ak-1 + va,k, dk-1}+ vd,k,
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
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
PLC
Dispositivos de Sada
Sistema Automatizado
Figura 3.1: Aplicao geral do controlador lgico programvel. Os principais blocos que compem um CLP so: 1) CPU (Unidade Central de Processamento). Compreende o processador, o sistema de memria compreende: 1.1) Memria de programa: Armazena as instrues do software aplicativo e do usurio (programas que controlam a mquina ou a operao do processo), que so continuamente executados pela CPU. Pode ser memria RAM, EPROM, EEPROM, NVRAM ou FLASH-EPROM. 1.2) Memria de dados: Armazena temporariamente os estados de I/O (entrada/sada), marcadores ou presets de temporizadores, contadores e valores digitais para que a CPU possa process-los. A cada ciclo de varredura, a memria de dados atualizada. Geralmente uma memria RAM, sendo tambm conhecida como memria de rascunho. 2) Mdulos de I/O. Podem ser discretos com sinais digitais, contatos normalmente abertos, contatos normalmente fechados ou analgicos. 3) Fonte de Alimentao. Dispositivo responsvel pela tenso de alimentao e os circuitos auxiliares de controle. O sistema de memria
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 Entrada
Entrada
CPU
Sada
Dispositivos de Sada
Alimentao Externa
Fonte Auxiliar
Fonte de Tenso
Processador
Mdulos de I/O
38
B0
B1
L0
F1
F2
F2 F1
B0
COM COM X0
F2 F1
L0
B1
X0
X1
Y0 Mdulo de Sada
Mdulo de Entrada
Linguagem de Programao
Figura 3.5: Implementao da lgica convencional por meio de CLP. 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
E N T R A D A
Processador
Memria
S A D A
CPU PremiumTelemecanique
Figura 3.7: Exemplos de CPUs disponveis no mercado (modelos Allen Bradley). A seguir , as principais caractersticas desses elementos sero apresentadas.
a) Processador
Os processadores podem ser do tipo microprocessador/controlador convencional 80286, 80386, 8051, at um processador dedicado, um DSP (Processador Digital de Sinais). Os processadores atualmente utilizados em CLPs so dotados de alta capacidade computacional. Existem CPUs que possuem processamento paralelo, no qual dois ou mais processadores executam o programa de aplicao, comparando os resultados obtidos aps cada ciclo de varredura. O processador responsvel pelo gerenciamento total do sistema, controlando os barramentos de endereos, de dados e de controle, interpreta e executa as instrues do 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. Tabela 3.1: Sistema de memria da CPU. Sistema de Memria da CPU Memria do Sistema de Operao Programa de Execuo: ROM / EPROM Rascunho do Sistema: RAM (Bateria opcional) Memria de Aplicao Programa de Aplicao: RAM EEPROM Tabela de Dados: RAM (Bateria opcional) (Bateria) / EPROM /
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.
Figura 3.8: Exemplos de CLPs compacto e modular disponveis no mercado. Os mdulos de I/O so classificados como Discretos (Digitais) ou Analgicos, existindo tambm os especiais em algumas famlias de CLPs. Os mdulos discretos de I/O tratam sinais digitais e so utilizados em sistemas seqenciais e na maioria das aplicaes com CLPs, mesmo como parte de sistemas contnuos, conforme mostrado na figura 3.9. Os mdulos analgicos tratam os sinais analgicos que so utilizados pelos sistemas contnuos. Os mdulos analgicos de entrada convertem sinais analgicos provenientes dos dispositivos de entrada (transdutor, conversor, termopar) em sinais digitais por meio de conversores analgico/digital, disponibilizando-os adequadamente ao barramento da CPU. Os mdulos analgicos de sada convertem sinais digitais, disponveis no barramento da CPU, em sinais analgicos por meio de conversor digital/analgico, enviando-os aos dispositivos de sada (driver, amplificador). A figura 3.10 ilustra o funcionamento dos mdulos analgicos de entrada e de sada. Na figura 3.11 so mostrados alguns elementos de entrada e sada analgicos.
42
Boto Chave Pressostato Fluxostato Termostato Ch. Fim de Curso Teclado Chave BCD Fotoclula Outros
Cartes Discretos
CPU
Cartes Discretos
Vlvula Solenide Contator Sinalizador Rels de Controle Sirene Display Lmpada Ventiladores Alarmes Outros
A/D
Multiplexadores
Transdutores
Processo
Circuito Optoacoplador
Barramento
CP
D/A
Demultiplexadores Atuadores Processo
Transdutores de Tenso Transd. de Corrente Transd. de Presso Transd. de Fluxo Potnciomentros Outros Cartes Analgicos CPU Cartes Analgicos
Vlvula Analgica Acionamento de Motores DC Controladores de Potncia Atuadores Analgicos Mostradores Grficos Medidores Analgicos Outros
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.
Fonte
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.
Figura 3.13: Exemplo de base do modelo Allen Bradley Controllogix 1756. 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
S L O T
S L O T 0
S L O T 1
S L O T 2
S L O T 3
S L O T 4
Fonte de Alimentao
D 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
O software de programao para PC desenvolvido de acordo com as normas da IEC, variando muito de acordo com o fabricante em seu ambiente de trabalho e em suas configuraes internas. Mais adiante ser descrito o ambiente de programao utilizado neste trabalho, que o PL7 micro.
Contato Contato Normalmente Normalmente Aberto(NA) Fechado(NF) Representao utilizada pela Automationdirect.com
Contato NA
Contato NF
Coluna 2 I2
Coluna 3
Coluna de Sada Q0
Linha 1 Rung 2 2
I1 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.
Interpretao Lgica
Tabela-Verdade
Figura 3.18: Organizao do raciocnio na soluo de problemas de lgica. 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 2. A.0 = 0 3. A + 0 = A 4. A.1 = A 5. A + 1 = A 6. A + A = A 7. A.A = A 8. A + A = A 48 9. A. A = 0 10. A.B + A.C = A.(B+C) 11. A + A .B = A + B
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. Tabela 3.2: Implementao da lgica booleana/De Morgan em linguagem ladder.
Funo Tabela-verdade A A 0 1 1 0 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 A 0 0 1 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 B 0 1 0 1 Y 0 0 0 1 Y 0 1 1 1 Y 1 1 1 0 Y 1 0 0 0 Y 0 1 1 0 Y 1 0 0 1 Lgica booleana / De Morgan Implementao em Linguagem ladder
I0 Q0
NOT
A=A
I0
I1
Q0
AND
Y = A.B
I0
Q0
OR
Y = A+B
I1
I0
I1
M0
I0
Q0
NAND
Y = A.B = A+B
M0
Q0
OU
I1
I0
M0 I0 I1 Q0
NOR
Y = A+B = A.B
I1 M0 Q0
OU
I0
I1
Q0
OR Exclusivo
Y=A.B+A.B= A + B
I0
I1
I0 I0 I1 Q0
I1
M0
NOR Exclusivo
OU
I0
I1
M0
Q0
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 10s
I0 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 I1
C0
C (crescente)
D (Decrescente)
I2
Reset
C0
100
Tempo
Q0
Note na figura 3.22 que o contador C0 possui 4 entradas: a entrada de contagem crecente (incrementando) C, controlada pela entrada I0, a entrada de contagem descendente D, controlada pela entrada I1, a entrada R para o iniciar a contagem, controlada pela entrada I2, e finalmente a entrada PV, para especificar depois de quantas ocorrncias se ativar o contador. Assim, a chave C0 ser acionada, alimentando a sada Q0, aps um nmero determinado de ocorrncias, que neste caso ser de 100.
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). Rel SP0 Funo Primeira varredura Descrio Ativado apenas na primeira varredura da CPU; desativado nas demais SP1 SP2 SP3 SP4 SP5 SP6 Sempre ligado Sempre deslidado Clock de 1 minuto Ativado em todas as varreduras Desativado em todas as varreduras 30seg em nivel alto e 30seg em nvel baixo
Clock de 1 segundo 0,5s em nvel alto e 0,5s em nvel baixo Clock de 100 mseg Clock de 50 mseg 50 ms em nvel alto e 50 ms em nvel baixo 25 ms em nvel alto e 25 ms em nvel baixo
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).
Rede de Petri
Lugar Transio
Chave NA Chave NF
Ns
R
TR CNT
Arco normal
Links
Linha
Arco inibidor
54
Tabela 3.5: Lgica para converso entre redes de Petri e linguagem ladder.
Lgica
1 ... m 1 m m+1
Rede de Petri
Linguagem ladder
Lgica AND
... m+1 m+n
Ns = m + n + 1 Links = m + n
m+n
Ns = m + n Links = m + 2n
m 1 m+1
Lgica OR
Ns = 2m + n Links = m (1 + n)
m m+n
m+1
Ns = m + n Links = 2(m + n)
m+n
m+1
Modelo Sequencial
m
Ns = 2(m + n + n) - 1 Links = m + n + 2n
... m 1 Atraso (delay) ... m m+1 Timer T
Ns = m + n + 1 Links = m + n
m+2 m+r
m+n
Ns = m + n + r + 1 Links = m + 2n + r + 2
m Atraso d (delay) 1 Timer Atraso (delay 1)
m+r+n
Lgica OR Temporizada
3d+1
Atraso 1 (delay)
m+1
Ns = 2d + n Links = d (1 + n)
m+n Timer Atraso (delay d) 3d+n 1 m+1 m+n m+n+1 1 m Timer Atraso (delay 1)
Ns = 3d + n Links = 5d + 2n
Ns = 2d + m + n - 1 Links = 2d + m + n - 2
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.
Linguagem ladder Representao no explicita Representao no explicita Representao no explicita Representao no explicita
D A B C A B D C D
A
Concorrncia IF A=1 AND B=1 THEN C=1 AND D=1 AND E=1
B D E
C D E
Temporizado IF A=1 THEN aps atraso de tempo B=1 Sincronizao IF A=1 THEN Aps atraso de tempo D=1 IF B=1 AND C=1 THEN Aps atraso de tempo E=1 IF D=1 AND E=1 THEN Aps atraso de tempo F=1
1
2
3
A
Timer
A
Timer
D
1
B C D F E D E
E F
Timer
Timer
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
Considere, agora, um simples sistema industrial, conforme mostrado na figura 3.25. Este sistema consiste de uma estao de armazenamento de estrado (pallet), uma estao de montagem, uma estao de inspeo, um transportador, e um rob. Duas peas so colocadas, atravs do rob, na estao de montagem. Depois que a montagem das duas peas feita, o rob descarrega o produto acabado em uma mesa de trabalho. O transportador de pallet leva um pallet vazio da estao de armazenamento de pallet para a estao de montagem. O rob tambm descarrega o produto acabado da mesa de trabalho e coloca no pallet que est no transportador. Finalmente, o transportador transporta o produto acabado carregado em pallet da estao de montagem para estao de inspeo.
57
Mesa de Trabalho
Estao de Inspeo
As disponibilidades das peas so verificadas atravs de dois sensores A e B, no mostrados na figura. As chaves limite D, E, e F verificam a presena do transportador nos pontos determinados. O sensor C reconhece o carregamento do produto acabado na mesa de trabalho atravs do Rob. A durao de tempo de ajuntamento pelo Rob e a transferncia do produto acabado da mesa de trabalho 1 unidades, 2 e 3 so as duraes de tempo para o transportador se deslocar da estao de armazenamento de pallet estao de montagem e da estao de montagem para a estao de inspeo, respectivamente. O modelo de rede de Petri do sistema mostrado na figura 3.26(a) e na figura 3.27(b) mostrada a respectiva linguagem ladder para o modelo.
A C B Timer
A B D
D
t1 C t2 E
E Timer
D
t3 F
E Timer
(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 para expelir produto Sensor de entrada Detector de defeito Entrada de produto
A seqncia de controle para a estao de teste descrita pelo diagrama da rede de Petri na figura 3.28. Nesta figura, os cinco lugares (P1 at P5) representam os estados progressivos operados pela estao de teste, enquanto as seis transies (Tl at T6) decidem a sucesso destes estados. Quatro aes (Al at A3) so ativadas respectivamente do estado P2 at P5, para executar as aes externas. A simbologia usada pela linguagem ladder de um PLC Omron C-200H (OMRON, 1994) e empregado para implementar a modelagem feita por uma rede de petri. As descries das transio (condio externa) e ao para a rede de petri. So mostradas nas figura 3.29(a) e 3.29(b) as linguagens ladder que foram convertidas a partir do modelo de rede de Petri da figura 3.28.
59
Ligar
Entrada de produto
P2
T2 Detecco: Falha P3 Conjunto acionado para expelir o produto defeituoso (A2) T4 Expelir produto
T3 Deteco: OK P4
T5 Passar produto
P5
T6
Sada do produto
100.04 P5
P1
100.00 P1 100.00 P1
100.01 P2
000.00 T1
100.01
100.01 P2
100.02 P3
100.03 P4
P2
100.01 P2
000.02 T2
100.02
100.02 P3
100.04 P5
P3
100.01 P2
000.01 T3
100.03
100.01 P2
001.00
100.03 P4
100.04 P5
P4
001.00 A1
100.04 P5
A1
100.02 P3
000.04 T4
100.04
100.02 P3
001.01
100.03 P4
000.03 T5
P5
001.01 A2
100.03 P4
A2
100.04 P5
100.00 P1
100.00 P1
001.02
A3
(b)
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 reduzido Rack de Extenso Figura 4.1: CLP com expanso do nmero de slots. Os CLPs da linha TSX 37 no possuem mdulos de I/O integrados. Qualquer necessidade relacionada a estas sanada por meio do uso de mdulos. Os mdulos de I/O discretos diferem-se no somente em seu formato, mas tambm pela sua modularidade (de 4 sadas a 64 entradas e sadas), pelo tipo de entradas (DC ou AC), pelo tipo de sadas (transistor ou rel) e pelas conexes (bloco de bornes ou conectores HE10). Estas entradas e sadas discretas so utilizadas para o acionamento de atuadores, sensoriamento etc. O CLP oferece 3 mtodos de contagem: (i) usando as entradas discretas do primeiro mdulo; (ii) usando canais contadores integrados no CLP TSX 3722 e (iii) usando mdulos contadores que podem ser inseridos em qualquer posio disponvel. O CLP TSX 37-22 o nico da linha TSX 37 que possui recursos integrados relativos ao processamento de sinais analgicos. Esse mdulo integrado (figura 4.2) constitudo de 8 entradas e 1 sada, com conversores de 8 bits, 0-10V.
Base do CLP
62
Figura 4.2: Mdulo analgico integrado. 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 prdefinidas. 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
Figura 4.3: Estrutura de memria. 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 Aceso troca de informaes via porta de comunicao Aceso falha em I/O Aceso falha na CPU do CLP Piscando nenhuma aplicao vlida no CLP ou existe uma falha de bloqueio na aplicao Aceso falta de bateria falha na bateria
Figura 4.5: Visualizao do estado do CLP. As falhas so apresentadas no modo diagnstico, acessvel por um pressionamento longo (maior que 1 segundo) do boto no bloco de visualizao, se uma entrada ou sada est com falha, seu LED correspondente pisca rapidamente. Se um mdulo est com falha (mdulo faltando, no est de acordo com a configurao, mdulo desligado etc), todos os LEDs correspondentes a seu slot piscam lentamente. Este modo permite a visualizao de falhas em todos os mdulos (mdulos de I/O discretos, mdulos contadores etc). O CLP TSX 3722 possui duas portas de comunicao distintas, assinaladas como TER e AUX, que so funcionalmente idnticas (figura 4.6). Elas permitem conexo simultnea de um terminal de programao e de uma interface homemmquina. A porta de comunicao assinalada como TER (comum a todos os tipos de CLP da linha TSX 37), pode ser usada para conectar qualquer dispositivo suportando o protocolo UNI-TELWAY, e em particular dispositivos que no tenham sua prpria fonte de alimentao (terminal de programao FTX 117, cabo conversor RS 485 / RS 232, caixa de isolao TSX P ACC 01 etc). A porta de comunicao assinalada como AUX (encontrada no TSX 37-22), pode ser usada somente para conectar dispositivos que tenham sua prpria fonte de alimentao (painel do operador, CLP etc). A figura 4.7 ilustra o uso das portas de comunicao.
65
Figura 4.6: Portas de comunicao. A porta de comunicao do CLP pode manipular dois dispositivos simultaneamente, que podem ser um terminal de programao e um painel do operador. O CLP TSX 3722 , tambm, conectado em redes e barramentos de comunicao por meio de cartes de comunicao PCMCIA. Os padres fsicos suportados pelos cartes so RS-232-D e RS-485 (compatvel com o RS 422).
T FTX 1020/050
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
Figura 4.8: Ambiente de programao do PL7 Micro. O ambiente de programao do PL7 Micro explicado de maneira simplificada na figura 4.8, onde a numerao corresponde a: barra de Menu, que permite acesso a todas as funes do programa (1), barra de Ferramentas, que oferece acesso rpido mediante o mouse a todas as funes bsicas e a todos os editores (2), ajuda, que proporciona informaes sobre o programa (3), editores, que permite a criao, depurao e a utilizao das aplicaes (4), paleta de elementos grficos, que permite o acesso direto a todas as ferramentas para criao dos programas em linguagem ladder (5) e barra de estado, que fornece um conjunto de informaes vinculadas ao estado do programa (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.
Figura 4.9: Variveis usadas no programa. Antes de iniciar-se a programao no software PL7 Micro, deve-se considerar de grande importncia os parmetros de comunicao entre o micro computador e o CLP. A opo UNI-TELWAY, mostrada na figura 4.10, deve ser configurada de acordo com as caractersticas do computador utilizado.
Figura 4.10: Configurao da comunicao. Quando se deseja criar um novo programa deve-se obedecer a uma seqncia de comandos e selecionar adequadamente as opes em que se desejar executar o novo programa. Quando pedido pelo software a criao de um novo programa, ir aparecer na tela um quadro (figura 4.11) para que seja selecionado o tipo de CLP e a verso utilizada do programa gerador da linguagem ladder. Neste trabalho ser utilizado o CLP
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.
Figura 4.11: PLC e verso utilizada do software. Finalizando a seqncia anterior, o programa permite a seleo do tipo de programa a ser utilizado. Para tanto, as opes MAST e MAIN sero utilizadas, conforme ilustrado na figura 4.12. Aps esta seleo, uma ltima tela aparecer para que possa ser selecionado o tipo de linguagem a ser utilizada, conforme mostra a figura 4.13. Deve-se, ento, selecionar a opo Ladder (LD). Aps todos esses procedimentos o ambiente de programao estar disponvel para ser utilizado, conforme mostrado na figura 4.14.
70
Figura 4.14: Ambiente de programao. Deste ponto em diante, pode-se comear a construir um programa neste ambiente de programao que ser transferido e utilizado no CLP. Deste ambiente de programao, importante descrever o palete para construo das aplicaes em linguagem ladder, que completamente detalhado na figura 4.15. Contudo, um passo importante ainda necessrio, que a configurao do tipo de CLP a ser utilizado. Deve ser lembrado que o CLP possui disponvel 16 entradas e 12 sadas no mdulo de I/O. As instrues utilizadas pelo CLP possuem o seguinte formato: %I a entrada do CLP; %Q a sada do CLP; %M um bit Interno; %S um bit do Sistema e %BLK um bit dos blocos de funes. Podem-se utilizar entradas de %I1.0 at %I1.15 para ocupar as 16 entradas e de %Q2.0 at %Q2.11 para as 12 sadas disponveis no CLP. Outros elementos importantes so: as funes booleanas, que podem ser declaradas atravs de um endereo de memria qualquer (bit interno) ou atravs de mdulos de I/O digitais (bit de I/O). As instrues booleanas tm um smbolo correspondente e um operando pode ser associado a este smbolo, tal como ilustrado na figura 4.16.
71
S F12
Seta o bit associado para 1 quando este recebe nvel 1 Seta o bit associado para 0 qdo. este recebe nvel 1 Constri um jump Bloco de operaes Bloco de comparao 2 col. e 1 lin. Bloco de comparao 2 col. e 4 lin.
R S-F1
S-F2
F6
F7
Constri uma linha na vertical Apaga uma linha construda na vertical Constri uma linha em vrios blocos Seta o bit associado para um valor recebido
x
F8
S-F6
F9
Bloco B funes (TM, C, MN, R, DR) de Bloco de funes pr -definidas (PID, etc...)
F10
F11
Smbolo
Operando
%I, %Q, %M, %S, %BLK %I, %Q, %M, %S, %BLK
P N
%I, %Q, %M %I, %Q, %M %Q, %M, %FBs %Q, %M, %FBs
S R
Figura 4.16: Smbolos e operandos correspondentes. O CLP utilizado nesse laboratrio o TSX 3722, que possui (para desenvolvimento deste trabalho) somente a opo do mdulo TSX DMZ 28 DR que um mdulo digital com 16 entradas e 12 sadas que est inserido nas posies 1 e 2 do rack do CLP.
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.
73
Figura 4.22: Programa completo. Aps ser criado o programa de aplicao, o passo seguinte a transferncia para o CLP. No menu principal deve-se clicar com o mouse em PLC. Com isso sero mostradas vrias opes, devendo, ento, clicar em Tranfer.... Pode acontecer de o arquivo necessitar ser salvo antes de ser tranferido. Se isso acontecer, uma tela ir aparecer solicitando tal procedimento. Em seguida, clica-se novamente em PLC e posteriormente em Connect. Novamente clica-se em PLC e em seguida em Run.... Agora, sim, o programa transferido e est sendo executado pelo CLP.
74
+ 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
Figura 4.24: Esteira transportadora e detalhes de esteira e painel. O conjunto esteira transportadora1 (figura 4.23) composto de uma esteira deslizante feita de lona, dois sensores PNP, um motor interno para o arrasto da esteira e um painel para ligao dos componentes da esteira com o CLP. O painel de controle, ou ligao, faz a conexo entre a esteira e o CLP. Quando os pontos de +24 volts, que habilitam a esteira ou inverte o sentido do movimento, so alimentados via CLP, a esteira tem seu funcionamento iniciado. Os sinais de atuao dos sensores so retirados dos pontos NPN e PNP do painel e levados aos terminais de entrada de sinal do CLP para realizao da lgica de controle. A figura 4.25 ilustra
1- Um dos fabricantes desse mdulo a INTERDIDACTIC Sistemas Educacionais LTDA. Rua Orianga, 217 CEP 04 052 030 So Paulo SP Telefax 011 5078 9910 www.interdidatic.com.br Email: comercial@interdidactic.com.br
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.
+ 24 V - Inverte Sentido
+24 Vcc Sensor 1 NPN PNP +24 Vcc Sensor 2 NPN PNP
Figura 4.25: Painel de conexo entre esteira e CLP. O Motor de fabricao da Buehler Products, INC. um motor reversvel com tenso de alimentao de 24 volts, torque nominal aproximado de 150 mN.m, rotao de 121 rpm (carga) e 160 rpm (sem carga), corrente nominal de 250 mA. Fica localizado dentro da esteira, e faz a correia transportadora girar pelo acionamento de um cilindro interligado a seu eixo por engrenagens, como ilustrado pela figura 4.26. Os sensores de esteira so do tipo PNP com tenso de alimentao entre 10 e 30Vcc, corrente aproximada de 150mA, alcance de deteco entre 10cm e 30cm e temperatura de operao entre 25C e +55C. Sua forma de conexo ilustrada pela figura 4.27.
Motor
76
Marron +V Preto NA
77
Figura 4.29: Pontos de alimentao 127 V da rede eltrica e 24 VDC via CLP.
24 VDC
Lmpada 130 V / 15 W
Rel
Sada do CLP
Figura 4.31: Esquema simplificado para acionamento de uma lmpada via CLP. O conjunto de chaves formado por 8 chaves de impulso sem reteno. A figura 4.32 mostra como formado o esquema do conjunto de chaves.
78
Botoeira
Boto 1 2 3 4
5 6 7 8
chave
Entrada
Sadas
TSXDMZ 28DR
1 3 4 5 6 7 2
Esquema de ligao do TSXDMZ 28DR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 15 16 17 18 19 NC 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 +24VDC 0VDC 14 %I1.0 %I1.1 %I1.2 %I1.3 %I1.4 %I1.5 %I1.6 %I1.7 %I1.8 %I1.9 %I1.10 %I1.11 %I1.12 %I1.13 %I1.14 %I1.15 Source Sink %Q2.0 %Q2.1 %Q2.2 %Q2.3 %Q2.4 %Q2.5 %Q2.6 %Q2.7 %Q2.8 %Q2.9 %Q2.10 %Q2.11
CLP
8 9 10 11 12 13
24VDC
23 24 25 26
0VDC
27 28 29 30 31
L 127/220VCA N
32 33 34 35
Figura 4.33: Esquema de ligao do mdulo TSXDMZ 28DR do CLP TSX 37-22.
79
Botoeira
A B
1 5 6 7 8 2 3 4
chave
130V 15W L1 L4
130V 15W
130V 15W L7
TSXDMZ 28DR
1 3 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
130V 15W
24VDC
130V 15W L2 L5
130V 15W L8
CLP
80
L1 L2 L3 L4 L5 L6 L7 L8
130V 15W
L9
130V 15W L3 L6
130V 15W L9
24VDC
0VDC
Rede Eltrica
127/220VCA
Rels de 24V - 5A
Botoeira
A B
1 5 6 7 8 2 3 4
chave
130V 15W L1 L4
130V 15W
130V 15W L7
TSXDMZ 28DR
1 3 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
130V 15W
24VDC
CLP
81
L1 L2 L3 L4 L5 L6 L7 L8
24VDC
0VDC
L9
L3
COM
L6
L9
Rede Eltrica
127/220VCA
Rede Eltrica
N F 127 VAC
Rels de 24V - 5A
Botoeira
A B
1 5 6 7 8 2 3 4
chave
130V 15W L1 L4
130V 15W
130V 15W L7
TSXDMZ 28DR
1 3 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
130V 15W
24VDC
130V 15W L2 L5
130V 15W L8
(experimento 4).
L1 L2 L3 L4 L5 L6 L7 L8
CLP
82
L9 COM
Rede Eltrica
130V 15W L3
130V 15W L6
130V 15W L9
24VDC
0VDC
Rede Eltrica
127/220VCA
N F 127 VAC
Rels de 24V - 5A
Botoeira
A B
1 5 6 7 8 2 3 4
chave
TSXDMZ 28DR
L 1 3 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34
Rede Eltrica
5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
Rede Desliga N
(experimento 5).
83
CLP
+24 Vcc Sensor 1 NPN PNP +24 Vcc Sensor 2 NPN PNP
24VDC
0VDC
Rede Eltrica
127/220VCA
Esteira
Botoeira
A B
1 5 6 7 8 2 3 4
chave
TSXDMZ 28DR
L 127 VCA + 24 VCC 1 3 2 4 6 8 10 12 14 NPN PNP 16 18 20 NPN PNP 22 24 26 28 30 32 34 Sensor 1 +24 Vcc Sensor 2 +24 Vcc + 24 V - Habilita Esteira + 24 V - Inverte Sentido
Rede Eltrica
Liga
Rede Eltrica
Liga Rede Desliga N 127 VCA 24 VCC + + 24 V - Habilita Esteira + 24 V - Inverte Sentido
Rede Desliga N
5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
(experimento 6).
84
CLP
+24 Vcc Sensor 1 NPN PNP +24 Vcc Sensor 2 NPN PNP
24VDC
0VDC
Rede Eltrica
127/220VCA
Esteira 1
Esteira 2
Botoeira
A B
1 5 6 7 8 2 3 4
chave
TSXDMZ 28DR
L 127 VCA + 24 VCC 1 3 2 4 6 8 10 12 14 NPN PNP 16 18 20 NPN PNP 22 24 26 28 30 32 34 +24 Vcc Sensor 2 Sensor 1 +24 Vcc + 24 V - Habilita Esteira + 24 V - Inverte Sentido
Rede Eltrica
Liga
Rede Eltrica
Liga Rede Desliga N 127 VCA 24 VCC + + 24 V - Habilita Esteira + 24 V - Inverte Sentido
Rede Desliga N
5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
(experimento 7).
85
CLP
+24 Vcc Sensor 1 NPN PNP +24 Vcc Sensor 2 NPN PNP
24VDC
0VDC
Rede Eltrica
127/220VCA
Esteira 1
Esteira 2
86
Sensor 1
Avanar
Movimento da esteira
Sensor 2
Retroceder
Movimento da esteira
87
Apagar lmpada
t3
v3 p3
Acender lmpada Lmpada apagada Acionar boto Lmpada acesa
p2
t1
p1
Boto acionado
t2
p4
Boto para ligar a lmpada desabilitado
t4
Figura 5.2: Rede de Petri para ligar a lmpada primeiro experimento. 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 1 A= 0 1 0 1 1 0 0 1 1 0 0 1 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, 2,k = 2,k, 3,k = 3,k-1, 4,k = 2,k, 1,k = 1,k, 2,k = max{1,k, 3,k}, 3,k = max{2,k, 4,k}+ v3,k, 4,k = max{1,k, 4,k}, k = 1, 2, ... k = 1, 2, ... k = 2, 3, ..., k = 1, 2, ..., k = 1, 2, ... k = 1, 2, ... k = 1, 2, ..., k = 1, 2, ..., 3,1 = 0
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.
% I1.0 IN
% TM0 TM
% Q2.0 Q
t3
v1
tempo = 10s
p3
Lmpada apagada Acender lmpada
p2
Lmpada acesa
4 Acionar boto
t2
tempo = 0s
t1
p1
Contador
Figura 5.4: Redes de Petri para ligar uma lmpada utilizando um contador. A rede de Petri (P, T, A, w, x, V) conta com os mesmos elementos P = {p1, p2, p3}, T = {t1, t2, t3}, A={(p1, t2), (p2, t3), (p3, t2), (t1, p1), (t2, p2), (t3, p3)}, definidos no 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 A = 4 0 0 1 1 0 1 1
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], ento: x1= x0 + uA 1 x1 = [0, 0, 1] + [1, 0, 0]. 4 0 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 0 1 1 0 1 1
1,k = 1,k, 2,k = 2,k, 3,k = 3,k-1, 1,k = 1,k, 2,k = max{1,4k, 3,k}, 3,k = 3,k + v3,k, 1,k = 1,k,
Essas equaes podem ser colocadas na seguinte forma recursiva: 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 1,5 = 12, 1,6 = 14, 1,7 = 16, 1,8 = 19 2,2 = max{3,2, 1,8}= max{ 20, 19}= 20 3,1 = 20 + 10 = 30 1,9 = 25, 1,10 = 36, 1,11 = 39, 1,12 = 41 2,3 = max{3,3, 1,12}= max{ 30, 41}= 41 3,1 = 41 + 10 = 51 definindo, portanto, a seguinte seqncia de disparos: ts = {t1, t1, t1, t1, t2, t1, t1, t1, t1, t3, t2, t1, t3, t1, t1, t1, t1, t2, t3}, levando seguinte evoluo de estados: [0, 0, 1], [1, 0, 1], [2, 0, 1], [3, 0, 1], [4, 0, 1], [0, 1, 0], [1, 1, 0], [2, 1, 0], [3, 1, 0], [4, 1, 0], [4, 0, 1], [0, 1, 0], [0, 0, 1], [1, 0, 1], [2, 0, 1], [3, 0, 1], [4, 0, 1], [0, 1, 0] e [0, 0, 1]. O programa em linguagem ladder que ser implementado no CLP para o experimento 2 mostrado na figura 5.5, onde %I1.0 a entrada do CLP acionada por uma chave para ligar a lmpada, %Q2.0 a sada do CLP para acionar o mdulo de
92
lmpadas, %TM0 o temporizador, ajustado para um atraso de 10s e %C0 contador, ajustado para o nmero de contagem igual a 4.
% M0 P IN % TM0 TM % Q2.0 Q
% C0 C
E %M0 D F
CU
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
Figura 5.6: Interseo T do terceiro experimento. Tabela 5.1: Evoluo dos estados das lmpadas do semforo.
Estado das lmpadas Semforo 1 Vermelha Amarela
1 2 3 4 5 6 7 OFF OFF ON ON ON ON OFF OFF ON OFF OFF OFF OFF OFF
Verde
ON OFF OFF OFF OFF OFF ON
Verde
OFF OFF OFF ON OFF OFF OFF
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
Lmpada vermelha acesa (semforos 2 e 3)
Semforo 1 passou do sinal amarelo para o vermelho Lmpada verde acesa (semforo 1)
p1 t2 v2
p8
p2 t4 v4
Acender lmpada verde
p3
Acender lmpada vermelha (semforo 1)
p5 t5 v5
Acender lmpada amarela (semforos 2 e 3)
t3 v3
p4 t7 v7 t6
Acender lmpada verde (semforo 1)
p6
p7
Semforos 2 e 3 passaram do sinal amarelo para o vermelho
v6
Figura 5.7: Rede de Petri da interseo T. Uma vez caracterizados todos os elementos da rede de Petri, o prximo passo obter a evoluo dos estados. A partir da figura 5.7 pode-se obter a matriz de incidncia A. Portanto: 95
1 1 0 A= 0 0 0 1
1 0 0 1 0 1 0
0 1 1 0 0 0 0
0 0 1 0 0 0 1
0 0 0 1 1 0 0
0 0 0 0 1 1 0
0 0 0 0 0 1 1
0 0 1 1 0 0 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] t2: u2 = [0, 1, 0, 0, 0, 0, 0] t3: u3 = [0, 0, 1, 0, 0, 0, 0] t4: u4 = [0, 0, 0, 1, 0, 0, 0] t5: u5 = [0, 0, 0, 0, 1, 0, 0] t6: u6 = [0, 0, 0, 0, 0, 1, 0] t7: u7 = [0, 0, 0, 0, 0, 0, 1] x1 = x0 + u1.A = [1, 1, 0, 0, 0, 0, 0, 0] x2 = x1 + u2.A = [0, 1, 1, 0, 0, 0, 0, 0] x3 = x2 + u3.A = [0, 1, 0, 1, 0, 0, 0, 1] x4 = x3 + u4.A = [0, 0, 0, 1, 1, 0, 0, 0] x5 = x4 + u5.A = [0, 0, 0, 1, 0, 1, 0, 0] x6 = x5 + u6.A = [0, 1, 0, 1, 0, 0, 1, 0] 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.
% I1.0 % M14 N
% M2 IN
% TM0 TM
% M13 N IN
% TM5 TM
%M14 Q %M15
% M3 N
S
%M6 Q %M7
% M4 N
% M7 N IN
% TM3 TM
% M13 % M1 % M5 % M7 % M15
99
Boto
OFF ON XX XX XX XX XX XX 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 0 0 1 0 A= 0 1 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 4 0 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 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 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 4 0 0 0 0 0 0 0 1 0 0 0 0 1
101
p1
Solicitao de Passagem
t3 p2
Acionar boto
t2 v2
Apagar lmpada
t1 v1
Apagar lmpada
v3
p4
p3
t4
t5 v5
4
Nmero de vezes que a lmpada verde (p1) deve piscar
p5 t6
p6
Acender lmpada verde (semforo) Condio para mudana de sinal Lmpada vermelha acesa (passagem pedestre)
p9 p7 t7 v7
Condio para mudana de sinal
p10 t9 v9
Acender lmpada verde (passagem de pedestre)
p11
p8
Acender lmpada verde (semforo veculos)
t8 v8
t10 v10
Apagar lmpada
p12
t12 v12
4
Nmero de vezes que a lmpada verde (p1) deve piscar
p13 t13
p14
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 As dinmicas da rede de Petri, decompondo o modelo dentro das dinmicas de transies individuais, so: Equaes dos instantes de tempo que os lugares recebem o disco (1). 1,k 0, k = 1 = 5,k -1 , k = 2,3,4,5,7,8,9,10,12,13,... , k = 6,11,16,21,... 8,k -1 k = 1,2,3, k = 2,3,4...
2,k = 3,k,
104
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 , 12,k = 11,k , 10,k , 13,k = 11,k , 14,k = 11,k, 15,k = 13,k, k = 1,6,11,16,21,... k = 2,3,4,5,7,8,9,10,12... k = 1,6,11,16,21,... k = 2,3,4,5,7,8,9,10,12... k = 1,2,3, k = 1,2,3,
Equaes dos instantes de tempos dos disparos das transies (2). 1,k = max{1,k; 2,k} + v1,k 2,k = max{1,k; 4,k} + v2,k 3,k = v3,k 4,k = max{2,k; 3,k} 5,k = 5,k + v5,k 6,k = max{4,4k; 5,4k; 6,4k} 7,k = 7,k + v7,k 8,k = max{3,k; 8,k; 15,k} + v8,k 9,k = max{9,k; 10,k} + v9,k 10,k = 11,k + v10,k 11,k = max{11,k; 12,k} + v11,k 12,k = 13,k + v12,k 13,k = max{12,4k; 13,4k; 14,4k} Substituindo as equaes de 1 em 2 , em funo de seqncia de disparos das transies, comeando com a transio t3, tem-se: t3: 3,1 = v3,1; (disco: 2,1) t1: 1,1 = v3,1 + v1,1;(disco: 3,1, 4,1, 5,1) t5: 5,1 = 1,1 + v5,1= v1,1+ v3,1 + v5,1; (disco: 1,2) t2: 2,1 = 5,1 + v2,1= v1,1+ v2,1+ v3,1 + v5,1; (disco: 4,2, 5,2, 6,1) 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.
% I1.0 % M12 N
% M16
%M14
% M7 N IN
S
%M15
% TM4 TM
S
%M17
R
% I1.1 P % I1.1 % M17 %M16
% S6 Q
S
%M14
R
%M15
R
% I1.1 % M17 IN % TM0 TM % M2 Q %M1 %M3 %M2 %M17 % M0 % M14 % M4 % M6 % M8 % M12 % M9 % M4 N % TM3 TM IN MODE: TP TB: 1s TM.P: 3 MODIF: Y % M7 % M13 % M15 %M6 Q %M7 % M5 % M1 %M0
% Q2.0
S
%M4 Q %M5
% Q2.1 % Q2.2
% Q2.3 % Q2.4
108
Sensor 1 Bloco
Sensor 2
Figura 5.12: Esteira, posicionamento dos sensores. Tabela 5.3: Evoluo dos estados.
Estado dos componentes do experimento Esteira Sensor 1 Sensor 2
1 2 3 4 5 OFF ON - Avanar OFF ON - Retroceder OFF OFF OFF OFF OFF ON OFF OFF ON OFF OFF
t1
Desligar esteira
t10 p2 t2
Avanar esteira
Boto acionado
2 p1
Ligar esteira Esteira avanando
Esteira desligada
t11 t4 p4
Objeto na posio do sensor 2 Sensor 2 detecta objeto
Parar esteira
t7 p3 t3
p6
t6
Parar esteira
p7 v7= 10s t8
Parar esteira
p8 t9 t5
Sensor 1 detecta objeto
p5 v5= 5s
Reroceder esteira
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 1 0 0 0 A= 0 0 0 0 1 2
0 1 0 0 0 0 0 0 0 1 0
0 1 1 0 0 0 1 1 0 0 0
0 0 1 1 0 0 0 0 0 0 0
0 0 1 0 1 0 0 0 0 0 0
0 0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 0 1 0
0 0 0 0 0 1 0 1 1 0 0
definindo, portanto, x' = x + uA. Assim sendo, para x0=[0, 1, 0, 0, 0, 0, 0, 0] e supondo que a esteira tenha sido ligada com o objeto sendo colocado no centro da esteira ou na posio do sensor 2, obtm-se: x1 = x0 + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [0, 0, 1, 0, 0, 0, 0, 0]
x2 = x1 + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0].A = [0, 0, 1, 1, 0, 0, 0, 0] x3 = x2 + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0].A = [0, 0, 0, 0, 1, 0, 0, 0] x4 = x3 + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0].A = [0, 0, 0, 0, 0, 1, 0, 0] x5 = x4 + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0].A = [0, 0, 0, 0, 0, 1, 0, 1] x6 = x5 + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0].A = [0, 0, 0, 0, 0, 0, 1, 0] x7 = x6 + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0].A = [0, 0, 1, 0, 0, 0, 0, 0] = x1, repetindo o ciclo.
seguindo esta seqncia, pode-se considerar um disparo da transio t1, em qualquer instante aps a esteira ser ligada, esse disparo solicita que a esteira seja desligada, contudo, a esteira s ser desligada quando o objeto estiver na posio do sensor 1, conforme mostra a rede de Petri. Observao 5.1: Para experimentos com esteiras, no sero mostradas as equaes de estados para instantes de disparo das transies uma vez que iro depender da distncia do ponto em que o objeto foi colocado na esteira. O programa em linguagem ladder para o experimento 5 mostrado na figura 5.14, sendo %I1.0 a chave para ligar e desligar a esteira, %I1.1 e %I1.2, respectivamente, os sensores 2 e 1, %Q2.0 e %Q2.1 so, rspectivamente, as sadas do CLP para ligar a esteira, Quando %Q2.0 est acionada a esteira avana e quando as duas sadas, %Q2.0 e %Q2.1, esto acionadas a esteira retrocede. 111
% M1
%M0 %M1
% M2 % M2
R
% Q2.1 % Q2.0
R
%M4
S
% M4 % Q2.0
R
%M5 % M5 % TM1 TM Q % Q2.0
R
% M3 % M2 IN % M3 % TM0 TM IN MODE: TON TB: 1s TM.P: 5 MODIF: Y % Q2.0 Q
S
% Q2.1
S
%M4
112
Sensor 1
Sensor 2
Sensor 3
Figura 5.15: Montagem das esteiras para o experimento. Tabela 5.4: Evoluo dos estados.
Esteira 1
1 2 3 4 5 6 7 8 OFF ON - Avanar ON - Avanar ON - Avanar OFF OFF OFF ON - Avanar
Condio
Esteiras desligadas Esteiras ligadas Primeiro passagem de bloco, esteira 2 liberada Esteira 2 parada com bloco na posio do sensor 2 Sensor 1 detecta objeto parando esteira 1 Esteira 2 avanando Esteira 2 parada com bloco na posio do sensor 3 Bloco sai da esteira 2 e esteira 1 envie outro bloco
Para se obter o modelo (P, T, A, w, x, V) da rede de Petri, note que os eventos do sistema so: (i) ligar esteiras; (ii); deteco do objeto pelo sensor 1; (iii) parar esteira 1 na deteco de um novo objeto pelo sensor 1; (iv) parar esteira 2 na deteco do objeto pelo sensor 2; (v) avanar esteira 2 aps 5s; (vi) parar esteira 2 na deteco do objeto pelo sensor 3; (vii) avanar esteira 1 e 2 aps 10s. Esses eventos do origem ao conjunto T = {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10}. Os lugares, que representam as condies para que os eventos ocorram so: esteira 1 avanando (p1), objeto detectado pelo sensor 1 (p2), esteira 2 com objeto (p3), esteira 1 parada com objeto na posio do sensor 1 (p4), esteira 2 livre (p5), objeto detectado pelo sensor 2 (p6), esteira 2 avanando (p7), esteira 2 parada com objeto na posio do sensor 2 (p8), objeto detectado pelo sensor 3 (p9), esteira 2 parada com objeto na posio do sensor 3 (p10), definindo, portanto, o conjunto P = {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10}. Os elementos da rede de Petri so: A={(p1, t4), (p2, t4), (p3, t4), (p4, t5), (p5, t5), (p6, t6), (p7, t6), (p7, t9), (p8, t7), (p9, t9), (p10, t10), (t1, p1), (t1, p7), (t2, p2), (t3, p3), (t3, p6), (t4, p4), (t5, p1), (t6, p8), (t7, p7), (t8, p9), (t9, p10) , (t10, p5), (t10, p7)}, w(p1, t4)=1, w(p2, t4)=2, w(p3, t4)=1, w(p4, t5)=1, w(p5, t5)=1, w(p6, t6)=1, w(p7, t6)=1, w(p7, t9)=1, w(p8, t7)=1, w(p9, t9)=1, w(p10, t10)=1, w(t1, p1)=1, w(t1, p7)=1, w(t2, p2)=1, w(t3, p3)=1, w(t3, p6)=1, w(t4, p4)=1, w(t5, p1)=1, w(t6, p8)=1, w(t7, p7)=1, w(t8, p9)=1, w(t9, p10)=1, w(t10, p5)=1, w(t10, p7)=1, x[x(p1), x(p2), x(p3), x(p4), x(p5), x(p6),
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 detecta objeto
t2
t3
Objeto detectado pelo sensor 2 Esteira 2 avanando
t8
Esteira 1 avanando
p1 2 t4
p2
Parar esteira
p3
p6 t6
p7
Parar esteira 2
p9 t9
Parar esteira 2 tempo = 0s
Esteira 2 livre Esteira 1 parada com objeto na posio do sensor 1 Esteira 2 parada com objeto na posio do sensor 2 Esteira 2 parada com objeto na posio do sensor 3
p4 t5
p5 t7
p8 v7
Ligar esteira 1
Ligar esteira 2
Ligar esteira 2
Figura 5.16: Rede de Petri para do sexto experimento. O estado inicial desta rede de Petri x0= [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] . Por inspeo pode-se encontrar a matriz de incidncia A da rede de Petri da figura 5.16, sendo dada por: 0 1 0 1 0 0 1 2 1 0 A= 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1
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. 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] x3 = x2 + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 1, 0, 0, 1, 1, 0, 0, 0] x4 = x3 + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0].A = [1, 1, 1, 0, 0, 0, 0, 1, 0, 0] x5 = x4 + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 2, 1, 0, 0, 0, 0, 1, 0, 0] x6 = x5 + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 0, 1, 0, 0] x7 = x6 + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 1, 0, 0, 0] x8 = x7 + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0].A = [0, 1, 0, 1, 0, 0, 1, 0, 1, 0] x9 = x8 + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0].A = [0, 1, 0, 1, 0, 0, 0, 0, 0, 1] x10 = x9 + [0, 0, 0, 0, 0, 0, 0, 0, 0, 1].A = [0, 1, 0, 1, 1, 0, 1, 0, 0, 0] x11 = x10 + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0].A = [1, 1, 0, 0, 0, 0, 1, 0, 0, 0] = x2
O programa a ser implementado no CLP para realizao desse experimento est mostrado na figura 5.17, onde %I1.0 a chave para ligar a esteira. %I1.1, %I1.2 %I1.3 so, respectivamente os sensores 1, 2 e 3, %Q2.0 e %Q2.1 so, respectivamente, as sadas do CLP para ligar as esteiras, Quando %Q2.0 est acionada a esteira 1 deve avanar e quando %Q2.1 est acionada a esteira 2 deve, tambm, avanar. No existe movimento de retroceder neste experimento.
115
% I1.0
%M0
% I1.4
%M3
S
%M1
R
%M5 % M5 IN % TM1 TM %M6 Q
S
%M9
S
% I1.1 % I1.3 % M7 % M4 %M0
S
%M8
R
%M1
S
%M4
R
%M2 %M6
R
% Q2.0
R R
%M7
S
%M8 % Q2.1
R
% M2 % TM0 TM IN MODE: TON TB: 1s TM.P: 5 MODIF: Y %M3 Q
S
%M4
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.
Sensor 1 Sensor 2 Sensor 3 Sensor 4
Figura 5.18: Esteiras do stimo experimento. Tabela 5.5: Evoluo de estados do experimento
Esteira 1
1 2 3 4 5 6 7 8 9 10 11 12 13 OFF ON - Avanar ON - Avanar ON - Avanar ON - Avanar OFF OFF OFF OFF OFF OFF OFF ON - Avanar
Condio
Esteiras desligadas Esteiras ligadas Sensor 1 detecta objeto, mas esteira 2 est livre Sensor 2 detecta objeto, esteira 2 ocupada Esteira 2 parada com objeto na posio do sensor 3 Esteira 1 parada com objeto na posio do sensor 1 Esteira 2 avanando Esteira 2 parada com objeto na posio do sensor 4 Esteira 2 retrocedendo Esteira 2 parada com objeto na posio do sensor 3 Esteira 2 avanando Esteira 2 parada com objeto na posio do sensor 4 Esteira 2 libera objeto, esteira 1 envia outro objeto para esteira 2
Para se obter o modelo (P, T, A, w, x, V) da rede de Petri, note que os eventos do sistema so: (i) ligar esteiras; (ii); deteco do objeto pelo sensor 1; (iii) deteco do objeto pelo sensor 2; (iv) parar esteira 1 na deteco de um novo objeto pelo sensor 1; (v) parar esteira 2 na deteco do objeto pelo sensor 3; (vi) avanar esteira 2 aps 5s; (vii) parar esteira 2 na deteco do objeto pelo sensor 4; (viii) retroceder esteira 2 aps 10s; (ix) avanar esteira 2, aps 10s, depois que o objeto for detectado pela segunda vez pelo sensor 4. 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: esteira 1 avanando (p1), objeto detectado pelo sensor 1 (p2), esteira 2 com objeto (p3), 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 t2
Sensor 1 detecta objeto
t3
t6
Esteira 2 avanando
t9
Esteira 1 avanando
p1 2 t4
p2
Parar esteira 1
p3 t7
p6
Parar esteira 2
p7 t10
Parar esteira 2 Esteira 2 parada com objeto na posio do sensor 3 Esteira 2 parada com objeto na posio do sensor 4
p9
Contador
p12 2 p10
Retroceder esteira 2
t13
Objeto sai da esteira 2
p4 t5
p5 t8
p8 v8
v13
Avanar esteira 2
Ligar esteira 1
Avanar esteira 2
t11 v11
p13
Nmero de vezes que a esteira 2 deve retroceder
Esteira 2 retrocedendo
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 1 1 0 A= 0 0 0 0 0 0 0 0 1 0 2 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 1 1 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 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 0 0 0 0 1 0 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] x3 = x2 + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1] x4 = x3 + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0].A = [1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1] x5 = x4 + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0].A = [1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] x6 = x5 + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [1, 2, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] x7 = x6 + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1] x8 = x7 + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1] x9 = x8 + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1] x10 = x9 + [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, 1, 1] x11 = x10 + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0].A = [0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0] x12 = x11 + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0] x13 = x12 + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0].A = [0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0] x14 = x13 + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0].A = [0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0]
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.
% I1.0
%M0
% M5 IN
S
%M1
% TM1 TM
%M6 Q
S
%M7
S
%M8
S
% M11 %M10
S
% I1.3 % M4 %M1
S
% Q2.0
R
%M2 %M7
R
%M6
% M8 % Q2.1
R
%M11
R
%M0
R
%M9
R
% I1.3 % M2 % TM0 TM IN MODE: TON TB: 1s TM.P: 5 MODIF: Y % I1.4 %M3 %M10
% M9 % C0 C
% Q2.2
R
%M3 Q
E % M11 D F
S
%M4
S
% M9
CU
MODIF: Y
CD
R
%M4
R
%M5
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 internet. ajuda de softwares de simulao de redes de Petri e (vi) desenvolvimento de ferramentas para a atualizao remota desse laboratrio via
122
Referncias Bibliogrficas
ASEE: American Society of Engineering Education, Engineering Education for a Changing World, Report of a Joint Project of the ASEE Engineering Deans Council and Corporate Roundtable, Annual Conference Proceedings, Edmonton, Canada, 1994. ATTI, S. S., Automao Hidrulica e Pneumtica Empregando a Teoria de Sistemas a Eventos Discretos. Tese de M. Sc, Universidade Federal de Santa Catarina, Florianpolis, Brasil, 1998. AUGUSTINE, N. R., Augustine's Views, National Academy of Engineering, The Bridge, vol. 23, n 3, 1994. BASILIO, J. C., A laboratory for a First Course in Control System, International Journal of Electrical Engineering, Education vol. 39, 54-70, 2002. BASILIO, J. C., MOREIRA, M. V., State-space Parameter Identification in a Second Control Laboratory, IEEE Transactions on Education E, vol. 47, n 2, 204-210, 2004. 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. BORDOGNA, J., FROMM, E., ERNST, E., Engineering Education: Innovation Through Integration, Journal of Engineering Education, vol. 82, n 1, 3-8, 1993.
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. CASSANDRAS, C. G.,LAFORTUNE, S., Introduction to Discrete Event Systems. Kluwer Academic Publishers. 2 Edio. Boston, 2000. 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. GEORGINI, M., Automao Aplicada. Editora rica. 1 Edio. So Paulo, 2000. GRAYSON, L. P. (Ed.), Educating Engineers for World Competition Proc. 24th Frontiers in Education Conference, ASEE-IEEE, 233-236, San Jose, CA, 1994. IEC: International Electrotechnical Commission. International standard IEC 1131-3, Programmable Controllers, Part 3: Programming Languages. Geneva, 1992.
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. LAUZON, S. C., Ma, A. K. L., MILLS, J. K., BENHABIB, B., Application of Discrete Event System Theory to flexible manufacturing, IEEE Control Systems, 41-48, 1996. 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. MARTIN, T. W., BROWN, W. D., A Downsized, Laboratory-Intensive Curriculum in Electrical Engineering, Proceedings of the 1997 Frontiers in Education Conference, 878-882, 1997. MIDDLETON, N. T., GLASER, S., GOSINK, J. P., PARKER, T., An Integrated Engineering Systems Laboratory, Proceeding of the 1996 Frontiers in Education Conference , 651-655, 1996. 125
MIYAGI, P. E., Controle Programvel. Editora Edgard Blcher. So Paulo, 1996. MORAES, C. C., CASTRUCCI, P. L., Um Programa Didtico em Automao Industrial, Anais do XIV - Congresso Brasileiro de Automtica, pp. 1397-1402, Natal, Brasil, Set., 2002. NATALE, F., Automao Industrial. Ed. rica. 2 Edio. So Paulo, 1995. OLIVEIRA, J. C. P., Controlador Lgico Programvel. Editora Makron Books. So Paulo, 1993. OMRON, C200H Programmable Controllers (CPU01-E/03- E/11-E) Operation Manual, Omron Co., 1994. 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. QUINN, R. G., The E4 Introductory Engineering Test, Design and Simulation Laboratory, Journal of Engineering Education, vol. 82, n 4, 1993. 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. SILVEIRA, P. R., SANTOS, W. E., , Automao e Controle Discreto. Editora rica. 1 edio. So Paulo, 1999. 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. VENKATESH, K., ZHOU, M.C., Modeling, Simulation, and control of Flexible manufacturing Systems A Petri Net Approach, World Scientific Publishers, Singapore, 1998. VENKATESH, K, ZHOU, M. C., CAUDILL, R. J., Comparing Ladder Logic Diagrams and Petri Nets for Sequence Controller Design Through a Discrete Manufacturing System, IEEE Transactions on Industrial Electronics, vol. 41, n 6, 611-619, 1994a. VENKATESH, K, ZHOU, M. C., CAUDILL, R. J., Evaluating the Complexity of Petri Nets and Ladder Logic Diagrams and for Sequence Controllers Design in Flexible Automation Proceedings of the 1994 IEEE Symposium on Emerging Technologies e factory Automation, 428-435, 1994b. 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