基于NI TestStand混合编程技术探究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于NI TestStand混合编程技术探究

基于NI TestStand混合编程技术探究   【摘要】随着通用自动测试系统平台的发展,开发者需要统筹管理越来越多的板卡、分立仪器和应用程序,这时多语言混合编程的问题是无法避免的。本文在研究讨论传统多语言混合编程的解决方案的基础上,介绍了NI TestStand架构及工作原理,提出了使用NI TestStand在解决测试领域多语言混合编程方面所具有的优势,并举实例简要说明了如何采用NI TestStand重新构架已有测试系统。   【关键词】通用自动测试系统平台;NI TestStand;多语言混合编程;动态链接库   1.引言   目前,通用测试技术由于快速可靠、机动灵活、高效低费,已经成为国际上航空航天及武器装备测试的主流技术途径,通用自动测试系统平台是自动测试系统发展的方向。在测试数据获取方面,通用测试系统平台前端会使用多种类型传感器,通过矩阵开关与后级数据采集系统相连;在数据采集系统中会相应使用多种类型的信号调理电路及数据采集板卡;同时,所有的测试系统都需要使用多种类型的高精度分立仪器测试产品的性能或为测试对象提供电源、激励等信号;在某些测试中,会使用各种总线与被测对象或分立仪器完成通讯功能;为完善测试功能,某些测试方法需要使用嵌入式技术等等;获得测试数据后要对数据进行存储、分析、输出等管理。   以上所叙述的诸多应用是无法只使用一种或两种开发语言就能完成的。例如最为广泛使用的开发语言是VC++,但在数据采集卡操作、分立仪器控制、界面美化、开发工作强度等方面其性能远不如基于标准C的LabWindows/CVI,但是LabWindows/CVI无法调用使用VC++编写的动态链接库。又如NI公司出品的、可以由上位机直接操作的FPGA板卡只能使用LabVIEW开发。再如C/C++、LabVIEW等传统编写虚拟仪器所使用的语言,其数据处理能力都十分有限,这时如果调用MATLAB中的函数处理采集到的数据就会使得整个测试系统具有较广的适用范围。因此,在通用自动测试系统平台的开发中,多语言混合编程是无法回避的问题。   2.传统多语言混合编程解决方案   目前使用最广泛的Windows操作系统为多语言混合编程提供了多种解决方案。普遍适用的有动态链接库技术,COM组??技术。   动态链接库DLL(Dynamic Link Library)是一种基于Windows的程序模块,它提供了一种方法,使进程可以调用不属于其可执行代码的函数。当一个函数被导出时,它被加入到动态链接库所包含的一个表中。此表包含了所有导出函数的位置,可以用来查找和调用这些函数,而调用DLL的应用程序本身并不包含这些函数的执行代码[1]。   COM组件技术不依赖特定的语言。COM标准采用的是二进制代码级的标准,COM对象把OOP语言中的对象封装起来,并提供一致的接口,使得它可以被各种不同的语言所使用,COM的语言无关性实际上为跨语言合作开发提供了统一标准,差不多每种语言在实现时都提供了对COM的支持,如Visual C/C++、Visual Basic、Visual C++、Delphi、C++ Builder等都支持COM组件的开发和使用。   这两种技术虽然功能强大,但也都有自己的技术缺陷。DLL的主要缺点有:   (1)若多DLL文件中函数名称相同将引起软件冲突;   (2)各编译器对C++函数的名称修饰可能不兼容;   (3)DLL与可执行文件存在依赖关系。虽然DLL技术的缺点就是COM组件技术的优点[2],但COM组件的开发要求测试系统开发人员具有较高的计算机软硬件运行原理的理论基础,同时需要再学习新的开发工具。因此,良好的通用自动测试系统平台中多语言混合编程的解决方案应兼具DLL技术的易用性和COM组件技术的灵活性,同时要考虑是否适用于测试领域,要做到综合而不庞杂。   3.NI TestStand架构及特点   3.1 NI TestStand架构   在测试领域,NI公司出品的TestStand软件为自动测试系统软件的多语言混合编程提供了专用解决方案。   NI TestStand是一种随时可运行的测试管理软件,用于测试序列的开发、管理和执行。模块化的TestStand架构主要由以下组件组成:TestStand引擎、序列编辑器、操作界面和组件适配器,如图1所示。   在TestStand架构中,TestStand引擎处于核心地位。TestStand引擎是一组动态链接库,其出口为创建、编辑、运行、调试测试序列提供了大量的ActiveX应用程序接口(API)。事实上,TestStand的序列编辑和用户界面的控制就使用了TestStand API。这就意味着任何支持ActiveX自动化服务器的编程环境,都可以调用Te

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档