第13章 LabVIEW串口通信程序设计
图6 添加TCP/IP访问许可
在计算机B上,把InvokeNode.vi修改为如图7所示。字符串192.168.1.11作为machine name参数输入给Open Application Reference函数,以获得计算机A上运行的LabVIEW实例的reference,把这个reference传给Open VI Reference函数,这样就可以从计算机B打开计算机A上的VI的reference。根据LabVIEW的习惯,打开LabVIEW系统后新建的第一个文件名为Untitled 1(未经保存的默认文件名),假设在计算机A的LabVIEW系统中建立了这样一个新文件,则在计算机B上运行图7代码的结果是,在计算机A上打开并最大化Untitled 1的前面板窗口。由于文件Untitled 1一定会处理打开状态(存在于内存中),所以直接指定文件名Untitled 1即可。
图7 使用调用节点远程访问方法
如前所述,控制器和指示器的属性节点和调用节点的建立方式有两种:一种是在控件或其框图端子上弹出快捷菜单,并选择Create->Property Node或Create->Invoke Node,直接建立与之关联的隐式连接的属性节点或调用节点;另一种是在快捷菜单里选择Create->Reference以建立其reference,然后接入从Application Control模板添加的属性节点或调用节点的reference输入端口。在图8中Numeric数值控制器采用两种方式建立属性节点,可以看到,隐式连接的属性节点具有与控制器相同的标签,而且没有reference输入端子。两段代码的运行结果完全相同。
– 317 –
LabVIEW虚拟仪器数据采集与串口通信测控应用实战
图8 为控制器建立属性节点的两种方法
VI和应用程序本身的属性和方法必须通过reference接入相应节点的方式来访问,控件的属性和方法可以使用reference来访问,也可以使用隐式连接的方法直接访问。
图9给出了一段代码示例,示例完成的功能是在字符串数组
Application:All VIs In Memory内显示内存中所有已经打开的VI的文件名,并且在路径数组Array中返回这些文件在磁盘上的路径。
图9 显示内存中的VI文件名及其磁盘路径
图9中,当前LabVIEW实例的App.AllVIs属性为字符串数组,每个元素都是内存中的一个VI文件名。VI文件名字符串数组通过自动索引逐个进入For循环,传给Open VI Reference函数的VI Path参数,打开文件名代表的VI的reference后,使用属性节点读取VI的Path属性,这个属性表示VI在磁盘上的存放路径。 对内存中每个VI读取一次Path属性后,通过自动索引在输出隧道上形成路径类型的数组,输入到Array中。
– 318 –