Hi,
I purchased a module to read a pressure sensor. The module says it communicates with serial uart which I thought would make it easy, but then after I got it and started playing with it, realised its not just normal UART serial. Its Modbus RTU uart.
Here are some images from the product on how to send commands:
In the example included above, I'm trying to understand what do all the numbers in the send and recieve lines mean.
For example, send line is: 01 03 00 00 00 02 C4 0B
Just comparing things, I'd say 01 = device ID
03 is just a mandatory number as per the 'Send format' table?
00 00 indicates the start of the register commands/references. And it's not just 00 because the 'Send format' table says it has to be 2 bytes? is that why its 00 00 instead of just 00?
00 = reference to the register table and says read the sensor frequency
02 = reference to the register table and says read the temperature from channel 2?
Question 1: Is the above interpretation correct?
Then C4 0B is a checksum, 2 byte/16 bit crc value that I do not know how to determine, but from reading I understand its some math or bit manipulation of the first 6 bytes of data in that string?
If i'm just doing the same command over and over again, I assume that means the CRC value would be the same? For example if I wanted to just keep requesting the vibrating sensor frequency and temperature on channel 2, then I can just send the above send command (01 03 00 00 00 02 C4 0B) and the crc value will always be the same?
If you cannot tell I am no software engineer. Any help is much appreciated.
Thanks!



