Desenvolvemos uma aplicação em que precisamos comunicar um supervisório iFix 5.0 com uma CP 3142 da Série Ponto da Altus. Durante as verificações de detalhes de comunicação, tivemos uma dificulade estranha: conseguiamos comunicar Coils mas não Holding Registers.
Com a ajuda de um simulador modbus, nos enviado pelo Jones, da Altus, foi possível verificar que não havia qualquer problema com a rede(como já era de se esperar) nem com a CP, pois o simulador lia e escrevia valores nos holding registers sem problemas. Assim, ficamos com a configuração da comunicação (iFix <–> CP 3142), ou seja, precisavamos alinhar as ferramentas (MB1 <–> Master Tool).
Num bate papo com o pessoal da Aquarius e da Altus, verificamos que não havia qualquer incompatibilidade de protocolo. Ou seja, o padrão Modbus utilizado pela Altus é exatamente o mesmo do driver Modbus Modicon (MB1) desenvolvido para o iFix. Por tanto, o problema só poderia estar “entre a cadeira e o teclado”.
Indo mais a fundo nos detalhes, entramos nas particularidades da tabela Modbus. Para quem não conhece esse protocolo, existem áreas de registradores para cada tipo de dado. Então, por exemplo, para comunicar bits, lendo e escrevendo, utiliza-se a área de Coils, que começa no registrador de comunicação 1 e vai até o 4999. Já para comunicar valores no formato inteiro, por exemplo, deve-se utilizar os Holding Registers, que estão na faixa 40.001 até 49.999.
Estavamos apanhando num simples detalhe. Imagine que no Master Tool endereçamos o Holding Register 40.001. No simulador modbus, também, e no MB1 do iFix também. Contudo, quando dizemos para o Master Tool ou para o simulador que vamos comunicar o Holding Register número X, ambas as ferramentas somam o valor 40.000 ao endereço, o que não acontece com o iFix.
Ou seja, para comunicar o primeiro holding register da tabela modbus (endereço 40.001), é preciso configurar (40.001) no MB1 do iFix, e (1) no Master Tool. Como ao dizer ao Master Tool que estamos configurando um holding register ele soma 40.000 automaticamente ao valor do endereço, temos o endereço (40.001) em ambos os participantes.
Pronto, verificado esse detalhe, tudo funcionou perfeitamente.
Segundo o Jones, da Altus, o simulador Modbus foi desenvolvido para permitir que diferentes OEMs desenvolvam equipamentos, aplicativos e drivers para comunicação nesse protocolo e possam testá-los totalmente antes de lançá-los ao mercado. Dessa forma, podem ter certeza de que estão totalmente dentro das especificações.
Na nossa aplicação, utilizamos o simulador como um participante mestre RTU(lendo e escrevendo dados na CP 3142). Mas poderíamos tê-lo utilizado como escravo para testar a configuração do MB1 do iFix.
Gostou do Conteúdo? Assine nossa newsletter!
O link está na barra de menus da página. Como sabemos que ninguém tem tempo a perder condensamos o material e enviamos uma ou duas vezes ao mês.
Recent Comments