Zakaj isti Modbus registri lahko pomenijo povsem različne vrednosti
Modbus prenaša registre, ne pomena podatka. Dva 16-bitna registra lahko predstavljata dve neodvisni številki, 32-bitni integer, Float32 ali vrednost, ki jo je treba še pomnožiti s faktorjem in prišteti offset. Ključni del dokumentacije proizvajalca je zato vedno register mapa z natančnim tipom podatka.
Najpogostejša terenska težava pri 32-bitnih podatkih je vrstni red bajtov in besed. Naprava lahko pošlje iste štiri bajte kot ABCD, BADC, CDAB ali DCBA. Napačna kombinacija pogosto ustvari številko, ki je matematično veljavna, vendar fizikalno nesmiselna. Zato je koristno primerjati vse štiri interpretacije in nato rezultat preveriti z realno vrednostjo na napravi.
Dober postopek preverjanja
- 1. Najprej potrdi naslov registra in ali dokumentacija uporablja 0- ali 1-based zapis.
- 2. Nato potrdi tip: U16, I16, U32, I32 ali Float32.
- 3. Pri 32-bitnih tipih preizkusi pravilni byte/word order.
- 4. Na koncu uporabi scale in offset iz dokumentacije.
Pretvornik je namenjen diagnostiki in učenju. Ne ugiba pomena registra in ne nadomešča tehnične dokumentacije naprave.