Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Possible bug with VISA on cRIO 906x

I am running a control program on cRIO 9067, with the NI compactRIO software set 14.5.

 

I am using the VISA interface to communicate with a piece of test equipment over Ethernet. I am also using a NI 9870  Rs-232 module with an RS-485 converter to communicate to a temperature controller. The temperature controller is polled every second.

Using all modules under FPGA mode except for an NI 9870.

 

These two interfaces (Ehternet and serial) represent hardware resources so you wouldn't think there is a dependency between them as far as the operating system is concerned. But it appears there is.

 

Everything works as it should when both devices are connected. The temperature controller gets polled on a one second loop and the instrument gets polled every 10 seconds as designed.

 

When the instrument is not connected via Ethernet, the acquisition loop goes tries to open a connection every few seconds as intended, until it gets one and starts polling. That's all good.

 

However, while you have the ethernet instrument disconnected and the temperature controller connected and communicating, the polling of the temperature controller over RS-232 becomes irregular, with no polling happening for up to 3-4 seconds at a time.

 

Clearly something is going on under the hood. The two hardware resources are independent, but somehow the operating system or VISA  is hanging up as it tries to establish comms to the Ethernet instrument, and affecting the timing of communication to the RS-232 port.

 

I will probably figure out a workaround to this but if anyone at NI is interested in the bug I can provide more info.

0 Kudos
Message 1 of 3
(2,490 Views)

Are there any dependencies between the two acquisition loops in the code?  A screenshot may be helpful, but it sounds like some code interaction is preventing polling of the temperature controller at regular intervals.  If you have the two tasks in the same block diagram but diagram disable the components individually (i.e. disable the ethernet or serial interactions, but not both), do you see the same behavior?  

Matt | NI Systems Engineering
0 Kudos
Message 2 of 3
(2,451 Views)

Hi Matt, they are separate loops and no dependency that I know of. I will do that test and report back.

0 Kudos
Message 3 of 3
(2,444 Views)