- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
您或许未曾了解的LabVIEW 8.5的五大特性
- 类数据访问函数的自动创建
- 利用面向对象的动态分配子VI与迭代处理
- 混合复选框
- MathScript调试功能
- 指针与互操作性的改进
基于客户与用户的需求,NI LabVIEW 8.5软件引入了多项新的特性与改进。许多时常提及的特性被添加到了LabVIEW项目浏览器,这些工具帮助您管理大量的VI并防止交叉连接等常见问题。NI还在8.5版本中添加了一些您或许尚未意识到的其他特性,其中包括对于面向对象编程的改进和对于DLL的互操作性。
类数据访问函数的自动创建
LabVIEW类中的数据是私有的,这意味着该数据除非通过接口发布,否则任何外部函数都不能对其进行操作。由于防止了对一个实例化对象中数据的直接操作,并要求您为之创建一个访问函数,这促成了良好的编程习惯。现今在LabVIEW 8.5中自动实现了创建这些访问函数的过程,节省了您在处理大规模、复杂类时所需的开发时间。
图1.“创建访问函数”对话框自动实现了创建数据访问函数的过程。
如欲自动创建成员数据访问函数,右击LabVIEW项目资源管理器中的类并选中“创建新的访问函数”,接着是“成员数据访问VI…”该类的所有数据成员将展示在窗口中,您可以选择需要为之创建访问函数的数据成员(详见图1)。您也可以设置访问模式为读、写或读写。对于复杂的数据类型,如数组,您可以选择指向整个数组或是该数组中的一个特定元素。如果指向一个特定元素,您的VI将需要一个指定该元素的索引的参数。
利用面向对象的动态分配子VI与迭代处理
动态分配子VI可以调用LabVIEW类层级中的任一个VI。LabVIEW根据输入自动态分配终端的类数据类型,确定运行时所调用的子VI的实现方式。如欲创建一个动态分配成员VI,将连接端子面板上的一个输入终端设置为“动态分配输入(必需)”,这里假定该终端具有与拥有该成员VI的类具有相同的类类型。
利用LabVIEW 8.5,您可以使用动态分配成员VI实现迭代算法。迭代VI可以在其所在模块框图和任何子VI所在的模块框图中调用自身。当您希望对同一个过程的输入进行多次操作时,这一点非常有用。如欲支持迭代算法,选择“VI属性”对话框的“执行属性”页中的“共享实例间的克隆”选项。
迭代的恰当使用可以提高效率并优化LabVIEW应用的代码,但也往往会导致算法变得极为复杂。基于文本的环境中迭代所要求的一般编程实践同样适用于LabVIEW编程。迭代算法需要一个预先定义的最终可达到并终止迭代调用的基本条件。此外,迭代VI 不能作为应用的顶层VI,它必须由一个更高层次的VI首先调用。
图2.选择“VI属性”对话框中高亮显示的选项以支持迭代调用。
混合复选框
LabVIEW 8.5在系统选板中提供了一个称为混合复选框的新型前面板控件。不同于传统的布尔复选框,该控件具有三种状态。这对于或许具有未知或未定义状态的用户输入很有用。例如,如果您使用单个复选框设置多个对象的选项,当混合复选框设置为第三种状态时,多个对象间的任何状态冲突都将会被指示出来。
MathScript调试功能
LabVIEW 8.5包含有增强的面向MathScript节点的错误报告功能。例如,如果您从MathScript节点调用一个用户定义的函数,或.m文件,LabVIEW将在编辑时而不是运行时返回该用户定义函数中存在的编辑状态错误。如果您修改了该用户定义的函数,LabVIEW在您保存该.m文件后即时更新错误列表窗口。
指针与互操作性的改进
LabVIEW8.2及其后版本包含有导入共享库向导——一个强大的VI生成工具,它显著节约开发时间并减少用户错误。利用该向导,您可以方便地配置包含有需要供图形化代码使用的大量输入参数的复杂函数的DLL。该向导在LabVIEW 8.5中引入对包含带有指针元素的结构体的导入函数的支持。指针常用于基于文本的编程语言,以指向数值的存储位置。由于图形化编程遵守数据流编程模式,指针通常在LabVIEW中不是必需的。
察看LabVIEW 8.5新增特性的完整列表