TestStand工业自动化测试管理(典藏版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.4 调用特定模块适配器

使用“Sequence Call”(序列调用)步骤调用其他序列,被调用序列可以是当前序列文件中的序列,也可是来自其他序列的文件;被调用的序列称为子序列,子序列还可以调用其他序列。序列调用步骤类型只使用一种模块适配器,那就是Sequence Call。回忆一下TestStand树状结构(见图2-3):序列文件包含若干个序列,每个序列包含若干个步骤,步骤是最小单元。步骤可以执行TestStand内部定义操作、调用代码模块,也可以调用子序列。

子序列类似于LabVIEW中的子VI、文本编程中的函数。将一系列相关的步骤放到子序列中,并作为一个步骤被顶层序列调用,这使得顶层序列变得很简洁,而且更容易实现模块化,使得代码的复用变得可能,因为可以多次复用该子序列。在实际开发过程中,应尽量避免把所有的测试项都放到同一个序列中,因为这一方面会导致序列太大难以维护,另一方面该序列也难以被重用;建议按功能划分,将功能相关的步骤分类放到不同的序列中。当新建序列文件时,在序列窗格中默认只有一个主序列,右击序列窗格的空白处,选择“Insert Sequence”,即可增加新的序列,如图4-47所示。

图4-47 新建序列

如何将新添加的序列作为子序列?在插入面板中双击图标创建序列调用步骤实例。在步骤配置窗格模块页面中,在“File Path”栏输入子序列所在的序列文件的路径,也可以使用表达式构造路径,如果勾选了“Use Current File”,则调用当前序列文件中的序列,接着在“Sequence”栏选择要调用的序列(如图4-48所示)。序列之间通过Parameters传递数据(关于Parameters会在第5章进行详细介绍)。

图4-48 序列调用特定配置页(模块)

就序列文件本身而言,它的完整测试过程是从主序列开始逐步往下执行的,遇到调用序列步骤时,TestStand会进入子序列中并逐步执行子序列中的每个步骤,子序列执行完毕后再返回到主序列,并接着往下执行。通常,序列调用步骤的状态为“Passed”或“Failed”,子序列中任何步骤失败都将导致它的状态为“Failed”,而如果有步骤产生运行时错误,它的状态将为“Error”。

在范例资源的第4章练习中,附有例程<Exercises>\Chapter 4\Subsequence.seq,读者可以通过菜单命令“ExecuteSingle Pass”运行该范例并观察结果。在该范例中,主序列调用了Electrical作为子序列,请观察TestStand的执行顺序。