Sunteți pe pagina 1din 82

Sistemas Digitais III

EE773 / NE853

Redes de Petri

PROF. FRANCISCO ENAS LEMOS PROF. EDSON LEMOS HORTA PROF. ORLANDO DEL BIANCO FILHO PROF. LUIS CALDAS PROF. MARIA CLAUDIA CASTRO

1O SEM. / 2004

REDES DE PETRI

NDICE 1- Reviso dos Modelos de Estruturas Digitais Elementares.......................................................................... 4 1.1- Modelo combinatrio ........................................................................................................................... 4 1.2- Modelo seqencial Assncrono ........................................................................................................... 4 1.3 - Modelo Seqencial Sncrono .............................................................................................................. 6 2 - Uma metodologia para projetar Sistemas Digitais ..................................................................................... 7 2.1 - Conceitos bsicos ................................................................................................................................ 7 2.2 - O Problema da descrio de tarefas e o Conceito de Algoritmo....................................................... 10 2.3 - O mtodo de projeto.......................................................................................................................... 12 2.4 - Exemplo de um projeto ..................................................................................................................... 13 3 - O modelo de redes de Petri como um mecanismo formal de descrio e anlise de sistemas ................ 19 3.1 - Histrico............................................................................................................................................ 19 3.2 - Por que necessrio um mecanismo formal de descrio? .............................................................. 19 3.3 - Apresentao do modelo de redes de Petri........................................................................................ 19 3.3.1 - Definio .................................................................................................................................... 20 3.3.2 - Seqncia de disparo de transies ............................................................................................ 22 3.3.3 - Diagrama de marcaes da rede................................................................................................. 24 3.3.4 - Representao matricial das redes de Petri................................................................................ 25 3.3.5 - Propriedades das redes ............................................................................................................... 27 3.4 - Exerccios propostos ......................................................................................................................... 31 4 - Interpretao do modelo........................................................................................................................... 36 4.1 - Exemplos de aplicao no modelamento de sistemas....................................................................... 37 4.2 - Modelamento de estruturas de controle digital................................................................................. 40 4.3 - Exemplos de aplicao...................................................................................................................... 41 5 - Sntese de estruturas de controle .............................................................................................................. 48 5.1 - A sntese de mquinas de estado (unidades de controle) descritas com redes de Petri. ................... 48 5.2 - Exemplos de aplicao...................................................................................................................... 51 5.3 - Exerccios Propostos ......................................................................................................................... 63

REDES DE PETRI

O PROCESSO DE ELEMENTARES

PROJETO

IMPLEMENTAO

DE

ESTRUTURAS

DIGITAIS

A figura abaixo resume as 4 etapas principais deste processo: A primeira delas consiste na formulao escrita do problema, procurando defini-lo completamente, o que nem sempre tarefa simples, tendo em vista que as descries fornecidas ao projetista podem ser incompletas e conter inmeras fontes mal entendidas. O estudo detalhado Do problema (etapa 2), implica em sua total compreenso e definio clara das condies de contorno envolvidas. A sntese propriamente dita, poder ento ser realizada. As etapas 3 e 4 correspondem materializao da estrutura e verificao de seu correto funcionamento. Etapa (1) Formulao inicial do problema e definio dos objetivos Estudo detalhado do problema e sntese da estrutura seqncial desejada Montagem da estrutura projetada Testes finais de verificao e eventual reformulao do projeto, at o funcionamento correto da estrutura

Etapa (2)

Etapa (3) Etapa (4)

Fig 1 - O processo de projeto e implementao de estruturas digitais elementares O comportamento de um sistema digital elementar pode ser determinado pelas relaes que se estabelecem entre suas variveis de entrada e sada. A sntese destas estruturas, consiste exatamente em determinar estas relaes lgicas entre cada uma das variveis de sada e as variveis de entrada envolvidas. Estas relaes, estabelecidas a partir da definio e descrio do problema, sero sintetizadas com base em modelos definidos a seguir.

REDES DE PETRI

1- REVISO DOS MODELOS DE ESTRUTURAS DIGITAIS ELEMENTARES

1.1- Modelo combinatrio As sadas do sistema,s1, s2 ... sm, so funes booleanas binrias apenas das entradas e1 , e2 ... en do mesmo. Ou seja: o conjunto de sadas fornecido pelo sistema num instante ti perfeitamente determinado conhecendo-se o conjunto das variveis de entrada aplicado a ele nesse instante. e1 e2 ..... en Ou genericamente: S = F [E] Fig. 1.1 Modelo combinatrio 1.2- Modelo seqencial Assncrono Neste caso, as sadas so funes booleanas (binrias) no apenas das entradas, mas tambm do estado interno do sistema seqencial. Estas funes podem ser definidas de duas maneiras distintas (porm equivalentes) de acordo com a adoo do modelo de Mealy ou de Moore para representao da mquina seqencial. Modelo de Moore: A funo de sada determinada pelo estado presente e a atualizao de estado (estado futuro) depende da entrada presente e do prprio estado, ou seja: z1 = f1 (x1 , x2 ...xk ) x2 = f2 (x1 , x2 ... xk ) zm = (x1 ,x2 xk ) Conjunto de equaes de Estado: x1 ( t + t ) = g1 [ x1 (t), x2 (t) xk (t) ; el (t), e 2 (t) en (t) ] x2 ( t + t ) = g2 [ x1 (t), x2 (t) xk(t); e l (t), e 2 (t) en (t) ] : : xk ( t + t ) = gk [ x1 (t), x2 (t) xk(t); e l (t), e2 (t) en (t) ] conjunto de equaes de sada Sistema combinatrio F S1 = f1 (e1 ,e2 ,....en ) S2 = f2 (e1 ,e2 ,....en ) ...... Sn = f2 (e1 ,e2 ,....en )

REDES DE PETRI

Genericamente, podemos escrever dois grupos de equaes que definem completamente o comportamento do sistema: Z(t) = F [ x(t) ] X( t + t ) = G [ x(t), E(t) ] onde: Equaes de sada Equaes de Estado

E = conjunto de entradas permitidas pelo sistema Z = conjunto de sadas fornecidas X = conjunto de estados internos do sistema

A figura 1.2 ilustra o modelo de Moore, onde F e G so funes da lgebra booleana binria, e ( ) representa um elemento de memria, capaz de armazenar o estado interno do sistema durante um certo tempo () .

G estado futuro

estado presente

Fig. 1.2 Modelo de Moore

Modelo de Mealy: Neste modelo, tanto a funo de sada, como a de atualizao de estado, dependem da entrada e do estado presente, representados matematicamente como se segue: z1 = fl [ ( x1 , x2 ...xk ) ; ( e 1 , e2 ... e n ) ] z2 = f2 [ ( x1 , x2 ...xk ) ; ( e1 , e2 ...en ) ] : : zn = fn [ ( x1 , x2 ...xk ) ; ( e1 , e 2 ...en ) ] e para as funes de estados: x1 ( t + t ) = g1 [ x1 (t), x2 (t) ... xk (t) ; el (t), e 2 (t) en (t) ] x2 ( t + t ) = g2 [ x1 (t), x2 (t) ... xk (t) ; el (t), e 2 (t) en (t) ] : : xk ( t + t ) = gn [ x1 (t), x2 (t) ... xk (t) ; e l (t), e2 (t) en (t) ] equaes de sada

REDES DE PETRI

Generalizando as equaes, onde F, G so funes booleanas binrias, e E, Z, X representam os conjuntos j mencionados anteriormente, temos: Z(t) = F [ X(t) . E(t) ] X(t + t ) = G [ X(t), E(t) ] conjunto de equaes de sada conjunto de equaes de estado

G estado futuro

estado presente

Fig. 1.3 Modelo de Mealy

1.3 - Modelo Seqencial Sncrono Nos modelos sncronos, as interaes com o sistema se do em intervalos de tempo bem determinados sob o comando de um relgio externo ao circuito, ou seja: Os instantes de comutao do conjunto de variveis de entrada e sada, e do estado, esto sempre referenciados s variaes de uma varivel binria particular (denominada relgio externo) que chamaremos R(t), e que dentro dos objetivos deste estudo ser sempre peridico. Os modelos de Moore e Mealy anteriormente definidos, podem ento ser reescritos como sendo: A) Modelo de Moore: Z(tn) = F [ X(tn) ] X (tn) + 1) = G [ X(tn), E(tn) ] B) Modelo de Mealy Z (tn) = F [ X(tn), E(tn) ] X (tn + 1 ) = G [ X(tn),E(tn) ] equaes de sada equaes de e stado equaes de sada equaes de estado

REDES DE PETRI

Onde as referncias de tempo t0, tl ... tn, podero corresponder aos instantes para os quais o relgio externo tenha valor lgico ZERO ou UM, ou ainda podero corresponder apenas aos instantes de variao positiva ou negativa do sinal de relgio (sensveis borda do sinal de relgio).

variaes positivas

variaes negativas

Fig. 1.4 Informao externa de sincronismo (sinal de relgio)

No modelo seqencial sncrono, portanto, a discretizao da varivel tempo obtida pela introduo da varivel R(t), que fisicamente corresponder a um sinal externo de sincronismo. Este sinal (Relgio) define, em ltima anlise, os instantes permitidos de interao do sistema com o meio externo.

S(t)

E(t)

G prximo estado

estado atual Memria

Fig 1.5 Modelo Seqencial sncrono

2 - UMA METODOLOGIA PARA PROJETAR SISTEMAS DIGITAIS

2.1 - Conceitos bsicos Um conceito essencial em sistemas digitais que a funo lgica destes sistemas pode ser descrita independente dos detalhes internos do mesmo, ou seja: O SISTEMA pode ser representado por mdulos funcionais que se comportam de forma previsvel, e seu comportamento analisado e determinado atravs de mecanismos formais de descrio, como por exemplo tabelas de fluxo ou diagramas de estado. Por comportamento do sistema, entende-se a relao que se estabelece entre suas variveis de entrada e sada em funo do tempo. Desta forma, surge a idia de projetar um sistema digital complexo particionando-o em uma srie de subsistemas mais simples, caracterizando o comportamento de cada uma dessas partes e a seguir, a maneira pela qual elas se relacionam dando origem ao sistema inicialmente desejado. (figura 2.1).

REDES DE PETRI

e1 e2 e3 : : en SISTEMA DIGITAL

S1 S2 S3 Sn

e1 e2 e3 en P2 P4 P1 P3

S1 S2 S3 Sn

Fig. 2.1 Parties do Sistema Digital

A idia de particionar um sistema digital complexo permite caracterizar pelo menos duas atividades distintas (mas inter relacionadas) dentro do processo de projetar estes sistemas. A primeira se refere ao PROJETO DO SISTEMA propriamente dito, definindo conjuntos de parties ( P1, P2 ... P3 ) que iro realizar as tarefas necessrias, especificando o comportamento de cada uma das parties e suas necessidades em termos de entradas e sadas. Estas parties sero chamadas MDULOS FUNCIONAIS ( ou blocos funcionais ). A segunda, consiste em analisar os detalhes de funcionamento de cada um dos mdulos funcionais descritos anteriormente. Esta atividade ser denominada PROJETO LGICO DO SISTEMA. O processo de projetar e realizar Sistemas Digitais pode ser subdividido em 3 fases denominadas respectivamente: DEFINIO, DESCRIO E SNTESE. DEFINIO se relaciona com o projeto do sistema como um todo, sua diviso em mdulos funcionais, as necessidades de entradas e sadas de cada mdulo, e seu inter-relacionamento. DESCRIO diz respeito aos detalhes de operao lgica de cada um dos mdulos, e SNTESE se relaciona com o projeto do hardware ou seja: os circuitos que vo executar a descrio proposta. A idia de projetar sistemas digitais complexos como um conjunto de subsistemas mais simples, que se inter-relacionam, implica em caracterizar estas parties do projeto, e os tipos de tarefas que cada partio deve realizar. Para isso, ser admitido que as tarefas mais simples, uma vez definidas, podem ser enquadradas em uma de trs categorias: 1. Tarefas de Memorizao 2. Tarefas de Transformao 3. Tarefas de Controle As tarefas de memorizao sero realizadas em MDULOS DE MEMRIA, cuja funo armazenar informaes durante um certo perodo de tempo. As informaes armazenadas nas memrias sero valores digitais organizados um a um ( bit a bit ) ou em conjuntos de bytes ( 8 bits ) ou palavras. A memria tem uma organizao interna que lhe prpria, onde cada palavra ocupa uma ou vrias posies que so descritas por um ENDEREO. Do ponto de vista lgico, as memrias podem ser vistas pelos projetistas, como se fossem tabelas com um certo nmero de linhas e colunas, cujo tamanho varia de acordo com a capacidade da memria. Estes mdulos recebem portanto, como entrada, o endereo de uma linha da tabela, e fornecem como sada as PALAVRAS correspondentes (colunas) armazenadas naquele endereo. As memrias PROM, EPROM, EEPROM so os exemplos tpicos destes mdulos, onde as informaes contidas so gravadas pelo projetista a partir da definio e programao dos dados que ele deseja armazenar. Outros mdulos de memrias podem permitir ler ou escrever diversas vezes o contedo de um determinado endereo com

REDES DE PETRI

acessos de escrita ou leitura da informao armazenada. Memrias deste tipo sero caracterizadas no presente estudo, como registradores ou memrias ditas de acesso direto (memrias RAM Randon Access Memory). OS MDULOS DE TRANSFORMAO vo se caracterizar por receber um certo conjunto de entradas e modific-los segundo uma relao lgica bem definida, fornecendo um conjunto de sadas correspondente ao conjunto de entradas recebido. Exemplos de mdulos de transformao usuais so os somadores, as Unidades Lgicas e Aritmticas (ULAs), os codificadores (multiplex), decodificadores (demultiplex), etc. Tambm sero considerados mdulos de transformao as interfaces entre o sistema e o meio externo onde ele deve residir como por exemplo um led que transforma um sinal eltrico em sinal luminoso, ou uma fotoclula que indica ao sistema a ocorrncia de um evento externo. OS MDULOS DE CONTROLE, como o prprio nome indica, devem controlar as operaes dos mdulos de memria e dos mdulos de transformao. As sadas dos mdulos de controle podem depender no somente de suas entradas presentes (num instante de tempo t0), mas tambm de entradas passadas ocorridas em instantes anteriores, o que caracterstico das estruturas seqenciais, uma vez que descrevem sistemas digitais que evoluem por estados. importante ressaltar que cada um dos mdulos aqui mencionados no deve ser visto pelo projetista do sistema como parties estanques. Os mdulos podem e devem ser agrupados, sempre que conveniente, para simplificar a descrio do sistema. Por exemplo, um mdulo pode ser designado coletivamente como mdulo de controle, mesmo que no seu interior existam mdulos de memria ou de transformao desde que a sua funo principal, ao contexto geral do sistema, seja a funo de controle. Interconexo dos Mdulos Um grupo de mdulos no qual um sistema foi particionado deve ser conectado por fios que transportam as informaes lgicas, que sero denominados LINHAS LGICAS. Um conjunto de linhas lgicas em paralelo para transportar palavras de informao denomina-se via de comunicao. A forma pela qual os mdulos so conectados atravs das vias, denomina-se ESTRUTURA DA VIA, e ela extremamente importante para a operao adequada do sistema. Como exemplos de estruturas de VIAS, podemos citar: (Fig. 2.2a at 2d )

1 1

2 3

4 3 a) Estrutura em anel 4 5

b) Estrutura totalmente conectada

REDES DE PETRI

10

1 1 2 5 2 chave comutadora 3 4 5 4 3

c) Estrutura de via nica (ou de barramento)

d) Estrutura de via com estrela

Fig. 2.2 Exemplos de Estrutura de Vias de comunicao . 2.2 - O Problema da descrio de tarefas e o Conceito de Algoritmo Descrever a operao de sistemas lgicos , em sua essncia, descrever todas as TAREFAS que ele deve realizar. Para a descrio destas tarefas, fundamental rever o conceito de ALGORITMO, uma vez que ele o ponto de partida para estas descries e a realizao de projetos de sistemas digitais. O Algoritmo semelhante a uma receita para produzir um determinado resultado, mas deve ser definido de forma mais cuidadosa. A anlise de um exemplo permitir formular o conceito. O algoritmo representado a seguir, denomina-se algoritmo de EUCLIDES e est apresentado sob FORMA VERBAL, a qual consiste em: 1. Nome do Algoritmo 2. Breve descrio do seu propsito 3. Uma lista de seus passos ordenados A execuo destes passos, na ordem indicada, realiza a tarefa desejada. Algoritmo de Euclides: - Dados dois nmeros inteiros e positivos m e n, encontrar o seu mximo divisor comum. Passo 1: ( Encontrar o resto ) Dividir m por n, e seja r o resto. (0 < r < n ). Passo 2: ( Teste de zero ) Se r = 0 terminar o algoritmo e deixar n ser a resposta. Passo 3: ( Troca ) Se r > 0 trocar m por n e n por r e voltar ao passo 1. Uma forma mais conveniente de representar um algoritmo por intermdio de fluxogramas. Um fluxograma uma representao grfica que indica a seqncia lgica de operaes que devem ser realizadas para execuo do algoritmo. Para representao dos fluxogramas, vamos utilizar apenas quatro tipos de blocos conforme indicado a seguir: (Fig. 2.3a at 3d).

INCIO

FIM

a) Incio de um processo

b) Final de um processo

REDES DE PETRI

11

c) Bloco de instruo (executa a instruo designada internamente)

d) Bloco de deciso

Fig. 2.3 Notao bsica de Fluxogramas O mesmo algoritmo de Euclides encontra-se agora representado na figura 2.4 atravs de um fluxograma. INCIO

m n

m n n r

no r=0?

sim Resposta = n

Fig.2.4 Fluxograma do Algoritmo de Euclides Um algoritmo tambm pode ser encarado como um processo, uma rotina, etc.. A palavra algoritmo, entretanto, ter um significado que vai alm de um simples conjunto de regras numa determinada seqncia, que realiza uma determinada tarefa. Ele deve possuir caractersticas adicionais definidas da seguinte forma: 1. Deve ser FINITO: - Um algoritmo deve sempre terminar depois de um nmero finito de passos. 2. Deve ser PRECISO: - Cada passo do algoritmo deve ser definido de forma precisa. As aes executadas devem ser rigorosamente definidas, e sem ambigidades. 3. ENTRADAS: - Um algoritmo pode ou no necessitar de entradas, que so condies iniciais a ele fornecidas. (O algoritmo de Euclides requer m e n inteiros e positivos). 4. SADAS: - Um algoritmo possui uma ou mais sadas que so quantidades relacionadas com as entradas, ou caractersticas do prprio algoritmo ( o algoritmo de Euclides possui uma sada no passo 2 ). 5. Deve ser TIL: - Um algoritmo deve produzir um resultado til, ou seja: O resultado do algoritmo deve levar a um resultado prtico que tenha alguma aplicao.

REDES DE PETRI 2.3 - O mtodo de projeto

12

O que foi exposto at aqui permite fazer uma primeira descrio das atividades envolvidas no processo de projetar sistemas digitais, e isto est representado no diagrama da figura 2.5, onde existem cinco etapas de projeto:

INCIO

DEFINIO no satisfatria DESCRIO

AVALIAO

satisfatria

SNTESE

falhas TESTE

correto FIM

Fig. 2.5 Fluxograma da atividade de projetar.

Etapa 1: Definio: Consiste em estudar o sistema a ser realizado, de modo a definir um conjunto de requisitos do projeto e verificar, em funo da complexidade do problema, se ser necessrio particionlo ou no em MDULOS FUNCIONAIS mais convenientes para a soluo, os quais posteriormente sero interligados para constituir o sistema completo. Consiste tambm em esboar as tarefas que sero realizadas pelos mdulos funcionais, definir suas entradas e sadas e a forma pela qual eles devero ser interligados. Etapa 2: Descrio: Tendo em vista as parties do problema definidas na fase 1, esta fase consiste em descrever ALGORITMOS para que as parties executem as tarefas desejadas.

REDES DE PETRI

13

Etapa 3: Avaliao: Avaliar a operao das fases 1 e 2, verificando se so satisfatrias, ou seja, se satisfazem a todos os requisitos do projeto. Etapa 4: Sntese: Consiste em transcrever as descries dos algoritmos em um conjunto de mdulos de circuitos (hardware) capazes de executar as tarefas correspondentes. Etapa 5:- Teste: Fazer medidas de funcionamento do circuito, de modo a comprovar que as tarefas so realizadas corretamente. A primeira parte do fluxograma da figura 2.5 (Avaliao das duas fases iniciais) sem dvida o ponto crtico da atividade de projetar. Quando o projetista consegue avaliar as duas fases iniciais satisfazendo os requisitos do projeto, ele passa a aplicar uma tcnica de sntese que ir leva-lo materializao da estrutura desejada. A seguir sero analisadas, de forma mais detalhada, as trs etapas bsicas da atividade de projetar (Definio, Descrio e Sntese). 2.4 - Exemplo de um projeto Este item analisa a fase de definio do projeto de um multiplicador binrio para operar com nmeros inteiros e positivos de at 16 bits. A colocao do problema Evidentemente, a realizao do projeto de um multiplicador deve iniciar pela compreenso do algoritmo que ser utilizado nas operaes de multiplicao. A forma mais simples de rever este algoritmo aplica-lo em nmeros decimais, estendendo-o a seguir s operaes com nmeros binrios. No exemplo que se segue, o algoritmo convencional aplicado em base decimal, limitando o uso apenas de dgitos 0 e 1 (uma vez que o mesmo algoritmo ser usado posteriormente em base binria). Multiplicar Multiplicando Multiplicador (1000)base10 por (1001)base 10 1000 1001 ______ 1000 0000 0000 1000 __________ 1001000

Produto

Conforme o exemplo indica, o algoritmo pega os dgitos do multiplicador, um de cada vez da direita para a esquerda, fazendo a multiplicao de cada dgito do multiplicador pelo multiplicando, e colocando produtos intermedirios esquerda dos resultados anteriores. Cabe tambm observar que o nmero de dgitos do produto maior que o nmero de dgitos da parcelas, ou seja: Se o comprimento do multiplicando for N dgitos e o do multiplicador for M dgitos, o resultado poder ter at M + N dgitos. Finalmente, cabe ressaltar que se tivermos apenas dgitos zero e um (caso especfico de base binria), cada passo da multiplicao fica simples, e teremos apenas duas possibilidades: a) Copiar o multiplicando no lugar apropriado quando o dgito multiplicador for UM (1 x multiplicando); b) Colocar ZERO se o dgito do multiplicando for zero.

REDES DE PETRI

14

Como as multiplicaes em base binria oferecem sempre apenas dgitos ZERO ou UM , tem-se sempre apenas estas duas escolhas, e pode-se definir um algoritmo para realizar tarefa de multiplicao desejada. Este algoritmo, entretanto, no deve ser considerado (do ponto de vista de projeto do sistema digital) de forma isolada, mas em conjunto com os circuitos digitais (hardware) que iro implementa-lo. Uma primeira interao entre o algoritmo e o Hardware para realiza-lo A figura 2.6 apresenta um diagrama em blocos de um sistema digital capaz de realizar o algoritmo da multiplicao desejado em base binria. Como devem ser multiplicados nmeros de at 16 bits, o registrador do multiplicando, a ALU (Unidade lgica aritmtica) e o registrador de produto devem possuir 32 bits. O multiplicando comea ocupando apenas a metade do registrador (R_CANDO) e vai sendo deslocado em um bit para a esquerda em cada passo. Estes deslocamentos inserem sempre ZEROS direita. O multiplicador colocado no registrador correspondente (R_DOR), e vai sendo deslocado para a direita, um bit a cada passo da execuo do algoritmo. O sistema deve iniciar com o registrador do produto (R_PROD) contendo apenas ZEROS. A unidade de controle, ao controlar a execuo do algoritmo, decide quando deslocar os registradores do multiplicando, do multiplicador e tambm quando deve escrever novos valores no registrador de produto. A figura 2.7, adiante, apresenta o fluxograma correspondente ao algoritmo da multiplicao binria que foi adotado para este sistema, ou seja: Se o bit menos significativo do multiplicador for igual a UM, some o multiplicando ao produto e a seguir faa os deslocamentos necessrios. Se este bit for igual a ZERO, faa apenas os deslocamentos ( do multiplicando 1 bit para a esquerda, e do multiplicador um bit para a direita). Estes passos devem ser repetidos 16 vezes para completar a operao (lembrar que a multiplicao de dois nmeros de 16 bits).

ZERO 16 bits

MULTIPLICANDO 16 bits SHIFT_LEFT

MULTIPLICADOR 16 bits DIR

REG. do MULTIPLICANDO R_CANDO

LOAD1

REG. do MULTIPLICANDO R_DOR

ESQ
LOAD2 32 bits R_DOR(0)
*

SHIFT_RIGHT

64 bits

ALU
32 bits

unidade de controle

INC_CNT RESET

LOAD3 FIM_16 REG. do PRODUTO R_PROD


INCIO

CONTADOR (MOD_16)

Fig.2.6 - Diagrama em Blocos do Sistema Digital Multiplicador

REDES DE PETRI

15

INCIO

Carregue o multiplicador e o Multiplicando nos registros

=1

teste o bit 0 multiplicador

=0

Some o multiplicando ao produto e coloque o resultado no registrador produto

Desloque o reg. do multiplicando de 1 bit esquerda e Desloque o reg. do multiplicador de 1 bit direita

Incrementa a contagem dos passos

16 vezes? MAIOR

MENOR

Resultado est No Reg. Produto

Fim

Fig. 2.7 : Algoritmo da multiplicao que utiliza o sistema digital da fig.2.6 para sua implementao. De modo a ilustrar a aplicao do algoritmo, a tabela (figura 2.8) apresenta de forma detalhada cada passo da multiplicao, usando nmeros de 8 bits ao invs de 16 bits, para facilitar a visualizao do algoritmo. Lembrar que com isto, sero executados apenas 8 passos e o resultado ter um total de 16 bits. A ttulo de exerccio, esta tabela deve ser completada pelo aluno, para uma perfeita compreenso do algoritmo, e portanto, das tarefas que o sistema digital (que ele deseja projetar) dever realizar.

REDES DE PETRI

16

Iterao 1 2 3 4 5 6 7 8

Passo

Multiplicando

Multiplicador
0001 1010 0000 1101

Produto
0000 0000 0000 0000 0000 0000 0000 0000

Valores Iniciais 0000 0000 0100 0111 Prod= Prod*Mcando Desl. Esq. Mcando 0000 0000 1000 1110 Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor Prod= Prod*Mcando Desl. Esq. Mcando Desl. Dir. Mdor

Tabela 2.8 - Tabela para descrio passo a passo do algoritmo da multiplicao (a ser preenchida pelo aluno)

CONCLUSES IMPORTANTES SOBRE A ANLISE DESTE EXEMPLO: 1) A composio de um sistema digital genrico Um sistema digital usualmente dividido em duas partes principais: um fluxo de dados (FD) e uma unidade de controle (UC). O fluxo de dados responsvel pelas transformaes de dados que ocorrem dentro do sistema digital, enquanto que a unidade de controle ordena as operaes que devem ser conduzidas para realizar essas transformaes (fig.2.9). Interligando esses dois mdulos, existem os sinais de controle, aqueles que saem da unidade de controle e vo para o fluxo de dados, e os sinais de estado, aqueles que saem do fluxo de dados e vo para a unidade de controle. Os sinais de controle determinam que operaes que devem ser realizadas no fluxo de dados, quando essas operaes devem ser executadas e em que seqncia elas devem se suceder para que a funcionalidade do sistema seja corretamente implementada. Os sinais de estado possibilitam unidade de controle observar o estado do fluxo de dados para poder tomar decises sobre quais operaes devem ser feitas a seguir. Portanto, a estrutura de um sistema digital genrico a seguinte:

REDES DE PETRI

17

Sinais externos de entrada do controle

Sinais externos de entrada do F. D.

Sinais de controle

. :

UC
. :
Sinais de estado Sinais de sada do controle p/ meio externo

FD
sinais de sada do F. D. p/ meio externo

Fig. 2.9 - Estrutura de um sistema digital genrico

As entradas do fluxo de dados so os seus pontos de controles. Um ponto de controle pode ser um sinal de seleo ou um sinal de acionamento (clock). Os sinais de seleo indicam as transformaes e as trajetrias que devem ser executadas num determinado instante de operao do mdulo (por exemplo, as variveis de seleo de um multiplex). Os sinais de acionamento determinam quais registradores devem receber novos valores naquele instante. Os sinais de acionamento determinam tambm quando os registradores devem ser atualizados (por exemplo, sinais de LOAD de registradores). As sadas do fluxo de dados so os sinais de estado. Esses sinais so determinados de forma a tornar disponvel unidade de controle todas as informaes que devem ser testadas, para que ela possa determinar o que fazer no ciclo atual e qual deve ser o prximo ciclo (por exemplo testar o bit menos significativo do multiplicador). Evidentemente, alm dos sinais trocados entre o fluxo de dados e a unidade de controle, existem os sinais de entrada de dados, que vem de fora do mdulo para o fluxo de dados, os sinais de sada de dados, que saem do fluxo de dados, e vo para fora do mdulo, os sinais de entrada de controle, que vm de fora do mdulo para a unidade de controle e os de sada de controle, que saem da unidade de controle e vo para fora do sistema. 2) Como o exemplo do Multiplicador se insere nestes conceitos? O sistema multiplicador pode ser esquematizado conforme indica a figura 2.10, onde as variveis envolvidas na soluo do problema esto indicadas, e podem ser definidas conforme se segue: Definio das variveis da Unidade de Controle INCIO: Entrada do controle que permite iniciar uma operao no sistema; LOAD1, LOAD2, LOAD3: Sadas que acionam carga paralela no reg. respectivo; SHIFT LEFT: Sada que desloca registrador respectivo um bit para a esquerda; SHIFT RIGHT: Sada que desloca registrador respectivo um bit para a direita; RESET: Sada que permite zerar o contador mdulo 16;

REDES DE PETRI INC_CONT: Sada do controle que incrementa o contador mdulo 16; FIM_16: Entrada do controle que indica o final de 16 contagens; R_DOR(0): Bit menos significativo do reg. Multiplicador (entrada do controle).

18

Incio

Multiplicando e Multiplicador (*)

LOAD1 LOAD2 LOAD3 SHIFT LEFT SHIFT RIGHT RESET INC_CONT FIM_16 R_DOR(0)

Produto

(*) pode ser 1 barramento compartilhado ou 2 barramentos independentes

Fig. 2.10 - Estrutura do sistema digital Multiplicador. O estudo da fase definio do projeto do multiplicador permitiu mostrar a importncia da aplicao de uma metodologia para concepo, projeto e implementao de sistemas digitais de maior complexidade. Os captulos que se seguem iro abordar de forma detalhada as fases seguintes da metodologia, ou seja: fases de descrio, sntese (simulao) e implementao de projetos de sistema digitais. O captulo 3 analisa o problema da Descrio, mostrando que para descrever sistemas digitais so necessrios mecanismos formais de descrio que auxiliam o projetista ao seu trabalho de identificar e descrever as tarefas que o sistema que est sendo projetado dever executar. O modelo de redes de Petri ser usado como mecanismo formal de descrio. O captulo 4 interpreta este modelo, de forma a criar um mecanismo que permita realizar facilmente a passagem da fase de descrio para a fase de sntese do projeto, o que analisado no captulo 5, permitindo que o projetista transforme suas descries de tarefas em unidades de controle digitais capazes de sincronizar e implementar a execuo destas tarefas.

REDES DE PETRI

19

3 - O MODELO DE REDES DE PETRI COMO UM MECANISMO FORMAL DE DESCRIO E ANLISE DE SISTEMAS 3.1 - Histrico As redes de Petri foram originalmente propostas por Carl Adam Petri, em 1962, na Universidade de Darmstadt - Alemanha. Formulada como um modelo grfico para descrever processamento de informaes em sistemas, essas redes ao longo de vrios anos de desenvolvimento, ganharam tambm um suporte matemtico importante que as tornaram uma ferramenta extremamente adequada para modelamento e anlise de inmeras aplicaes, tais como: Projeto de hardware, protocolos de comunicao, compiladores e sistemas operacionais, programao paralela e bancos de dados, circuitos lgicos programveis etc... apenas para citar um contexto mais diretamente ligado cincia da computao. Outras reas onde o modelo tambm tem sido aplicado com sucesso so, por exemplo: Controle industrial de processos e automao da manufatura, avaliao de desempenho, modelamento de redes neurais, etc... importante que o leitor tenha em conta sua abrangncia, para que possa tirar proveito dele, procurando aplica-lo soluo de outros problemas que no aqueles diretamente ligados concepo e projeto de hardware digital conforme ser abordado neste curso. 3.2 - Por que necessrio um mecanismo formal de descrio? Quando um sistema vai ser concebido, ou quando ele j existe e necessita ser analisado para sofrer manuteno ou modificaes, comum encontrar situaes onde o sistema foi descrito de forma incompleta ou confusa, muitas vezes numa linguagem coloquial, que permite diversas interpretaes diferentes e subjetivas para caractersticas ou funes que deveriam ter uma nica interpretao. Um mecanismo formal de descrio, portanto, deve ser capaz de auxiliar a elaborao das especificaes do sistema, evitar as ambigidades na descrio de suas funes, e tambm ser de fcil compreenso. A idia de usar um mecanismo formal de descrio, entretanto, no deve parar por aqui. Deve-se pensar tambm em analisar e validar as especificaes, detectando erros e inconsistncias antes mesmo de qualquer tentativa de implementao. A anlise de especificaes de um sistema deve ser entendida como sendo uma forma de mostrar que certas propriedades do sistema so verdadeiras em qualquer caso, evitando porm ter que enumerar e demonstrar todos os casos possveis. Validar especificaes de um sistema significa demonstrar que, em qualquer caso e respeitadas as condies impostas pelo meio onde o sistema ir residir, ele ser capaz de responder s exigncias feitas nas especificaes. Dentro do mbito dos sistemas estudados neste curso, o processo de anlise e validao de especificaes muito importante, pois obriga o projetista a ir fundo em suas consideraes a respeito do projeto, eliminando ambigidades e incoerncias, o que acaba por simplificar as etapas posteriores de implementao e testes, gerando uma documentao final extremamente til, que pode inclusive conter procedimentos operacionais e de manuteno, visando garantir as especificaes durante todo o tempo de vida til concebido para o sistema. Portanto, dentro desse contexto que as redes de Petri devem ser examinadas no mbito desse curso. 3.3 - Apresentao do modelo de redes de Petri Este item apresenta essas redes como um modelo abstrato, atravs de uma srie de definies e propriedades. A seguir, ser associada uma interpretao ao modelo, tornando-o adequado descrio dos problemas que sero objeto de estudo do curso.

REDES DE PETRI 3.3.1 - Definio

20

Trata-se de um modelo grfico constitudo de dois tipos de NS : Os Lugares e as Transies. Estes NS so interligados atravs de arcos orientados. Dessa forma, as redes de Petri podem ser definidas como uma tripla [L, T, A], onde: L = { l1, l2, ..... lm } um conjunto finito de lugares, representados por crculos; T = { t1, t2, ......tn } um conjunto finito de transies, representadas por barras; A = { a1, a2, ....aj } um conjunto finito de arcos orientados, representados por setas que interligam etapas e transies. A figura3.1 apresenta o grafo de uma rede de petri genrica. Nesta rede, tambm deve ser associada cada transio um conjunto de Lugares de Entrada e Lugares de Sada da transio. Os lugares de entrada so aqueles de onde saem os arcos orientados em direo s transies (na figura 3.1, L5 e L6 so lugares de entrada de t5). De forma anloga, os arcos orientados do Lugar para a Transio determinam os lugares de sada da transio ( L3 e L4 so lugares de sada de t2).

L3 t1 L1 t2

t3

L5 t5

L4 t4 L6 Fig. 3.1 : Rede de Petri genrica O grafo apresentado permite representar o comportamento esttico dos sistemas que desejamos modelar com o uso destas redes. Entretanto, elas tambm permitem descrever o comportamento dinmico dos sistemas, o que caracterizado atravs do conceito de MARCA e de MARCAO das redes, definidos a seguir: As marcas so entidades que existem dentro dos lugares da rede, so representadas por pontos, e podem ser produzidas ou consumidas pelas transies de acordo com um conjunto de regras de disparo destas transies, regras estas definidas formalmente no item 3.3.2. A marcao da rede corresponde ao nmero de marcas que ela possui num certo instante, e a forma pela qual estas marcas esto distribudas nas suas etapas. No estado inicial da rede, ela possui uma certa distribuio de marcas que dever ser considerada numa anlise qualquer. Esta marcao ser denominada M0 (marcao inicial da rede). As marcaes de uma rede genrica podem ser representadas atravs de um vetor, como por exemplo na figura 3.1, pelo vetor M0= ( 101100 ) que corresponde ao nmero de marcas respectivas nos lugares L1 a L6 num instante t0. Portanto, uma rede de Petri genrica fica definida quando fornecido o seu grafo e a sua marcao inicial correspondente.

REDES DE PETRI Regras de Evoluo

21

Para compreender a forma pela qual as redes de Petri evoluem ao longo do tempo e podem modelar o comportamento dinmico de um sistema, ser introduzido o conceito de validao e disparo das transies da rede. Definio 1 : Uma transio genrica da rede dita habilitada, quando todos os lugares de entrada desta transio possuem pelo menos uma marca (as transies t1, t3 e t4 da fig.3.1 esto habilitadas). Uma transio habilitada pode disparar, e o seu disparo provocar uma evoluo na marcao da rede. Definio 2 : O disparo de uma transio habilitada se faz de acordo com as seguintes regras: a) Remover uma marca de cada um dos lugares de entrada da transio; b) Colocar uma marca em cada um dos lugares de sada da transio A fig.3.2 apresenta duas marcaes possveis na evoluo da rede j apresentada na figura 3.1.

L3 t1 L1 t2

t3

L5 t5

L4

t4

L6

3.2a) Evoluo da marcao inicial (fig.3.1) pelo disparo de t1 e t3

L3 t1 L1 t2

t3

L5 t5

L4

t4

L6

3.2b) Evoluo da rede da figura 3.2a) pelo disparo de t2 Os arcos podem ser ponderados (associados a um nmero inteiro e positivo como indicado na fig.3.3). Um arco com peso W equivale a um conjunto de W-arcos em paralelo. Arcos representados sem ponderao equivalem ao valor unitrio de W. O nmero de marcas existentes numa determinada etapa num determinado instante, tambm poder ser associado ao conjunto de nmeros inteiros positivos. Por exemplo, na rede da figura 3.3, a letra K dentro de L1 e L3 indica que existem K marcas dentro de cada um desses lugares no instante representado.

REDES DE PETRI

L1 K

22

t1

W L3

t2

L2

L4

t3

t4

Fig.3.3 : Representao da ponderao de arcos e marcas O disparo da transio t1 implica em retirar uma marca do lugar L1 e W marcas do lugar L3 (K W), e colocar uma marca em L2. De forma anloga, o disparo de t3 implica em retirar uma marca de L2 e colocar uma marca em L1 e W marcas em L3 A seguir, fornecida uma definio formal das redes de Petri, onde foram agregados tambm os conceitos de ponderao dos arcos e de marcao inicial da rede: Uma rede de Petri uma quntupla { L, T, A, W, M0 } L = { l1, l2, ..... lm } um conjunto finito de lugares; T = { t1, t2, ......tn } um conjunto finito de transies; A = { a1, a2, ....aj } um conjunto finito de arcos orientados; W : F = {1, 2, 3, 4, ...} uma funo de ponderao; M0 : P = { 1, 2, 3, .....} a marcao inicial da rede.

3.3.2 - Seqncia de disparo de transies Seja S uma seqncia finita de transies pertencentes ao conjunto T = {t 1 t2 ... t i ....t n } de transies da rede, ou seja: S = {t i, ti + 1 ....t i+ k}. S ser uma seqncia de transies ativveis a partir de uma certa marcao Mi da rede, se e somente se, existem as marcaes M i+1 , M i + 2 .... M i+(k + 1) e estas marcaes forem alcanveis a partir do disparo das transies correspondentes, ou seja:

Mi ti Mi +1 ti+1 Mi +2 - - -- Mi +k ti+k Mi +k+1

REDES DE PETRI Exemplo: Na rede indicada na figura 3.4, a seqncia de transies S = {t1, t3, t5, t6, t7, t1, t2, t4} uma seqncia ativvel a partir de Mo = (100000000), pois temos a seguinte evoluo das marcaes:
t3 Mo t1 M1 M2 t5 M3 t6 M4 t7 M0 t1 M1 t2 M5 t4 M1

23

M 0 = (1 0 0 0 0 0 0 0 0 ) M 1 = (0 1 0 0 0 0 0 0 0 ) M 2 = (0 0 0 1 1 0 0 0 0) M 3 = (0 0 0 1 0 1 0 0 0) M 4 = (0 0 0 0 0 0 1 0 0) M 5 = (0 0 1 0 0 0 0 0 0) L1

t2 L3 t4

t1 L2 t3 L4 t5 L 5 L 6 t6 L7 t9

t7 t8

L t1 L t11

Fig.3.4 - Rede de Petri genrica

REDES DE PETRI 3.3.3 - Diagrama de marcaes da rede

24

O diagrama de marcaes da rede ser definido a partir do conceito de classe de marcaes alcanveis de M 0 , cuja notao usada ser M0 . Trata-se de um conjunto de marcaes Mi da rede, acessveis a partir de uma marcao inicial M0 , ou seja: Para as quais existe ao menos uma seqncia de disparo S i, atingvel a partir de M 0, e que conduza a M i. M i M 0 , se somente se, Si tal que M 0 S i M i Obs: Si pode ser uma sequncia vazia e portanto, M 0 M 0 Para o exemplo da figura 3.4, a partir da marcao inicial M 0 = (100000000) temos a seguinte classe de marcaes alcanveis: M 0 = { M0 , M 1 , M2 , M3 , M4 , M5, M 6, M 7} onde: M0 M1 M2 M3 M4 M5 M6 M7 = = = = = = = = (100000000) (010000000) (000110000) (000101000) (000000100) (001000000) (000000010) (000000001)

Para outra marcao inicial M j, a classe de marcaes subsequentes ser diferente. Existe, portanto, uma classe associada a cada marcao inicial da rede.

Definio : Diagrama de Marcaes de uma rde Este diagrama representado atravs de um grafo orientado onde o conjunto de NS M 0 , e o conjunto de arcos (Mi, Mj) definido como se segue: Mi M 0 , M j M0 e t T / M i t Mj (Mi, Mj) A Sobre cada arco esto indicadas as transies que, quando ativadas, provocam a mudana da marcao Mi para Mj.

REDES DE PETRI

25

Exemplo: O diagrama de marcaes subsequentes da rede, indicada na figura 3.4, apresentado na figura 3.5.

M0

t1

M1

t3

M2

t5

M3

t6

M4

t8

M6

t4

M5

t2
t7

t9
M7

t10

t 11
Fig.3.5 - Grafo de marcaes subsequentes da rede indicada na fig.3.4 3.3.4 - Representao matricial das redes de Petri Uma rede de Petri tambm pode ser representada matematicamente, por meio de matrizes. Vamos examinar dois tipos de representao distintos:

A) Representao por "ETAPAS DE ENTRADAS" e "ETAPAS DE SADA" das TRANSIES. Neste caso, temos duas matrizes que denominaremos respectivamente: EE (matriz de etapas de entrada), e ES (matriz de etapas de sada). Estas matrizes possuem um nmero de colunas igual ao nmero de ETAPAS (lugares) da rede, e um nmero de linhas igual ao nmero de TRANSIES, sendo seus elementos definidos da seguinte forma:

Matriz de Etapas de entrada (EE) a ij = 1: se existe um arco interligando a etapa J com a transio i a ij = 0: no existe arco ligando a etapa J com a transio i.

Matriz de etapas de Sada (ES) b ij = 1: se existe um arco interligando a transio i com a etapa J. b ij = 0: no existe arco de ligao da transio i com a etapa J. Se associarmos a estas duas matrizes o vetor M 0 da marcao inicial, teremos uma descrio completa da rede .

REDES DE PETRI Para a rede indicada na figura 3.6 as matrizes sero: e1 e e3 e

26

1 0 0 0 EE= 0 1 0 0 0 0 1 0 0 0 0 1

0 1 1 0 ES = 0 0 0 1 0 0 0 1 1 0 0 0

t1 t2 t3 t4

M 0 = [1000]

a 22 = 1 Existe um arco ligando a etapa 2 com a transio 2

b24 = 1 Existe um arco ligando a transio 2 com a etapa 4

e1 t1

e2 t2 t3

e3

e4 t4

Fig.3.6 - Rede de Petri representada de forma matricial

B) Representao por MATRIZ DE INCIDNCIA A matriz de incidncia tambm possui um nmero de colunas igual ao nmero de ETAPAS da rede, e um nmero de linhas igual ao nmero de TRANSIES, e de modo que: Cij = 1 : se existe um arco que liga a transio i etapa J Cij = -1 : se existe um arco ligando a etapa J com a transio i. Cij = 0 : se no existe nenhum arco entre a transio i e a etapa J.

REDES DE PETRI Para a rede da fig 3.6, a matriz de incidncia ser:

27

e1 -1 I= 0 0 1

e2 1 -1 0 0

e3 1 0 -1 0

e4 0 1 1 -1 t1 t2 t3 t4 M 0 = [1000]

3.3.5 - Propriedades das redes Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcao inicial M 0 . A) Rede Demarcada Definio de Lugar Demarcado Um lugar Li do conjunto L = { L1 L2 ... Ln} dito demarcado a partir da marcao inicial M0, se e somente se, para todas as marcaes Mi M 0 existe um nmero N, inteiro e positivo, tal que: o nmero de marcas contidas no lugar Li em qualquer caso menor ou igual a N, ou seja: M i (Li) N. Definio de rede Demarcada Uma rede de Petri dita demarcada, a partir de uma marcao inicial M0, se e somente se, todos os lugares Li do conjunto E so demarcados para M0. Para o exemplo da figura 3.7, a seqncia de disparo S = (t1, t2, t3) ativvel indefinidamente. Isto provoca um crescimento ilimitado do nmero de marcas na rede. Esta rede, portanto no demarcada.

e2 e1 t1 e3

t2

t3

Fig.3.7 Rede no Demarcada Pode-se demonstrar que uma rede de Petri demarcada para uma marcao M0, se e somente se, a classe de marcaes subsequentes de M0 finita. A anlise do carter demarcado de uma rede muito importante, pois permite detectar erros de descrio dos sistemas.

REDES DE PETRI B) Rede de Petri Segura

28

Uma rede de Petri dita segura a partir de uma marcao inicial M0, se e somente se, todos os lugares da rede so demarcados com N=1, ou seja: Cada lugar da rde pode conter apenas uma ou nenhuma marca para qualquer marcao possvel da rde . Exemplo: A rede da figura 3.8a segura para M0 = (100), pois seu diagrama de marcaes (indicado na figura 3.8b) mostra que todas as etapas so demarcadas para n = 1

L1 t1 L2 t2 L 3

M1 t1 M0 t4 M2
t4

t3

M 0 = (1 0 0) M 1 = (0 1 0)

t2

M 2 = (0 0 1 )

t3

(a)

(b)

Fig.3.8a - Rede segura para a marcao M 0 = (100)

A mesma rede indicada na fig.3.8a, entretanto, no segura para M0 = (101), conforme indica seu diagrama de marcaes (figura 3.9). t1 M0 t3 t2 t4 t1 M4 t3 t3 M5 t1 M3 t2 t4

M1

t2 t4

M2

M 0 = (1 0 1) M 1 = (0 1 1 ) M 2 = (0 0 2) M 3 = (2 0 0) M 4 = (1 1 0) M 5 = (0 2 0)

Fig. 3.9. - Grafo de marcaes da rede da fig.3.8a com M0 = (101)

REDES DE PETRI C) Rede de Petri Viva.

29

Uma rede de Petri viva a partir de uma marcao inicial M 0 , se e somente se, para todas as transies t i pertencentes ao conjunto T, e todas as marcaes Mi de M0, existir numa seqncia de disparo S englobando t i e ativvel a partir de Mi. No exemplo da figura 3.10 vemos, pelo diagrama de marcaes, que a transio t3 no dispara nunca, pois no existe nenhuma seqncia de disparo da rede, que torne esta transio ativvel, seja a partir de M0=(10) ou de M1=(01). A rede da figura 3.10, portanto, no viva. P1

T1 T1 T3 M0 T2 M1

Mo = (10) M1 = (01)
P2 T2 Fig.3.10 Rede Viva para M0 = (11)

Neste mesmo exemp lo (fig.3.10), entretanto, se tomarmos M0 = (11) como marcao inicial, obteremos o diagrama de marcaes da figura 3.11. t2 M1 t1 M0 t1 t3 Fig. 3.11 - Novo Diagrama de Marcaes M0 = (11) A partir de qualquer uma das marcaes Mi, pode-se obter uma seqncia ti englobando todas as transies da rede. S 0 = {t 3 , t 1 , t 2} S 1 = {t 2, t 1, t3 } e S 2 = {t1 , t2 , t 3} Esta mesma rede, portanto, viva para M 0= (11) t2 M2

M 0 = (1 1) M 1 = (0 2) M 2 = (2 0)

O carter vivo de uma rede de Petri muito importante porque: Ele assegura que a rede no possui bloqueios (deadlock). O bloqueio corresponde a uma marcao, a partir da qual, nenhuma transio pode ser disparada. Ele assegura tambm que todas as partes da rede so acessveis.

REDES DE PETRI D) - Rede de Petri Reinicializvel

30

Uma rede de Petri reicializvel para uma marcao inicial M0, se e somente se, para todas as marcaes Mi, de M0 existir uma seqncia de disparos S, ativvel a partir de Mi, que conduz novamente marcao inicial M0. No exemplo da fig.3.12, no existe seqncia de disparos a partir de nenhuma das trs marcaes M1, M2 e M3, que conduza novamente M0. Esta rede, portanto, no reinicializvel, embora seja viva.

L1

L2

M 0=(0 1 0 1) M 1=(0 0 1 1) M 2= (1 1 0 0)

t1 t2 M0

M 3= (1 0 1 0)
t2 t1 L3 t3 M3 t2 M2 M1 t3

L4

Fig.3.12 - Rede reinicializvel para M 0 = (1100)


Na mesma rede (fig.3.12), entretanto, se partirmos da marcao inicial M0 = (1100), obteremos o diagrama de marcao da figura 3.13. Este diagrama indica que a partir de qualquer marcao M i , possvel encontrar uma sequncia S i que conduz a M0. S 0 = {t 2 , t 1, t 3} S 1 = {t 1 , t 3} S 2 = {t 3 }

A rede , portanto, reinicializvel para esta nova marcao inicial, e igualmente viva.

M 0 = (1 1 0 0)
M0 t2 M1 t1 M2

M 1 = (1 0 1 0) M 2 = (0 0 1 1)

t3 Fig. 3.13 - Diagrama de marcaes da rede (fig. 3.12) p/ M 0 = (1100)

O carter reinicializvel de uma rede traduz, portanto, sua capacidade de descrever sistemas que retornam ao estado inicial aps terem executado uma sequncia de tarefas exigidas.

REDES DE PETRI 3.4 - Exerccios propostos

31

1) Dada a Rede de Petri, descrita pelas matrizes EE e ES, abaixo: e1 1 0 1 0 e2 0 0 1 0 e3 0 1 0 0 e4 0 0 0 1 e1 0 1 0 0 e2 0 0 0 1 e3 1 0 1 0 e4 0 0 1 0

EE =

t1 t2 t3 t4

ES =

t1 t2 t3 t4

M = [1, 1, 0, 0]

Pede-se: a) A matriz de Incidncia b) As marcaes possveis e o grafo de marcaes da rede c) A rede reinicializvel? Por que? d) A rede segura? Por que? e) A rede viva? Por que?

t1 e1 t2 e3

t3

e2

e4

t4

REDES DE PETRI 2. Dada a Rede de Petri abaixo:

32

e1

e2

e3

t1

t2

e4

e5

t3

t4

com M0 = [ 1, 1, 1, 0, 0 ] Pede-se: a) b) c) d) e) f) As marcaes possveis e o diagrama de marcaes A matriz de Incidncia A rede demarcada? Por que? A rede segura? Por que? A rede viva? Por que? A rede reinicializvel? Por que?

REDES DE PETRI 3) Dada a Rede de Petri, descrita pela sua matriz de Incidncia I, abaixo: e1 -1 0 1 0 0 0 e2 -1 -1 0 0 1 1 e3 0 -1 0 0 0 1 e4 1 0 -1 0 0 0 e5 0 1 0 -1 0 0 e6 0 0 1 0 -1 0 e7 0 0 0 1 0 -1

33

t1 t2 I = t3 t4 t5 t6 Pede-se: a) b) c) d) e)

M0 = (1,1,1,0,0,0,0)

Desenhar a rede de Petri respectiva As matrizes de Entrada e Sada As possveis marcaes para esta rede e o diagrama de marcaes Explicar se essa rede viva, segura e reinicializvel para a marcao inicial dada Repetir os itens (c) e (d) para a marcao inicial M0=0000011

E1

E2

E3

T1

T2 E5

E4

T3

T4

E6

E7

T5

T6

REDES DE PETRI 4. Para a rede de Petri abaixo pede-se: a) b) c) d) As matrizes de Entrada e Sada As marcaes possveis e o diagrama de marcaes para M0=10001 Explicar se a rede , para a marcao dada, viva, segura e reinicializvel. Repetir os itens (b) e (c) para a marcao M0=01100 E1 E2 E3

34

T1

T2

T3

E4

E5

T4

T5

REDES DE PETRI 5. Para a Rede de Petri descrita abaixo pede-se, para M0=0101100: a) A matriz de Incidncia b) As marcaes possveis e o diagrama de marcaes c) Esta rede, para a marcao inicial definida, seria demarcada, reinicializvel, segura e viva? Justifique suas respostas.

35

E1 T 1 E3

E2

E4 T 2 T 3 E6 T 5 E7

E5 T 4

REDES DE PETRI 4 - INTERPRETAO DO MODELO

36

At este ponto, as redes de Petri foram definidas como um modelo abstrato. Uma rede, entretanto, passa a representar um sistema quando associada uma interpretao s entidades que a compe, ou seja: aos LUGARES, s TRANSIES e s MARCAS. O exemplo a seguir ilustra o conceito de interpretar uma rede de Petri para descrever a soluo do seguinte problema: Um barqueiro precisa atravessar um rio levando um lobo, uma cabra e um mao de couve. Em cada travessia, somente podem ir no barco o barqueiro e uma das trs cargas que devem ser transportadas. A fig. 4.1 descreve uma possvel soluo para este problema, com redes de Petri, nas seguintes condies: 1) o lobo e a cabra ou 2) a cabra e a couve nunca podem ficar sozinhos, sem o barqueiro, em qualquer lado do rio Tira a cabra CABRA COUVE

LBO

Barqueiro com a

Coloca Lbo no Cruzando o rio Barqueiro sozinho

Coloca cabra Barqueiro sozinho Cruza o rio Cruza o rio Cruza o rio

Coloca couve no Bote

cruza o rio

cruza o rio

Cruza o rio

Deixa o Lbo

Deixa a cabra

Deixa a couve e coloca a cabra

LBO

CABRA COUVE Fig. 4.1 - Descrio do problema do barqueiro

Algumas interpretaes tpicas utilizadas no modelamento de sistemas descritos com essas redes so as seguintes: As transies representam eventos e os lugares representam condies. Uma transio possui um certo nmero de lugares de entrada e lugares de sada, que passam a representar respectivamente pr-

REDES DE PETRI

37

condies e ps-condies ocorrncia daquele evento. Nesse caso, a presena de uma marca num lugar interpretada como tendo ocorrido a condio a ela associada. Outra interpretao consiste em colocar um certo nmero de marcas num determinado lugar da rede, para indicar uma certa quantidade de itens ou recursos disponveis. Nesses casos, juntamente com a utilizao da funo de ponderao dos arcos, conforme definido no item 3.3.1, pode-se modelar situaes onde haja necessidade condicionar a ocorrncia de eventos (disparo de transies) a uma certa quantidade de itens (recursos) disponveis. 4.1 - Exemplos de aplicao no modelamento de sistemas Este item apresenta alguns exemplos de modelamento de sistemas usando rdes de Petri.

Exemplo 1 : Protocolos de comunicao podem ser representados e analisados com o auxilio dessas redes. A fig. 4.2 exemplifica este modelamento, sendo a anlise do protocolo feita com a aplicao das propriedades apresentadas anteriormente (rde viva, segura e reinicializvel), e do diagrama de marcaes alcanveis da rde.

Pronto p/ enviar Envia mensage Buffer cheio

Pronto p/ receber

Recebe mensagem

Espera ACK Processo #1 Buffer cheio ACK recebido

Mensagem recebida

Processo #2

Envia ACK ACK enviado

Fig. 4.2 - Representao de protocolos

REDES DE PETRI

38

Exemplo 2 : As redes de Petri, quando aplicadas ao modelamento de sistemas digitais, podem ser usadas tambm para descrever o fluxo de dados. Na figura 4.3 est representada uma computao dirigida pelo fluxo de dados, onde as instrues so habilitadas para execuo assim que os operandos necessrios ficam disponveis, e podem ser executadas de forma concorrente e assncrona. Neste tipo de representao, as marcas correspondem aos valores atuais dos dados e tambm sua disponibilidade. As instrues (operaes que devem ser realizadas sobre os dados) esto representadas pelas transies, e os lugares recebem os valores computados. Este exemplo enfatiza a flexibilidade e abrangncia dessas redes para descrio de problemas. copia dado X multiplic a X X*Y divide X*Y Z= -----X-Y

Y copia dado Y X-Y subtrai

se X-Y = 0 se X-Y = 0

Z indefinido Fig 4.3 - Fluxo de dados para computao de (X*Y)/(X-Y)

Exemplo 3 : Modelamento de situaes de conflito e de concorrncia Situaes de conflito caracterizam-se, ao nvel do modelo, por possurem duas ou mais transies habilitadas, mas o disparo de uma delas inibe o disparo das outras. Essas situaes so modeladas conforme indicado na figura 4.4a, (transies t1, t2 e t3 so transies em conflito). A fig.4.4b apresenta um exemplo de aplicao, onde a situao de conflito usada para modelar um mecanismo de sincronizao para um processo de leitura e escrita com mutua excluso (por exemplo, o acesso seqencial s informaes contidas numa memria). L1 L2

t1

t2

t3

L4

L5

L6

Fig.4.4a - Modelamento de uma situao de conflito

REDES DE PETRI

39

Solicitao de leitura

Recurso disponvel Escrita

Solicitao de escrita

Leitura

Fim

Fim

Fig.4.4b - Representao do processo de escrita e leitura com mtua excluso

Situaes de concorrncia (execuo de atividades paralelas), tambm podem ser expressas facilmente conforme indicado na figura 4.5. Aps o disparo de t1, o ramo L2, t2, L4 da rede pode evoluir em paralelo e de forma independente do ramo L3, t3, L5, cada um deles modelando atividades distintas que devem ser executadas em paralelo. Ainda neste exemplo, a transio t4 representa uma forma de modelar situaes onde necessrio sincronizar diversas atividades que esto sendo executadas de forma independente.

L2 t1 L1

t2

L4 t4

L3

t3

L5

L6

L7

t5

L8 concorrncia

Fig.4.5 - Trecho de uma rde de Petri genrica modelando uma situao de

REDES DE PETRI 4.2 - Modelamento de estruturas de controle digital Mquinas de estado e unidades de controle digital, podem ser descritas com redes de Petri associando a seguinte interpretao (acompanhar pela fig.4.6):

40

A) Ao conjunto de lugares da rede est associado o conjunto de sadas permitidas da unidade de controle digital cuja rede est descrevendo, sendo que as sadas so produzidas sempre que o lugar correspondente recebe uma marca; B) Ao conjunto de transies esta associado o conjunto de entradas da unidade de controle descrita pela rede, sendo que uma transio qualquer dispara sempre que estiver habilitada e a proposio lgica a ela associada for verdadeira ; C) A marcao da rede (conjunto de lugares que possuem marca) num certo instante indica as variveis de sada que se encontram ativas nesse instante e informa tambm o estado interno onde se encontra a mquina de estados nesse instante.

Sadas /S1, /S2, /S3

E1*E2

E2

E1 circuito Digital que realiza o algoritmo descrito pela rede S1

E2 S1 E3*/E5 S2 /S1, S2 E2+E5 E4 /S2, S3 E3 E5 E4 E3

S2

S3

E5 * /E2

Entradas

/S2, /S3

Fig. 4.6 -: Interpretao de uma rede genrica para descrio de algoritmos de controle (descrio do fluxo de controle em sistemas digitais)

REDES DE PETRI 4.3 - Exemplos de aplicao

41

1o. Problema : Comandar a oscilao de um distribuidor eletro-pneumtico, que funciona conforme descrito abaixo (ver figura 4.7) esquerda (E) direita (D) g d M

Direita (D)

Esquerda (E)

Fig.: 4.7 Esquema geral do pisto eletro-pneumtico A posio do pisto indicada pelos contatos g e d, e o comando de translao do pisto obtido pelo acionamento das variveis D (deslocamento para direita) e E (deslocamento para esquerda). O ciclo inicia quando o operador pressiona o boto M, fazendo o pisto oscilar entre os contatos g e d. O ciclo termina quando o operador pressiona o boto A, e o pisto para sobre o contato g. Todo ciclo iniciado deve terminar sobre o contato g (situao em que as entradas D e E do distribuidor valem D = 0 E = 1). Pede-se: 1. Esquematizar a estrutura controle + processo indicando as variveis envolvidas na soluo; 2. Descrever o algoritmo de controle com redes de Petri. Soluo: Item 1- Existem seis variveis envolvidas na soluo do problema, que podem ser subdivididas em dois conjuntos denominados variveis de entrada e variveis de sada, em relao ao controle que deve ser descrito (Fig.4.8). Conjunto de variveis de entrada = M, A, g, d Conjunto de variveis de sada = D, E

REDES DE PETRI Ser adotada a seguinte conveno para as variveis: g = 1 - pisto sobre o contato g d = 1 - pisto sobre o contato d M = 1 - operador pressiona o boto M (incio do ciclo) A = 1 - operador pressiona o boto A (parada) D = 1 - pisto movimentado para a direita E = 1 - pisto movimentado para a esquerda M A CONTROLE D E g d Fig. 4.8 - Diagrama de blocos da estrutura controle + processo PROCESSO

42

A figura 4.9 mostra a rede de Petri que descreve o algoritmo do controle correspondente a uma possvel soluo para o problema. A rede possui 5 marcaes possveis conforme indicado no diagrama de marcaes correspondente. Na fig.4.9, ei ti so apenas os nomes que identificam lugares e transies da rede.

e1 t1

/D , /E M*/A D , /E t4 A t3 M1 t1 t6

e2

M2 t2

t4

M4 t5

t2

/A*d e4 /D , E D , /E d

t7 M3

M5

e3 g t3

t5
A*/g

M1 = (10000) /D , E M2 = (01000) M3 = (00100)

e5

t6

M4 = (00010) M5 = (00001)

Fig. 4.9 - Rede de Petri para soluo do problema do distribuidor eletro-pneumtico e seu diagrama de marcaes.

REDES DE PETRI

43

2o. Problema: Considere o sistema indicado na figura 4.10 que constitudo por trs carros monta-cargas (C1, C2 e C3), que podem se deslocar em trs vias independentes, e com velocidades diferentes, para a direita ou para a esquerda de acordo com os sinais Dn e En (n = 1, 2, 3) respectivamente. Os interruptores a , b, c, d, e, f servem para detectar a presena dos carros nas extremidades das vias. O estado inicial do sistema o indicado na figura 4.10 (os trs carros parados sobre os contatos a , c, e), e ele dever realizar a seqncia descrita a seguir: O operador pressiona o boto M e o ciclo se inicia, deslocando os trs carros para a direita. Entre C1 e C2 existe uma dependncia: O primeiro que chega na posio mais a direita de sua via (contatos b ou d), aguarda a chegada do outro, afim de partirem juntos no sentido contrrio (em direo aos contatos a , c ). O terceiro carro, faz retorno em direo posio inicial, uma vez que ele chegou ao contato f, independente dos demais. O ciclo termina quando os trs carros voltam novamente ao estado inicial, onde eles devem parar e aguardar o incio de um novo ciclo quando o operador pressionar novamente o boto M . Pede-se: 1) Esquematizar a estrutura Controle + Processo, indicando as variveis envolvidas na soluo. 2) Descrever o algoritmo do controle utilizando redes de Petri. E1 M C1 a E2 En = 1 desloca o carro Cn para esquerda Dn = 1 desloca o carro Cn para direita C2 c E3 C3 e Fig. 4.10 - Esquema geral do sistema monta-cargas D3 f d b

REDES DE PETRI

44

Esta soluo evidencia as potencialidades destas redes para descrever operaes concorrentes e assncronas, como o caso do desenvolvimento das tarefas referentes ao carro C3 independentes de C1 e C2. Tambm evidencia a forma pela qual o modelo pode exprimir a sincronizao de tarefas quando necessrio, simbolizado pelas transies t5 e t9.

e1 t1

/D1 , /D2 , /D3 /E1 , /E2 , /E3 M

e2 D1 , /E1 t2 e5 b /D1 ,

e3 t3 e6

D2, /E2 d /D2 , /E2

e4 t4

D3 , /E3 f /D3 , E3

e7

t5

b*d.

e8 t6 e10

E1 , /D1 e9 a /D1 , /E1 t9 t7

E2 , /D2 c /D2 , /E2 t8 e /D3 , /E3 e12 a*c*e

e11

Fig. 4.11 - Rede de Petri que descreve o algoritmo do controle para soluo do problema dos 3 carros.

REDES DE PETRI

45

3o. Problema : Neste exemplo, ser retomado o problema do comando do distribuidor eletro-pneumtico, alterando os requisitos do projeto, da seguinte forma: a) Partir do estado inicial com o pisto em repouso sobre o contato g; b) Ao pressionar o boto M , o operador inicia um ciclo de oscilao do pisto entre os contatos g e d durante um perodo de tempo igual a 2 (dois) minutos . A seguir, o sistema volta ao estado inicial e pra, encerrando seu ciclo. Pede-se: Definir as variveis de entrada e sada envolvidas na implementao deste sistema; Descrever, com redes de Petri, o algoritmo de controle para comandar o ciclo de oscilao do pisto, conforme definido acima; Inclua na rede obtida no item anterior uma proteo (parada de emergncia - PE) que, se for acionada durante a temporizao dos dois minutos, interrompa a oscilao do pisto recolocando o sistema no seu estado inicial. esquerda ( E) direita (D) g Esquerd Direita distrib. Eletro-pneumtico M PE d

Fig. 4.12 Esquema do Pisto Eletro-pneumtico SOLUO: Este problema permite tratar a questo da introduo da varivel tempo nas descries feitas com redes de Petri. A forma mais simples e objetiva para resolver esta questo definir que a implementao do intervalo de tempo desejado ser realizada atravs de temporizadores, como o indicado na figura 4.13(a), e descrever o acionamento destes temporizadores com redes de Petri como a da figura 4.13(b). Reset TEMP =1 Temporizador ( 2 minutos) PE inicia TEMP fim TEMP

C O N T R O L E

inicia TEMP fim TEMP Reset TEMP

Fig.4.13a Diagrama de Blocos

Fig.4.13b Rede de Petri Equivalente

REDES DE PETRI

46

Item 1- As variveis envolvidas na soluo do problema so as mesmas j definidas para o problema inicial, ou seja: Conjunto de variveis de entrada = M, A, g, d (do problema anterior) INICIO : Coloca o controle no estado inicial (marcao inicial da rede) PE : Contato normalmente aberto que, quando acionado, interrompe imediatamente o processo de oscilao e retorna o pisto ao seu Conjunto de variveis de sada = D, E Acrescidas, neste caso especfico, das novas variveis envolvidas no acionamento do temporizador de 2 minutos, e da proteo PE. As definies dessas novas variveis sero as seguintes: RESET(2min) : Varivel de sada do controle que permite iniciar o temporizador para marcar o intervalo de 2 minutos; TEMP(2min) : Varivel de sada do controle que permite o acionamento temporizao de 2 minutos; do inicio da

estado inicial.

FIM(2min) : Varivel de entrada do controle que permite informa-lo do final da temporizao de 2 minutos;

TEMP(2min) M PE INICIO D E g d Fig. 4.14 - Diagrama de blocos da nova estrutura controle + processo PROCESSO CONTROLE FIM(2min) RESET(2min) Temporizador (2 minutos )

REDES DE PETRI

47

A rede apresentada na figura 4.15 descreve o algoritmo do controle do distribuidor eletropneumtico j com a parada de emergncia includa, conforme solicitado.

=1

RESET(2min) Qualquer marcao

/D, /E, /TEMP(2Min), /RESET(2min) =1 M*/PE /D, /E, /TEMP(2Min), /RESET(2min) INICIO

TEMP(2min) =1

D /PE * d

PE + FIM(2min)

D E PE + FIM(2min) /PE * g d E g

OBS: - Para simplificar o desenho da rede, foi convencionado que somente as sadas indicadas nas etapas esto sendo acionadas (esto atuando sobre o sistema) no instante considerado. Fig. 4.15 - Rede de Petri para soluo do problema do distribuidor eletro-pneumtico com temporizao de 2 minutos.

REDES DE PETRI 5 - SNTESE DE ESTRUTURAS DE CONTROLE

48

A metodologia que ser apresentada deriva dos mtodos clssicos de sntese de circuitos lgicos. Ser necessrio recordar um pouco a teoria de mquinas de estado, e os modelos de Mealy e Moore para representao de circuitos seqenciais sncronos, conforme j analisado no captulo 1. O processo de projeto e sntese de estruturas de controle pode ser subdividido em trs etapas principais: a) Fase de DEFINIO; b) Fase de DESCRIO; c) Fase de SNTESE. A fase de DEFINIO est relacionada com o entendimento da estrutura de controle como um todo, sua eventual partio em mdulos funcionais mais simples, que sero posteriormente interligados para constituir o sistema completo. Tambm esta relacionada com a definio de suas entradas e sadas e com o esboo inicial das tarefas sero realizadas. A fase de DESCRIO diz respeito aos detalhes da operao lgica dos mdulos que compe a estrutura de controle. Nesta fase, o projetista descreve, com base no conceito de algoritmo, conjuntos de tarefas que ele deseja ver realizados pelo sistema. Mecanismos formais de descrio so fundamentais nesta fase, pois eles evitam ambigidades, facilitam a compreenso do problema, e podem auxiliar uma posterior anlise e validao das especificaes funcionais do sistema a ser projetado. Nos casos aqui enfocados, as redes de Petri sero aplicadas no contexto da metodologia. A SNTESE se relaciona com o projeto do hardware, ou seja: os circuitos que iro executar as descries propostas. A sntese, portanto, consiste em transcrever a descrio dos algoritmos feita na fase anterior, em um ou um conjunto de mdulos de hardware capazes de executar as tarefas desejadas. Durante as fases de definio e descrio, o projetista trabalha no universo lgico de seu projeto, tentando descrever as tarefas a serem executadas e os instantes exatos em que cada novo evento deve ocorrer ou ser interrompido (por exemplo atravs de simulaes do sistema). A fase de sntese consiste num mapeamento deste universo lgico j estabelecido, num universo fsico que materialize os circuitos (ou conjunto de dispositivos) que realizam as tarefas projetadas. Sob este ponto de vista, fica clara a importncia dos mecanismos formais de descrio para o processo de projetar, ou seja: eles devem fundamentalmente, facilitar o trabalho do projetista em mapear o universo lgico de seu projeto no universo fsico da implementao. 5.1 - A sntese de mquinas de estado (unidades de controle) descritas com redes de Petri. Conhecida a metodologia de projeto, vamos voltar a ateno para as fases de DESCRIO e SNTESE. A fase de descrio, entretanto, j foi analisada no capitulo 4 (item 4.1), onde o modelo de redes de Petri foi interpretado de forma a descrever mquinas de estado, cujo diagrama em blocos esta indicado na fig.5.1. e que ser usado como base do processo de sntese. Nele podem ser identificados trs elementos bsicos:

REDES DE PETRI

49

a) O bloco que gera o prximo estado interno (estado futuro), em funo do estado atual e do conjunto de entradas aplicado; b) O bloco de memria que armazena o estado atual, e cujas mudanas de estado esto sincronizadas por um sinal externo de relgio; c) O bloco que gera as funes de sada da mquina seqencial. Sadas Funo de Sadas Entradas

Funo do prximo estado interno

Relgio

Mdulo de memria

Fig. 5.1 - Modelo de mquina de estados (Mealy ou Moore) As sadas, num instante de tempo considerado, podem ser funo apenas do estado interno atual (o que caracteriza o modelo de mquina de estados de MOORE), ou do estado atual e da entrada aplicada neste instante (o que caracteriza o modelo de MEALY). Ser suposto que o leitor j esta familiarizado com estes modelos e com o mtodo clssico de sntese de circuitos seqenciais nele baseado. Ser apresentado um mtodo de sntese que permite map ear diretamente uma descrio algortmica feita com redes de Petri, num circuito seqencial (uma mquina de estados) que realiza a descrio desejada. Antes porm de passar a esta anlise, importante ressaltar que, como se trata da sntese e posterior implementao de uma mquina de estados sncrona , somente devem ser sintetizadas as redes de Petri que sejam SEGURAS, VIVAS, ISENTAS de situaes de conflito e REINICIALIZVEIS. Por que estas redes devem respeitar estas propriedades (definidas no item 3.3.5)? A rede deve ser SEGURA (item 3.3.5b) porque existem apenas variveis booleanas associadas aos lugares da rede (sadas da unidade de controle descrita), e estas variveis so produzidas (tornadas = 1) quando o lugar correspondente recebe uma marca. Portanto, estes lugares nunca podero receber mais do que uma nica marca em qualquer marcao possvel da rede, o que caracteriza uma rede SEGURA. A rede deve ser VIVA (item 3.3.5c) porque isto ir assegurar que a mquina de estados a ser implementada no possuir bloqueios, e tambm que todas as partes do sistema so acessveis a partir do estado inicial definido (marcao inicial da rede).

REDES DE PETRI

50

A rede no deve possuir situaes de CONFLITO (item 4.1 - fig. 4.4a) porque, a nvel de implementao, isto ir se caracterizar como uma indeterminao do prximo estado interno da mquina de estado que ser sintetizada. Finalmente, a rede deve ser REINICIALIZVEL (item 3.3.5d) porque uma mquina de estados deve retornar ao seu estado inicial, aps ter realizado o conjunto de aes que foram descritas para sua realizao. A interpretao do modelo para sntese ser a mesma j definida no captulo 4 (item 4.1 - exemplo 2), ou seja: As entradas da mquina de estados desejada (unidade de controle que foi descrita) so associadas s transies e as sadas aos lugares da rede. Alm disso, o estado interno da mquina de estados descrita ser associado com a marcao da rede num certo instante. Esta associao ser feita de forma que o circuito implementado ter tantos elementos de memria (por exemplo biestveis tipo D) quantos forem os lugares existentes na rede que deve ser sintetizada, ou seja: Ser feita uma associao bi-unvoca entre cada lugar da rede e cada elemento de memria do circuito implementado. Este elemento de memria ir armazenar a informao de presena ou ausncia da marca dentro do lugar a ele associado. Este mtodo permite extrair as equaes de estados internos e de sadas (necessrias implementao do circuito seqencial) diretamente da rede que descreve a mquina de estados, ficando a critrio do projetista escolher a tecnologia que ele julgar mais conveniente para a implementao, como por exemplo elementos biestveis e portas lgicas numa implementao com lgica discreta; ou PALs (ou EPLDs) numa implementao com lgica programvel. Os dois exemplos que se seguem analisam a fase de sntese, pelo mtodo citado, com duas implementaes distintas, respectivamente voltadas para o uso de lgica discreta e PALs (Arranjos Lgicos Programveis).

REDES DE PETRI 5.2 - Exemplos de aplicao

51

1o Problema (sntese voltada para implementao com lgica discreta) : A figura 5.2 esquematiza uma mquina furadeira que deve ser automatizada para furao de peas segundo dois ciclos de furao distintos: Um ciclo curto para peas de pequena altura, e um longo, com retirada intermediria da broca, para peas com maior altura. O ciclo longo ocorre se o contato b acionado antes do contato m, caso contrrio a mquina efetua o ciclo curto. Existem trs motores denominados S (Subida), D (Descida) e R (Rotao) que comandam respectivamente a subida e descida do mandril, e a rotao da broca. Todo ciclo deve ser iniciado, a partir da posio inicial (h = 1, R = M = D = 0), quando o operador pressiona o boto d , e no deve ser permitido reiniciar um ciclo sem que a pea que foi furada tenha sido substituda por uma nova pea (para isto existe o contato p que permite detectar a troca da pea). Desejamos descrever utilizando redes de Petri, o algoritmo para efetuar o controle da furadeira, e a seguir implementar o controle utilizando biestveis tipo D e portas lgicas quaisquer. S (subida) h h R f ciclo curto

h m D f b d altura da pea P pea m

ciclo longo

Fig. 5.2 - Esquema da furadeira com dois ciclos

REDES DE PETRI Soluo

52

Uma anlise detalhada do problema (fase de definio do projeto), permite concluir que a unidade de controle deste automatismo possui 6 (seis) variveis de entrada e trs variveis de sada. A figura 5.3 indica um esquema do conjunto [controle + processo], e define as variveis envolvidas na soluo.

controle

D R h p b m f d

furadeira

Fig. 5.3 - Diagrama em blocos processo + controle Variveis envolvidas na soluo Entradas do controle: d - boto de incio do ciclo (d = 1 - operador inicia o ciclo) h - contato superior de final de curso ( h = 1 - mandril sobre o contato) m - contato intermedirio de curso (m = 1 - mandril sobre o contato m) f - contato inferior de final de curso (f = 1 - mandril sobre o contato f) b - contato indicativo de espessura da pea (b = 1 - pea espessa) p - contato de presena de pea (p = 1 - pea presente) Sadas do controle: S = 1 subida da broca D = 1 descida da broca R = 1 rotao da broca

REDES DE PETRI

53

A rede de Petri que descreve este sistema est indicada na figura 5.4, e foi obtida analisando o funcionamento desejado para o controle a partir de seu estado inicial. Este estado corresponde a uma marca sobre a etapa e 1 (marcao M1). onde temos as sadas S = D = R = 0. A pea estando posicionada (p = 1) e o operador pressionando o boto de incio do ciclo (d = 1), tem-se o disparo da transio t1 e a rede evolui para a nova marcao M2 correspondente a uma marca na etapa e2 e uma marca na etapa e3. So ligados os motores de rotao da broca (R = 1), e de descida do mandril (D = 1). A partir desta marcao, feito o teste de ciclo curto (mb = 1) ou ciclo longo (bm = 1), e o sistema evolui para as marcaes seguintes executando as tarefas exigidas em cada caso. Cabe ressaltar que a etapa e7 foi adicionada para permitir que o contato p possa ser testado, identificando para o controle que a pea anterior foi retirada e substituda por uma nova pea. importante ressaltar, que a rede obtida com a marcao inicial apresentada, viva, segura, isenta de situaes de conflito e reinicializvel, portanto pode estar descrevendo corretamente a unidade de controle (mquina de estados) que se deseja implementar.

e1 t1 e3 t2 e4 t3 e5 t4 e6 b* t7 S, /D h D, f /D, S D, /S m*/b

/S, /D, d*p e2 R

t5 e7 t6

h /S, /D, /R /P

Fig. 5.4 - Algoritmo do controle da furadeira A implementao do sistema ser feita atravs de uma mquina de estados sncrona (modelo de Moore ) associando uma varivel interna de estado (denominada genericamente Yi) a cada lugar da rede . Como esta rede possui 7 lugares (denominados e1 at e7), sero necessrias 7 variveis internas de estado para realizar a designao dos estados. As variveis Y1 a Y7 esto associadas respectivamente aos lugares e 1 at e 7 da rede (codificao cannica, ou do ingls one shot, dos estados internos), ou seja: Quando por exemplo, a varivel Y5 assumir valor lgico UM , significa que o lugar e 5 da rede possui uma marca e vice-versa,

REDES DE PETRI

54

o nvel lgico ZERO indica a ausncia de marca em e 5 . Este raciocnio se estende a todas as demais variveis de estado consideradas. A notao Yi(+) indica o valor futuro da varivel, uma vez que desejamos sintetizar (para posterior implementao) o valor futuro das variveis internas de estado(prximo estado) em funo dos seus valores presentes (estado atual) e das entradas aplicadas ao sistema nesse instante presente (ver Cap.1 item C - modelo seqencial sncrono). O processo de sntese consiste em descrever as equaes de estado e de sadas diretamente a partir de uma anlise da rede, feita da seguinte forma: Para as equaes de estado , considerar cada lugar (ei) da rede, verificando quando ele ir ser marcado, em funo das possveis marcaes anteriores que levam a marca ao lugar considerado, ou que mantm a marca no lugar considerado . Ao lugar e 1 , por exemplo, foi associada varivel interna de estado Y1 . Isto significa que esta varivel (Y1) deve estar ativa sempre que o lugar e 1 receber uma marca. O lugar e 1 ir receber uma marca quando existir uma marca no lugar e 7 (indicado por Y7 ativo) e ocorrer o disparo da transio t 6 (ocorre o evento /p). Isto da origem ao termo [ Y7*/p] da equao de estado correspondente. O outro termo da mesma equao foi obtido considerando a situao em que o lugar e 1 j estava marcado (portanto Y1 esta ativo) e deve permanecer nesta situao, uma vez que no ocorreu o disparo da transio t1, porque o evento associado a ela (termo /(d*p) ) no ocorreu. Com isto temse a equao do valor futuro de Y1 Y1(+) =Y7*/p + Y1*/(d * p) Atravs de raciocnio anlogo podem ser escritas todas as demais equaes de estado: Y1(+) = Y7*/p + Y1*/(d * p) Y2(+) = Y1*d*p + Y2*/h + Y2*h*/Y6 Y3(+) = Y1*d*p + Y3*[/(b*m) * /(m*/b) Y4(+) = Y3*b*m + Y4*/h Y5(+) = Y4*h + Y3*m*/b + Y5*/f Y6(+) = Y5*f + Y6*/h + Y6*h*/Y2 Y7(+) = Y2*Y6*h + Y7*p As equaes de sada so escritas a partir das equaes de estado, considerando a forma como as redes de Petri foram interpretadas, ou seja: Uma determinada sada deve ocorrer sempre que existir uma marca dentro da etapa associada quela sada. A sada D, por exemplo, ocorre quando houver marca na etapa 3 ou marca na e t a p a 5. Isto ir ocorrer toda vez que Y3 ou Y5 assumirem nvel lgico UM, uma vez que so as variveis Equaes de estado

REDES DE PETRI

55

de estado que identificam a presena de marca em e3 ou e5. Assim sendo, a equao da varivel D pode ser escrita como: D(t) = Y3(t) + Y5(t). OBS: Lembrar que, nos modelos de Moore ou Mealy (cap.1), as sadas so produzidas em funo do valor atual do estado e no do valor futuro, ou seja: Y3 e Y5 so os valores do estado no mesmo instante (t) das sadas. Atravs de raciocnio anlogo podem ser escritas todas as demais equaes de sada. Nessas equaes, a varivel tempo (t) esta subentendida (foi omitida apenas para simplificar). D = Y3 + Y5 S = Y4 + Y6 R = Y2 As equaes obtidas podem ser facilmente implementadas com auxlio de biestveis tipo D (sncronos) e portas lgicas quaisquer. A implementao est indicada na figura 5.5, e corresponde ao circuito seqencial que realiza o controle desejado para a furadeira. Equaes de Sada

REDES DE PETRI

56

Fig.5.5 - Circuito lgico do controle da furadeira

REDES DE PETRI 2o .Problema (uso de temporizadores):

57

Deseja-se automatizar o funcionamento de uma bomba de gua destinada a assegurar a alimentao de um reservatrio. O nvel de gua neste reservatrio detectado por uma bia ligada a um contrapeso, o qual pode acionar dois contatos eltricos a e b (conforme indicado na figura 5.6). O contato a indica o nvel mximo do reservatrio. O contato b indica o nvel mnimo do reservatrio. O funcionamento do sistema dever ser o seguinte: 1) Quando o registro R aberto, o nvel de gua diminui at que o contato b acionado pelo contrapeso (nvel mnimo). Quando isto ocorrer, a bomba P ligada para encher novamente o reservatrio (supor que a vazo de gua da bomba para dentro do reservatrio maior que a do registro R). Quando o reservatrio estiver novamente cheio, o contrapeso atinge o contato a e a bomba desligada. 2) O dispositivo tambm deve possuir uma chave manual/automtico (ver figura) associada a um boto W (liga manual), que permite ao operador acionar a bomba em operao manual. Neste caso, ele coloca a chave em posio manual e a bomba dever ser ligada sempre que ele mantiver o boto W pressionado, exceto se o reservatrio j estiver com gua no nvel mximo. 3) Para permitir a limpeza peridica do reservatrio, ser necessrio esvazi-lo completamente. Para isto foi prevista uma chave (normal/limpeza) que, quando acionada, desliga imediatamente a bomba se ela estiver ligada e/ou impede que ela seja ligada novamente enquanto a chave no for retornada sua posio normal. 4) Em nenhuma situao descrita, a bomba P dever ficar ligada continuamente por mais de 1 (uma) hora. Sempre que isto acontecer, o controle deve continuar mantendo a bomba ligada, mas acionar um alarme avisando o operador do sistema. PEDE-SE: 1. Analisar o problema e definir as variveis envolvidas na sua soluo; 2. Fazer um diagrama em blocos do sistema controle + processo indicando as variveis de entrada e sada definidas no item a, necessrias para a soluo do problema. 3. Descrever o algoritmo de controle com redes de Petri. 4. Sintetizar as equaes do controle a partir da descrio feita no item 3.

REDES DE PETRI

58

nvel mximo LIGA b nvel mnimo MANUAL/AUTO M. a

NORMAL/LIMPESA

BOMBA (P)

Fig. 5.6: Esquema do reservatrio SOLUO A) Variveis definidas para soluo do problema. 1. Entradas de controle. a = nvel mximo do reservatrio foi atingido quando esta varivel for acionada (a = 1). b = nvel mnimo do reservatrio foi atingido quando esta varivel for acionada (b = 1). W = boto de presso que permite ligar o motor da bomba P em comando MANUAL (W = 1=> motor ligado) MANUAL = varivel que, quando acionada (MANUAL = 0) indica para o controle o modo de operao automtico do sistema. TIME OUT = varivel que indica para o controle o final da temporizao de 1 hora (temporizador de 1 hora est indicado na figura). LIMP = Quando acionada (LIMP = 1) indica a situao de limpeza do reservatrio.

REDES DE PETRI 2. Sadas do controle P = varivel utilizada para acionar ou no o motor da bomba (P = 1 => bomba ligada). ALARME = Aciona o alarme quando a bomba fica ligada por mais de uma hora.

59

TEMP = Varivel utilizada para disparar o temporizador de 1 hora. Quando acionada (TEMP = 1), o temporizador dispara a contagem do tempo. RESET = Varivel utilizada para inicializar o temporizador (zera o temporizador quando RESET = 1).

B) Diagrama de blocos do controle + processo Vcc R a X Vcc R P MANUAL Vcc R Time-out CONTROLE DO
RESERVATRIO

SISTEMA
RESERVATRIO

+ BOMBA

ALARME

LIMP

Temp Resset

TEMPOR. DE 1 HORA

Fig. 5.7 Diagrama de Blocos controle + processo

REDES DE PETRI C) Descrio do algoritmo do controle

60

O estado inicial fixado para descrio do algoritmo ser a bomba desligada e o reservatrio cheio.

e1 P= 0 /Manual Manual

e2

P= 0

e3

P= 0

/Limp

Limp Limp /Limp

e4

Reset= 1 P= 0 b

e5

P= 0

e6

Reset= 1 P= 0

W*/a Temp= 1 P= 1 e8 /W+ a Limp /Limp Limp Time_out e10 P= 1 Alarme= 1 /W+ a

e7

P= 1 Temp= 1

Time_o ut a P= 1 e9 Alarme= 1 a

Fig. 5.8 - Algoritmo de controle da bomba de gua

REDES DE PETRI D) Sntese das equaes

61

Ser feita a partir de uma designao de estados que associa uma varivel interna de estado a cada etapa da rede (da mesma forma que no exemplo anterior). Como esta rede possui 10 etapas (indicadas de e1 a e10) sero necessrias 10 variveis internas de estado. Estas variveis foram denominadas de X1 a X10 e esto associadas s etapas e 1 a e10 da rede respectivamente, ou seja: A varivel Xi , quando em nvel lgico UM , indicar a presena de marca na etapa e i correspondente. Da mesma forma que no exemplo anterior, a notao Xi(+) indica o valor futuro da varivel. As equaes de estado so escritas avaliando, para cada etapa da rede, quando ela ir receber uma marca ou manter a marca que j havia recebido anteriormente. A etapa e6 , por exemplo, receber uma marca quando houver marca em e 3 e ocorrer [/Limp], ou dever manter sua marca quando esta j se encontrava em e6 e no ocorre [W * /a]. Este raciocnio permite escrever todas as equaes de estado, conforme indicado abaixo. Variveis de Estado X1(+) = X7*a + X9*a + X5*/LIMP + X10[/W+a] + X8[/W+a] X2(+) = X1*/MANUAL X3(+) = X1*MANUAL X4(+) = X2*/LIMP + X4*/b X5(+) = LIMP[X2 + X3 + X5 + X7 + X8 + X9 + X10] X6(+) = X3*/LIMP + X6[/(W*/a)] X7(+) = X4*b + X7[/a*/time_out*/LIMP] X8(+) = X6*W*/a + X8[/LIMP*/time_out*/(/W+a)] X9(+) = X7*time_out + X9*/a*/LIMP X10(+) = X8*time_out + X10*/LIMP*W + X10*/LIMP*/a

REDES DE PETRI Variveis de Sada

62

As variveis de sada so sintetizadas a partir das variveis de estado, considerando a forma como o modelo das redes foi interpretado, ou seja: Uma varivel de sada ocorre sempre que a etapa a ela associada recebe uma marca, e esta sada se mantm ativada enquanto a marca estiver presente dentro da etapa. A varivel P (acionamento da bomba), por exemplo, deve ser ativada sempre que houver marca nas etapas e7 ou e8 ou e9 ou e10, e disto decorre sua equao. A notao Xi(t) foi usada apenas para chamar a ateno para o fato de que as sadas ocorrem simultaneamente com o valor presente das variveis internas de estado.

P(t) = X7(t) + X8(t) + X9(t) + X10(t) ALARME(t) = X9(t) + X10(t) RESET(t) = X4(t) + X6(t) TEMP(t) = X7(t) + X8(t)

(Acionamento da bomba) (Alarme de uma hora c/ bomba ligada) (Inicializar o temporizador) (Disparar temporizao de uma hora)

A implementao desse circuito de controle tambm poderia ser feita com elementos biestveis e portas lgicas, de modo anlogo ao que foi visto no exerccio anterior.

REDES DE PETRI 5.3 - Exerccios Propostos 1) Escreva as equaes de estado e as equaes de sada para a Rede de Petri abaixo: E1 S1 E2 S2

63

E3

S1,S2

T1 S1,S2 E5 T4

T2

E4 T3

S2

REDES DE PETRI 2) Escreva as equaes de estado para a Rede de Petri abaixo:

64

E1

E2

E3

T1

T2 E5

E4

T3

T4

E6

E7

T5

T6

REDES DE PETRI 3) Escreva as equaes de estado e de sada para a Rede de Petri abaixo:

65

E1

S1

E2

S2

E3

S3 S2

T1

T2

T3

E4

S1, S2

E5

S2, S3

T4

T5

REDES DE PETRI 4) Escreva as equaes de estado da Rede de Petri abaixo:

66

E1 T 1 E3

E2

E4 T 2 T 3 E6 T 5 E7

E5 T 4

REDES DE PETRI 5) Escreva as equaes de estado da Rede de Petri abaixo:

67

e1 t1

e2

e3

e4

e5

t2

t3

e6

e7

t4

t5

e8

e9

t6

REDES DE PETRI

68

1o . Problema: Pretende-se desenvolver um sistema telecomandado. Para isso, dispe-se de um carrinho que posicionado sobre a linha X, numa das duas faixas pretas indicadas na figura abaixo. Para comandar o carrinho, voc dispe de dois motores independentes, "D" que move o carrinho para a direita (D=1) e "E" que move o carrinho para a esquerda (E=1), movimentos estes sempre somente sobre a linha X. No possvel comandar D= 1 e E=1 simultaneamente - se isso acontecer voc tira ZERO na questo. No carrinho h um sensor S que indica se o carrinho est sobre a faixa preta (S=1) ou se o carrinho est sobre a rea branca (S=0). Voc dispe de um temporizador que tem trs sinais de interao: "T=1" (entrada do temporizador) dispara a temporizao; "F=1" (sada do temporizador) indica fim de temporizao e "C=1" (entrada do temporizador) para interromper a temporizao. Os sinais "T" e "C" devem ser do tipo "pulso". O temporizador tem um ciclo de operao que eqivale ao carrinho andar 3 vezes a distncia "d" da figura. O boto "I" dispara o processo. Pede-se: a) desenvolver a rede de Petri que faz com que o carrinho pare, na parte branca entre as duas faixas pretas, independente de qual faixa preta ele tenha sido colocado . O carrinho pode parar em qualquer ponto da linha X, entre as duas faixas pretas.

linha X

motor 1 d d d T C F Temporizador

motor 2

boto I b) Escrever apenas as equaes das variveis de controle dos sinais. c) Descreva o seu projeto na estrutura Fluxo de Dados + Unidade de Controle, identificando todos os sinais utilizados ******************************************************** como variante para este exerccio, pode-se estabelecer como objetivo que o carrinho deve sair da faixa que ele est parado e atingir a outra faixa.

REDES DE PETRI

69

2o . Problema : Um carrinho tem dois pares de motores independentes: o par de motores controlado pelos sinais F/T: quando F = 1 h o movimento do carrinho para a direita na figura e quando T = 1 h o movimento do carrinho para a esquerda na figura e o par de motores controlado pelo par de sinais S/D: quando S = 1 o carrinho se move para a parte superior da figura e quando D = 1 o carrinho se move para a parte inferior da figura. Cada pulso de uma dessas variveis faz o carrinho se deslocar de uma distncia L no sentido respectivo. Obviamente, no possvel acionar, simultaneamente, os sinais de acionamento de um mesmo par de motores, mas possvel acionar dois sinais independentes, simultaneamente, ou seja F e T no podem ser acionados simultaneamente e S e D no podem ser acionados simultaneamente. Este carrinho tem apenas um sensor p que quando p = 1 indica que o carrinho est parado. Um sistema automtico faz os motores patinarem quando o carrinho atingir um anteparo. Considerar que o carrinho possui dimenses desprezveis e colocado numa sala quadrada de lado 4L, conforme apresentado na figura, sendo esta sala totalmente cercada. Pede-se: a) Desenvolver a Rede de Petri mais simples possvel de modo a permitir que o carrinho v para o centro da sala, quando um boto I for acionado, independente da posio na qual o carrinho tenha sido colocado originalmente na sala. sala cercada 4L carrinho (posio original qualquer) 4L b) A partir do enunciado fornecido, qual a limitao evidente para esse sistema? dica: troque as dimenses da sala; voc precisa alterar a rede de Petri. Sempre possvel? Justifique sua resposta. * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Como variante desse exerccio pode-se alterar as dimenses da sala. Deve ser observado que sempre as dimenses da sala devem ser mltiplas de 2L, pois o carrinho s pode andar uma distncia L F S T D (sinais para movimento do carrinho) boto I

REDES DE PETRI

70

3o . Problema : Uma empresa est instalada num prdio de 3 andares e utiliza um elevador simples para trocar correspondncia entre os andares. A operao do elevador como segue: a) no andar trreo existem 2 botes T1 e T2; quando T1 pressionado, o elevador se desloca do andar trreo at o primeiro andar e quando T2 pressionado ele se desloca do trreo para o segundo andar. b) no primeiro andar existem 2 botes P0 e P2; quando P0 pressionado, o elevador se desloca do primeiro andar at o andar trreo e quando P2 pressionado ele se desloca do primeiro para o segundo andar. c) no segundo andar existem 2 botes S0 e S1; quando S0 pressionado, o elevador se desloca do segundo andar para o trreo e quando S1 pressionado ele se desloca do segundo para o primeiro andar. Considere que no possvel chamar o elevador num andar. Um sensor A indica que alguma porta est aberta, em algum dos andares, o que impede o movimento do elevador, at o fechamento da porta. Da mesma forma, um circuito impede a abertura das portas caso o elevador esteja se movendo. Este ltimo circuito no faz parte da presente questo. Dois motores C e B deslocam o elevador para cima e para baixo, respectivamente. Sensores instalados em cada andar, respectivamente E0, E1 e E2 indicam quando o elevador chegou nesse andar. O sistema iniciado com o elevador no andar trreo. Pede-se: i) Escrever a rede de Petri para controle deste elevador ii) Escreva as equaes de estado e de controle para o sistema acima

T1

P0

S0

T2

P2

S1

E0

E1

E2

(andar trreo)

(primeiro andar)

(segundo andar)

REDES DE PETRI

71

4o . Problema : Deseja-se projetar um sistema de controle de semforo visando a liberao e temporizao da passagem de pedestres em um grande cruzamento. O sistema apresenta 3 sinais de controle, sendo eles o sinal de um boto de acionamento, um oscilador, e o sinal de comando na sada responsvel pela liberao da passagem de pedestres. O boto (B) na base do semforo deve ser acionado para solicitar o fechamento da passagem de automveis e liberao da passagem de pedestres. Enquanto o boto estiver acionado teremos B=1, mas a solicitao s ser atendida a partir do instante da liberao do boto ( ou seja, da borda de descida do sinal correspondente). O oscilador gera um sinal (OSC) de temporizao fixa, definindo os tempos Ton e Toff, sendo Ton correspondente ao tempo disponvel para a passagem de pedestres. Visando garantir sempre o mesmo tempo (Ton) para a passagem de pedestres, o sinal de comando de sada s ser ativado (L=1), liberando o fluxo de pedestres, a partir da prxima borda de subida do oscilador ( correspondendo ao inicio de um tempo Ton) depois que o boto B foi acionado. Com o trmino do tempo Ton o semforo fecha a passagem de pedestres e libera o fluxo de automveis. Para esse sistema pede-se: a) A modelagem do comando por Redes de Petri b) As equaes e a implementao da Rede utilizando flip-flops Sinal de Temporizao (OSC) Boto Sinal de Comando Toff Ton

REDES DE PETRI

72

5o . Problema : Um telefone operando no modo pulse gera de 1 a 10 pulsos eltricos na linha telefnica, conforme sejam apertadas as teclas 1, 2, .....8, 9 ou 0, respectivamente. Voc deve projetar uma rede de Petri que implementa essa funo. Considerar que o circuito que voc ir projetar recebe 4 bits ABCD (A o bit mais significativo .... D o bit menos significativo) que indica o cdigo binrio da tecla acionada, ou seja, em valores binrios: 0001, 0010,.......1010; este circuito recebe tambm 1 sinal S para iniciar a gerao dos pulsos. Alm do sinal L que o prprio trem de pulsos para a linha telefnica, o circuito que voc ir projetar deve gerar um pulso X que indica que a quantidade de pulsos para o particular cdigo ABCD fornecido j foi gerado e novo cdigo pode ser fornecido. Considerar que o clock do circuito compatvel com a temporizao exigida pela companhia telefnica. ABCD CIRCUITO A SER PROJETADO S X

REDES DE PETRI

73

6o . Problema :Uma fbrica produz parafusos. Um equipamento avalia o tamanho do parafuso e fornece um valor binrio, em n bits, que indica o tamanho do parafuso. Voc deve projetar um sistema para o controle de qualidade da fbrica que conta quantos parafusos produzidos esto dentro dos limites aceitveis de produo e quantos parafusos esto fora dos limites: acima do mximo estabelecido ou abaixo do estabelecido. Voc deve gerar o fluxo de dados contendo APENAS os registradores de contagem de parafusos e circuitos comparadores, conforme especificado a seguir e dois contadores: um para o nmero de parafusos bons e outro para o nmero de parafusos ruins. A sincronizao do seu circuito com o circuito que avalia o tamanho do parafuso produzido se processa atravs de dois sinais: A que dispara a contagem de pea boa/ruim e um pulso T que indica trmino da avaliao atual, quando nova ordem pode ser solicitada pelo equipamento japons. Entrada A n bits Entrada B n bits circuito comparador Sada Z (Z = se valor de A > valor de B) registradores/contadores Fluxo de Dados

REDES DE PETRI

74

7o . Problema : Uma mquina fornece latas de refrigerantes de uma nica qualidade e seu funcionamento como segue: o refrigerante custa R$0,75 e a mquina aceita moedas apenas nos valores de R$1,00 (sensor R1), R$0,50 (sensor R5) ou R$0,25 (sensor R25) (outras moedas no so aceitas e obrigatria a introduo das moedas sempre do maior para o menor valor). Inicialmente ficam acessas trs lmpadas, indicando que o cliente pode introduzir qualquer uma das moedas acima. Caso o cliente introduza uma moeda de R$1,00, a mquina fornece o troco de R$0,25 e em seguida, a lata de refrigerante. Caso o cliente introduza uma moeda de R$0,50, o sinal de R$1,00 apagado, indicando que o cliente deve introduzir ou uma moeda de R$0,50 ou uma moeda de R$0,25. Se a segunda moeda introduzida for de R$0,50, a mquina procede como no caso da moeda de R$1,00: inicialmente fornecido o troco de R$0,25 e em seguida, fornecida a lata de refrigerante. Caso a segunda moeda introduzida seja de R$0,25, a mquina apenas fornece a lata de refrigerante. Finalmente, caso a primeira moeda introduzida for de R$0,25, a mquina aguarda a introduo de mais duas moedas de R$0,25 para fornecer a lata, j que no possvel a introduo de moedas de maior valor. Para este caso, a lmpada de R$0,25 permanece acesa at que a terceira moeda de R$0,25 seja introduzida. Pede-se: escrever a rede de Petri que implementa o controle da mquina descrita acima. Considerar que sempre existem moedas para o troco e latas de refrigerante e que os mecanismos de fornecimento do troco e o mecanismo de fornecimento da lata de refrigerante so acionados mediante pulsos eltricos, um para cada mecanismo: TR para o troco e LT para a lata. L1 INSERIR R$1,00 R$0,50 L5 R$0,25 (latas) L25 lmpadas

(troco moedas R$0,25)

TR

LT

sensores

R1

R5

R25

REDES DE PETRI

75

8o . Problema : O nvel de gua de um reservatrio permanentemente supervisionado por dois detetores N1 e N2 (ver figura). A alimentao de gua neste reservatrio feita por duas bombas B1 e B2 da seguinte forma: a) Se o nvel N1 est descoberto, queremos que uma vez seja ligada a bomba B1 e outra vez a bomba B2, intercalando a operao das bombas, de modo que nenhuma delas permanea muito tempo desligada; b) Se o nvel N2 est descoberto, ligam-se as duas bombas at que o nvel N1 seja atingido, ou seja: o reservatrio volte a estar cheio; c) Nenhuma das duas bombas pode ficar ligada continuamente por mais de 30 minutos . Sempre que isto acontecer, o controle dever acionar um alarme avisando o operador do sistema. Convencionar que: .A vazo de gua de entrada no reservatrio, com as duas bombas ligadas, maior que a vazo de sada. Os detetores N1 e N2 fornecem nvel lgico UM em suas sadas sempre que esto cobertos pela gua. Pede-se :

1)Indicar e definir todas as variveis de entrada e sada envolvidas na soluo do problema; 2)Definir o estado inicial, a partir do qual o sistema ser analisado; 3)Descrever o algoritmo de controle deste sistema utilizando Redes de Petri. 4)Sintetizar as equaes de estado e de sadas da rede obtida no item 2), e desenhar o circuito de implementao do controle das bombas.

Reservatrio N1
Registro de sada de gua

Bombas

N2 N1

B1

B2

REDES DE PETRI

76

9o . Problema: Um pequeno teclado com 4 teclas (RESET, T1, T2, T3) deve ser associado com um mecanismo de trava para abrir, com segredo, a porta de uma residncia. Uma nica combinao correta dever ser escolhida numa seqncia de 4 acionamentos das teclas da seguinte forma: Primeiro acionada a tecla RESET seguida de mais trs acionamentos de qualquer uma das 3 teclas (T1, T2, ou T3) numa ordem previamente estabelecida que ser o segredo para a abertura da porta. Sempre que as teclas forem acionadas na seqncia correta, ser produzido um sinal para destravar a porta. Sempre que forem detectados dois erros na seqncia estabelecida ser produzido um sinal para acionar um alarme, supondo que uma pessoa no autorizada esta tentando entrar na residncia. Assuma, para simplificar a soluo do problema, que somente uma tecla pressionada por vez e que existe, na parte interna da residncia, um boto (ARMAR) que, quando pressionado, permite colocar o sistema no estado inicial, armando a operao do alarme.

ARMAR TECLADO

RESET

T1 SIRENE MECANISMO DA TRAVA

T2

T3

Pede-se : 1)Identificar e definir todas as variveis de entrada e sada envolvidas na soluo do problema; 2)Definir o estado inicial, partir do qual o sistema ser analisado; 3)Descrever o algoritmo de controle deste sistema utilizando Redes de Petri. 4)Sintetizar as equaes de estado e de sadas da rede obtida no item 3), e desenhar o circuito completo para controlar o mecanismo de alarme.

REDES DE PETRI 10o . Problema: Uma ponte rolante constituda de uma pina que permite deslocar um objeto de um ponto A para um ponto B. Este sistema pode realizar trs tipos de movimento: (ver figura )

77

1. Movimento de abertura e fechamento da pina, cujo controle de posio efetuado por dois contatos de fim de curso. 2. Movimento de subida ou descida da pina, comandado por um motor com dois sentidos de rotao e duas velocidades. 3. Movimento de translao da pina nos dois sentidos indicados na figura, comandados por um motor com duplo sentido de rotao e tambm com dupla velocidade.

O movimento de translao (para frente ou para trs) da pina deve ser feito com baixa velocidade, assim que a mesma penetra numa zona de 2 metros, antes de cada ponto de parada direita ou esquerda do seu curso. Isto indicado por contatos de posio. Durante a subida, assim que a pina atinge uma altura suficiente, (contato AIT) o movimento de translao para frente pode comear. No ponto direito de troca de velocidade (contato TVT), se o nvel mais alto (contato PPA) ainda no foi atingido, o movimento de translao interrompido, e somente retornado quando a pina chegar a uma altura desejada (contato PPA).

Descrio do Funcionamento
As condies iniciais so as seguintes: O sistema se encontra direita sobre os contatos de fim de curso FAP e PB1. A pina est aberta em posio de ser carregada. O objeto est presente (contato IOP) Existe um boto de presso M, que permite iniciar um ciclo automtico de movimentao do sistema que consiste em: Fechamento da pina; Subida com velocidade alta e translao para a frente com velocidade baixa; Translao para frente com velocidade baixa; Descida da pina com velocidade alta; Descida da pina com velocidade baixa e parada no ponto B; Abertura da pina; Subida da pina com velocidade alta; Translao para traz com velocidade alta; Translao para traz com velocidade baixa e descida da pina com velocidade alta; Parada da pina sobre o ponto A (retorno ao estado inicial)

REDES DE PETRI So as seguintes, as funes dos contatos de final de curso existentes no sistema: (ver figura)

78

FCD = final de curso para direita FCE = final de curso para esquerda TVD = posio de troca de velocidade para direita TVE = posio de troca de velocidade para esquerda PPA = pina na posio mais alta do seu curso PB1 = pina na posio baixa no ponto A AIT = altura mnima para incio da translao PB2 = pina na posio intermediria do ponto B PB3 = pina na posio baixa do ponto B FAP = final do curso de abertura da pina FFP = final do curso de fechamento da pina IOP = indicador de objeto presente M = boto de incio do ciclo automtico

PEDE-SE: 1. Estudar e definir o problema e as variveis de entrada e sada envolvidas na sua soluo; 2. Fazer um diagrama de blocos do "controle + processo " indicando as variveis envolvidas (definidas) no item 1; 3. Descrever o algoritmo do controle utilizando REDES DE PETRI; 4. Sintetizar as equaes de estado e de sada da rede de Petri obtida no item 3.

REDES DE PETRI

79

Troca de velocidade

FCE

TVE p/ direita p/ esquerda

TVD

FCD

PPA

AIT PB2

PB3 PB1 Ponto B Ponto A M IOP FAP FFP

Objeto a ser transportado

REDES DE PETRI

80

11o . Problema: Deseja-se construir uma unidade de controle para automatizar um sistema capaz de realizar a mistura de dois produtos qumicos. Para tanto, as seguintes operaes devem ser realizadas (acompanhar a descrio pela figura): 1) Se o nvel mnimo de soluo existente no misturador for atingido (Nmin) e houver autorizao (AUT) para iniciar o processo, as vlvulas V1, V2 e V4 devem ser abertas, e a bomba B deve ser ligada; 2) Quando uma quantidade (Q1) do produto A foi colocada sobre o prato do transportador nmero 1 (o que ser indicado pelo sensor de peso P1 ) a vlvula V2 dever ser fechada; 3) Quando uma quantidade (Q2) do produto B foi colocada sobre o prato do transportador nmero 2 (o que ser indicado pelo sensor de peso P2 ) a vlvula V4 dever ser fechada; 4) Assim que o nvel mximo do misturador atingido (Nmax) a bomba B dever ser desligada e a vlvula V1 fechada; 5) Realizadas as operaes precedentes, deve ser ligado o motor M do misturador, e os motores C1 e C2 das correias transportadoras que deslocam o produto para o interior do misturador, ao mesmo tempo em que devem ser abertas as vlvulas V3 e V5; 6) Decorrido um tempo T1 = 5 min. as correias C1 e C2 so desligadas e as vlvulas V3 e V5 so fechadas; 7) Feito isto e decorrido um tempo T2 = 10 min. deve ser desligado o motor do misturador; 8) Um contato de segurana ( Nlim) foi acrescido ao misturador de forma a garantir que, durante o processo, no haver transbordamento do produto qumico. Se isto ocorrer (Nlim=1), o controle dever provocar uma parada de emergncia descrita no item 9 a seguir; 9) Parada de emergncia (PE) : Existir por questes de segurana, e poder ser acionada tanto pelo controle como pelo operador, se este ltimo julgar necessrio. Se for acionada durante qualquer das fases de preenchimento do misturador ou dos pratos dos transportadores, deve simplesmente inibir a ao em curso, a qual ser retomada quando ocorrer a ordem de continuidade (CONT), desde que o sinal de parada de emergncia PE tenha sido desligado. Quando a parada de emergncia ocorrer aps a fase de mistura do produto (aps o item 4), ela dever provocar uma parada completa do sistema considerando que o produto obtido se tornou imprprio para o uso. Isto significa que para que o sistema possa voltar a funcionar haver necessidade de reinicializ-lo conforme descrito no item 10 a seguir. 10) A reinicializao do sistema aps a parada de emergncia que torna o produto imprprio para uso ser feita somente quando o operador fornecer a ordem de continuidade (CONT). As aes tomadas pelo controle sero: Esvaziar o misturador pela vlvula EV at obter o nvel Nmin. Abrir simultaneamente as vlvulas V3 e V5, e ligar os motores C1 e C2 colocando as correias transportadoras em movimento contrrio (sentido oposto ao do misturador), de forma a descartar parte dos produtos A e B que por ventura possam ainda estar sobre os pratos dos basculantes e sobre as correias. Colocar novamente o sistema de controle em seu estado inicial preparando-o para um novo ciclo.

REDES DE PETRI O projeto consiste das seguintes tarefas: Estudar e entender o problema, estabelecendo os requisitos de projeto;

81

Dividir o controle em parties (se voc julgar necessrio, definindo cada uma delas e indicando as variveis de entrada e sada envolvidas na soluo do problema; Descrever o algoritmo (ou conjunto de algoritmos) do controle usando redes de Petri. Sintetizar as equaes do controle a partir da descrio obtida no item 3 voltada para implementao com arranjos lgicos programveis. Escolher os circuitos eletrnicos e demais dispositivos que sero usados na implementao do controle; Desenhar o circuito do controle.

REDES DE PETRI

82

AUT

CONT

Produto A p/dissoluo

Produto B p/dissoluo

MOTOR M

V2 Prato do Transp. *1

V4

PE

Sensor de Peso P1

V3

Peso P2

Prato do Transp. *2 V5

Motor C1

Bomba B V1

Correias Transp.

Motor c2 Nlim. N Mx

Reservatrio de Solvente EV

N Min. Sada da mistura p/ utilizao MISTURADOR

S-ar putea să vă placă și