From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

PXI

cancel
Showing results for 
Search instead for 
Did you mean: 

Reading from Network-Published Shared Variable with RT FIFO changes its value

I'm experiencing a weird issue when using Network Shared Variables with a (single-element or multi-element) RT FIFO. I'm trying to use a  host application, which writes a value once (or only at a very slow period, e.g. each second) to a Network Shared Variable, here called 'Test1'. This variable is configured to have no network buffer, but a single-element RT FIFO enabled.The variable is deployed to a PXI system.

 

 RT diagram.jpg

 

I keep reading values from this variable without updating the variable's value, thus it should always read the same value. However, the Waveform Chart reads values that continuously increase by 2, so it looks like the result of the addition is saved where the value of the shared variable had been kept. This is true for both, a single-element and a multi-element RT FIFO. Enabling network buffering didn't change the behavior either (which is kind of expected).

 

If I change the value of the variable on the host by writing, the correct new value is displayed once and after that the value is again increased by 2 in each step.

 

If I add an additional Waveform Chart (Waveform Chart 2) that reads and displays the value of the NSV, both Waveform Charts continously read the correct and expected values.

 

RT diagram 2.jpg

 

However, for my understanding of the concept of NSVs, I don't see why my original approach should not be working, and I don't want to add additional code which does not contribute to the application. So, is there something wrong with my application or is this a known bug, and if yes, is there a bug fix?

 

I'm using Labview2009 (32bit) on WindowsXP to develop the program. This program is then downloaded to and run on a PXI machine with Real-Time environment 9.0, Network Variable Engine 1.6.0, and Variable Client Support for LabVIEW RT 1.6.0.  

0 Kudos
Message 1 of 3
(3,703 Views)
I should add that the described behavior is only true for a "Timed Loop". If I replace the Timed Loop with a while loop, everything runs as expected.
0 Kudos
Message 2 of 3
(3,682 Views)

Hello,

 

did you solve? I'm having a similar problem with single-process shared variable with single element RT FIFO enabled.

 

Thanks

 

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