(Real-Time、Windows)共享变量节点是一个程序框图对象,指向相应的共享变量。共享变量节点用于读写共享变量。

注:
  • 如应用程序要访问大量共享变量,建议通过编程访问共享变量以保证程序框图简洁和易于扩展。
  • (Real-Time、Windows)如一个项目的项目浏览器窗口不包含某个共享变量,打开包含该共享变量的VI时,共享变量节点可能会断开。任何与丢失的共享变量相关联的前面板控件也将断开。该情况只在Windows操作系统上在项目中打开VI时发生。如在主应用程序实例中打开VI,LabVIEW则不会通知共享变量丢失。

添加共享变量节点至程序框图

可通过下列方法将共享变量节点添加至程序框图:

  • 项目浏览器窗口中的共享变量拖放至相同项目中VI的程序框图。
  • 共享变量选板添加共享变量节点至程序框图。必须按照下列步骤将共享变量节点指向项目浏览器窗口的相应共享变量。
    1. 双击共享变量节点,打开查找变量对话框。
    2. 项目/网络目录树中找到共享变量。
    3. 单击OK按钮。
  • (Real-Time、FPGA和DSC模块)右键单击控件、显示控件或常量,从快捷菜单中选择转换为共享变量节点。也可右键单击输出接线端,并从快捷菜单中选择创建»共享变量节点

指定共享变量节点读取或写入数据

按照下列步骤,指定共享变量节点是写入或读取项目浏览器窗口相应的共享变量。

  1. 右键单击共享变量节点。
  2. 在快捷菜单中选择下列选项:
    • 访问模式»读取表示共享变量节点从共享变量读取数据。选择该选项后,共享变量节点的右侧会出现一个输出符号,如下图所示。

    • 访问模式»写入表示共享变量节点写入数据至共享变量。选择该选项后,共享变量节点的左侧会出现一个输入符号,如下图所示。

      注:如写入共享变量的数据少于8 KB,LabVIEW可于10毫秒内通过网络发送这些数据。要减少延迟,可使用刷新共享变量数据VI即时发送共享变量数据

判断共享变量值自最近一次读取后是否有更新

按照下列步骤,使用共享变量的时间标识节点,判断共享变量值自最近一次读取后是否有更新。

注:
  • LabVIEW默认状态下将配置网络发布共享变量的时间标识。要记录一个单进程写入共享变量的时间标识,必须先在共享变量属性对话框的变量页勾选启用时间标识复选框。
  • LabVIEW默认禁用I/O变量节点,因为启用时间标识会占用大量内存和CPU开销,影响应用程序的确定性。只在确有需要时启用I/O变量的时间标识。
  1. 右键单击共享变量节点,从快捷菜单中选择时间标识»显示时间标识输出在共享变量节点的右侧,显示为一个红色沙漏,如下图所示。

  2. 右键单击时间标识输出,从快捷菜单中选择创建»显示控件,创建显示时间的前面板显示控件。

判断共享变量节点是否超时

按照下列步骤,指定共享变量节点的超时属性,判断共享变量节点是否超时。

注:仅可对配置为读取数据的共享变量节点启用超时控制。
  1. 在程序框图上右键单击共享变量节点,从快捷菜单中选择超时»显示
  2. 毫秒超时控件中指定一个超时值,如下图左侧的蓝色时钟所示。使用超时?显示控件(下图右侧的红色时钟)判断共享变量节点在指定的时间周期内是否读取了新数据或发生超时。

将共享变量节点移至不同终端时指定共享变量节点是否断开

(Real-Time、Windows)指定共享变量节点与共享变量连接的方式时,可将该节点设置为绝对或终端相对。

绝对共享变量节点总是与创建该共享变量的对象上的共享变量连接。默认情况下,共享变量节点是绝对的。如VI包含一个绝对共享变量节点且在新终端上将该VI打开,节点将与创建该共享变量的终端上的共享变量相连接,VI会断开。如不将VI和变量移至其他终端,可使用终端绝对共享变量节点。

终端相对共享变量节点总是与运行包含该共享变量节点的VI所在终端上的共享变量连接。如将包含终端相对共享变量节点的VI移至新的终端,必须同时将共享变量也移至新的向终端。终端相对共享变量节点只能连接至本地主机上的共享变量。访问本地主机上的共享变量,并需要移动VI和变量至其他终端时,可使用终端相对共享变量节点。

如需将绝对共享变量节点改变为终端相对,可右键单击程序框图上的共享变量节点,从快捷菜单中选择引用模式»终端相对。终端相对共享变量节点上有一个.\图标。下图显示了一个终端相对共享变量节点。

如需使终端相对共享变量节点改变为绝对,可右键单击该共享变量节点,在快捷菜单中选择引用模式»绝对。下图显示了一个绝对共享变量节点。

数据通信方法主页