No último artigo falei um pouco sobre sinalização, agora vamos falar um pouco sobre mensagens para o operador.
No artigo anterior (https://www.plcengsoft.com/post/plc-do-rascunho-ao-software-31), já tínhamos falado que no nosso contexto, as mensagens de operação podem ser mensagens de instrução na IHM, sinais luminosos no equipamento, mensagens informando os passos que estão em execução;
Para esse artigo vamos focar nas instruções operacionais e status do sistema, já que alarmes e avisos serão cobertos em um próximo artigo de forma mais detalhada, então vamos para alguns exemplos de status de sistema e instruções operacionais.
Status do Sistema
Logicamente mostra o status atual de equipamentos ou da sequência de funcionamento de sensores, motores, bombas, etc.
Exemplos:
Uma mensagem de texto na IHM como: "Bomba em funcionamento". - Podem ser exibidos conforme um valor é alterado em uma variável, utilizando uma lista de textos indexadas por esse valor ou por uma string que vai diretamente do CLP para a IHM com a mensagem.
Mensagem de texto na IHM dos passos em execução: "Passo 10 - Recuando Cilindro 10", executado da mesma forma que o exemplo anterior.
Um indicador na IHM indicando que um motor está ligado ou um sensor acionado, esses geralmente são gerados através de um bit que indica o status.
Instruções operacionais
Essas mensagens orientam o operador quais as ações ele precisa executar para continuar o funcionamento, comuns em estações com operadores abastecendo peças.
Exemplo:
"Aperte o botão RESET para continuar", "Aguardando Start", ou "Abasteça a peça X".
Esse tipo de mensagem também é pode ser através de valores em lista de texto ou strings do CLP.
Vejam, que devem ser colocadas mensagens pertinentes e na quantidade adequada, e a forma que elas devem ser colocadas não podem tornar a tela confusa, para isso temos a norma SA 101 - Human Machine Interfaces, que irá auxiliar na IHM, vamos falar mais da norma, quando começarmos o processo de desenvolvimento da nossa IHM.
Devemos nos atentar a essas mensagens no momento que for fazer a sua estruturação, vamos alguns exemplos em relação a isso:

Na nossa estrutura de status do atuador (UDT_AtuadorStatus), temos o status do conjunto de atuadores ligados na válvula que podem ser até 5 atuadores (cilindros, grampos, etc), ligados em uma única válvula formando o grupo (você pode relembrar os requisitos e o processo de criação da nossa função FB_Atuador aqui: https://www.plcengsoft.com/post/plc-do-rascunho-ao-software-15).
Mas além do grupo avançado temos para cada sensor uma estrutura de status, no qual tempos dessa forma um status individual de cada atuador, incluindo se está em falha e uma string para colocar enviar para a IHM também o nome, ou seja, o software de CLP está preparado para enviar todas as informações pertinentes para a IHM, inclusive pode ser que a informação da descrição que seria o nome do sensor seja desnecessária, pois pode ser feita por um texto puro pois não altera o status, porém no momento da modelagem foi decido pela lógica melhor ter do que faltar, mas isso é possível pois não tenho uma restrição de recursos no CLP e na comunicação do CLP com a IHM, pode ser que em alguns casos pela restrição de recursos, essa variável descrição seja removida, e a IHM precisa passar por um trabalho manual.

Na lógica acima podemos ver o status dos sensores que vão ser utilizados na lógica do FB_Atuador, dentro do nosso software do Magazine.


E dentro do FB_Atuador, os status dos sensores são enviados para a tag utilizada na IHM.

Um exemplo de como poderia ser utilizado o status individuais dos sensores.
Da mesma, forma para enviar mensagens sobre a operação a estrutura dentro do CLP tem que estar preparada para isso, vamos ao exemplo de uma mensagem sobre a descrição dos passos:

Na nossa, máquina estados compacta dentro da estrutura de dados para leitura para a IHM temos a variável descPasso (Descrição do Passo), que irá receber mensagens enviadas diretamente do CLP para IHM, a grande vantagem de fazer isso é a manutenção do código, imagine a seguinte situação, você adiciona um novo passo na sequência, se você envia o texto de descrição passo como uma string diretamente do CLP, você altera apenas o código do CLP, se você utiliza uma lista de texto indexada por valores (text list), você teria que fazer uma alteração nessa lista para adicionar o novo texto e ajustar os valores de indexação da lista, nos exemplos do Magazine em todas as sequencias geradas eu sempre optei por enviar o texto em forma de string para IHM, mas novamente pode ser que em uma CPU e IHM pequenas em capacidade você tenha que abrir mão dessa opção.

Aqui um exemplo no magazine de paletes utilizando a máquina de estados compacta, onde é enviado a descrição do passo para a IHM, utilizando uma string.
O mesmo conceito pode ser aplicável para enviar mensagens para orientar o operador para abastecer uma estação por exemplo.
Até o próximo artigo onde vamos falar sobre alarmes.
Comments