10-17-2016 06:52 AM
I am using the NI 9871 module in a cRIO-9066 chassi to do Modbus communication.
I have deployed Modbus I/O Server 16, NI-VISA 16, NI-VISA Server 16, NI-Serial 9871 Scan Engine Support 15 to the Realtime system (and of course a lot of other packages)
When I try to use read a variable from the Modbus I/O Server (regardless whether on the host or on the target) I get the error -1967353900 (The Modbus I/O server failed to allocate a serial port) The vi I use does nothing except reading a Modbus I/O variable.
I can open the serial port I am using with the VISA Test Panel, and manually send a Modbus command to the device I am trying to communicate with, and receive a correct Modbus answer.
I have read "Troubleshooting Modbus I/O Servers" but it does not help me.
Does anyone have an idea what the problem is?
(I have an ongoing service request on this issue, but I thought it would be useful to ask the communutiy at the same time)
10-18-2016 04:59 AM
Hey,
I see you have an SR open, can you say what steps you tried so far? So that we are not walking in a circle : )
Kind Regards,
-Natalia
10-18-2016 06:26 AM
Hello, thank you for your interest!
The steps I tried so far in conclusion:
Removing and redeploying the cRIO software on the target
Removing everything from my code except a single shared variable call to a Modbus IO server variable.
I have tested calling the variable both on the host and the target.
Opening the VISA Test Panel manually and confirmed that I can communicate with my Modbus device via the same com-port that the Modbus IO server is set to use. (I do not have the VISA Test Panel open while I try accessing the Modbus IO server variable...)
As for now, my SR representative did not have any further ideas, but she was going to talk to some colleagues.
10-06-2017 02:10 AM
Hi perhult,
I'm about to undergo the same feat - 9066 reading out data from a device using modbus and found this:
http://digital.ni.com/public.nsf/allkb/F4EC738858058A9786257E460054618F
Think this can be relevant for you?
Cheers