Hello,
I have been using the Modbus within the Real Time Module in the LabVIEW 2015. I deploy the code on a cRIO-9035.
I noticed that when I set up the Modbus communication in the Project Explorer, it is not stable. I create a library in the target's system, inside the library I create a Modbus Server and then I create Bound Variables bounded to the server.
I used also the Block Diagram to establish the same modbus connection using the function blocks and it works fine.
I noticed the following issues:
1. The addresses of the registers that are set in the Bound Variables follow the "based 1" rule. That means that the addresses of the registers that are set on the Bound Variables must be incremented by 1. On the other hand, the addresses of the registers that are set in the Block Diagram follow the "based 0" rule.
2. When the library in the Project Explorer is modified, like adding a new Bound Variable, it can have strange problems. What happened exactly is as follows:
Inside the library I have 2 Modbus TCP servers. The first server has only one Int32 Bound Variable (SD400002) and the refresh rate is 2s. The second server had 3 Single Bound Variables (F400004, F400006, F400008) and the refresh rate is 5s. I could read successfully the values of all these registers, until I created one more Single Bound Variable (F400010) under the second server. The Int32 Bound Variable of the first server could not get the value any more returning this error: -1967353902.
Are there any known issues regarding the Modbus communication using the Project Explorer ?