sistemas digitais iii - .:: professor caldas...

82
Sistemas Digitais III EE773 / NE853 Redes de Petri PROF. FRANCISCO ENÉAS LEMOS PROF. EDSON LEMOS HORTA PROF. ORLANDO DEL BIANCO FILHO PROF. LUIS CALDAS PROF. MARIA CLAUDIA CASTRO 2 O SEM. / 2003

Upload: lenhi

Post on 10-Nov-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

Sistemas Digitais IIIEE773 / NE853

Redes de Petri

PROF. FRANCISCO ENÉAS LEMOSPROF. EDSON LEMOS HORTAPROF. ORLANDO DEL BIANCO FILHOPROF. LUIS CALDASPROF. MARIA CLAUDIA CASTRO

2O SEM. / 2003

Page 2: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 2

ÍNDICE1- Revisão dos Modelos de Estruturas Digitais Elementares ....................................................................... 4

1.1- Modelo combinatório ...................................................................................................................... 41.2- Modelo seqüencial Assíncrono ....................................................................................................... 41.3 - Modelo Seqüencial Síncrono .......................................................................................................... 6

2 - Uma metodologia para projetar Sistemas Digitais ................................................................................. 72.1 - Conceitos básicos........................................................................................................................... 72.2 - O Problema da descrição de tarefas e o Conceito de Algoritmo .................................................... 102.3 - O método de projeto..................................................................................................................... 122.4 - Exemplo de um projeto ................................................................................................................ 13

3 - O modelo de redes de Petri como um mecanismo formal de descrição e análise de sistemas................ 193.1 - Histórico ...................................................................................................................................... 193.2 - Por que é necessário um mecanismo formal de descrição?............................................................ 193.3 - Apresentação do modelo de redes de Petri.................................................................................... 19

3.3.1 - Definição............................................................................................................................... 203.3.2 - Seqüência de disparo de transições ........................................................................................ 223.3.3 - Diagrama de marcações da rede............................................................................................. 243.3.4 - Representação matricial das redes de Petri............................................................................. 253.3.5 - Propriedades das redes........................................................................................................... 27

3.4 - Exercícios propostos .................................................................................................................... 314 - Interpretação do modelo...................................................................................................................... 36

4.1 - Exemplos de aplicação no modelamento de sistemas.................................................................... 374.2 - Modelamento de estruturas de controle digital.............................................................................. 404.3 - Exemplos de aplicação ................................................................................................................. 41

5 - Síntese de estruturas de controle.......................................................................................................... 485.1 - A síntese de máquinas de estado (unidades de controle) descritas com redes de Petri. .................. 485.2 - Exemplos de aplicação ................................................................................................................. 515.3 - Exercícios Propostos .................................................................................................................... 63

Page 3: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 3

O PROCESSO DE PROJETO E IMPLEMENTAÇÃO DE ESTRUTURAS DIGITAISELEMENTARES

A figura abaixo resume as 4 etapas principais deste processo:

A primeira delas consiste na formulação escrita do problema, procurando defini-lo completamente,o que nem sempre é tarefa simples, tendo em vista que as descrições fornecidas ao projetista podem serincompletas e conter inúmeras fontes mal entendidas.

O estudo detalhado Do problema (etapa 2), implica em sua total compreensão e definição clara dascondições de contorno envolvidas. A síntese propriamente dita, poderá então ser realizada.

As etapas 3 e 4 correspondem à materialização da estrutura e verificação de seu corretofuncionamento.

Etapa (1) Formulação inicial do problema e definição dosobjetivos

↓Etapa (2) Estudo detalhado do problema e síntese da estrutura

seqüêncial desejada↓

Etapa (3) Montagem da estrutura projetada↓

Etapa (4) Testes finais de verificação e eventual reformulação doprojeto, até o funcionamento correto da estrutura

Fig 1 - O processo de projeto e implementação de estruturas digitais elementares

O comportamento de um sistema digital elementar pode ser determinado pelas relações que seestabelecem entre suas variáveis de entrada e saída. A síntese destas estruturas, consiste exatamente emdeterminar estas relações lógicas entre cada uma das variáveis de saída e as variáveis de entradaenvolvidas. Estas relações, estabelecidas a partir da definição e descrição do problema, serão sintetizadascom base em modelos definidos a seguir.

Page 4: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 4

1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS ELEMENTARES

1.1- Modelo combinatório

As saídas do sistema,s1, s2 ... sm, são funções booleanas binárias apenas das entradas e1, e2 ... en domesmo.

Ou seja: o conjunto de saídas fornecido pelo sistema num instante ti é perfeitamente determinadoconhecendo-se o conjunto das variáveis de entrada aplicado a ele nesse instante.

e1 S1 = f1(e1,e2,....en)

e2 Sistema combinatório S2 = f2(e1,e2,....en)

..... F ...... en Sn = f2(e1,e2,....en)

Ou genericamente: S = F [E]

Fig. 1.1 – Modelo combinatório

1.2- Modelo seqüencial Assíncrono

Neste caso, as saídas são funções booleanas (binárias) não apenas das entradas, mas também doestado interno do sistema seqüencial.

Estas funções podem ser definidas de duas maneiras distintas (porém equivalentes) de acordo com aadoção do modelo de Mealy ou de Moore para representação da máquina seqüencial.

Modelo de Moore: A função de saída é determinada pelo estado presente e a atualização de estado(estado futuro) depende da entrada presente e do próprio estado, ou seja:

z1 = f1 (x1, x2 ...xk)

x2 = f2 (x1, x2 ... xk) conjunto de equações de saída

zm = (x1,x2 …xk)

Conjunto de equações de Estado:

x1 ( t + ∆t ) = g1 [ x1(t), x2(t) … xk(t) ; el(t), e2(t) …en(t) ]

x2 ( t + ∆t ) = g2 [ x1(t), x2(t) … xk(t); el(t), e2(t) …en(t) ]::

xk ( t + ∆t ) = gk [ x1(t), x2(t) … xk(t); el(t), e2(t) …en(t) ]

Page 5: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 5

Genericamente, podemos escrever dois grupos de equações que definem completamente ocomportamento do sistema:

Z(t) = F [ x(t) ] Equações de saídaX( t + ∆t ) = G [ x(t), E(t) ] Equações de Estado

onde: E = conjunto de entradas permitidas pelo sistema

Z = conjunto de saídas fornecidas

X = conjunto de estados internos do sistema

A figura 1.2 ilustra o modelo de Moore, onde F e G são funções da álgebra booleana binária, e (∆ )representa um elemento de memória, capaz de armazenar o estado interno do sistema durante um certotempo (∆) .

F Z

E G estado futuro estado presente

Fig. 1.2 – Modelo de Moore

Modelo de Mealy: Neste modelo, tanto a função de saída, como a de atualização de estado,dependem da entrada e do estado presente, representados matematicamente como se segue:

z1 = fl [ ( x1, x2 ...xk ) ; ( e1, e2 ... en ) ]

z2 = f2 [ ( x1, x2 ...xk ) ; ( e1, e2 ...en ) ] equações de saída::

zn = fn [ ( x1, x2 ...xk ) ; ( e1, e2 ...en ) ]

e para as funções de estados:

x1( t + ∆t ) = g1 [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]

x2( t + ∆t ) = g2 [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]::

xk( t + ∆t ) = gn [ x1(t), x2(t) ... xk(t) ; el(t), e2(t) … en(t) ]

Page 6: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 6

Generalizando as equações, onde F, G são funções booleanas binárias, e E, Z, X representam osconjuntos já mencionados anteriormente, temos:

Z(t) = F [ X(t) . E(t) ] conjunto de equações de saída

X(t + ∆t ) = G [ X(t), E(t) ] conjunto de equações de estado

F Z

E G estado futuro estado presente

Fig. 1.3 – Modelo de Mealy

1.3 - Modelo Seqüencial Síncrono

Nos modelos síncronos, as interações com o sistema se dão em intervalos de tempo bemdeterminados sob o comando de um relógio externo ao circuito, ou seja: Os instantes de comutação doconjunto de variáveis de entrada e saída, e do estado, estão sempre referenciados ás variações de umavariável binária particular (denominada relógio externo) que chamaremos R(t), e que dentro dos objetivosdeste estudo será sempre periódico.

Os modelos de Moore e Mealy anteriormente definidos, podem então ser reescritos como sendo:

A) Modelo de Moore:

Z(tn) = F [ X(tn) ] equações de saída

X (tn) + 1) = G [ X(tn), E(tn) ] equações de estado

B) Modelo de Mealy

Z (tn) = F [ X(tn), E(tn) ] equações de saída

X (tn + 1 ) = G [ X(tn),E(tn) ] equações de estado

Page 7: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 7

Onde as referências de tempo t0, tl ... tn, poderão corresponder aos instantes para os quais o relógioexterno tenha valor lógico ZERO ou UM, ou ainda poderão corresponder apenas aos instantes de variaçãopositiva ou negativa do sinal de relógio (sensíveis à borda do sinal de relógio).

t

variações variaçõespositivas negativas

Fig. 1.4 – Informação externa de sincronismo (sinal de relógio)

No modelo seqüencial síncrono, portanto, a discretização da variável tempo é obtida pelaintrodução da variável R(t), que fisicamente corresponderá a um sinal externo de sincronismo. Este sinal(Relógio) define, em última análise, os instantes permitidos de interação do sistema com o meio externo.

F S(t)

E(t) G próximo estado estado atual

Memória

Fig 1.5 – Modelo Seqüencial síncrono

2 - UMA METODOLOGIA PARA PROJETAR SISTEMAS DIGITAIS

2.1 - Conceitos básicos

Um conceito essencial em sistemas digitais é que a função lógica destes sistemas pode ser descritaindependente dos detalhes internos do mesmo, ou seja: O SISTEMA pode ser representado por módulosfuncionais que se comportam de forma previsível, e seu comportamento analisado e determinado atravésde mecanismos formais de descrição, como por exemplo tabelas de fluxo ou diagramas de estado. Porcomportamento do sistema, entende-se a relação que se estabelece entre suas variáveis de entrada e saídaem função do tempo. Desta forma, surge a idéia de projetar um sistema digital complexo particionando-oem uma série de subsistemas mais simples, caracterizando o comportamento de cada uma dessas partes e aseguir, a maneira pela qual elas se relacionam dando origem ao sistema inicialmente desejado. (figura 2.1).

Page 8: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 8

e1 S1 e1 S1

e2 SISTEMA S2 e2 P1 P3 S2

e3 DIGITAL S3 e3 S3

: : en Sn en P2 P4 Sn

Fig. 2.1 – Partições do Sistema Digital

A idéia de particionar um sistema digital complexo permite caracterizar pelo menos duas atividadesdistintas (mas inter relacionadas) dentro do processo de projetar estes sistemas.

A primeira se refere ao PROJETO DO SISTEMA propriamente dito, definindo conjuntos departições ( P1, P2 ... P3 ) que irão realizar as tarefas necessárias, especificando o comportamento de cadauma das partições e suas necessidades em termos de entradas e saídas. Estas partições serão chamadasMÓDULOS FUNCIONAIS ( ou blocos funcionais ).

A segunda, consiste em analisar os detalhes de funcionamento de cada um dos módulos funcionaisdescritos anteriormente. Esta atividade será denominada PROJETO LÓGICO DO SISTEMA.

O processo de projetar e realizar Sistemas Digitais pode ser subdividido em 3 fases denominadasrespectivamente: DEFINIÇÃO, DESCRIÇÃO E SÍNTESE.

DEFINIÇÃO se relaciona com o projeto do sistema como um todo, sua divisão em módulosfuncionais, as necessidades de entradas e saídas de cada módulo, e seu inter-relacionamento. DESCRIÇÃOdiz respeito aos detalhes de operação lógica de cada um dos módulos, e SÍNTESE se relaciona com oprojeto do “ hardware “ ou seja: os circuitos que vão executar a descrição proposta.

A idéia de projetar sistemas digitais complexos como um conjunto de subsistemas mais simples,que se inter-relacionam, implica em caracterizar estas partições do projeto, e os tipos de tarefas que cadapartição deve realizar. Para isso, será admitido que as tarefas mais simples, uma vez definidas, podem serenquadradas em uma de três categorias:

1. Tarefas de Memorização

2. Tarefas de Transformação

3. Tarefas de Controle

As tarefas de memorização serão realizadas em MÓDULOS DE MEMÓRIA, cuja função éarmazenar informações durante um certo período de tempo. As informações armazenadas nas memóriasserão valores digitais organizados um a um ( bit a bit ) ou em conjuntos de bytes ( 8 bits ) ou palavras. Amemória tem uma organização interna que lhe é própria, onde cada palavra ocupa uma ou várias posiçõesque são descritas por um ENDEREÇO.

Do ponto de vista lógico, as memórias podem ser vistas pelos projetistas, como se fossem tabelascom um certo número de linhas e colunas, cujo tamanho varia de acordo com a capacidade da memória.Estes módulos recebem portanto, como entrada, o endereço de uma linha da tabela, e fornecem como saídaas PALAVRAS correspondentes (colunas) armazenadas naquele endereço. As memórias PROM, EPROM,EEPROM são os exemplos típicos destes módulos, onde as informações contidas são gravadas peloprojetista a partir da definição e programação dos dados que ele deseja armazenar. Outros módulos dememórias podem permitir ler ou escrever diversas vezes o conteúdo de um determinado endereço com

Page 9: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 9

acessos de escrita ou leitura da informação armazenada. Memórias deste tipo serão caracterizadas nopresente estudo, como registradores ou memórias ditas de “ acesso direto “ (memórias RAM – RandonAccess Memory).

OS MÓDULOS DE TRANSFORMAÇÃO vão se caracterizar por receber um certo conjunto deentradas e modificá-los segundo uma relação lógica bem definida, fornecendo um conjunto de saídascorrespondente ao conjunto de entradas recebido. Exemplos de módulos de transformação usuais são ossomadores, as Unidades Lógicas e Aritméticas (ULAs), os codificadores (multiplex), decodificadores(demultiplex), etc.

Também serão considerados módulos de transformação as interfaces entre o sistema e o meioexterno onde ele deve residir como por exemplo um “led” que transforma um sinal elétrico em sinalluminoso, ou uma fotocélula que indica ao sistema a ocorrência de um evento externo.

OS MÓDULOS DE CONTROLE, como o próprio nome indica, devem controlar as operações dosmódulos de memória e dos módulos de transformação. As saídas dos módulos de controle podem dependernão somente de suas entradas presentes (num instante de tempo t0), mas também de entradas passadasocorridas em instantes anteriores, o que é característico das estruturas seqüenciais, uma vez que descrevemsistemas digitais que evoluem por estados.

É importante ressaltar que cada um dos módulos aqui mencionados não deve ser visto peloprojetista do sistema como partições estanques. Os módulos podem e devem ser agrupados, sempre queconveniente, para simplificar a descrição do sistema. Por exemplo, um módulo pode ser designadocoletivamente como módulo de controle, mesmo que no seu interior existam módulos de memória ou detransformação desde que a sua função principal, ao contexto geral do sistema, seja a função de controle.

Interconexão dos Módulos

Um grupo de módulos no qual um sistema foi particionado deve ser conectado por fios quetransportam as informações lógicas, que serão denominados LINHAS LÓGICAS. Um conjunto de linhaslógicas em paralelo para transportar palavras de informação denomina-se “ via de comunicação”. A formapela qual os módulos são conectados através das vias, denomina-se ESTRUTURA DA VIA, e ela éextremamente importante para a operação adequada do sistema.

Como exemplos de estruturas de VIAS, podemos citar: (Fig. 2.2a até 2d )

1 1

2 5 2 3

4

3 4 5

a) Estrutura em anel b) Estrutura totalmente conectada

Page 10: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 10

1

1 2 5 2

chave comutadora

3 4 5 4 3

c) Estrutura de via única d) Estrutura de via com estrela (ou de barramento)

Fig. 2.2 – Exemplos de Estrutura de Vias de comunicação .

2.2 - O Problema da descrição de tarefas e o Conceito de Algoritmo

Descrever a operação de sistemas lógicos é, em sua essência, descrever todas as TAREFAS que eledeve realizar. Para a descrição destas tarefas, é fundamental rever o conceito de ALGORITMO, uma vezque ele é o ponto de partida para estas descrições e a realização de projetos de sistemas digitais.

O Algoritmo é semelhante a uma receita para produzir um determinado resultado, mas deve serdefinido de forma mais cuidadosa. A análise de um exemplo permitirá formular o conceito.

O algoritmo representado a seguir, denomina-se algoritmo de EUCLIDES e está apresentado sobFORMA VERBAL, a qual consiste em:

1. Nome do Algoritmo2. Breve descrição do seu propósito3. Uma lista de seus passos ordenados

A execução destes passos, na ordem indicada, realiza a tarefa desejada.

Algoritmo de Euclides: - Dados dois números inteiros e positivos m e n, encontrar o seu máximodivisor 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 intermédio de fluxogramas. Umfluxograma é uma representação gráfica que indica a seqüência lógica de operações que devem serrealizadas para execução do algoritmo. Para representação dos fluxogramas, vamos utilizar apenas quatrotipos de blocos conforme indicado a seguir: (Fig. 2.3a até 3d).

INÍCIO FIM

a) Início de um processo b) Final de um processo

Page 11: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 11

c) Bloco de instrução (executa a instrução designada internamente) d) Bloco de decisão

Fig. 2.3 – Notação básica de Fluxogramas

O mesmo algoritmo de Euclides encontra-se agora representado na figura 2.4 através de umfluxograma.

INÍCIO

m ÷ n

m ← n não simn ← r r = 0 ? Resposta = n

Fig.2.4 – Fluxograma do Algoritmo de Euclides

Um algoritmo também pode ser encarado como um processo, uma rotina, etc.. A palavra algoritmo,entretanto, terá um significado que vai além de um simples conjunto de regras numa determinadaseqüência, que realiza uma determinada tarefa. Ele deve possuir características adicionais definidas daseguinte forma:

1. Deve ser FINITO: - Um algoritmo deve sempre terminar depois de um número finito de passos.2. Deve ser PRECISO: - Cada passo do algoritmo deve ser definido de forma precisa. As ações

executadas devem ser rigorosamente definidas, e sem ambigüidades.3. ENTRADAS: - Um algoritmo pode ou não necessitar de entradas, que são condições iniciais a ele

fornecidas. (O algoritmo de Euclides requer m e n inteiros e positivos).4. SAÍDAS: - Um algoritmo possui uma ou mais saídas que são quantidades relacionadas com as

entradas, ou características do próprio algoritmo ( o algoritmo de Euclides possui uma saída no passo 2).

5. Deve ser ÚTIL: - Um algoritmo deve produzir um resultado útil, ou seja: O resultado do algoritmodeve levar a um resultado prático que tenha alguma aplicação.

Page 12: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 12

2.3 - O método de projeto

O que foi exposto até aqui permite fazer uma primeira descrição das atividades envolvidas noprocesso de projetar sistemas digitais, e isto está representado no diagrama da figura 2.5, onde existemcinco etapas de projeto:

INÍCIO

DEFINIÇÃO

não satisfatória

DESCRIÇÃO

AVALIAÇÃO

satisfatória

SÍNTESE

falhas

TESTE

correto

FIM

Fig. 2.5 – Fluxograma da atividade de projetar.

Etapa 1: Definição: Consiste em estudar o sistema a ser realizado, de modo a definir um conjunto de“requisitos do projeto” e verificar, em função da complexidade do problema, se será necessário particioná-lo ou não em MÓDULOS FUNCIONAIS mais convenientes para a solução, os quais posteriormente serãointerligados para constituir o sistema completo. Consiste também em esboçar as tarefas que serãorealizadas pelos módulos funcionais, definir suas entradas e saídas e a forma pela qual eles deverão serinterligados.

Etapa 2: Descrição: Tendo em vista as partições do problema definidas na fase 1, esta fase consiste emdescrever ALGORITMOS para que as partições executem as tarefas desejadas.

Page 13: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 13

Etapa 3: Avaliação: Avaliar a operação das fases 1 e 2, verificando se são satisfatórias, ou seja, sesatisfazem a todos os requisitos do projeto.

Etapa 4: Síntese: Consiste em transcrever as descrições dos algoritmos em um conjunto de módulos decircuitos (hardware) capazes de executar as tarefas correspondentes.

Etapa 5:- Teste: Fazer medidas de funcionamento do circuito, de modo a comprovar que as tarefas sãorealizadas corretamente.

A primeira parte do fluxograma da figura 2.5 (Avaliação das duas fases iniciais) é sem dúvida oponto crítico da atividade de projetar. Quando o projetista consegue avaliar as duas fases iniciaissatisfazendo os requisitos do projeto, ele passa a aplicar uma técnica de síntese que irá leva-lo àmaterialização da estrutura desejada. A seguir serão analisadas, de forma mais detalhada, as três etapasbásicas da atividade de projetar (Definição, Descrição e Síntese).

2.4 - Exemplo de um projeto

Este item analisa a fase de definição do projeto de um multiplicador binário para operar comnúmeros inteiros e positivos de até 16 bits.

A colocação do problema

Evidentemente, a realização do projeto de um multiplicador deve iniciar pela compreensão doalgoritmo que será utilizado nas operações de multiplicação. A forma mais simples de rever este algoritmoé aplica-lo em números decimais, estendendo-o a seguir às operações com números binários. No exemploque se segue, o algoritmo convencional é aplicado em base decimal, limitando o uso apenas de dígitos 0 e1 (uma vez que o mesmo algoritmo será usado posteriormente em base binária).

Multiplicar (1000)base10 por (1001)base 10

Multiplicando 1 0 0 0Multiplicador 1 0 0 1

______ 1 0 0 0

0 0 0 0 0 0 0 0

1 0 0 0 __________

Produto 1 0 0 1 0 0 0

Conforme o exemplo indica, o algoritmo pega os dígitos do multiplicador, um de cada vez dadireita para a esquerda, fazendo a multiplicação de cada dígito do multiplicador pelo multiplicando, ecolocando produtos intermediários à esquerda dos resultados anteriores.

Cabe também observar que o número de dígitos do produto é maior que o número de dígitos daparcelas, ou seja: Se o comprimento do multiplicando for N dígitos e o do multiplicador for M dígitos, oresultado poderá ter até M + N dígitos.

Finalmente, cabe ressaltar que se tivermos apenas dígitos zero e um (caso específico de basebinária), cada passo da multiplicação fica simples, e teremos apenas duas possibilidades:

a) Copiar o multiplicando no lugar apropriado quando o dígito multiplicador for UM (1 xmultiplicando);

b) Colocar ZERO se o dígito do multiplicando for zero.

Page 14: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 14

Como as multiplicações em base binária oferecem sempre apenas dígitos ZERO ou UM , tem-sesempre apenas estas duas escolhas, e pode-se definir um algoritmo para realizar tarefa de multiplicaçãodesejada. Este algoritmo, entretanto, não deve ser considerado (do ponto de vista de projeto do sistemadigital) de forma isolada, mas em conjunto com os circuitos digitais (hardware) que irão implementa-lo.

Uma primeira interação 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 algoritmoda multiplicação desejado em base binária. Como devem ser multiplicados números de até 16 bits, oregistrador do multiplicando, a ALU (Unidade lógica aritmética) e o registrador de produto devem possuir32 bits. O multiplicando começa ocupando apenas a metade do registrador (R_CANDO) e vai sendodeslocado 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 adireita, um bit a cada passo da execução do algoritmo. O sistema deve iniciar com o registrador do produto(R_PROD) contendo apenas ZEROS.

A unidade de controle, ao controlar a execução do algoritmo, decide quando deslocar osregistradores do multiplicando, do multiplicador e também quando deve escrever novos valores noregistrador de produto.

A figura 2.7, adiante, apresenta o fluxograma correspondente ao algoritmo da multiplicação bináriaque 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 faça os deslocamentos necessários. Se este bit for igual aZERO, faça apenas os deslocamentos ( do multiplicando 1 bit para a esquerda, e do multiplicador um bitpara a direita). Estes passos devem ser repetidos 16 vezes para completar a operação (lembrar que amultiplicação é de dois números de 16 bits).

ZERO MULTIPLICANDO MULTIPLICADOR 16 bits 16 bits 16 bits DIR

SHIFT_LEFT REG. do MULTIPLICANDO REG. do MULTIPLICANDO

R_CANDO LOAD1 R_DOR ESQ

LOAD2 SHIFT_RIGHT

32 bits

R_DOR(0)

* 64 bits unidade INC_CNTALU* de

controle RESET 32 bits

LOAD3 CONTADOR FIM_16 (MOD_16)

REG. do PRODUTO R_PROD

INÍCIO

Fig.2.6 - Diagrama em Blocos do Sistema Digital Multiplicador

Page 15: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 15

INÍCIO Carregue o multiplicador e oMultiplicando nos registros

= 1 teste o bit 0 = 0 multiplicador

Some o multiplicando ao produtoe coloque o resultado noregistrador produto

Desloque o reg. do multiplicando de 1 bit à esquerdae

Desloque o reg. do multiplicador de 1 bit à direita

Incrementa a contagem dos passos

16 vezes?MENOR

MAIOR

Resultado estáNo Reg. Produto

Fim

Fig. 2.7 : Algoritmo da multiplicação que utiliza o sistema digitalda fig.2.6 para sua implementação.

De modo a ilustrar a aplicação do algoritmo, a tabela (figura 2.8) apresenta de forma detalhada cadapasso da multiplicação, usando números de 8 bits ao invés de 16 bits, para facilitar a visualização doalgoritmo. Lembrar que com isto, serão executados apenas 8 passos e o resultado terá um total de 16 bits.A título de exercício, esta tabela deve ser completada pelo aluno, para uma perfeita compreensão doalgoritmo, e portanto, das tarefas que o sistema digital (que ele deseja projetar) deverá realizar.

Page 16: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 16

Iteração Passo Multiplicando Multiplicador Produto1 Valores Iniciais 0000 0000 0100 0111 0001 1010 0000 0000 0000 0000

2 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

0000 0000 1000 1110 0000 1101 0000 0000 0000 0000

3 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

4 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

5 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

6 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

7 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

8 Prod= Prod*McandoDesl. Esq. McandoDesl. Dir. Mdor

Tabela 2.8 - Tabela para descrição passo a passo do algoritmo da multiplicação(a ser preenchida pelo aluno)

CONCLUSÕES IMPORTANTES SOBRE A ANÁLISE DESTE EXEMPLO:

1) A composição de um sistema digital genérico

Um sistema digital é usualmente dividido em duas partes principais: um fluxo de dados (FD) e umaunidade de controle (UC). O fluxo de dados é responsável pelas transformações de dados que ocorremdentro do sistema digital, enquanto que a unidade de controle ordena as operações que devem serconduzidas para realizar essas transformações (fig.2.9). Interligando esses dois módulos, existem os sinaisde controle, aqueles que saem da unidade de controle e vão para o fluxo de dados, e os sinais de estado,aqueles que saem do fluxo de dados e vão para a unidade de controle.

Os sinais de controle determinam que operações que devem ser realizadas no fluxo de dados, quandoessas operações devem ser executadas e em que seqüência elas devem se suceder para que a funcionalidadedo sistema seja corretamente implementada. Os sinais de estado possibilitam à unidade de controleobservar o estado do fluxo de dados para poder tomar decisões sobre quais operações devem ser feitas aseguir. Portanto, a estrutura de um sistema digital genérico é a seguinte:

Page 17: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 17

Sinais externos de Sinais externos deentrada do controle entrada do F. D.

Sinais de controle

.:

UC FD.:

Sinais de estadoSinais de saída do sinais de saída docontrole p/ meio externo F. D. p/ meio externo

Fig. 2.9 - Estrutura de um sistema digital genérico

As entradas do fluxo de dados são os seus pontos de controles. Um ponto de controle pode ser umsinal de seleção ou um sinal de acionamento (“clock”).

Os sinais de seleção indicam as transformações e as trajetórias que devem ser executadas numdeterminado instante de operação do módulo (por exemplo, as variáveis de seleção de um multiplex).

Os sinais de acionamento determinam quais registradores devem receber novos valores naqueleinstante. Os sinais de acionamento determinam também quando os registradores devem ser atualizados(por exemplo, sinais de “LOAD” de registradores). As saídas do fluxo de dados são os sinais de estado.Esses sinais são determinados de forma a tornar disponível à unidade de controle todas as informações quedevem ser testadas, para que ela possa determinar o que fazer no ciclo atual e qual deve ser o próximo ciclo(por exemplo testar o bit menos significativo do multiplicador).

Evidentemente, além dos sinais trocados entre o fluxo de dados e a unidade de controle, existem ossinais de entrada de dados, que vêem de fora do módulo para o fluxo de dados, os sinais de saída de dados,que saem do fluxo de dados, e vão para fora do módulo, os sinais de entrada de controle, que vêm de forado módulo para a unidade de controle e os de saída de controle, que saem da unidade de controle e vãopara 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 variáveisenvolvidas na solução do problema estão indicadas, e podem ser definidas conforme se segue:

Definição das variáveis da Unidade de Controle

INÍCIO: Entrada do controle que permite iniciar uma operação no sistema;LOAD1, LOAD2, LOAD3: Saídas que acionam carga paralela no reg. respectivo;SHIFT LEFT: Saída que desloca registrador respectivo um bit para a esquerda;SHIFT RIGHT: Saída que desloca registrador respectivo um bit para a direita;RESET: Saída que permite zerar o contador módulo 16;

Page 18: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 18

INC_CONT: Saída do controle que incrementa o contador módulo 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).

Início Multiplicando eMultiplicador (*)

LOAD1

LOAD2

LOAD3

SHIFT LEFT

SHIFT RIGHT

RESET

INC_CONT

FIM_16

R_DOR(0)

Produto

(*) – pode ser 1 barramento compartilhadoou 2 barramentos independentes

Fig. 2.10 - Estrutura do sistema digital Multiplicador.

O estudo da fase definição do projeto do multiplicador permitiu mostrar a importância da aplicaçãode uma metodologia para concepção, projeto e implementação de sistemas digitais de maior complexidade.

Os capítulos que se seguem irão abordar de forma detalhada as fases seguintes da metodologia, ouseja: fases de descrição, síntese (simulação) e implementação de projetos de sistema digitais.

O capítulo 3 analisa o problema da Descrição, mostrando que para descrever sistemas digitais sãonecessários “mecanismos formais de descrição” que auxiliam o projetista ao seu trabalho de identificar edescrever as tarefas que o sistema que está sendo projetado deverá executar. O modelo de redes de Petriserá usado como mecanismo formal de descrição.

O capítulo 4 interpreta este modelo, de forma a criar um mecanismo que permita realizar facilmentea passagem da fase de descrição para a fase de síntese do projeto, o que é analisado no capítulo 5,permitindo que o projetista transforme suas descrições de tarefas em unidades de controle digitais capazesde sincronizar e implementar a execução destas tarefas.

Page 19: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 19

3 - O MODELO DE REDES DE PETRI COMO UM MECANISMO FORMAL DE DESCRIÇÃO EANÁLISE DE SISTEMAS

3.1 - Histórico

As redes de Petri foram originalmente propostas por Carl Adam Petri, em 1962, na Universidade deDarmstadt - Alemanha. Formulada como um modelo gráfico para descrever processamento de informaçõesem sistemas, essas redes ao longo de vários anos de desenvolvimento, ganharam também um suportematemático importante que as tornaram uma ferramenta extremamente adequada para modelamento eanálise de inúmeras aplicações, tais como: Projeto de hardware, protocolos de comunicação, compiladorese sistemas operacionais, programação paralela e bancos de dados, circuitos lógicos programáveis etc...apenas para citar um contexto mais diretamente ligado à ciência da computação.

Outras áreas onde o modelo também tem sido aplicado com sucesso são, por exemplo: Controleindustrial de processos e automação da manufatura, avaliação de desempenho, modelamento de redesneurais, etc...É importante que o leitor tenha em conta sua abrangência, para que possa tirar proveito dele,procurando aplica-lo à solução de outros problemas que não aqueles diretamente ligados à concepção eprojeto de hardware digital conforme será abordado neste curso.

3.2 - Por que é necessário um mecanismo formal de descrição?

Quando um sistema vai ser concebido, ou quando ele já existe e necessita ser analisado para sofrermanutenção ou modificações, é comum encontrar situações onde o sistema foi descrito de formaincompleta ou confusa, muitas vezes numa linguagem coloquial, que permite diversas interpretaçõesdiferentes e subjetivas para características ou funções que deveriam ter uma única interpretação. Ummecanismo formal de descrição, portanto, deve ser capaz de auxiliar a elaboração das especificações dosistema, evitar as ambigüidades na descrição de suas funções, e também ser de fácil compreensão.

A idéia de usar um mecanismo formal de descrição, entretanto, não deve parar por aqui. Deve-sepensar também em analisar e validar as especificações, detectando erros e inconsistências antes mesmode qualquer tentativa de implementação.

A análise de especificações de um sistema deve ser entendida como sendo uma forma de mostrarque certas propriedades do sistema são verdadeiras em qualquer caso, evitando porém ter que enumerare demonstrar todos os casos possíveis.

Validar especificações de um sistema significa demonstrar que, em qualquer caso e respeitadas ascondições impostas pelo meio onde o sistema irá residir, ele será capaz de responder às exigências feitasnas especificações.

Dentro do âmbito dos sistemas estudados neste curso, o processo de análise e validação deespecificações é muito importante, pois obriga o projetista a ir fundo em suas considerações a respeito doprojeto, eliminando ambigüidades e incoerências, o que acaba por simplificar as etapas posteriores deimplementação e testes, gerando uma documentação final extremamente útil, que pode inclusive conterprocedimentos operacionais e de manutenção, visando garantir as especificações durante todo o tempo devida útil concebido para o sistema. Portanto, é dentro desse contexto que as redes de Petri devem serexaminadas no âmbito desse curso.

3.3 - Apresentação do modelo de redes de Petri

Este item apresenta essas redes como um modelo abstrato, através de uma série de definições epropriedades. A seguir, será associada uma interpretação ao modelo, tornando-o adequado à descrição dosproblemas que serão objeto de estudo do curso.

Page 20: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 20

3.3.1 - Definição

Trata-se de um modelo gráfico constituído de dois tipos de NÓS : Os Lugares e as Transições.Estes NÓS são interligados através de arcos orientados. Dessa forma, as redes de Petri podem ser definidascomo uma tripla [L, T, A], onde:

L = { l1, l2, ..... lm } é um conjunto finito de lugares, representados por círculos;T = { t1, t2, ......tn } um conjunto finito de transições, representadas por barras;A = { a1, a2, ....aj } um conjunto finito de arcos orientados, representados por setas que interligam etapas etransições.

A figura3.1 apresenta o grafo de uma rede de petri genérica. Nesta rede, também deve ser associadaà cada transição um conjunto de Lugares de Entrada e Lugares de Saída da transição. Os lugares de entradasão aqueles de onde saem os arcos orientados em direção às transições (na figura 3.1, L5 e L6 são lugaresde entrada de t5). De forma análoga, os arcos orientados do Lugar para a Transição determinam os lugaresde saída da transição ( L3 e L4 são lugares de saída de t2).

L3 t3 L5

t1 t2 t5 L1

L4 t4 L6Fig. 3.1 : Rede de Petri genérica

O grafo apresentado permite representar o comportamento estático dos sistemas que desejamosmodelar com o uso destas redes. Entretanto, elas também permitem descrever o comportamento dinâmicodos sistemas, o que é caracterizado através do conceito de MARCA e de MARCAÇÃO das redes,definidos a seguir:

As marcas são entidades que existem dentro dos lugares da rede, são representadas por pontos, epodem ser produzidas ou consumidas pelas transições de acordo com um conjunto de regras de disparodestas transições, regras estas definidas formalmente no item 3.3.2.

A marcação da rede corresponde ao número de marcas que ela possui num certo instante, e a formapela qual estas marcas estão distribuídas nas suas etapas.

No estado inicial da rede, ela possui uma certa distribuição de marcas que deverá ser consideradanuma análise qualquer. Esta marcação será denominada M0 (marcação inicial da rede). As marcações deuma rede genérica podem ser representadas através de um vetor, como por exemplo na figura 3.1, pelovetor M0= ( 101100 ) que corresponde ao número de marcas respectivas nos lugares L1 a L6 num instantet0.

Portanto, uma rede de Petri genérica fica definida quando é fornecido o seu grafo e a sua marcaçãoinicial correspondente.

Page 21: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 21

Regras de Evolução

Para compreender a forma pela qual as redes de Petri evoluem ao longo do tempo e podem modelaro comportamento dinâmico de um sistema, será introduzido o conceito de validação e disparo dastransições da rede.

Definição 1 : Uma transição genérica da rede é dita habilitada, quando todos os lugares de entrada destatransição possuem pelo menos uma marca (as transições t1, t3 e t4 da fig.3.1 estão habilitadas). Umatransição habilitada pode disparar, e o seu disparo provocará uma evolução na marcação da rede.

Definição 2 : O disparo de uma transição habilitada se faz de acordo com as seguintes regras:

a) Remover uma marca de cada um dos lugares de entrada da transição;

b) Colocar uma marca em cada um dos lugares de saída da transição

A fig.3.2 apresenta duas marcações possíveis na evolução da rede já apresentada na figura 3.1.

L3 t3 L5

t1 t2 t5 L1

L4 t4 L6

3.2a) Evolução da marcação inicial (fig.3.1) pelo disparo de t1 e t3

L3 t3 L5

t1 t2 t5 L1

L4 t4 L6

3.2b) Evolução da rede da figura 3.2a) pelo disparo de t2

Os arcos podem ser ponderados (associados a um número inteiro e positivo como indicado nafig.3.3). Um arco com peso W equivale a um conjunto de W-arcos em paralelo. Arcos representados semponderação equivalem ao valor unitário de W.

O número de marcas existentes numa determinada etapa num determinado instante, também poderáser associado ao conjunto de números inteiros positivos. Por exemplo, na rede da figura 3.3, a letra Kdentro de L1 e L3 indica que existem K marcas dentro de cada um desses lugares no instante representado.

Page 22: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 22

Fig.3.3 : Representação da ponderação de arcos e marcas

O disparo da transição 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 análoga, o disparo de t3 implica em retirar uma marca de L2 ecolocar uma marca em L1 e W marcas em L3

A seguir, é fornecida uma definição formal das redes de Petri, onde foram agregados também osconceitos de ponderação dos arcos e de marcação inicial da rede:

Uma rede de Petri é uma quíntupla { L, T, A, W, M0 }

L = { l1, l2, ..... lm } é um conjunto finito de lugares;T = { t1, t2, ......tn } um conjunto finito de transições;A = { a1, a2, ....aj } um conjunto finito de arcos orientados;W : F = {1, 2, 3, 4, ...} é uma função de ponderação;M0 : P = { 1, 2, 3, .....} é a marcação inicial da rede.

3.3.2 - Seqüência de disparo de transições

Seja S uma seqüência finita de transições pertencentes ao conjunto T = {t1 t2 ... ti ....tn } de transições da rede, ou seja:

S = {t i, t i + 1 ....t i+ k}.S será uma seqüência de transições ativáveis a partir de uma certa marcação Mi da rede, se esomente se, existem as marcações

Mi+1 , Mi + 2 .... Mi+(k + 1) e estas marcações forem alcançáveis a partir do disparo dastransições correspondentes, ou seja:

Mi ti Mi +1

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

L1

L3

t1 t2

t3 t4

W

W

K

K

L2 L4

Page 23: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 23

Exemplo: Na rede indicada na figura 3.4, a seqüência de transições -S = {t1, t3, t5, t6, t7, t1, t2, t4} é uma seqüência ativável a partir deMo = (100000000), pois temos a seguinte evolução das marcações:

Mo t1 M1 t3 M2 t5 M3 t6 M4 t7 M0 t1 M1 t2 M5 t4 M1

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

M1 = (0 1 0 0 0 0 0 0 0 )

M2 = (0 0 0 1 1 0 0 0 0)

M3 = (0 0 0 1 0 1 0 0 0)

M4 = (0 0 0 0 0 0 1 0 0)

M5 = (0 0 1 0 0 0 0 0 0)

Fig.3.4 - Rede de Petri genérica

t1

L1

t2

t4t3

t5

t6

t7t8

t9

t1

L2L3

L4 L

L6

L7

L

L

t11

Page 24: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 24

3.3.3 - Diagrama de marcações da rede

O diagrama de marcações da rede será definido a partir do conceito de classe demarcações alcançáveis de M0, cuja notação usada será M0. Trata-se de um conjunto demarcações Mi da rede, acessíveis a partir de uma marcação inicial M0, ou seja: Para as quaisexiste ao menos uma seqüência de disparo Si, atingível a partir de M0, e que conduza a Mi.

Mi ∈ M0, se somente se, ∃ Si tal que M0 Si Mi

Obs: Si pode ser uma sequência vazia e portanto, M0 ⊂ M0

Para o exemplo da figura 3.4, a partir da marcação inicialM0 = (100000000) temos a seguinte classe de marcações alcançáveis:

M0 = { M0, M1, M2, M3, M4, M5, M6, M7} onde:

M0 = (100000000)M1 = (010000000)M2 = (000110000)M3 = (000101000)M4 = (000000100)M5 = (001000000)M6 = (000000010)M7 = (000000001)

Para outra marcação inicial Mj, a classe de marcações subsequentes será diferente. Existe,portanto, uma classe associada a cada marcação inicial da rede.

Definição : Diagrama de Marcações de uma rêde

Este diagrama é representado através de um grafo orientado onde o conjunto de NÓS é M0, e oconjunto de arcos (Mi, Mj) é definido como se segue:

Mi ∈ M0 , Mj ∈ M0 e ∃ t ∈ T / Mi t Mj ⇔ (Mi, Mj) ∈ A

Sobre cada arco estão indicadas as transições que, quando ativadas, provocam a mudançada marcação Mi para Mj.

Page 25: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 25

Exemplo: O diagrama de marcações 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 t2 t9

t11

Fig.3.5 - Grafo de marcações subsequentes da rede indicada na fig.3.4

3.3.4 - Representação matricial das redes de Petri

Uma rede de Petri também pode ser representada matematicamente, por meio de matrizes. Vamosexaminar dois tipos de representação distintos:

A) Representação por "ETAPAS DE ENTRADAS" e "ETAPAS DE SAÍDA" das TRANSIÇÕES.

Neste caso, temos duas matrizes que denominaremos respectivamente: EE (matriz de etapas deentrada), e ES (matriz de etapas de saída).

Estas matrizes possuem um número de colunas igual ao número de ETAPAS (lugares) da rede, eum número de linhas igual ao número de TRANSIÇÕES, sendo seus elementos definidos da seguinteforma:

Matriz de Etapas de entrada (EE)

aij = 1: se existe um arco interligando a etapa J com a transição iaij = 0: não existe arco ligando a etapa J com a transição i.

Matriz de etapas de Saída (ES)

bij = 1: se existe um arco interligando a transição i com a etapa J.bij = 0: não existe arco de ligação da transição i com a etapa J.

Se associarmos a estas duas matrizes o vetor M0 da marcação inicial, teremos umadescrição completa da rede .

t7M7

t10 M5

Page 26: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 26

Para a rede indicada na figura 3.6 as matrizes serão:

1 0 0 0 0 1 1 0

EE= 0 1 0 0 ES = 0 0 0 1 M0 = [1000]

0 0 1 0 0 0 0 1

0 0 0 1 1 0 0 0

a22 = 1 Existe um arco ligando b24 = 1 Existe um arco a etapa 2 com a ligando a transição transição 2 2 com a etapa 4

Fig.3.6 - Rede de Petri representada de forma matricial

B) Representação por “MATRIZ DE INCIDÊNCIA”

A matriz de incidência também possui um número de colunas igual ao número deETAPAS da rede, e um número de linhas igual ao número de TRANSIÇÕES, e de modo que:

Cij = 1 : se existe um arco que liga a transição i à etapa JCij = -1 : se existe um arco ligando a etapa J com a transição i.Cij = 0 : se não existe nenhum arco entre a transição i e a etapa J.

e1 e e3 e

t1

t2

t3

t4

e1

t1

e3e2

t2

e4

t3

t4

Page 27: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 27

Para a rede da fig 3.6, a matriz de incidência será:

e1 e2 e3 e4

-1 1 1 0 t1

I= 0 -1 0 1 t2 M0 = [1000]

0 0 -1 1 t3

1 0 0 -1 t4

3.3.5 - Propriedades das redes

Seja uma rede de Petri definida pela tripla (L, T, A), e por sua marcação inicial M0.

A) Rede Demarcada

Definição de Lugar Demarcado

Um lugar Li do conjunto L = { L1 L2 ... Ln} é dito demarcado a partir da marcaçãoinicial M0, se e somente se, para todas as marcações Mi ∈ M0 existe um número N, inteiro epositivo, tal que: o número de marcas contidas no lugar Li em qualquer caso é menor ou igual aN, ou seja: Mi (Li) ≤ N.

Definição de rede DemarcadaUma rede de Petri é dita demarcada, a partir de uma marcação inicial M0, se e somente se,

todos os lugares Li do conjunto E são demarcados para M0.Para o exemplo da figura 3.7, a seqüência de disparo S = (t1, t2, t3) é ativável

indefinidamente. Isto provoca um crescimento ilimitado do número de marcas na rede. Esta rede,portanto não é demarcada.

Fig.3.7 – Rede não Demarcada

Pode-se demonstrar que uma rede de Petri é demarcada para uma marcação M0, se esomente se, a classe de marcações subsequentes de M0 é finita.

A análise do caráter demarcado de uma rede é muito importante, pois permite detectarerros de descrição dos sistemas.

e1 t1

e2

e3

t2

t3

Page 28: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 28

B) Rede de Petri Segura

Uma rede de Petri é dita segura a partir de uma marcação inicial M0, se e somente se,todos os lugares da rede são demarcados com N=1, ou seja:Cada lugar da rêde pode conter apenas uma ou nenhuma marca para qualquer marcação possívelda rêde .

Exemplo: A rede da figura 3.8a é segura para M0 = (100), pois seu diagrama de marcações(indicado na figura 3.8b) mostra que todas as etapas são demarcadas para n = 1

M1

t1 t3 M0 = (1 0 0)

M0 M1 = (0 1 0)

t4 t2 M2 = (0 0 1 )

M2

(a) (b)

Fig.3.8a - Rede segura para a marcação M0 = (100)

A mesma rede indicada na fig.3.8a, entretanto, não é segura para M0 = (101), conformeindica seu diagrama de marcações (figura 3.9).

M0 = (1 0 1)

M1 = (0 1 1 )

M2 = (0 0 2)

M3 = (2 0 0)

M4 = (1 1 0)

M5 = (0 2 0)

Fig. 3.9. - Grafo de marcações da rede da fig.3.8a com M0 = (101)

t2

L3

t1

t3t4

L2

L1

t1t2M1 M0 M2

M4 M3

M5

t1t3

t3

t1

t2t4

t3

t4

t4

t2

Page 29: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 29

C) Rede de Petri Viva.

Uma rede de Petri é viva a partir de uma marcação inicial M0, se e somente se, para todasas transições t i pertencentes ao conjunto T, e todas as marcações Mi de M0, existir numaseqüência de disparo S englobando t i e ativável a partir de Mi.

No exemplo da figura 3.10 vemos, pelo diagrama de marcações, que a transição t3 nãodispara nunca, pois não existe nenhuma seqüência de disparo da rede, que torne esta transiçãoativável, seja a partir de M0=(10) ou de M1=(01). A rede da figura 3.10, portanto, não é viva.

Fig.3.10 – Rede Viva para M0 = (11)

Neste mesmo exemplo (fig.3.10), entretanto, se tomarmos M0 = (11) como marcaçãoinicial, obteremos o diagrama de marcações da figura 3.11.

M0 = (1 1)

M1 = (0 2)

M2 = (2 0)

Fig. 3.11 - Novo Diagrama de Marcações – M0 = (11)

A partir de qualquer uma das marcações Mi, pode-se obter uma seqüência ti englobandotodas as transições da rede.

S0 = {t3, t1, t2} S1= {t2, t1, t3} e S2= {t1, t2, t3}Esta mesma rede, portanto, é viva para M0= (11)

O caráter vivo de uma rede de Petri é muito importante porque:

• Ele assegura que a rede não possui bloqueios (deadlock). O bloqueio corresponde a umamarcação, a partir da qual, nenhuma transição pode ser disparada.

• Ele assegura também que todas as partes da rede são acessíveis.

T1

T2

M0 M1

Mo = (10) M1 = (01)

T3

P 1

T 1

P 2

T 2

t2 t2

t1 t1t3

M1 M0 M2

Page 30: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 30

D) - Rede de Petri Reinicializável

Uma rede de Petri é reicializável para uma marcação inicial M0, se e somente se, paratodas as marcações Mi, de M0 existir uma seqüência de disparos S, ativável a partir de Mi, queconduz novamente à marcação inicial M0.

No exemplo da fig.3.12, não existe seqüência de disparos a partir de nenhuma das trêsmarcações M1, M2 e M3, que conduza novamente à M0. Esta rede, portanto, não éreinicializável, embora seja viva.

Fig.3.12 - Rede reinicializável para M0 = (1100)

Na mesma rede (fig.3.12), entretanto, se partirmos da marcação inicial M0 = (1100),obteremos o diagrama de marcação da figura 3.13. Este diagrama indica que a partir de qualquermarcação Mi, é possível encontrar uma sequência Si que conduz a M0.

S0 = {t2, t1, t3} S1 = {t1, t3} S2 = {t3}

A rede é, portanto, reinicializável para esta nova marcação inicial, e igualmente viva.

M0 = (1 1 0 0)

M1 = (1 0 1 0)

M2 = (0 0 1 1)

Fig. 3.13 - Diagrama de marcações da rede (fig. 3.12) p/ M0 = (1100)

O caráter reinicializável de uma rede traduz, portanto, sua capacidade de descreversistemas que retornam ao estado inicial após terem executado uma sequência de tarefasexigidas.

M0=(0 1 0 1)

M1=(0 0 1 1)

M2= (1 1 0 0)

M3= (1 0 1 0)

t2 t1

t3

M0 M1 M2

L1

t1

L4

t3

L3

L2

t2 t2M0

t1

M3

M1

M2t2

t3

Page 31: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 31

3.4 - Exercícios propostos

1) Dada a Rede de Petri, descrita pelas matrizes EE e ES, abaixo:

e1 e2 e3 e4 e1 e2 e3 e4t1 1 0 0 0 t1 0 0 1 0

EE = t2 0 0 1 0 ES = t2 1 0 0 0 M = [1, 1, 0, 0]t3 1 1 0 0 t3 0 0 1 1t4 0 0 0 1 t4 0 1 0 0

Pede-se: a) A matriz de Incidênciab) As marcações possíveis e o grafo de marcações da redec) A rede é reinicializável? Por que?d) A rede é segura? Por que?e) A rede é viva? Por que?

t1

e1 t2 e3

t3

e2 e4

t4

Page 32: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 32

2. Dada a Rede de Petri abaixo:

e1 e2

e3

t1 t2

e4 e5

t3 t4

com M0 = [ 1, 1, 1, 0, 0 ]

Pede-se:

a) As marcações possíveis e o diagrama de marcaçõesb) A matriz de Incidênciac) A rede é demarcada? Por que?d) A rede é segura? Por que?e) A rede é viva? Por que?f) A rede é reinicializável? Por que?

Page 33: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 33

3) Dada a Rede de Petri, descrita pela sua matriz de Incidência I, abaixo:

e1 e2 e3 e4 e5 e6 e7t1 -1 -1 0 1 0 0 0t2 0 -1 -1 0 1 0 0

I = t3 1 0 0 -1 0 1 0 M0 = (1,1,1,0,0,0,0)t4 0 0 0 0 -1 0 1t5 0 1 0 0 0 -1 0t6 0 1 1 0 0 0 -1

Pede-se:

a) Desenhar a rede de Petri respectivab) As matrizes de Entrada e Saídac) As possíveis marcações para esta rede e o diagrama de marcaçõesd) Explicar se essa rede é viva, segura e reinicializável para a marcação inicial dadae) Repetir os itens (c) e (d) para a marcação inicial M0=0000011

E1

E6

E5E4

E3E2

E7

T1 T2

T3 T4

T5 T6

Page 34: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 34

4. Para a rede de Petri abaixo pede-se:

a) As matrizes de Entrada e Saídab) As marcações possíveis e o diagrama de marcações para M0=10001c) Explicar se a rede , para a marcação dada, é viva, segura e reinicializável.d) Repetir os itens (b) e (c) para a marcação M0=01100

E1

E5E4

E3E2

T1 T2 T3

T4 T5

Page 35: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 35

5. Para a Rede de Petri descrita abaixo pede-se, para M0=0101100:a) A matriz de Incidênciab) As marcações possíveis e o diagrama de marcaçõesc) Esta rede, para a marcação inicial definida, seria demarcada, reinicializável, segura e viva?

Justifique suas respostas.

E1 E2

E3 E4

E5 E6 E7

T1

T2 T3

T4 T5

Page 36: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 36

4 - INTERPRETAÇÃO DO MODELO

Até este ponto, as redes de Petri foram definidas como um modelo abstrato. Uma rede, entretanto,passa a representar um sistema quando é associada uma interpretação às entidades que a compõe, ou seja:aos LUGARES, às TRANSIÇÕES e às MARCAS.

O exemplo a seguir ilustra o conceito de interpretar uma rede de Petri para descrever a solução doseguinte problema:

Um barqueiro precisa atravessar um rio levando um lobo, uma cabra e um maço de couve.Em cada travessia, somente podem ir no barco o barqueiro e uma das três cargas que devem sertransportadas.

A fig. 4.1 descreve uma possível solução para este problema, com redes de Petri, nasseguintes condições:

1) o lobo e a cabra ou2) a cabra e a couve

nunca podem ficar sozinhos, sem o barqueiro, em qualquer lado do rio

Fig. 4.1 - Descrição do problema do barqueiro

Algumas interpretações típicas utilizadas no modelamento de sistemas descritos com essas redessão as seguintes:

As transições representam eventos e os lugares representam condições. Uma transição possui umcerto número de lugares de entrada e lugares de saída, que passam a representar respectivamente pré-

Tira acabra

Barqueirocom a

LÔBO

cruzao rio

ColocaLôbo no

Cruzando o rio

cruzao rio

Cruza o rio

Deixao Lôbo

LÔBO

CABRA

Colocacabra

Barqueirosozinho

Barqueirosozinho

Cruza o rio

Cruza o rio

COUVE

Colocacouveno Bote

Cruzao rio

Deixa acabra

Deixa acouve ecoloca acabra

COUVECABRA

Page 37: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 37

condições e pós-condições à ocorrência daquele evento. Nesse caso, a presença de uma marca num lugar éinterpretada como tendo ocorrido a condição a ela associada.

Outra interpretação consiste em colocar um certo número de marcas num determinado lugar darede, para indicar uma certa quantidade de itens ou recursos disponíveis. Nesses casos, juntamente com autilização da função de ponderação dos arcos, conforme definido no item 3.3.1, pode-se modelar situaçõesonde haja necessidade condicionar a ocorrência de eventos (disparo de transições) a uma certa quantidadede itens (recursos) disponíveis.

4.1 - Exemplos de aplicação no modelamento de sistemas

Este item apresenta alguns exemplos de modelamento de sistemas usando rêdes de Petri.

Exemplo 1 : Protocolos de comunicação podem ser representados e analisados com o auxilio dessas redes.A fig. 4.2 exemplifica este modelamento, sendo a análise do protocolo feita com a aplicação daspropriedades apresentadas anteriormente (rêde viva, segura e reinicializável), e do diagrama de marcaçõesalcançáveis da rêde.

Fig. 4.2 - Representação de protocolos

Buffercheio

Enviamensage

Recebemensagem

EnviaACK

Buffercheio

Prontop/ receber

Mensagemrecebida

Processo # 2

ACKenviado

ACKrecebido

Pronto p/enviar

Processo # 1

Espera ACK

Page 38: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 38

Exemplo 2 : As redes de Petri, quando aplicadas ao modelamento de sistemas digitais, podem ser usadastambém para descrever o fluxo de dados. Na figura 4.3 está representada uma computação dirigida pelofluxo de dados, onde as instruções são habilitadas para execução assim que os operandos necessários ficamdisponíveis, e podem ser executadas de forma concorrente e assíncrona. Neste tipo de representação, asmarcas correspondem aos valores atuais dos dados e também sua disponibilidade. As instruções (operaçõesque devem ser realizadas sobre os dados) estão representadas pelas transições, e os lugares recebem osvalores computados. Este exemplo enfatiza a flexibilidade e abrangência dessas redes para descrição deproblemas.

Fig 4.3 - Fluxo de dados para computação de (X*Y)/(X-Y)

Exemplo 3 : Modelamento de situações de conflito e de concorrênciaSituações de conflito caracterizam-se, ao nível do modelo, por possuírem duas ou mais transiçõeshabilitadas, mas o disparo de uma delas inibe o disparo das outras. Essas situações são modeladasconforme indicado na figura 4.4a, (transições t1, t2 e t3 são transições em conflito). A fig.4.4b apresentaum exemplo de aplicação, onde a situação de conflito é usada para modelar um mecanismo desincronização para um processo de leitura e escrita com mutua exclusão (por exemplo, o acesso seqüencialàs informações contidas numa memória).

L1 L2

t1 t2 t3

L4 L5 L6

Fig.4.4a - Modelamento de uma situação de conflito

copiadado

copiadado

X

X

Y

Y

multiplica

subtrai

X-Y

se X-Y =0

se X-Y =0

divideX*Y X*YZ= ------ X-Y

Z é indefinido

Page 39: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 39

Leitura Escrita

Fig.4.4b - Representação do processo de escrita e leitura com mútua exclusão

Situações de concorrência (execução de atividades paralelas), também podem ser expressasfacilmente conforme indicado na figura 4.5. Após o disparo de t1, o ramo L2, t2, L4 da rede pode evoluirem paralelo e de forma independente do ramo L3, t3, L5, cada um deles modelando atividades distintasque devem ser executadas em paralelo. Ainda neste exemplo, a transição t4 representa uma forma demodelar situações onde é necessário sincronizar diversas atividades que estão sendo executadas de formaindependente.

L2 t2 L4

t1 t4 L1

L3 t3 L5

L6 L7 t5 L8

Fig.4.5 - Trecho de uma rêde de Petri genérica modelando uma situação de concorrência

Recursodisponível

Solicitação de leitura Solicitação

de escrita

Fim Fim

Page 40: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 40

4.2 - Modelamento de estruturas de controle digital

Máquinas de estado e unidades de controle digital, podem ser descritas com redes de Petriassociando a seguinte interpretação (acompanhar pela fig.4.6):

A) Ao conjunto de lugares da rede está associado o conjunto de saídas permitidas da unidade de controledigital cuja rede está descrevendo, sendo que as saídas são produzidas sempre que o lugarcorrespondente recebe uma marca;

B) Ao conjunto de transições esta associado o conjunto de entradas da unidade de controle descrita pelarede, sendo que uma transição qualquer dispara sempre que estiver habilitada e a proposição lógica a elaassociada for verdadeira;

C) A marcação da rede (conjunto de lugares que possuem marca) num certo instante indica as variáveis desaída que se encontram ativas nesse instante e informa também o estado interno onde se encontra amáquina de estados nesse instante.

Saídas /S1, /S2, /S3

E1*E2 E2 E1

E2 S1 E3*/E5

S2 E3

/S1, S2 E2+E5 E4

E4 E3 E5

/S2, S3

E5 * /E2 Entradas

/S2, /S3

Fig. 4.6 -: Interpretação de uma rede genérica para descrição de algoritmos de controle(descrição do fluxo de controle em sistemas digitais)

circuitoDigital que

realiza oalgoritmodescritopela rede

S1

S2

S3

Page 41: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 41

4.3 - Exemplos de aplicação

1o. Problema : Comandar a oscilação de um distribuidor eletro-pneumático, quefunciona conforme descrito abaixo (ver figura 4.7)

Fig.: 4.7 – Esquema geral do pistão eletro-pneumático

A posição do pistão é indicada pelos contatos g e d, e o comando de translação dopistão é obtido pelo acionamento das variáveis D (deslocamento para direita) e E(deslocamento para esquerda).

O ciclo inicia quando o operador pressiona o botão M, fazendo o pistão oscilar entreos contatos g e d. O ciclo termina quando o operador pressiona o botão A, e o pistão parasobre o contato g. Todo ciclo iniciado deve terminar sobre o contato g (situação em que asentradas D e E do distribuidor valem D = 0 E = 1).

Pede-se:1. Esquematizar a estrutura “controle + processo” indicando as variáveis envolvidas na

solução;

2. Descrever o algoritmo de controle com redes de Petri.

Solução:

Item 1- Existem seis variáveis envolvidas na solução do problema, que podem sersubdivididas em dois conjuntos denominados variáveis de entrada e variáveis de saída, emrelação ao controle que deve ser descrito (Fig.4.8).

Conjunto de variáveis de entrada = M, A, g, d

Conjunto de variáveis de saída = D, E

direita (D)

esquerda (E)

M

A

dg

Direita (D) Esquerda (E)

Page 42: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 42

Será adotada a seguinte convenção para as variáveis:

g = 1 - pistão sobre o contato gd = 1 - pistão sobre o contato dM = 1 - operador pressiona o botão M (início do ciclo)A = 1 - operador pressiona o botão A (parada)D = 1 - pistão é movimentado para a direitaE = 1 - pistão é movimentado para a esquerda

Fig. 4.8 - Diagrama de blocos da estrutura controle + processo

A figura 4.9 mostra a rede de Petri que descreve o algoritmo do controlecorrespondente a uma possível solução para o problema. A rede possui 5 marcaçõespossíveis conforme indicado no diagrama de marcações correspondente. Na fig.4.9, ei tisão apenas os nomes que identificam lugares e transições da rede.

A*/g M1 = (10000)

M2 = (01000)

M3 = (00100)

M4 = (00010)

M5 = (00001)

Fig. 4.9 - Rede de Petri para solução do problema do distribuidor eletro-pneumático e seudiagrama de marcações.

CONTROLE PROCESSO

M

A

D

E

g

d

M1

M2

M3

M4

M5

t1

t4

t2t3 t5

t6

/D , /Ee1

t1 M*/A

e2

t2

e3

t3

D , /E

t4 A/A*d

e4 D , /E /D , E dg e5

/D , E

t6 g

t7

t5

Page 43: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 43

2o. Problema: Considere o sistema indicado na figura 4.10 que é constituído portrês carros monta-cargas (C1, C2 e C3), que podem se deslocar em três viasindependentes, e com velocidades diferentes, para a direita ou para a esquerda de acordocom os sinais Dn e En (n = 1, 2, 3) respectivamente. Os interruptores a, b, c, d, e, fservem para detectar a presença dos carros nas extremidades das vias. O estado inicial dosistema é o indicado na figura 4.10 (os três carros parados sobre os contatos a, c, e), e eledeverá realizar a seqüência descrita a seguir:

O operador pressiona o botão M e o ciclo se inicia, deslocando os três carros para adireita. Entre C1 e C2 existe uma dependência: O primeiro que chega na posição mais adireita de sua via (contatos b ou d), aguarda a chegada do outro, afim de partirem juntosno sentido contrário (em direção aos contatos a , c).

O terceiro carro, faz retorno em direção à posição inicial, uma vez que ele chegouao contato f, independente dos demais. O ciclo termina quando os três carros voltamnovamente ao estado inicial, onde eles devem parar e aguardar o início de um novo cicloquando o operador pressionar novamente o botão M. Pede-se:

1) Esquematizar a estrutura “Controle + Processo”, indicando as variáveisenvolvidas na solução.

2) Descrever o algoritmo do controle utilizando redes de Petri.

Fig. 4.10 - Esquema geral do sistema monta-cargas

En = 1 desloca o carro Cn para esquerda

Dn = 1 desloca o carro Cn para direita

ME1

C1

E2

b

C2 d

E3 D3

f

e

C3

a

c

Page 44: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 44

Esta solução evidencia as potencialidades destas redes para descrever operaçõesconcorrentes e assíncronas, como é o caso do desenvolvimento das tarefas referentes aocarro C3 independentes de C1 e C2. Também evidencia a forma pela qual o modelo podeexprimir a sincronização de tarefas quando necessário, simbolizado pelas transições t5 et9.

Fig. 4.11 - Rede de Petri que descreve o algoritmo do controle para solução do problemados 3 carros.

e1

t1 M

e2D1 , /E1

e3 D2, /E2 e4 D3 , /E3

t2 b t3 d t4 f

e5 /D1 , e6 /D2 , /E2e7

/D3 , E3

t5 b*d.

e8 E1 , /D1 e9 E2 , /D2

t6 a t7 c t8 e

e10/D1 ,/E1

e11/D2 , /E2

e12

/D3 , /E3

t9 a*c*e

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

Page 45: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 45

3o. Problema : Neste exemplo, será retomado o problema do comando do distribuidoreletro-pneumático, alterando os requisitos do projeto, da seguinte forma:

a) Partir do estado inicial com o pistão em repouso sobre o contato g;

b) Ao pressionar o botão M, o operador inicia um ciclo de oscilação do pistão entre os contatos g e ddurante um período de tempo igual a 2 (dois) minutos. A seguir, o sistema volta ao estado inicial e pára,encerrando seu ciclo. Pede-se:

• Definir as variáveis de entrada e saída envolvidas na implementação deste sistema;

• Descrever, com redes de Petri, o algoritmo de controle para comandar o ciclo de oscilação do pistão,conforme definido acima;

• Inclua na rede obtida no item anterior uma proteção (parada de emergência - PE) que, se for acionadadurante a temporização dos dois minutos, interrompa a oscilação do pistão recolocando o sistema no seuestado inicial.

Fig. 4.12 – Esquema do Pistão Eletro-pneumático

SOLUÇÃO:

Este problema permite tratar a questão da introdução da variável tempo nas descrições feitascom redes de Petri. A forma mais simples e objetiva para resolver esta questão é definir que aimplementação do intervalo de tempo desejado será realizada através de “temporizadores”, como oindicado na figura 4.13(a), e descrever o acionamento destes temporizadores com redes de Petricomo a da figura 4.13(b).

iniciaTEMPfim TEMP

Reset TEMP

Temporizador ( 2 minutos)

ResetTEMP

iniciaTEMP

fim TEMPPE

=1CONTROLE

Fig.4.13a – Diagrama de Blocos Fig.4.13b – Rede de Petri Equivalente

distrib. Eletro-pneumático

g dEsquerd

Direita M

direita (D)

esquerda (E)

PE

Page 46: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 46

Item 1- As variáveis envolvidas na solução do problema são as mesmas já definidaspara o problema inicial, ou seja:

Conjunto de variáveis de entrada = M, A, g, d (do problema anterior)

INICIO: Coloca o controle no estado inicial (marcação inicial da rede)

PE : Contato normalmente aberto que, quando acionado, interrompe imediatamente o processo de oscilação e retorna o pistão ao seu estado inicial.

Conjunto de variáveis de saída = D, E

Acrescidas, neste caso específico, das novas variáveis envolvidas no acionamento dotemporizador de 2 minutos, e da proteção PE. As definições dessas novas variáveis serão asseguintes:

RESET(2min) : Variável de saída do controle que permite iniciar o temporizador paramarcar o intervalo de 2 minutos;

TEMP(2min) : Variável de saída do controle que permite o acionamento do inicio datemporização de 2 minutos;

FIM(2min) : Variável de entrada do controle que permite informa-lo do final datemporização de 2 minutos;

Fig. 4.14 - Diagrama de blocos da nova estrutura “controle + processo”

CONTROLE

PROCESSO

M

PE

D

E

g

d

TEMP(2min)FIM(2min)

RESET(2m

Temporizador (2 minutos)

INICIO

Page 47: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 47

A rede apresentada na figura 4.15 descreve o algoritmo do controle do distribuidor eletro-pneumático já com a parada de emergência incluída, conforme solicitado.

OBS: - Para simplificar o desenho da rede, foi convencionado que somente as saídasindicadas nas etapas estão sendo acionadas (estão atuando sobre o sistema) no instanteconsiderado.

Fig. 4.15 - Rede de Petri para solução do problema do distribuidor eletro-pneumático comtemporização de 2 minutos.

M*/PE

RESET(2min)

INICIO

/D, /E, /TEMP(2Min),/RESET(2min)

=1

=1

/D, /E, /TEMP(2Min),/RESET(2min)

TEMP(2min)

D

E

/PE * d

/PE * g

PE + FIM(2min)

Qualquermarcação

=1

D

E

d

g

PE + FIM(2min)

Page 48: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 48

5 - SÍNTESE DE ESTRUTURAS DE CONTROLE

A metodologia que será apresentada deriva dos métodos clássicos de síntese decircuitos lógicos. Será necessário recordar um pouco a teoria de máquinas de estado, e osmodelos de Mealy e Moore para representação de circuitos seqüenciais síncronos,conforme já analisado no capítulo 1.

O processo de projeto e síntese de estruturas de controle pode ser subdividido emtrês etapas principais:

a) Fase de DEFINIÇÃO; b) Fase de DESCRIÇÃO; c) Fase de SÍNTESE.

A fase de DEFINIÇÃO está relacionada com o entendimento da estrutura decontrole como um todo, sua eventual partição em módulos funcionais mais simples, queserão posteriormente interligados para constituir o sistema completo. Também estarelacionada com a definição de suas entradas e saídas e com o esboço inicial das tarefasserão realizadas.

A fase de DESCRIÇÃO diz respeito aos detalhes da operação lógica dos módulosque compõe a estrutura de controle. Nesta fase, o projetista descreve, com base noconceito de algoritmo, conjuntos de tarefas que ele deseja ver realizados pelo sistema.Mecanismos formais de descrição são fundamentais nesta fase, pois eles evitamambigüidades, facilitam a compreensão do problema, e podem auxiliar uma posterioranálise e validação das especificações funcionais do sistema a ser projetado. Nos casosaqui enfocados, as redes de Petri serão aplicadas no contexto da metodologia.

A SÍNTESE se relaciona com o projeto do “hardware”, ou seja: os circuitos que irãoexecutar as descrições propostas. A síntese, portanto, consiste em transcrever a descriçãodos algoritmos feita na fase anterior, em um ou um conjunto de módulos de “hardware”capazes de executar as tarefas desejadas.

Durante as fases de definição e descrição, o projetista trabalha no universo lógicode seu projeto, tentando descrever as tarefas a serem executadas e os instantes exatos emque cada novo evento deve ocorrer ou ser interrompido (por exemplo através desimulações do sistema). A fase de síntese consiste num mapeamento deste universo lógicojá estabelecido, num universo físico que materialize os circuitos (ou conjunto dedispositivos) que realizam as tarefas projetadas. Sob este ponto de vista, fica clara aimportância dos mecanismos formais de descrição para o processo de projetar, ou seja:eles devem fundamentalmente, facilitar o trabalho do projetista em mapear o universológico de seu projeto no universo físico da implementação.

5.1 - A síntese de máquinas de estado (unidades de controle) descritas com redes de Petri.

Conhecida a metodologia de projeto, vamos voltar a atenção para as fases deDESCRIÇÃO e SÍNTESE.

A fase de descrição, entretanto, já foi analisada no capitulo 4 (item 4.1), onde omodelo de redes de Petri foi interpretado de forma a descrever máquinas de estado, cujodiagrama em blocos esta indicado na fig.5.1. e que será usado como base do processo desíntese. Nele podem ser identificados três elementos básicos:

Page 49: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 49

a) O bloco que gera o próximo estado interno (estado futuro), em função do estadoatual e do conjunto de entradas aplicado;

b) O bloco de memória que armazena o estado atual, e cujas mudanças de estadoestão sincronizadas por um sinal externo de relógio;

c) O bloco que gera as funções de saída da máquina seqüencial.

Fig. 5.1 - Modelo de máquina de estados (Mealy ou Moore)

As saídas, num instante de tempo considerado, podem ser função apenas do estadointerno atual (o que caracteriza o modelo de máquina de estados de “MOORE”), ou doestado 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 ométodo clássico de síntese de circuitos seqüenciais nele baseado.

Será apresentado um método de síntese que permite mapear diretamente umadescrição algorítmica feita com redes de Petri, num circuito seqüencial (uma máquina deestados) que realiza a descrição desejada.

Antes porém de passar a esta análise, é importante ressaltar que, como se trata dasíntese e posterior implementação de uma máquina de estados síncrona , somente devemser sintetizadas as redes de Petri que sejam SEGURAS, VIVAS, ISENTAS de situaçõesde conflito e REINICIALIZÁVEIS.

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 variáveis booleanasassociadas aos lugares da rede (saídas da unidade de controle descrita), e estas variáveissão produzidas (tornadas = 1) quando o lugar correspondente recebe uma marca. Portanto,estes lugares nunca poderão receber mais do que uma única marca em qualquer marcaçãopossível da rede, o que caracteriza uma rede SEGURA.

A rede deve ser VIVA (item 3.3.5c) porque isto irá assegurar que a máquina deestados a ser implementada não possuirá bloqueios, e também que todas as partes dosistema são acessíveis a partir do estado inicial definido (marcação inicial da rede).

Função de Saídas

Função do próximoestado interno

Módulo de memória

Entradas

Saídas

Relógio

Page 50: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 50

A rede não deve possuir situações de CONFLITO (item 4.1 - fig. 4.4a) porque, anível de implementação, isto irá se caracterizar como uma indeterminação do próximoestado interno da máquina de estado que será sintetizada.

Finalmente, a rede deve ser REINICIALIZÁVEL (item 3.3.5d) porque uma máquinade estados deve retornar ao seu estado inicial, após ter realizado o conjunto de ações queforam descritas para sua realização.

A interpretação do modelo para síntese será a mesma já definida no capítulo 4 (item4.1 - exemplo 2), ou seja: As entradas da máquina de estados desejada (unidade decontrole que foi descrita) são associadas às transições e as saídas aos lugares da rede.

Além disso, o estado interno da máquina de estados descrita será associado com amarcação da rede num certo instante. Esta associação será feita de forma que o circuitoimplementado terá tantos elementos de memória (por exemplo biestáveis tipo D) quantosforem os lugares existentes na rede que deve ser sintetizada, ou seja: Será feita umaassociação bi-unívoca entre cada lugar da rede e cada elemento de memória do circuitoimplementado. Este elemento de memória irá armazenar a informação de presença ouausência da marca dentro do lugar a ele associado.

Este método permite extrair as equações de estados internos e de saídas (necessáriasà implementação do circuito seqüencial) diretamente da rede que descreve a máquina deestados, ficando a critério do projetista escolher a tecnologia que ele julgar maisconveniente para a implementação, como por exemplo elementos biestáveis e portaslógicas numa implementação com lógica discreta; ou PALs (ou EPLDs) numaimplementação com lógica programável.

Os dois exemplos que se seguem analisam a fase de síntese, pelo método citado, comduas implementações distintas, respectivamente voltadas para o uso de lógica discreta ePALs (Arranjos Lógicos Programáveis).

Page 51: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 51

5.2 - Exemplos de aplicação

1o Problema (síntese voltada para implementação com lógica discreta) : A figura5.2 esquematiza uma máquina furadeira que deve ser automatizada para furação de peçassegundo dois ciclos de furação distintos: Um ciclo curto para peças de pequena altura, eum longo, com retirada intermediária da broca, para peças com maior altura.

O ciclo longo ocorre se o contato b é acionado antes do contato m, caso contrário amáquina efetua o ciclo curto. Existem três motores denominados S (Subida), D (Descida)e R (Rotação) que comandam respectivamente a subida e descida do mandril, e a rotaçãoda broca. Todo ciclo deve ser iniciado, a partir da posição inicial (h = 1, R = M = D = 0),quando o operador pressiona o botão d, e não deve ser permitido reiniciar um ciclo semque a peça que foi furada tenha sido substituída por uma nova peça (para isto existe ocontato p que permite detectar a troca da peça). Desejamos descrever utilizando redes dePetri, o algoritmo para efetuar o controle da furadeira, e a seguir implementar o controleutilizando biestáveis tipo D e portas lógicas quaisquer.

Fig. 5.2 - Esquema da furadeira com dois ciclos

S (subida)

h

R

D

b

m

f

Ppeça

ciclo curto

ciclo longo

d

h

f

h

m

f

altura dapeça

Page 52: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 52

Solução

Uma análise detalhada do problema (fase de definição do projeto), permite concluirque a unidade de controle deste automatismo possui 6 (seis) variáveis de entrada e trêsvariáveis de saída. A figura 5.3 indica um esquema do conjunto [controle + processo], edefine as variáveis envolvidas na solução.

Fig. 5.3 - Diagrama em blocos processo + controle

Variáveis envolvidas na solução

Entradas do controle:

d - botão de início do ciclo (d = 1 - operador inicia o ciclo)

h - contato superior de final de curso ( h = 1 - mandril sobre o contato)

m - contato intermediário 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 peça (b = 1 - peça espessa)

p - contato de presença de peça (p = 1 - peça presente)

Saídas do controle:

S = 1 subida da broca

D = 1 descida da broca

R = 1 rotação da broca

controle furadeira

S

DR

hpbmf

d

Page 53: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 53

A rede de Petri que descreve este sistema está indicada na figura 5.4, e foi obtidaanalisando o funcionamento desejado para o controle a partir de seu estado inicial. Esteestado corresponde a uma marca sobre a etapa e1 (marcação M1). onde temos as saídas S= D = R = 0. A peça estando posicionada (p = 1) e o operador pressionando o botão deinício do ciclo (d = 1), tem-se o disparo da transição t1 e a rede evolui para a novamarcação M2 correspondente a uma marca na etapa e2 e uma marca na etapa e3. Sãoligados os motores de rotação da broca (R = 1), e de descida do mandril (D = 1). A partirdesta marcação, é feito o teste de ciclo curto (mb = 1) ou ciclo longo (bm = 1), e osistema evolui para as marcações seguintes executando as tarefas exigidas em cada caso.Cabe ressaltar que a etapa e7 foi adicionada para permitir que o contato p possa sertestado, identificando para o controle que a peça anterior foi retirada e substituída poruma nova peça.

É importante ressaltar, que a rede obtida com a marcação inicial apresentada, éviva, segura, isenta de situações de conflito e reinicializável, portanto pode estardescrevendo corretamente a unidade de controle (máquina de estados) que se desejaimplementar.

Fig. 5.4 - Algoritmo do controle da furadeira

A implementação do sistema será feita através de uma máquina de estados síncrona(modelo de Moore) associando uma variável interna de estado (denominadagenericamente Yi) a cada lugar da rede.

Como esta rede possui 7 lugares (denominados e1 até e7), serão necessárias 7variáveis internas de estado para realizar a designação dos estados. As variáveis Y1 a Y7estão associadas respectivamente aos lugares e1 até e7 da rede (codificação canônica, oudo inglês “one shot”, dos estados internos), ou seja: Quando por exemplo, a variável Y5assumir valor lógico UM , significa que o lugar e5 da rede possui uma marca e vice-versa,

e1 /S, /D,

t1 d*p

e3D, /S

t2 b*t7

m*/b

S, /De4

t3 h

e5 D,

t4 f

e6 /D, S

t5

e7

h

/S, /D, /R

t6 /P

e2R

Page 54: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 54

o nível lógico ZERO indica a ausência de marca em e5 . Este raciocínio se estende a todasas demais variáveis de estado consideradas.

A notação Yi(+) indica o valor futuro da variável, uma vez que desejamos sintetizar(para posterior implementação) o ‘valor futuro das variáveis internas de estado’(próximoestado) em função dos seus valores presentes (estado atual) e das entradas aplicadas aosistema nesse instante presente (ver Cap.1 item C - modelo seqüencial síncrono).

O processo de síntese consiste em descrever as equações de estado e de saídasdiretamente a partir de uma análise da rede, feita da seguinte forma:

Para as equações de estado, considerar cada lugar (ei) da rede, verificando quandoele irá ser marcado, em função das possíveis marcações anteriores que levam a marca aolugar considerado, ou que mantêm a marca no lugar considerado.

Ao lugar e1, por exemplo, foi associada à variável interna de estado Y1 . Istosignifica que esta variável (Y1) deve estar ativa sempre que o lugar e1 receber uma marca.O lugar e1 irá receber uma marca quando existir uma marca no lugar e7 (indicado por Y7ativo) e ocorrer o disparo da transição t6 (ocorre o evento /p). Isto da origem ao termo[ Y7*/p] da equação de estado correspondente. O outro termo da mesma equação foiobtido considerando a situação em que o lugar e1 já estava marcado (portanto Y1 estaativo) e deve “permanecer” nesta situação, uma vez que não ocorreu o disparo datransição t1, porque o evento associado a ela (termo /(d*p) ) não ocorreu. Com isto tem-se a equação do valor futuro de Y1

Y1(+) =Y7*/p + Y1*/(d * p)

Através de raciocínio análogo podem ser escritas todas as demais equações deestado:

Y1(+) = Y7*/p + Y1*/(d * p)

Y2(+) = Y1*d*p + Y2*/h + Y2*h*/Y6

Y3(+) = Y1*d*p + Y3*[/(b*m) * /(m*/b) Equações de estado

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 equações de saída são escritas a partir das equações de estado, considerando aforma como as redes de Petri foram interpretadas, ou seja: Uma determinada saída deveocorrer sempre que existir uma marca dentro da etapa associada àquela saída. A saída D,por exemplo, ocorre quando houver marca na etapa 3 ou marca na etapa 5 . Isto iráocorrer toda vez que Y3 ou Y5 assumirem nível lógico UM, uma vez que são as variáveis

Page 55: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 55

de estado que identificam a presença de marca em e3 ou e5. Assim sendo, a equação davariável D pode ser escrita como:

D(t) = Y3(t) + Y5(t).

OBS: Lembrar que, nos modelos de Moore ou Mealy (cap.1), as saídas sãoproduzidas em função do valor atual do estado e não do valor futuro, ou seja: Y3 e Y5são os valores do estado no mesmo instante (t) das saídas.

Através de raciocínio análogo podem ser escritas todas as demais equações de saída.Nessas equações, a variável tempo (t) esta subentendida (foi omitida apenas parasimplificar).

D = Y3 + Y5

S = Y4 + Y6 Equações de Saída

R = Y2

As equações obtidas podem ser facilmente implementadas com auxílio de biestáveistipo D (síncronos) e portas lógicas quaisquer. A implementação está indicada na figura5.5, e corresponde ao circuito seqüencial que realiza o controle desejado para a furadeira.

Page 56: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 56

Fig.5.5 - Circuito lógico do controle da furadeira

Page 57: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 57

2o.Problema (uso de temporizadores):

Deseja-se automatizar o funcionamento de uma bomba de água destinada a assegurar aalimentação de um reservatório. O nível de água neste reservatório é detectado por uma bóia ligadaa um contrapeso, o qual pode acionar dois contatos elétricos a e b (conforme indicado na figura5.6).• O contato a indica o nível máximo do reservatório.• O contato b indica o nível mínimo do reservatório.

O funcionamento do sistema deverá ser o seguinte:

1) Quando o registro R é aberto, o nível de água diminui até que o contato b é acionado pelocontrapeso (nível mínimo). Quando isto ocorrer, a bomba P é ligada para encher novamente oreservatório (supor que a vazão de água da bomba para dentro do reservatório é maior que a doregistro R). Quando o reservatório estiver novamente cheio, o contrapeso atinge o contato a e abomba é desligada.

2) O dispositivo também deve possuir uma chave manual/automático (ver figura) associada a umbotão W (liga manual), que permite ao operador acionar a bomba em operação manual. Neste caso,ele coloca a chave em posição manual e a bomba deverá ser ligada sempre que ele mantiver obotão W pressionado, exceto se o reservatório já estiver com água no nível máximo.

3) Para permitir a limpeza periódica do reservatório, será necessário esvaziá-lo completamente. Paraisto foi prevista uma chave (normal/limpeza) que, quando acionada, desliga imediatamente abomba se ela estiver ligada e/ou impede que ela seja ligada novamente enquanto a chave não forretornada à sua posição normal.

4) Em nenhuma situação 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 acionarum alarme avisando o operador do sistema.

PEDE-SE:

1. Analisar o problema e definir as variáveis envolvidas na sua solução;

2. Fazer um diagrama em blocos do sistema “controle + processo” indicando as variáveis deentrada e saída definidas no item a, necessárias para a solução do problema.

3. Descrever o algoritmo de controle com redes de Petri.

4. Sintetizar as equações do controle a partir da descrição feita no item 3.

Page 58: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 58

Fig. 5.6: Esquema do reservatório

SOLUÇÃO

A) Variáveis definidas para solução do problema.

1. Entradas de controle.

a = nível máximo do reservatório foi atingido quando esta variável for acionada (a = 1).

b = nível mínimo do reservatório foi atingido quando esta variável for acionada (b = 1).

W = botão de pressão que permite ligar o motor da bomba P em comando MANUAL (W = 1=>motor ligado)

MANUAL = variável que, quando acionada (MANUAL = 0) indica para o controle o modo deoperação automático do sistema.

TIME OUT = variável que indica para o controle o final da temporização de 1 hora (temporizadorde 1 hora está indicado na figura).

LIMP = Quando acionada (LIMP = 1) indica a situação de limpeza do reservatório.

b

a

nívelmínimo

nívelmáximo

BOMBA(P)

LIGA

MANUAL/AUTOM.

NORMAL/LIMPESA

Page 59: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 59

2. Saídas do controle

P = variável utilizada para acionar ou não o motor da bomba (P = 1 => bomba ligada).

ALARME = Aciona o alarme quando a bomba fica ligada por mais de uma hora.

TEMP = Variável utilizada para disparar o temporizador de 1 hora. Quando acionada (TEMP = 1),o temporizador dispara a contagem do tempo.

RESET = Variável utilizada para inicializar o temporizador (zera o temporizador quando RESET= 1).

B) Diagrama de blocos do controle + processo

Fig. 5.7 – Diagrama de Blocos controle + processo

CONTROLEDO

RESERVATÓRIO

SISTEMARESERVATÓRIO

+BOMBA

TEMPOR.DE

1 HORA

X

Vcc

R

a

b

P

ALARME

Vcc

R

MANUAL

Vcc

R

LIMP

Time-out

Temp

Resset

Page 60: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 60

C) Descrição do algoritmo do controle

O estado inicial fixado para descrição do algoritmo será a bomba desligada e o reservatório cheio.

Fig. 5.8 - Algoritmo de controle da bomba de água

e1

/Manual Manual

P= 0

e2 P= 0 e3 P= 0

/Limp LimpLimp /Limp

e5e4 e6Reset= 1P= 0

Reset= 1P= 0

P= 0

Limp Limp

W*/a b

e7 e8P= 1Temp= 1

Temp= 1P= 1

a Time_out

Time_out

/W+a

e9 e10/LimpP= 1Alarme=1

a /W+ a

P= 1Alarme= 1

Page 61: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 61

D) Síntese das equações

Será feita a partir de uma designação de estados que associa uma variável interna de estadoa cada etapa da rede (da mesma forma que no exemplo anterior).

Como esta rede possui 10 etapas (indicadas de e1 a e10) serão necessárias 10 variáveisinternas de estado. Estas variáveis foram denominadas de X1 a X10 e estão associadas às etapas e1a e10 da rede respectivamente, ou seja: A variável Xi, quando em nível lógico UM, indicará apresença de marca na etapa ei correspondente. Da mesma forma que no exemplo anterior, anotação Xi(+) indica o valor futuro da variável.

As equações de estado são 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, porexemplo, receberá uma marca quando houver marca em e3 e ocorrer [/Limp], ou deverá manter suamarca quando esta já se encontrava em e6 e não ocorre [W * /a]. Este raciocínio permite escrevertodas as equações de estado, conforme indicado abaixo.

Variáveis 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

Page 62: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 62

Variáveis de Saída

As variáveis de saída são sintetizadas a partir das variáveis de estado, considerando a forma como omodelo das redes foi interpretado, ou seja: Uma variável de saída ocorre sempre que a etapa a ela associadarecebe uma marca, e esta saída se mantém ativada enquanto a marca estiver presente dentro da etapa. Avariável P (acionamento da bomba), por exemplo, deve ser ativada sempre que houver marca nas etapas e7ou e8 ou e9 ou e10, e disto decorre sua equação. A notação Xi(t) foi usada apenas para chamar a atençãopara o fato de que as saídas ocorrem simultaneamente com o valor presente das variáveis internas deestado.

P(t) = X7(t) + X8(t) + X9(t) + X10(t) (Acionamento da bomba)

ALARME(t) = X9(t) + X10(t) (Alarme de uma hora c/ bomba ligada)

RESET(t) = X4(t) + X6(t) (Inicializar o temporizador)

TEMP(t) = X7(t) + X8(t) (Disparar temporização de uma hora)

A implementação desse circuito de controle também poderia ser feita com elementos biestáveis eportas lógicas, de modo análogo ao que foi visto no exercício anterior.

Page 63: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 63

5.3 - Exercícios Propostos

1) Escreva as equações de estado e as equações de saída para a Rede de Petri abaixo:

E1E2

E3

E4 E5

T1 T2

T3 T4

S1,S2

S1 S2

S1,S2 S2

Page 64: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 64

2) Escreva as equações de estado para a Rede de Petri abaixo:

E1

E6

E5E4

E3E2

E7

T1 T2

T3 T4

T5 T6

Page 65: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 65

3) Escreva as equações de estado e de saída para a Rede de Petri abaixo:

E1

E5E4

E3E2

T1 T2 T3

T4 T5

S1, S2 S2, S3

S1 S2 S3 S2

Page 66: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 66

4) Escreva as equações de estado da Rede de Petri abaixo:

E1 E2

E3 E4

E5 E6 E7

T1

T2 T3

T4 T5

Page 67: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 67

5) Escreva as equações de estado da Rede de Petri abaixo:

e1

t1

e2 e3 e4 e5

t2 t3

e6 e7

t4 t5

e8 e9

t6

Page 68: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 68

1o. Problema: Pretende-se desenvolver um sistema telecomandado. Para isso, dispõe-se de um carrinhoque é posicionado sobre a linha X, numa das duas faixas pretas indicadas na figura abaixo. Para comandaro carrinho, você dispõe 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. Não épossível comandar D= 1 e E=1 simultaneamente - se isso acontecer você tira ZERO na questão. Nocarrinho 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ê dispõe de um temporizador que tem três sinais de interação: "T=1" (entrada dotemporizador) dispara a temporização; "F=1" (saída do temporizador) indica fim de temporização e "C=1"(entrada do temporizador) para interromper a temporização. Os sinais "T" e "C" devem ser do tipo "pulso".O temporizador tem um ciclo de operação que eqüivale ao carrinho andar 3 vezes a distância "d" da figura.O botão "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 faixaspretas, 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

D motor 1 d

d d T Tempo-E motor 2 C rizador

F

botão I

b) Escrever apenas as equações das variáveis de controle dos sinais.c) Descreva o seu projeto na estrutura Fluxo de Dados + Unidade de Controle, identificando todos ossinais utilizados

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *como variante para este exercício, pode-se estabelecer como objetivo que o carrinho deve sair da faixa queele está parado e atingir a outra faixa.

Page 69: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 69

2o. Problema : Um carrinho tem dois pares de motores independentes: o par de motores controlado pelossinais F/T: quando “F” = 1 há o movimento do carrinho para a direita na figura e quando “T” = 1 há omovimento 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 movepara a parte inferior da figura. Cada pulso de uma dessas variáveis faz o carrinho se deslocar de umadistância “L” no sentido respectivo. Obviamente, não é possível acionar, simultaneamente, os sinais deacionamento de um mesmo par de motores, mas é possível acionar dois sinais independentes,simultaneamente, ou seja “F” e ”T” não podem ser acionados simultaneamente e “S” e ”D” não podem seracionados simultaneamente.Este carrinho tem apenas um sensor “p” que quando “p” = 1 indica que o carrinho está parado. Um sistemaautomático faz os motores “patinarem” quando o carrinho atingir um anteparo. Considerar que o carrinhopossui dimensões desprezíveis e é colocado numa sala quadrada de lado “4L”, conforme apresentado nafigura, sendo esta sala totalmente cercada.Pede-se:a) Desenvolver a Rede de Petri mais simples possível de modo a permitir que o carrinho vá para o centroda sala, quando um botão “I” for acionado, independente da posição na qual o carrinho tenha sido colocadooriginalmente na sala.

sala cercada botão I

4L carrinho F S(posição original qualquer) T D (sinais para movimento do carrinho) 4L

b) A partir do enunciado fornecido, qual a limitação evidente para esse sistema?dica: troque as dimensões da sala; você precisa alterar a rede de Petri. Sempre é possível? Justifique suaresposta.

* * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Como variante desse exercício pode-se alterar as dimensões da sala. Deve ser observado que sempre asdimensões da sala devem ser múltiplas de 2L, pois o carrinho só pode andar uma distância L

Page 70: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 70

3o. Problema : Uma empresa está instalada num prédio de 3 andares e utiliza um elevador simples paratrocar correspondência entre os andares. A operação do elevador é como segue:

a) no andar térreo existem 2 botões T1 e T2; quando T1 é pressionado, o elevador se desloca doandar térreo até o primeiro andar e quando T2 é pressionado ele se desloca do térreo para o segundo andar.

b) no primeiro andar existem 2 botões P0 e P2; quando P0 é pressionado, o elevador se desloca doprimeiro andar até o andar térreo e quando P2 é pressionado ele se desloca do primeiro para o segundoandar.

c) no segundo andar existem 2 botões S0 e S1; quando S0 é pressionado, o elevador se desloca dosegundo andar para o térreo e quando S1 é pressionado ele se desloca do segundo para o primeiro andar.Considere que não é possível “chamar” o elevador num andar.

Um sensor A indica que alguma porta está aberta, em alguns dos andares, o que impede o movimento doelevador, até o fechamento da porta. Da mesma forma, um circuito impede a abertura das portas caso oelevador esteja se movendo. Este último circuito não faz parte da presente questão.Dois motores C e B deslocam o elevador para cima e para baixo, respectivamente. Sensores instalados emcada andar, respectivamente E0, E1 e E2 indicam quando o elevador chegou nesse andar. O sistema éiniciado com o elevador no andar térreo.

Pede-se:

i) Escrever a rede de Petri para controle deste elevadorii) Escreva as equações de estado e de controle para o sistema acima

T1 P0 S0

T2 P2 S1 A

E0 E1 E2

(andar térreo) (primeiro andar) (segundo andar)

Page 71: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 71

4o. Problema : Deseja-se projetar um sistema de controle de semáforo visando a liberação e temporizaçãoda passagem de pedestres em um grande cruzamento. O sistema apresenta 3 sinais de controle, sendo eleso sinal de um botão de acionamento, um oscilador, e o sinal de comando na saída responsável pelaliberação da passagem de pedestres.O botão (B) na base do semáforo deve ser acionado para solicitar o fechamento da passagem deautomóveis e liberação da passagem de pedestres. Enquanto o botão estiver acionado teremos B=1, mas asolicitação só será atendida a partir do instante da liberação do botão ( ou seja, da borda de descida do sinalcorrespondente).O oscilador gera um sinal (OSC) de temporização fixa, definindo os tempos Ton e Toff, sendo Toncorrespondente ao tempo disponível para a passagem de pedestres.Visando garantir sempre o mesmo tempo (Ton) para a passagem de pedestres, o sinal de comando de saídasó será ativado (L=1), liberando o fluxo de pedestres, a partir da próxima borda de subida do oscilador (correspondendo ao inicio de um tempo Ton) depois que o botão B foi acionado. Com o término do tempoTon o semáforo fecha a passagem de pedestres e libera o fluxo de automóveis.Para esse sistema pede-se:a) A modelagem do comando por Redes de Petrib) As equações e a implementação da Rede utilizando flip-flops

Sinal deTemporização

(OSC) Ton

Botão

Sinal deComando

Toff

Page 72: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 72

5o. Problema : Um telefone operando no modo “pulse” gera de 1 a 10 pulsos elétricos na linha telefônica,conforme sejam apertadas as teclas “1”, “2”, .....”8”, “9” ou “0”, respectivamente.Você deve projetar uma rede de Petri que implementa essa função.Considerar que o circuito que você irá projetar recebe 4 bits ABCD (A é o bit mais significativo .... D é obit menos significativo) que indica o código binário da tecla acionada, ou seja, em valores binários: 0001,0010,.......1010; este circuito recebe também 1 sinal “S” para iniciar a geração dos pulsos.Além do sinal “L” que é o próprio trem de pulsos para a linha telefônica, o circuito que você irá projetardeve gerar um pulso “X” que indica que a quantidade de pulsos para o particular código ABCD fornecidojá foi gerado e novo código pode ser fornecido.Considerar que o clock do circuito é compatível com a temporização exigida pela companhia telefônica.

A B C D XCIRCUITO A SER PROJETADO

S

Page 73: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 73

6o. Problema :Uma fábrica produz parafusos. Um equipamento avalia o tamanho do parafuso e forneceum valor binário, em “n” bits, que indica o tamanho do parafuso. Você deve projetar um sistema para ocontrole de qualidade da fábrica que conta quantos parafusos produzidos estão dentro dos limites aceitáveisde produção e quantos parafusos estão fora dos limites: acima do máximo estabelecido ou abaixo doestabelecido.Você deve gerar o fluxo de dados contendo APENAS os registradores de contagem de parafusos ecircuitos comparadores, conforme especificado a seguir e dois contadores: um para o número de parafusos“bons” e outro para o número de parafusos “ruins”.A sincronização do seu circuito com o circuito que avalia o tamanho do parafuso produzido se processaatravés de dois sinais: “A” que dispara a contagem de peça “boa”/”ruim” eum pulso “T” que indica término da avaliação atual, quando nova ordem pode ser solicitada peloequipamento japonês.

Entrada A circuito comparador n bits

Saída Z (Z = se valor de A > valor de B) Entrada B n bits registradores/contadores

Fluxo de Dados

Page 74: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 74

7o. Problema : Uma máquina fornece latas de refrigerantes de uma única qualidade e seu funcionamento écomo segue: o refrigerante custa R$0,75 e a máquina aceita moedas apenas nos valores de R$1,00 (sensorR1), R$0,50 (sensor R5) ou R$0,25 (sensor R25) (outras moedas não são aceitas e é obrigatória aintrodução das moedas sempre do maior para o menor valor).

Inicialmente ficam acessas três lâmpadas, indicando que o cliente pode introduzir qualquer uma dasmoedas acima. Caso o cliente introduza uma moeda de R$1,00, a máquina fornece o troco de R$0,25 e emseguida, 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 asegunda moeda introduzida for de R$0,50, a máquina 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 segundamoeda introduzida seja de R$0,25, a máquina apenas fornece a lata de refrigerante. Finalmente, caso aprimeira moeda introduzida for de R$0,25, a máquina aguarda a introdução de mais duas moedas deR$0,25 para fornecer a lata, já que não é possível a introdução de moedas de maior valor. Para este caso, alâmpada 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 máquina descrita acima.

Considerar que sempre existem moedas para o troco e latas de refrigerante e que os mecanismos defornecimento do troco e o mecanismo de fornecimento da lata de refrigerante são acionados mediantepulsos elétricos, um para cada mecanismo: TR para o troco e LT para a lata.

L1 L5 L25

INSERIR R$1,00 R$0,50 R$0,25 lâmpadas

(troco moedas R$0,25) (latas)

TR LT

sensores R1 R5 R25

Page 75: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 75

8o. Problema : O nível de água de um reservatório é permanentemente supervisionado por dois detetoresN1 e N2 (ver figura). A alimentação de água neste reservatório é feita por duas bombas B1 e B2 daseguinte forma:

a) Se o nível N1 está descoberto, queremos que uma vez seja ligada a bomba B1 e outra vez a bomba B2,intercalando a operação das bombas, de modo que nenhuma delas permaneça muito tempo desligada;

b) Se o nível N2 está descoberto, ligam-se as duas bombas até que o nível N1 seja atingido, ou seja: oreservatório volte a estar cheio;

c) Nenhuma das duas bombas pode ficar ligada continuamente por mais de 30 minutos. Sempre que istoacontecer, o controle deverá acionar um alarme avisando o operador do sistema.

Convencionar que:• .A vazão de água de entrada no reservatório, com as duas bombas ligadas, é maior que a vazão de

saída.

• Os detetores N1 e N2 fornecem nível lógico UM em suas saídas sempre que estão cobertos pela água.Pede-se :

1)Indicar e definir todas as variáveis de entrada e saída envolvidas na solução 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 equações de estado e de saídas da rede obtida no item 2), e desenhar o circuito deimplementação do controle das bombas.

N1

N1

Reservatório

B1 B2

Bombas

Registro desaída de água

Page 76: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 76

9o. Problema: Um pequeno teclado com 4 teclas (RESET, T1, T2, T3) deve ser associado com ummecanismo de trava para abrir, com segredo, a porta de uma residência. Uma única combinação corretadeverá ser escolhida numa seqüência de 4 acionamentos das teclas da seguinte forma:

Primeiro é acionada a tecla RESET seguida de mais três 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 seqüência correta, será produzido um sinal para destravara porta. Sempre que forem detectados dois erros na seqüência estabelecida será produzido um sinal paraacionar um alarme, supondo que uma pessoa não autorizada esta tentando entrar na residência.

Assuma, para simplificar a solução do problema, que somente uma tecla é pressionada por vez eque existe, na parte interna da residência, um botão (ARMAR) que, quando pressionado, permite colocar osistema no estado inicial, armando a operação do alarme.

TECLADO

RESET T1

T2 T3

ARMAR

SIRENEMECANISMO

DA TRAVA

Pede-se :

1)Identificar e definir todas as variáveis de entrada e saída envolvidas na solução 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 equações de estado e de saídas da rede obtida no item 3), e desenhar o circuito completopara controlar o mecanismo de alarme.

Page 77: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 77

10o. Problema: Uma ponte rolante é constituída de uma pinça que permite deslocar um objeto de umponto A para um ponto B. Este sistema pode realizar três tipos de movimento: (ver figura )

1. Movimento de abertura e fechamento da pinça, cujo controle de posição é efetuado por dois contatos defim de curso. 2. Movimento de subida ou descida da pinça, comandado por um motor com dois sentidos de rotação eduas velocidades. 3. Movimento de translação da pinça nos dois sentidos indicados na figura, comandados por um motorcom duplo sentido de rotação e também com dupla velocidade.

O movimento de translação (para frente ou para trás) da pinça deve ser feito com baixa velocidade,assim que a mesma penetra numa zona de 2 metros, antes de cada ponto de parada à direita ou à esquerdado seu curso. Isto é indicado por contatos de posição.

Durante a subida, assim que a pinça atinge uma altura suficiente, (contato AIT) o movimento detranslação para frente pode começar. No ponto direito de troca de velocidade (contato TVT), se o nívelmais alto (contato PPA) ainda não foi atingido, o movimento de translação é interrompido, e somente éretornado quando a pinça chegar a uma altura desejada (contato PPA).

Descrição do Funcionamento

As condições iniciais são as seguintes:

• O sistema se encontra à direita sobre os contatos de fim de curso FAP e PB1.

• A pinça está aberta em posição de ser carregada.

• O objeto está presente (contato IOP)

Existe um botão de pressão M, que permite iniciar um ciclo automático de movimentação dosistema que consiste em:

• Fechamento da pinça;

• Subida com velocidade alta e translação para a frente com velocidade baixa;

• Translação para frente com velocidade baixa;

• Descida da pinça com velocidade alta;

• Descida da pinça com velocidade baixa e parada no ponto B;

• Abertura da pinça;

• Subida da pinça com velocidade alta;

• Translação para traz com velocidade alta;

• Translação para traz com velocidade baixa e descida da pinça com velocidade alta;

• Parada da pinça sobre o ponto A (retorno ao estado inicial)

Page 78: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 78

São as seguintes, as funções dos contatos de final de curso existentes no sistema: (ver figura)

• FCD = final de curso para direita

• FCE = final de curso para esquerda

• TVD = posição de troca de velocidade para direita

• TVE = posição de troca de velocidade para esquerda

• PPA = pinça na posição mais alta do seu curso

• PB1 = pinça na posição baixa no ponto A

• AIT = altura mínima para início da translação

• PB2 = pinça na posição intermediária do ponto B

• PB3 = pinça na posição baixa do ponto B

• FAP = final do curso de abertura da pinça

• FFP = final do curso de fechamento da pinça

• IOP = indicador de objeto presente

• M = botão de início do ciclo automático

PEDE-SE:

1. Estudar e definir o problema e as variáveis de entrada e saída envolvidas na sua solução;

2. Fazer um diagrama de blocos do "controle + processo" indicando as variáveis envolvidas (definidas)no item 1;

3. Descrever o algoritmo do controle utilizando REDES DE PETRI;

4. Sintetizar as equações de estado e de saída da rede de Petri obtida no item 3.

Page 79: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 79

Troca de velocidade

FCE TVE TVD FCD

p/ esquerda

p/ direita

PB2

PB3

PPA

AIT

PB1 FAP FFP

IOP

Ponto A

Objeto a sertransportado

M

Ponto B

Page 80: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 80

11o. Problema: Deseja-se construir uma unidade de controle para automatizar um sistema capaz derealizar a mistura de dois produtos químicos. Para tanto, as seguintes operações devem ser realizadas(acompanhar a descrição pela figura):

1) Se o nível mínimo de solução existente no misturador for atingido (Nmin) e houver autorização (AUT)para iniciar o processo, as válvulas 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 número 1 (o queserá indicado pelo sensor de peso P1) a válvula V2 deverá ser fechada;

3) Quando uma quantidade (Q2) do produto B foi colocada sobre o prato do transportador número 2 (o queserá indicado pelo sensor de peso P2) a válvula V4 deverá ser fechada;

4) Assim que o nível máximo do misturador é atingido (Nmax) a bomba B deverá ser desligada e a válvulaV1 fechada;

5) Realizadas as operações precedentes, deve ser ligado o motor M do misturador, e os motores C1 e C2das correias transportadoras que deslocam o produto para o interior do misturador, ao mesmo tempo emque devem ser abertas as válvulas V3 e V5;

6) Decorrido um tempo T1 = 5 min. as correias C1 e C2 são desligadas e as válvulas V3 e V5 sãofechadas;

7) Feito isto e decorrido um tempo T2 = 10 min. deve ser desligado o motor do misturador;

8) Um contato de segurança (Nlim) foi acrescido ao misturador de forma a garantir que, durante oprocesso, não haverá transbordamento do produto químico. Se isto ocorrer (Nlim=1), o controle deveráprovocar uma parada de emergência descrita no item 9 a seguir;

9) Parada de emergência (PE): Existirá por questões de segurança, e poderá ser acionada tanto pelocontrole como pelo operador, se este último julgar necessário. Se for acionada durante qualquer dasfases de preenchimento do misturador ou dos pratos dos transportadores, deve simplesmente inibir aação em curso, a qual será retomada quando ocorrer a ordem de continuidade (CONT), desde que o sinalde parada de emergência PE tenha sido desligado. Quando a parada de emergência ocorrer após a fasede mistura do produto (após o item 4), ela deverá provocar uma parada completa do sistemaconsiderando que o produto obtido se tornou impróprio para o uso. Isto significa que para que o sistemapossa voltar a funcionar haverá necessidade de reinicializá-lo conforme descrito no item 10 a seguir.

10) A reinicialização do sistema após a parada de emergência que torna o produto impróprio para uso seráfeita somente quando o operador fornecer a ordem de continuidade (CONT). As ações tomadas pelocontrole serão:

• Esvaziar o misturador pela válvula EV até obter o nível Nmin.• Abrir simultaneamente as válvulas V3 e V5, e ligar os motores C1 e C2 colocando as correias

transportadoras em movimento contrário (sentido oposto ao do misturador), de forma a descartar partedos produtos A e B que por ventura possam ainda estar sobre os pratos dos basculantes e sobre ascorreias.

• Colocar novamente o sistema de controle em seu estado inicial preparando-o para um novo ciclo.

Page 81: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 81

O projeto consiste das seguintes tarefas:

• Estudar e entender o problema, estabelecendo os requisitos de projeto;

• Dividir o controle em partições (se você julgar necessário, definindo cada uma delas e indicando asvariáveis de entrada e saída envolvidas na solução do problema;

• Descrever o algoritmo (ou conjunto de algoritmos) do controle usando redes de Petri.

• Sintetizar as equações do controle a partir da descrição obtida no item 3 voltada para implementaçãocom arranjos lógicos programáveis.

• Escolher os circuitos eletrônicos e demais dispositivos que serão usados na implementação do controle;

• Desenhar o circuito do controle.

Page 82: Sistemas Digitais III - .:: Professor Caldas ::.luiscaldas.com.br/unifei/ne772/exercicios/resolvidos_extras/lista9.pdf · REDES DE PETRI 4 1- REVISÃO DOS MODELOS DE ESTRUTURAS DIGITAIS

REDES DE PETRI 82

MOTORM

Produto Ap/dissolução

Produto Bp/dissolução

AUT

CONT

PE

V2 V4

Prato doTransp. *1

Prato doTransp. *2V3Sensor

de PesoP1

Motor C1

PesoP2

V5

Correias Transp.V1

Nlim.

N Máx

N Min.

Motor

Saída da misturap/ utilização

MISTURADOREV

Reservatóriode

Solvente

Bomba B