Os mais atentos verificaram que existe uma falha na planilha de testes, alguns itens ficaram de fora! e por quê? Porque eu cometi um erro ao não formalizar a minha documentação e não elaborar os meus testes conforme os requisitos documentados.
Esse erro apesar de proposital para mostrar que a documentação é muito importante, é também muito comum, e vamos listar os erros comuns:
1 - Não Documentar os requisitos necessários para a tarefa a ser executada (no caso o Atuador FB)
2 - Não criar os casos de testes e procedimentos de testes baseados na documentação, o que torna o teste inconsistente.
3- Não criar os testes, tornando os testes confusos, inconsistentes e praticamente inválidos.
Agora vamos ver os requisitos que ficaram de fora conforme já foi mostrado no artigo (https://www.plcengsoft.com/post/plc-do-rascunho-ao-software-15)
"Dentro desse pequeno questionário já foi gerada mais uma pergunta, Quais os tipos de válvula iremos comandar? bom depois de consultar os projetistas mecânicos eles informaram que são utilizados pela empresa 3 tipos de válvulas as quais seguem as seguintes características:
1 - Válvula com centro fechado e 2 posições de comando (avançar e recuar) por solenoide - Essa válvula tem um "efeito memória", assim quando um pulso elétrico é recebido no solenoide e ela é pilotada para posição e nessa posição irá ficar até que receba um pulso na posição contrária, não sendo necessário manter o sinal no solenoide após o movimento ser concluído.
2 - Válvula com centro Aberto e 2 posições de comando (avançar e recuar) por solenoide -Essa válvula não possui "efeito memória", assim quando um pulso elétrico é recebido no solenoide e ela é pilotada para posição e quando o sinal é desligado ela sofre uma despressurização, no caso a posição dos cilindros irá depender da mecânica do sistema, outro detalhe é que as características das válvulas utilizadas pedem que para antes de qualquer movimento um sinal ao movimento contrário de 500ms seja executado, para evitar uma pressurização muito rápida que poderia danificar os cilindros.
3 - Válvula com centro fechado e 2 posições de comando avançar por solenoide e recuar por mola -
Essa válvula não possui "efeito memória", assim quando um pulso elétrico é recebido no solenoide e ela é pilotada para posição de avanço e quando o sinal é desligado ela retorna automaticamente para a posição recua, através do piloto por mola da do comando de recuo.
Bom com essas características citadas eu já posso entender que eu terei as saídas de acionamento dos atuadores em duas formas, retentiva e não-retentiva, para isso vou criar um bit na interface do FB (uma vez que não será necessário fazer essa mudança pela IHM), e uma lógica diferencie as duas formas, então observe abaixo:
E logicamente será necessário alterar a lógica, agora com uma lógica que é ativada com a seleção retentiva ativa, onde os comandos usarão funções de SET e Reset, e outras onde serão ativados somente com a condição lógica verdadeira do comando em si ativo, isso significa que quando o bit de comando não estiver ativo (atuador.cmd.avancar por exemplo, quando quiser avançar), a saída será desligada. Para tal internamente no bloco terei os comandos:
A lógica para comandos retentivos apenas é habilitada com a seleção de retentivo ativa.
Observe que quando a seleção de retentivo não está ativa, é efetuado um reset no comando.
Já a lógica para os comandos não retentivos, é ao contrário só estarão acionadas caso não exista a seleção de retentivo ativa:
E as saídas serão acionadas pelos comandos retentivos ou não retentivos
Como os timers das falhas são acionados pelas saídas em sí e não pelos comandos, não é necessário ajustar as lógicas.
Na minha planilha de testes agora eu adicionei testes a mais com a informação que a saída só estará acionada caso o bit de comando esteja em estado lógico 1 e a seleção não retentiva estiver em estado lógico zero.
Para o próximo artigo, vou mostrar o bloco de função para controlar o motor de partida direta com reversão.
Até o próximo artigo.
Comments