Hi, does anyone have a experience with connecting Haier Biomedical freezer using their RS485 interface running Modbus RTU (thats what they claim)?
I use a Modbus TCP to RTU converter that i tested with other RS485 Modbus RTU device with no problem. Ignition can connect to that device and is able to read stuff but interestingly enough all HR show the same number and other function codes get me error.
I also use Modbus Poll to try out some stuff, I have a spreadsheet from the vendor including a sample request such as this:
ff 03 00 00 1e 00 59 b4
No response from device to this but if run slave discovery i can see that the device responds with something weird. This is the disovery result:
I dont get how come i get reponse from device that is on address 0 when it is set to 255 and was discovered there.
Please advice if I am missing something.
Modbus TCP uses slave unit zero as a normal unit number. Modbus RTU uses slave unit zero as a broadcast address, for which no reply is to be generated.
I was able to decode few values after I created the topic. The response is still weird. If i remove 6 bytes from left, I end up with FF which is the slave address and using the spreadsheet i get correct values.
Also if i change the request in any way, I either get nothing or everything.
Would this require a RTU over TCP Modbus driver instead of Modbus TCP?
Note: Column I is filled with the reponse and for example the voltage is giving me 231 which is correct.
I tested this with another RS485 Modbus RTU device and Ignition had no problem reading through this using the Modbus TCP driver. I guess this would be the case for other devices but not the freezer.
If that converter works with the Ignition Modbus TCP driver with other products, then it must actually be translating Modbus TCP requests (the six prefix bytes, no CRC) to Modbus RTU (no prefix, trailing CRC). I'd use an RS485 tool to sniff the traffic to see for sure.