Antes de falar da próxima técnica para programar sequências automáticas, vamos falar de uma ferramenta para ajudar a modelar a sua sequência de automático, que vai facilitar a criar a sua sequência de automático tanto com as técnicas apresentadas anteriormente como nas que vou mostrar a seguir, também vamos fazer um paralelo com outras ferramentas.
Vamos falar de redes Petri, são uma poderosa ferramenta matemática e gráfica utilizada para modelar e analisar sistemas dinâmicos e concorrentes. Inventadas por Carl Adam Petri na década de 1960, essas redes consistem em grafos direcionados bipartidos, compostos por lugares (representados por círculos) e transições (representadas por retângulos). As conexões entre lugares e transições são indicadas por setas, mostrando as relações de pré-condição e pós-condição. Essa estrutura facilita a representação visual de sistemas complexos, permitindo a análise de propriedades como alcançabilidade, vivacidade e segurança. As redes de Petri encontram aplicações em uma variedade de campos, incluindo engenharia de software, sistemas distribuídos, modelagem de processos industriais e biologia de sistemas.
Exemplos de rede Petri:
Lugares: São representados por círculos e denotam estados ou condições do sistema. Eles podem conter uma ou mais marcas que indicam a quantidade de recursos disponíveis ou a presença de uma entidade específica. Lugares representam locais onde ocorrem atividades ou onde os recursos são armazenados.
Transições: As são representadas por retângulos e denotam eventos ou ações que podem ocorrer no sistema. Uma transição pode ser disparada quando todas as suas pré-condições, representadas pelos lugares de entrada, têm marcas suficientes para satisfazer seus requisitos. Quando uma transição é disparada, ela consome as marcas dos lugares de entrada e produz marcas nos lugares de saída, se houver.
Arcos: São as setas que conectam lugares e transições, indicando relações de pré-condição e pós-condição. Existem dois tipos de arcos: arcos de lugar para transição (que saem de lugares e apontam para transições) e arcos de transição para lugar (que saem de transições e apontam para lugares). Os arcos determinam como as marcas fluem entre os elementos da rede.
Marcas: São representadas por pontos dentro dos lugares e indicam a quantidade de recursos presentes ou a ocorrência de uma condição específica. Elas são essenciais para o funcionamento da rede de Petri, pois representam o estado atual do sistema e são manipuladas pelas transições durante o disparo. A adição ou remoção de marcas dos lugares reflete as mudanças no estado do sistema ao longo do tempo.
Redes Elementares
Sequenciamento: é a rede que representa a execução de uma ação, desde que uma determinada condição seja satisfeita.
Distribuição: é a rede elementar utilizada na criação de processos paralelos a partir de um outro processo. Basicamente a divisão do processo.
Junção: é a rede que modela a sincronização entre atividades concorrentes. União do processo.
Escolha Não-Determinística: é uma rede que ao se disparar uma transição, inabilita-se a outra. Resumindo a escolha de caminho único.
Existem outras redes Petri, mais complexas, porém aqui estou abordando somente o básico, existe um site muito legal no qual você pode ver essas redes e mais de forma interativa onde você pode ver o funcionamento: http://petrinet.org/#Intro
Dito isso utilizando e o básico de redes petri vamos fazer um exemplo, prático utilizando o magazine de paletes que é nosso caso para estudo e aprendizado nessa série de artigos:
Sequência de funcionamento do Magazine Descrita.
Com o magazine em posição inferior, os garfos são abertos para que o palete seja depositado no transportador, para garantir que o palete esteja posicionado no transportador, um tempo de descanso de palete é necessário. Após o tempo de descanso o magazine movimenta-se para a posição intermediária. Com o magazine na posição intermediária o garfo é avançado para que entre no meio do palete que está acima do palete depositado, com os grampos avançados o magazine irá se movimentar para a posição superior, se o sensor de presença de palete do transportador confirma que existe palete depositado finalizando o depósito do palete no transportador.
Caso o depósito do palete não seja detectado, a operação irá se repetir por 3 vezes, caso não seja detectado palete na terceira vez o magazine irá ficar na posição inferior e com os garfos recolhidos, aguardando ser abastecido pelo operador.
No nosso caso o projetista nos enviou um fluxograma, porém deixar para mostrar ele novamente mais para o final desse artigo.
Agora vamos fazer uma rede de Petri desse descritivo:
Observe como foi feita a "transformação" entre o texto descritivo e a rede Petri,
Apesar de não ter no descritivo, é claro que para mover o magazine para posição inferior, é necessário o transportador estar vazio, ou uma colisão irá ocorrer, e logicamente só vai abastecer o transportador, porque está vazio, é uma daquelas informações que corriqueiramente faltam nas documentações, e por isso levantar os requisitos e documentar, é extremamente importante antes de começar a desenvolver o software, a rede Petri é uma forma de documentar e uma ferramenta para elucidar requisitos.
Essa rede Petri, já possui uma relação com o transportador, essa relação é chamada produtor consumidor que é quando temos a relação de troca entre duas redes Petri, que constitui de um lugar (place), que conecta essas duas redes Petri.
Vamos comparar a rede Petri com o nosso Fluxograma que foi fornecido pelo projetista.
Como podemos ver a rede Petri é mais completa, mas podemos ver que existem também semelhanças entre ambos, um fluxograma mais detalhado estaria idêntico do ponto de vista lógico, porém com outra simbologia.
Agora usando essa ferramenta podemos criar nossas sequências de forma mais fácil utilizando qualquer linguagem de IEC61131-3, porém existe uma linguagem que se destaca, que é a SFC - Sequential Function Chart, que nada mais é que uma linguagem gráfica, que vai ser bem semelhante a rede Petri, e existe um porque, a SFC foi baseada no Grafcet.
O GRAFCET, que significa "Graphe Fonctionnel de Commande Étape-Transition" (Gráfico Funcional de Comando Etapa-Transição), teve sua origem na França na década de 1970. Foi desenvolvido como uma ferramenta para descrever e controlar processos industriais de maneira intuitiva e sistemática. Sua criação foi impulsionada pela necessidade de representar visualmente os sistemas de controle industrial de forma clara e compreensível tanto para engenheiros quanto para operadores de sistemas automatizados.
O GRAFCET combina elementos de redes de Petri e diagramas de fluxo de processos, fornecendo uma linguagem gráfica que descreve as etapas sequenciais de um processo, juntamente com as condições de transição entre elas.
Sendo a linguagem SFC baseada no Grafcet e esse possuindo elementos de Redes Petri, significa que temos agora relações diretas, tornando muito mais simples e intuitivo transformar uma rede Petri em uma sequência criada em SFC do que em outra linguagem, lembrando que mesmo assim é possível usar a rede Petri para criar as sequencias em outras linguagens.
Antes vamos ver como é a representação gráfica do Grafcet (DIN EN 60848 - é Registrado como Standard!).
Elementos do Grafcet
Etapas (ou Passos): Representam os diferentes estados do sistema durante sua operação. Elas são indicadas por retângulos e denotam condições específicas que o sistema pode assumir em um determinado momento. As etapas podem ser ativas ou inativas, dependendo do estado atual do sistema.
Transições: Denotam as condições que devem ser atendidas para que o sistema avance de uma etapa para outra. Uma transição pode ser ativada quando todas as suas condições de entrada são verdadeiras.
Ações: São as operações que são executadas quando uma transição é ativada e o sistema avança para uma nova etapa. Elas podem incluir comandos para atuar sobre dispositivos, alterar variáveis de controle, iniciar ou interromper processos, entre outras operações.
Condições: São os critérios que devem ser atendidos para que uma transição possa ser disparada. Elas representam os requisitos lógicos ou físicos que determinam quando uma transição pode ocorrer.
Sequência do Magazine de Paletes utilizando SFC.
O SFC é baseado no Grafcet, então essa linguagem irá conter elementos similares ao Grafcet.
1:45 PM CST
Para detalhes da linguagem, o interessante é verificar o programming manual da plataforma, aqui estou falando do conceito, não é um treinamento sobre linguagem X,Y e Z, a idea é sempre passar o conceito geral que pode ser aplicado a qualquer linguagem e vamos ver isso, começando com a sequência em SFC.
Veja como e de fácil assimilação a rede petri para a linguagem SFC.
Agora podemos transformar essa rede petri do magazine de paletes em uma sequência de automático utilizando a linguagem ladder? ou texto estruturado (ST)?
Sim podemos também, a rede petri é uma ferramenta de modelagem então você pode aplicar a sua modelagem a outras linguagens, e aproveito para lembrar que nem todas as CPUs tem suporte a linguagem SFC.
Um exemplo usando ladder, com passo comparador e move.
Nos próximos artigos continuarei falando sobre sequências de automático, ainda tem bons tópicos sobre o tema.
Bibliografia:
[Fonte: E. Best, R. Devillers, L. Petrucci, "Petri Nets: A Tool for Design and Management of Manufacturing Systems," in: Intelligent Manufacturing: Reviving U.S. Manufacturing Including Lessons Learned from Delphi Packard Electric and General Motors, Springer, 1995.]
Kommentare