Prévia do material em texto
Redes de Petri Aula: Automação Industrial Resumo da Aula 14/09/2019 Legenda: “A”, “E”: Posição – Acumula tokens (Pode caber infinitos tokens, ou quantidade limitada, pré-definida); “C”: Transição – “Transforma” tokens (gera, passa ou consome); “B”, “D”: Arco Orientado, com pesos (condição que define a passagem dos tokens); “F” : Tokens ou Marcas; Pré-set: O que vem antes da posição ou transição. Requisitos para este ser alterado/ativado; Pós-set: O que vem depois da posição ou transição. O que acontece após a ativação. Como funciona: “A” e “E” (as posições) acumulam os tokens “F”. “C” (a transição) faz a “transformação”, jogando os tokens da posição “A” para “E”, a depender dos pesos dos arcos “B” e “D”. Essa “transformação” se dá (como em funções de transferência em controle, ou tensão em transformadores) dividindo o peso da saída pela entrada (C = D/B). Ou seja, para os tokens da posição “A” passar para a posição “E”, tem que ter “B” tokens (definido pelo número acima do arco “B”, que por padrão é “1” quando não houver número) na posição “A”, e “C” “transformará” esses “B” tokens em “D” tokens (valor acima do arco “D”) e os jogará para a posição “E”. Se houver diversas posições antes da transição (pré-set): Todas têm que ter, pelo menos, a quantidade de tokens indicada no arco subsequente (que aponta da posição para a transição), para a transição passar os tokens. Se tiver pelo menos uma posição com menos que a quantidade de tokens indicada pelo arco, a transição “ativa”, mas não faz nada (ou, basicamente, não é ativada/não pode ser ativada). Podendo a próxima (ou outra) transição vir a entrar em funcionamento. Se houver diversas posições após a transição (pós-set): Se todas as condições de ativação da transição forem atendidas, ela passará a quantidade de tokens indicada por cada arco (que aponta da transição para as posições após a transição) para suas respectivas posições. Digo que a transição “transforma” os tokens porque a quantidade de tokens que passa para as próximas posições independe da quantidade de tokens das anteriores. A dependência existe apenas apara a ativação da transição. As transições são ativadas sempre uma de cada vez. Ou em uma ordem pré- definida pelo usuário, ou randomicamente. Não é algo exatamente “fixo”. Deverá se observar quais transições podem ser ativadas, e então decidir quais serão ativadas (manualmente, programando ou randomizando). Exemplo: P1 começa com 1 token. Ativando t1, ele removerá esse token de p1 e jogará 1 token para p2 e 1 para p3. Ativando t2, ele removerá 1 token de t2 e jogará para p4. Ativando t3, ele fará o mesmo com p3 para p5. Ativando t4, ele pegará 1 token de p4 e 1 token de p5 e jogará 1 token para p1, reiniciando o sistema. Obs.: Todos os arcos aqui tem peso unitário. t4 não pode ser ativado se não houver pelo menos 1 token tanto em p4 quanto em p5. Tabela para facilitar acompanhar as mudanças da rede: Transição Ativada P1 P2 P3 P4 P5 Estado Inicial 1 0 0 0 0 t1 0 1 1 0 0 t2 0 0 1 1 0 t3 0 0 0 1 1 t4 1 0 0 0 0 *É recomendável fazer uso desta tabela durante a prova. Exemplo da Aula: Estado Inicial: T1 ativado: T2 ativado: T3 ativado: T4 ativado: Resumo das ativações: Transição Ativada P1 P2 P3 P4 P5 Estado Inicial 1 0 0 2 1 t1 0 1 1 4 1 t2 0 1 0 4 1 t3 0 1 0 2 2 t4 0 1 1 3 1 Tipos de transições: Transições fonte: Não tem pré-set (gera tokens); Transições-sumidouro: Não tem pós-set (consome tokens). Self-loops: Malhas fechadas. Conflitos ou confusões: Quando uma transição, ao ativar, inabilita a ativação de outra transição (por necessitar de tokens da mesma posição). Pode ser causal/proposital ou não. Atividade da aula: Sistema de atendimento de um restaurante Site para download do programa para simulação de redes de Petri: http://pipe2.sourceforge.net/