确定性读取和写入共享变量值
- 更新时间2025-05-20
- 阅读时长3分钟
创建共享变量后,可在VI中使用共享变量节点访问共享变量数据。共享变量节点是一个程序框图对象,用于引用项目浏览器窗口中相应的共享变量。共享变量节点用于从共享变量读取数据,以及将数据写入共享变量。将项目浏览器窗口中的共享变量拖放至相同项目中VI的程序框图,可创建一个共享变量节点。
也可在数据通信选板上选择共享变量节点,放置在程序框图上。要将共享代码节点与项目中的共享变量绑定,右键单击共享变量节点,从快捷菜单中选择选择变量»查找,打开查找共享变量对话框。从树形目录中选择一个共享变量,然后单击确定按钮。
默认情况下,共享变量节点被设置为读取。要将程序框图中的共享变量节点的设置转换为写入,只要右键单击这个共享变量节点,从快捷菜单中选择转换为写入。
在RT终端上共享本地数据
使用启用了FIFO的单进程共享变量,在程序框图的两个无法连线的位置之间,或RT终端上的两个VI之间共享数据。启用共享变量的实时FIFO确保了程序框图或RT终端上运行VI的确定性部分的共享数据不会影响程序框图或VI部分的确定性。
下列程序框图显示了一个RT终端VI,VI使用两个定时循环采集波形数据,然后将数据记录到文件。VI使用启用了实时FIFO的单进程共享变量RT_Single-Process在确定性定时循环(标签为“确定性采集循环”)和较低优先级的定时循环(标签为“数据采集循环”)之间共享数据。启用共享变量实时FIFO后,确定性采集循环可与数据记录循环共享数据,但是不会影响数据采集循环的确定性。
与远程终端共享数据
使用网络发布的共享变量,在启用实时FIFO后,可在VI和不同终端之间共享数据。启用共享变量实时FIFO后,可确保在网络上共享来自确定性VI的数据时不影响VI的确定性。
下列程序框图显示了一个主机VI,并发布布尔值停止RT终端VI。主机VI写入布尔值至启用了实时FIFO的网络发布共享的共享变量RT_Network-Published。
通过启用共享变量的实时FIFO,下列程序框图中的“确定性采集循环”可通过网络接收数据,不影响数据采集的确定性。也可通过启用了FIFO的网络发布共享变量共享来自确定性采集循环的数据。