top of page
Search

PLC do Rascunho ao Software - 21

Bom agora que temos o conhecimento teórico e sabemos que nosso magazine é uma máquina sequencial, vamos ver algumas técnicas de programação de sequências de automático.


Cadeia de Passos via Set e Reset


Talvez a mais conhecida, e que algumas vezes ensinada nos cursos técnicos, é basicamente armazenar os passos em variáveis booleanas, toda vez que a condição do passo é avançada.


Agora vem a bagunça, bom você vai encontrar ela programada de várias formas, desde um set para cada passo, com um reset de todos os passos no final para reiniciar a sequência, como tem gente que programa onde todos os passos estão "setados" e são "resetados' conforme, os passos são avançados, ou seja, um verifica passos de forma positiva e outro de forma negativa, e ainda tem gente que faz saltos dentro das sequências de passos, o que pode deixar tudo ainda mais confuso.


Bom vamos ver um exemplo de sequência de passos, onde todos são setados conforme o funcionamento da máquina e resetados no final


Aqui eu fiz a sequência com passos descritivos - passoinicial / estacaoCarregada /cilindroAbaixado / execucaoFinalizada / CilindroLevantadoExecucaoFinal / passoInicial.


Para ser sincero vi poucas vezes serem usados passos descritivos, até porque para passos com várias ações, várias condições, as vezes fica difícil criar uma variável que descreva o passo, o mais comum é ver os passos criados como números, exemplo, passo1, passo2, passo3, etc.


Veja aqui um exemplo:

Outra forma é utilizando um array de passos, geralmente é inteligente deixar alguns passos reservas entre os passos, para caso seja necessário você adicionar passos a sua sequência, o que não foi feito no exemplo acima.



Nesse caso veja que temos vários passos, reservas entre os passos, e isso deve ser feito com cuidado pois significa um maior uso de memória, já tive que reescrever software de outros programadores, por usarem arrays de passos muito grandes, usaram mais de 95% da memória da CPU. ENTÃO MUITO CUIDADO com seus arrays caso escolham usar essa técnica.


Como é feita a interação entre os passos e os comandos?


O bit do passo em sí, será utilizado para acionar um comando, vamos pegar a sequência acima, o passo[40], executa a ação de enviar o cilindro para cima.




Acima você pode ver um exemplo utilizando o passo40 para comandar do bloco atuador que criamos para o magazine de paletes.


Quais as grandes desvantagens em utilizar passos com set e reset no final da sequência?


  • Manutenção do software, caso você precise adicionar passos você terá que reorganizar tudo e sempre lembrar de resetar no final o passo adicionado, além de precisar procurar cada um dos locais onde você está usando os passos caso a função do mesmo tenha mudado.

  • Fica mais confuso na hora de organizar caso você tenha que modificar o fluxo da sua sequência;

  • Fazer uma recuperação de falhas também pode deixar sua sequência confusa, podendo por exemplo ser necessário resetar um passo fora de ordem;

  • Pode ser necessário criar uma rotina em separado para colocar a máquina em posição inicial antes do primeiro ciclo, então saber estruturar essa sequência junto com a sequência de funcionamento é fundamental.

Quais as vantagens de utilizar cadeia de passos com set e reset no final da sequência?


  • Técnica bem antiga, e básica, as vezes a única ensinada em centros de formação técnica, o que pode fazer o software familiar para outros programadores;

  • referência cruzada dos bits de passo trazem toda a rastreabilidade do passo;


Tem como melhorar e deixar a manutenção mais fácil? bom na verdade tem sim, vamos pensar um pouco em algumas situações.


Comandos: Ao invés de utilizar o passo diretamente em cada função de atuador, motor, etc., é possível criar uma só variável para isso, assim assimilar o valor desejado para essa variável, então quando você estiver testando a sua sequência, se for necessário trocar os passos onde ocorre os acionamentos, você irá fazer isso somente em um lugar, bom vamos para o exemplo:


O comando abrir estação nesse caso é acionado nos passos 40 e 60, mas entre os passos 55 e 59 esse comando deve estar desligado.


O comando abrir estação aciona nesse caso um bloco de atuador e um bloco de motor





Então agora, se eu precisar trocar os passos para abrir a estação eu posso, fazer isso em um só lugar, parece bobeira quando estamos lidando com 2 dispositivos apenas, mas imagine para 20, ou 30?, lembrem-se podemos estar lidando com máquinas complexas ou grandes.

Então criar essas variáveis auxiliares irá ajudar manter o software de maneira mais fácil, já que as alterações em um só lugar terão efeitos em vários.


Home Position: é um termo muito comum para se referir a uma máquina ou estação em posição inicial pronta para iniciar um ciclo, criar esse status ajuda a verificar as condições para iniciar a sequência com segurança e direcionar uma rotina mais curta para colocar a máquina em condição inicial.


Sequência de Home Position: importante sempre estar antes da sequência principal para uma organização lógica coerente, pode ser acionada pelo primeiro passo da sequência caso a mesma não esteja em home Position, pode ser executada por um ou mais passos e comandos dependendo da complexibilidade da máquina.



Mudança de Fluxo: Crie uma sequência na mesma rotina de forma separada, organizando a rotina da forma mais lógica possível.





Crie uma lógica para reset geral dos passos, para que possa ocorrer até mesmo em modo manual se necessário para facilitar a recuperação de falhas e colocar a estação em condições de iniciar caso o estado da mesma seja desconhecido. Essa lógica deve estar após a sequência de funcionamento.




Recuperação de Falhas: nesse caso, dependendo do nível de falha deve-se ou interromper a sequência até que a falha deixe de existir ou até mesmo cair o modo de automático, para que a sequência pare, coloque em cada passo a condição que não exista falha antes de setar o próximo passo.



Até o próximo artigo.

939 views0 comments

Recent Posts

See All

Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
bottom of page