结合NI TestStand使用开关

概览

将开关集成到TestStand序列有几种方法。 本文讨论了使用NI TestStand控制开关的几种方法,以及使用这些方法的一些指南。

内容

代码模块

代码模块是一个程序模块,比如Microsoft Windows动态链接库或包含一个或多个用于执行特定测试或其他动作的函数的LabVIEW VI。 您可以在各种编程环境中创建包含各种开关操作的代码模块,并通过TestStand调用该模块。  



图1:从插入选板中插入一个新步骤


图2: 在“步骤设置模块”选项卡中指定要执行的代码模块

通过代码控制NI开关

您可以使用NI开关或DAQmx Switch API创建代码模块来控制NI开关模块。 如需了解两种API之间的差别,请参考:
数据库43CFNUAY: NI-SWITCH和NI-DAQmx Switch API用于开关应用的区别


图3:LabVIEW中DAQmx Switch API

 


图4: LabVIEW中的NI-Switch API

通过代码控制第三开关

如果您需要控制第三方开关,则可以创建包含开关仪器驱动程序函数调用程序的代码模块。 访问仪器驱动程序网络www.ni.com/idnet,了解仪器驱动程序的详细信息,也可查找和下载与NI软件兼容的仪器驱动程序。  

IVINI Switch Executive

如果您的开关模块兼容IVI,则可以创建包含IVI开关类驱动调用程序的代码模块。 所有的NI开关模块都兼容IVI。 请参考www.ni.com/ivi,了解IVI的更多信息。

注意:当IVI开关类驱动程序不支持、仪器不符合IVI类或仪器没有适用的IVI驱动程序时,您必须使用仪器专用驱动程序才能调用相应的函数。  

除了使用IVI开关类驱动程序外,如果您的开关硬件兼容IVI,则可以使用NI Switch Executive API进行编程。 如需了解NI Switch Executive的详细信息,请参阅:
技术白皮书: 什么是NI Switch Executive?

图5: Switch Executive API

IVI开关步骤类型

IVI开关步骤,如左图所示,为兼容IVI开关类和NI Switch Executive虚拟设备的仪器提供了一个高层次的编程层。 从插入选板中插入一个IVI开关步骤。

图6:插入IVI开关步骤


单击“步骤属性”对话框中“开关”选项卡上的“编辑开关”按钮。


图7:选择IVI开关步骤的“编辑开关...”按钮。  


IVI开关布骤类型具有以下两种不同的模式:

Ο IVI开关
Ο Switch Executive

所选择的模式决定了使用IVI开关步骤类型时可用的操作。

IVI开关模式

IVI开关模式允许使用兼容IVI的开关驱动程序来控制NI和第三方开关。 您可以使用该模式来连接和断开路径和路由,以确定两个开关的连通性或路由的状态,或者查询开关模块或虚拟设备的状态。 如需进一步了解IVI开关步骤类型所支持的IVI开关操作: IVI开关模式,请参考:
NI TestStand 帮助: 编辑IVI开关步骤对话框 - IVI开关模式


图8: IVI开关步骤: IVI开关模式

Switch Executive模式

NI Switch Executive是一款基于IVI的智能开关管理和路由应用程序。 Switch Executive可允许您创建一个预配置的Switch Executive虚拟设备,其中可以包含一个或多个兼容IVI的开关模块。 此外,您还可以创建通道别名,只需点击鼠标即可以图形化方式配置端到端路由(甚至可以跨多个开关)。 有关NI Switch Executive功能的详细信息,请参阅:
技术白皮书: 什么是NI Switch Executive?

购买和安装NI Switch Executive软件即可使用IVI开关步骤的Switch Executive模式。 通过“编辑IVI开关步骤”对话框,您可以选择一个预配置的NI Switch Executive虚拟设备来连接和断开开关系统的路由/路由组。 此外,您还可以指定是否希望路由存在直至手动断开或步骤、顺序、线程或执行完成。
注意: 如需进一步了解IVI开关步骤类型所支持的IVI开关操作: Switch Executive,请参考:
NI TestStand 帮助: 编辑IVI开关步骤对话框 - Switch Executive模式


图9: IVI开关步骤: Switch Executive模式

Switch Executive - 步骤开关属性

除了使用IVI开关步骤的Switch Executive模式,购买和安装NI Switch Executive还可执行某个步骤执行相关的开关动作。 您可以通过“步骤设置”面板中“属性”选项卡的“开关”窗口设置开关动作。


图10: 通过插入选板插入一个步骤。 “步骤设置”面板中“属性”选项卡下的“开关”窗口。

 

优先顺序排列推荐方案

如本文件所讨论的,TestStand提供了几种用于控制开关的选项。 以下部分描述了每个选项的优点和缺点。  

1. 代码模块

使用TestStand控制开关的一个推荐方法是编写用于执行代码模块开关操作的测试序列。 该选项是最具模块化的方法,测试开发者可以修改执行开关操作的代码,同时可以最大程度减少对测试序列的影响。 无论是使用仪器专用驱动程序还是代码模块的Switch Executive API,您均可访问底层IVI会话以及其他选项无法提供的附加功能。 NI Switch Executive可简化兼容IVI的开关的配置和控制。

注意: NI Switch Executive API需要购买和安装NI Switch Executive软件。

但是该方法的缺点在于用户错误的可能性较高。 测试开发人员必须熟悉仪器驱动程序或NI Switch Executive API才能确保他们开发的测试系统架构能够实现易于维护且可扩展的测试序列。 例如,niSE Connect and Disconnect有助于减少自动化测试系统的切换时间和延长元器件的使用寿命。


图11: 使用niSE Connect and Disconnect指定通过代码模块控制的路由/路由组

2. 步骤开关属性

NI Switch Executive使得测试开发人员能够使用“步骤开关属性”来为TestStand序列内的任意步骤添加额外开关功能。 “开关”属性的一个明显优势就是代码的复用性。 例如,假设您需要执行某个需要连接多个路由的特定测试。 如果是在几个不同的测试程序中执行该测试,则只需创建一个步骤模板,将其应用于其他序列即可。 所有与步骤相关的属性(包括开关)都应包含在步骤模板中。 如果要在模板列表添加步骤,只需将该步骤从步骤面板中拖放到模板列表中即可。  


图12:模板列表是插入选板的一部分。 将步骤从步骤面板中拖放到模板列表即可将该步骤复用于其他序列。


有关TestStand模板列表的详细信息,请参阅:
NI TestStand 4.2帮助: 插入选板

步骤开关属性的一个缺点是测试序列的可读性较低。 使用开关属性时,请确保对TestStand序列进行文档记录。 修改默认行为的步骤属性时,TestStand将会在步骤面板中自动记录这一变化。 例如,如果为某个LabVIEW操作步骤启用开关,TestStand将会在步骤面板的“设置”一栏中输入“开关”。


图13:这个LabVIEW操作步骤的“启用开关”已选中。 请注意,TestStand已自动在步骤面板中操作步骤的“设置”一栏添加了“开关”。



您可以使用步骤的“备注”字段和“标签”来记录序列。

图14:在“属性”选项卡“常规”面板的“备注”字段输入备注。



图15: 使用前面所述的标签步骤和备注步骤进一步对文档进行描述(显示在步骤名称上面)

IVI开关步骤类型: Switch Executive模式

Switch Executive模式的IVI Switch步骤的功能与步骤开关属性非常相似。 IVI Switch步骤相比步骤开关属性的一个优点是可以使用“获取信息”操作来查找路由并确定虚拟设备是否进行了去抖动。


图16:IVI Switch步骤的“获取信息”操作: Switch Executive模式

 

测试开发人员可以为其他内置步骤类型(如前提条件、循环等)指定相同的步骤属性。  

注意: IVI开关步骤类型无法支持步骤开关属性。

此外,IVI开关步骤的优点是能够自我记录,用户一眼就能确定测试序列是否涉及开关操作。 然而,步骤开关属性通常比IVI开关步骤更常用。 使用步骤开关属性时,可使用上一节讨论的文档描述做法创建易读的测试序列。

TestStand中Switch Executive选项的主要缺点(步骤开关属性和IVI开关步骤)是您无法完全访问Switch Executive API(如以编程方式导入/导出Switch Executive配置和生成XML报告) 。 为了开发具有最大可自定义性和扩展性的测试序列,可使用可调用NI Switch Executive API的代码模块。

IVI开关步骤类型: IVI开关模式

IVI开关模式的IVI开关步骤可以访问IVI开关类驱动程序支持的基本操作。如需了解更多IVI开关模式的IVI开关步骤可提供的功能,请参阅:

NI TestStand 4.2帮助: 编辑IVI开关步骤对话框 - IVI开关模块

IVI开关步骤的IVI开关模式也有其缺点。 如果应用使用了多个开关,则每个开关模块必须使用唯一的步骤。 因此,这种方法不能用于创建涉及多个开关的完整路由。 此外,创建所需的开关配置需要使用多个步骤。 在一般情况下,我们更倾向于使用代码模块或Switch Executive来控制开关,而不是使用IVI开关步骤: IVI开关模式。

注意: TestStand IVI步骤类型创建的仪器句柄无法用于使用相应开发环境执行的代码模块。 基于C语言的底层句柄只能在TestStand过程中使用。 如果测试序列包含了可调用IVI类和驱动程序专用VI或函数的代码模块,则NI不建议同时使用TestStand IVI步骤类型。

其他资源

技术白皮书: 什么是NI Switch Executive?
NI Switch Executive入门指南
NI TestStand参考手册

Was this information helpful?

Yes

No