Format of startaddress in modbus MBRead fucntion of AC800
I am implementing modbus RTU connection bitween ABB AC800M (Card CI853) and third party system analayzer.I have made all function in logic and I have connected to the Analayzer package,but when I send read request,I get error -4902(Invalid address),I have attached an snapshot from my logic.Anaybody knows what is problem.Is it correct my Startadderss format?
Have you ever check start address from analayzer's register table?
Also you can get -4902 error code when you try to incompatible data type, for example IW10 register address has a varibale which is integer, and if your Rd variable has not been declared as integer under CBM, you can get this error code again.
In Modbus term StartAddr is the name of the "StartAddress" in remote system.
The format mostly used to be "%QW0" or "%MW0" to read the entire holding register. Then the data can be Unpacked if it is digital or can be used as one value if analog.
In your case, I can not see the entire logic in screenshot but the address is visible. I can suggest that try using "%MW0" and read the entire holding register and then unpack it in your code to get all the individual status signals.
I hope it helps.