在之前的课程中简单地介绍过TestStand自带的一些步骤类型,如测试、消息弹窗、赋值、标签等等,这些简单的步骤从TestStand的插入选版中就可以添加到序列中。那么在使用中如果碰到需要实现更加灵活、复杂的功能,使用自带的一些步骤类型可能难以满足,这时就需要使用到自定义步骤。
本文分享:
Teststand自定义步骤
一、TestStand自定义步骤概述
在序言中我们说到自定义步骤可以实现更加灵活、复杂的功能。比如在步骤运行时,除了其本身具有的功能,我们可以添加后处理功能如错误处理等。还可以添加属性并决定是否将其记录到报表,同样也可以禁用一些属性来提高安全性。设计并创建完善的自定义步骤类型可以提高序列开发的效率,并可以在多个测试站中保持一致性,但同时自定义步骤可能需要大量时间来计划、实现、调试和维护等。
二、如何创建TestStand自定义步骤
单击工具栏中的选板图标,即可进入类型选板窗口,我们可以在图中看到在”Type Palettes”下方加载了一系列的ini文件,我们可以通过名称来区分它们,如”NI_DatabaseTypes.ini”定义的是数据库步骤类型。而我们使用的自定义步骤通常保存在”MyTypes.ini”中。
如下图所示,我们右键选择添加新的步骤类型即可,需要注意的是如果在MyType.ini中新建步骤类型,则同一工作站中的所有序列文件都可以使用该步骤类型,但如果是在下方Sequence File中新建步骤类型则只能在固定的序列文件中才可使用。
三、如何为自定义步骤添加属性
单创建自定义步骤显然不能满足我们的需求,这个时候我们需要添加属性为步骤添加我们需要的功能。属性包括内置属性和自定义属性,内置属性是每个步骤都具有的属性如”Name”、”Run Options”等,我们可以右键选择”Properties”,这样就可以查看或者编辑自定义步骤的内置属性了。概括一下主要是以下几个部分:步骤通用设置、菜单设置、子步骤设置、属性禁用设置、代码模板设置、版本管理设置以及各类默认设置。大家可以尝试使用一下以便理解。
下表按顺序列举了所有的内置属性,并对它们的类型进行了分类,这样在创建自定义步骤时,就可以知道哪些属性是可以一次性修改并应用到所有步骤实例中的。
那么自定义属性和内置属性有什么区别呢?上面我们知道了内置属性是所有步骤类型都具有的特性,那么相信大家应该也能猜到两者的区别了,不同的步骤类型会拥有不同的自定义属性,举个例子,在之前我们用到的测试步骤类型中”Step.Limits”就是数值限度测试步骤特有的属性。接下来我们将以简单的例子演示如何为自定义步骤添加自定义属性。
如下图所示,我们在”Result”中添加了”SN”和”UUT_Information”子属性,在步骤根目录中添加了”Test_Information”和”Test_Data”两个子属性。
四、 为自定义步骤添加子步骤
除了属性,还可以使用子步骤(Substeps)来为我们的自定义步骤提供某些特定的功能,如下图所示子步骤一共包括四种,前处理子步骤、后处理子步骤、编辑子步骤和自定义子步骤,我们在Properties中Substeps可以添加子步骤,可以通过给子步骤配置VI程序来实现需要的功能。
在添加完步骤之后,我们可以对步骤进行编辑,点击Specify Module,可以在其中选择调用的VI,它和单个步骤类似,所以当我们添加多个步骤并分别进行编辑,可以理解为该自定义步骤类型包含一个步骤组。
前处理和后处理子步骤,简单来说当步骤运行时,前处理子步骤会优先执行,然后是步骤的主题代码模块,最后是后处理子步骤。
编辑子步骤用于在编辑状态下设置步骤的自定义属性,比如限值等别的参数。
自定义子步骤比较特殊,它声明的代码模块并不由本身调用,而是提供给其他代码,其他代码通过调用方法来使用自定义步骤声明的代码模块,该部分内容涉及TestStand API,我们将在后面课程具体讲解。
五、小结
这一章节我们主要介绍了自定义步骤类型的概念和结构,以及如何设置内置属性、添加自定义属性、添加子步骤。我们要注意自定义步骤类型的好处是以其灵活性加速了序列文件的开发,但同时需要额外的成本去考虑维护它所带来的困难。如果只是通过设置属性就可以完成定制化的需求,还是以步骤模板为主。
全部0条评论
快来发表一下你的评论吧 !