Mensagens Não Solicitadas (MNS)

<< Clique para Mostrar o Sumário >>

 

Mensagens Não Solicitadas (MNS)

O uso das mensagens não solicitadas permite melhorar significativamente a performance do supervisório, pois não há necessidade de executar polling nas variáveis do PLC o tempo todo, mesmo quando estas variáveis não sofrem alteração. Ao contrário, usando-se mensagens não solicitadas, toda vez que uma variável sofre alteração, o próprio PLC envia uma mensagem avisando este Driver sobre o novo valor que, por sua vez, altera a base de dados.

A aplicação, por sua vez, deve configurar os Tags PLC e Bloco de maneira muito semelhante àquela usada para Tags normais (por polling), mudando-se apenas o parâmetro N1 ou B1 para 9999. Este número indica a este Driver que os valores destes Tags devem ser lidos não do PLC, mas diretamente da base de dados do Driver, atualizada pelas MNS. Os Tags do supervisório, portanto, continuam funcionando por polling, exceto que a leitura é direta de uma memória imagem contida no Driver, que não gera comunicação com o PLC. Como esta operação é extremamente rápida, sugere-se usar um período de scan muito pequeno, da ordem de milissegundos, o que permite uma atualização imediata dos Tags em caso de alteração do valor por mensagens não solicitadas. A leitura de mensagens não solicitadas só está habilitada neste Driver para os operandos do tipo Memória, Tabela de Memória, Auxiliar e Octeto.

 

Exemplo de Tag PLC para Mensagens Não Solicitadas

N1: 101 (Rede igual a um e PLC igual a um)

N2: 0 (zero, Memória)

N3: 1 (um, Memória M1)

N4: 0 (zero, não usado neste caso)

Scan: 500 (500 milissegundos)

 

Para passar este Tag PLC para leitura diretamente da memória imagem do Driver, altere o parâmetro N1 para 9999. Uma vez que a operação neste caso é bem mais rápida do que por polling, pode-se alterar também o período de scan para apenas alguns milissegundos. A nova configuração é a seguinte:

N1: 9999 (Leitura da Memória Imagem)

N2: 0 (zero, Memória)

N3: 1 (um, Memória M1)

N4: 0 (zero, não usado neste caso)

Scan: 10 (10 milissegundos)

Esta página foi útil?