Pergunta
Resposta
Considerando a utilização do protocolo Modbus-RTU/TCP para leitura e/ou escrita de memórias ponto flutuante (D) na base de dados dos controladores da HI Tecnologia, deve-se:
1) Calcular o endereço da variável D utilizando a seguinte fórmula:
Endereço = 10000 + Dxxxx * 2, onde:
10000: Offset para acesso às variáveis D dos controladores HI
Dxxxx: Número da variável D a ser acessada no controlador HI
Exemplo 1: Para acessar a variável D1 devemos especificar o seguinte endereço:
Endereço = 10000 + 1 * 2 = 10002
Exemplo 2: Para acessar a variável D5, devemos especificar o seguinte endereço:
Endereço = 10000 + 5 * 2 = 10010
e assim, sucessivamente.
2) Solicitar 2 registros para cada variável D a ser acessada no controlador HI, pois, como o tipo de dado D é de 32 bits (4 bytes), devemos mapeá-lo em 2 registros do tipo "holding register".
Por exemplo, para leitura da variável D2, deve-se montar um comando Modbus “Read Holding Register”, especificando:
- Endereço = 10004. Endereço da variável D2 no controlador HI
- Quantidade = 2. Quantidade de registros "holding register" a serem lidos no controlador HI, no caso, uma única variável do tipo D (4 bytes) do controlador HI mapeado em 2 "holding register" (4 bytes) do protocolo ModBus.
O valor dos 2 registros "holding registers" obtidos do controlador HI corresponde a um único valor em ponto flutuante, mapeado em 4 bytes no formato com mantissa e expoente, padrão IEEE.
