如何通过编程的方式获取某个Step执行的代码模块的信息(例如文件名,文件路径)?
主要软件: TestStand
主要软件版本: 3.0
主要软件修正版本: N/A
次要软件: N/A
问题: 希望通过编程的方式获取某个Step执行的代码模块的信息。例如,某一个step使用LabVIEW适配器,欲获取执行的VI文件名;又或者某一个step调用了子序列,欲获取调用序列的文件路径以及序列文件名,应该如何实现?
解答: 3.0及以上版本的Teststand提供了一个适配器API,命名为"NI TestStand Adapter API <Version#>" (其中 <Version#> 代表TestStand的版本),利用该API可以让使用者通过编程的方式配置Teststand的适配器、step的代码模块以及参数。step的与适配器相关的特性(例如使用LabVIEW适配器的step的
VIpath,使用LabWindows/CVI适配器的step的
LibFunc)的位置在step的
TS.SData这个隐藏的属性中。然而,不推荐直接直接直接访问这些隐藏的属性,而是建议使用step中的模块对象的依适配器而定的模块接口。
以下列出与适配器相关的可用模块接口:
- LabVIEW模块
- CVI模块
- Dll模块
- DotNet模块
- ActiveX模块
- SequenceCall模块
- HTBasic模块
使用上述类中的属性和方法来以编程的方式指定以及获取step或是step类型的子step执行的代码模块的具体信息(例如模块名称,位置以及参数)。要访问这些类中的属性或方法,请按如下步骤操作:
- 获取与希望访问代码模块信息的step相关的Module对象的引用。可以通过使用Step.Module这个属性实现。
- 由于与因适配器而异的模块类是由模块类继承而来,故能够使用上一步中获得的Module对象的引用来访问上述列出的因适配器而异的模块类的任何属性与方法。
注:在LabVIEW中,需要首先将Module 对象的引用转换为因适配器而异的,需要访问的属性与方法的模块类。可以使用“变体至数据”函数实现。
获取更多关于因适配器而异的模块类的属性与方法的信息,请参考
NI TestStand 2012帮助以及
NI TestStand API参考
相关链接: KnowledgeBase 39DB54O6: How Can I Access Properties and Methods of either a Derived Class or the Base Class of the Object Reference I Have?NI TestStand 2012 HelpNI TestStand API Reference Poster
附件:
报告日期: 05/14/2004
最近更新: 05/02/2017
文档编号: 39D9AHO6
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.