# Haier Biomedical Freezer

**URL:** <https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882>\
**Category:** Ignition\
**Tags:** modbus\
**Created:** [March 19, 2025, 11:51am UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882 "2025-03-19T11:51:15Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jakned](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jakned](https://forum.inductiveautomation.com/u/jakned)\
**Post date:** [March 19, 2025, 11:51am UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/1 "2025-03-19T11:51:15Z")

</div>

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:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/e/2ea1fb6f2eb85550beb0230190acfb72f8a07414.png)  
This is the log of the communication:  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/5/f585d350c5c90c2ffa8e964d84a70e9c3714afaa.png)  
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.

Model number of the freezer is DW-86L828BPST

Thanks!

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 19, 2025, 12:25pm UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/2 "2025-03-19T12:25:06Z")

</div>

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.

Please share the spreadsheet.

---

<div class="post-metadata">

**Author:** ![jakned](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jakned](https://forum.inductiveautomation.com/u/jakned)\
**Post date:** [March 19, 2025, 12:51pm UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/3 "2025-03-19T12:51:10Z")

</div>

[20180804\_1 English 8-6-20.xlsx](https://forum.inductiveautomation.com/uploads/short-url/cKzDak110Vnr51qxKky5hrRTu55.xlsx) (180.3 KB)

I am including the spreadsheet.

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.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 19, 2025, 1:23pm UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/4 "2025-03-19T13:23:56Z")

</div>

> [@jakned](#):
>
> If i remove 6 bytes from left, I end up with FF

> [@jakned](#):
>
> RTU over TCP Modbus driver instead of Modbus TCP?

Looks like it. Share the details of the converter you purchased. (If just **ethernet** to RS485, then yes, you need the RTU driver.)

Note that your register start addresses are **zero-based**. Be sure you choose that option in the Ignition driver advanced settings.

---

<div class="post-metadata">

**Author:** ![jakned](https://avatars.discourse-cdn.com/v4/letter/j/4da419/32.png) [@jakned](https://forum.inductiveautomation.com/u/jakned)\
**Post date:** [March 19, 2025, 1:46pm UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/5 "2025-03-19T13:46:42Z")

</div>

This is the converter:

> **[MODBUS TCP to RTU / ASCII converter with PoE power supply](https://en.papouch.com/modbus-tcp-to-rtu-ascii-converter-with-poe-power-supply-p6613/)**
>
> TCP2RTU PoE is a transparent both directions converter of the MODBUS TCP protocol, running over Ethernet, into the MODBUS RTU/ASCII protocol, running over RS232, RS485 and RS422 lines. 
> The converter is powered from an Ethernet cable using the PoE...

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.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 19, 2025, 1:55pm UTC](https://forum.inductiveautomation.com/t/haier-biomedical-freezer/103882/6 "2025-03-19T13:55:29Z")

</div>

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.
