06-14-2021 02:18 PM - edited 06-14-2021 02:25 PM
I need to control an OptiTemp chiller, which uses Schneider's TM171 and the Modbus protocol. I can successfully write to the set temperature register (16384), and I can check on the chiller's display that it is indeed working. However, I can't seem to read that very same register (16834) nor the current display temperature register (8992). I tried Plasmionique's Modbus library and QModMaster to make sure it wasn't an error on the Modbus library I was using, and I had the same result, I could write but not read. I either get an unintelligible value or an error. What could be going wrong?
Results on NI Modbus Library:
Results on Plasmionique's Modbus Library (used example VI):
Results on QModMaster:
06-14-2021 03:08 PM
Hello,
I have seen lots of crazy things with Modbus implementation.
Did you try to read input registers instead of holding registers (although it should be valid to read holding registers)?
Regards, Jens
06-14-2021 03:27 PM - edited 06-14-2021 03:34 PM
Same error, unfortunately. Utilizing Plasmionique library example, I get error 403482, which is CRC error I believe. If I increase the quantity of register to read I get timeout.
11-05-2021 08:37 AM
I encountered similar problem with a different Modbus device i.e. "Modbus CRC/LRC error". I noticed I need to enter the start address and number of register exactly same as explained in the document. If I pass less number of registers then I encounter that problem or CRC error. If I enter more then it comes out with Timeout error.
I had played with other Modbus device where if I pass less or more number of register it will execute without error and return just the content of those register but looks like it does not work like that for all devices.
02-03-2025 08:19 AM
Good day,
I am facing the same issue. Is there a real solution to this issue?