Hello everyone,
We have a district heat substation (https://www.enerpipe.de/de/produkte/13627/uebergabestationen) from which we are trying to read some sensor values using Modbus. The Modbus communication module is from Schneid (https://schneid.at/product/schneid-cm08-tcp-steckkartenmodul/). Configuration on both sides is correct, so I think I don't have to change anything there.
The main problem that I am facing is LabVIEW stops reading the data after some time (I am not sure why but this seems to happen close to an hour after starting the VI). After that, it just starts writing 0 to the text file. We want to run the vi for ~7 hours (to simulate summer/winter day) and it is important to log all the values for this duration.
And this error is sometimes random. Like it stops reading after a few minutes but when I ping the IP the device responds. I tried to poll the values using QModMaster and I can read the registers in this way.
This is making harder for me to debug the error. I have tried increasing the timeout value, disabling the firewall, and reinitializing the Modbus Master when there is an error but have been unsuccessful in solving this.
Some of the errors I got when running this VI:
Error 63 :
Create connection in TCP Master.lvclass:Initialize Master.vi->Modbus Master.lvclass:Initialize.vi->API Main.lvlib:Create TCP Master.vi->1. read_multiple_registers.vi
Error 56:
IP Data Unit.lvclass:Read ADU Packet.vi:5030001<APPEND>
<b>full call chain:</b>
IP Data Unit.lvclass:Read ADU Packet.vi:5030001
Modbus Master.lvclass:Read Holding Registers.vi:2420001
- read_multiple_registers.vi
Related post I made a few days ago: Post