S
I've recently developed a Modbus slave driver for my embedded application. It needs to support both Modbus ASCII and RTU modes. I've carefully studied the Modicon documentation (ref: PI-MBUS-300 Rev. J) available for download and am concerned about its accuracy.
When it comes to CRC transmission, the document clearly states that the CRC needs to be sent low order byte first. My code is virtually a straight shameless rip off of the code example in the manual. Yet when I test my product with 3rd party Modbus masters I found that I had to reverse the order of my transmitted CRC in order to get successful connections to the master.
My first thought was that the 3rd party product I was using had some bugs. But when I got the same results from 3 different products I concluded that those developers knew something that I did not.
Has anyone else run into this? Can anyone confirm (or dispute) my conclusion that the byte order must be HI/LO and not LO/HI as the manual states? Do I need to by an official Modbus capable product/ PLC to test my protocol implementation rather than using downloaded shareware?
Any thoughts/ comments/ help is greatly appreciated. Thanks in advance.
Regards,
Steve C.
When it comes to CRC transmission, the document clearly states that the CRC needs to be sent low order byte first. My code is virtually a straight shameless rip off of the code example in the manual. Yet when I test my product with 3rd party Modbus masters I found that I had to reverse the order of my transmitted CRC in order to get successful connections to the master.
My first thought was that the 3rd party product I was using had some bugs. But when I got the same results from 3 different products I concluded that those developers knew something that I did not.
Has anyone else run into this? Can anyone confirm (or dispute) my conclusion that the byte order must be HI/LO and not LO/HI as the manual states? Do I need to by an official Modbus capable product/ PLC to test my protocol implementation rather than using downloaded shareware?
Any thoughts/ comments/ help is greatly appreciated. Thanks in advance.
Regards,
Steve C.