随着测试需求的快速变化和测试项目开发周期的缩短,您和团队能够最大程度地复用现有测试软件和测量库的能力尤为重要。 那为什么测试工程师不能更广泛地复用更多软件呢? 以下是测试团队最常给到的答复:
软件是调任或离职同事所开发的遗留软件; 该软件正在使用中,如果对未知部分进行更改,可能会有很大的风险,而且费用也很高。测试和验证工程团队都有各自的工具和语言偏好或团队标准化机制; 而且,由于过去项目的工具或软件无法满足当今的需求,要实现代码复用非常困难。因此工程师亟需要最大程度低复用软件和构建抽象层或框架,但这往往非常昂贵且耗时甚久。 随着项目周期不断缩短,很多人并没有将重点放在如何实现标准复用以及最佳做法上。
现在工程师面临的挑战是在长期标准化的优势和现有代码和软件技能或偏好之间进行平衡。 为了帮助解决这个挑战, labview作为一个开放平台,可帮助您将所有的测试硬件和软件系统集成在一起。
使用LabVIEW,您可以在单个应用程序中将多种编程方法与图形化数据流(G)结合在一起。 使用这种灵活性,您可以选择所需的工具来创建待测设备(DUT)控制、配置或测量库。 LabVIEW将多种语言(如.m、C、Python、IEC 61131-3和.NET)集成到您的应用程序中,且能够与本地或网络上运行的其他软件进行互操作,从而帮助团队更快速成功。
1. 调用现有DLL和.NET程序集
除了将源代码导入LabVIEW程序框图之外,还可在LabVIEW应用程序中调用使用其他语言开发的应用程序和算法。 例如,如果您已经有一个C/C ++共享库并且需要在LabVIEW中复用该库,那么可以使用调用库函数节点来调用这个共享库。 为了使导入外部库更加容易,LabVIEW包括导入共享库向导,可自动创建或更新LabVIEW包装VI项目库,以便集成到LabVIEW程序框图中。
图1. 使用G编程方法和调用库函数节点,复用现有C或C ++共享库 2. 集成.m代码
导入、编辑和执行使用The MathWorks,Inc. matlab®或GNU Octave软件开发的.m文件,.m文件是数字分析、信号处理和高级数学的常用编程方法。 这些脚本与使用G开发的VI相结合,可构成独立的可执行程序,在台式计算机以及确定性实时硬件上运行,从而快速访问真实的I/O。
图2. MathScript节点可以轻松地将G语言、真实I/O和.m脚本连接起来 3. 集成LabVIEW工具网络附加工具
LabVIEW工具网络其实就是一个NI app库,其中提供了各种经认证的第三方附加工具,可助您完成系统开发。 这些尖端技术由行业专家开发,可扩展NI软件和模块化硬件的功能。 每个第三方产品都经过审查,以确保符合特定的准则和兼容性。 LabVIEW工具网络拥有数百个产品,可帮助您节省开发时间,同时为应用程序添加强大的功能。
图3. LabVIEW工具网络提供了数百个来自NI和第三方且经过认证的附加工具,可帮助开发人员提高生产力
4. 集成Python脚本
LabVIEW也可以调用系统中运行的其他应用程序。 过去十年,Python的应用日益普及且不断扩展,为各种应用提供了数十万个库。 开发Python自动化脚本并集成至大型的LabVIEW程序提供了一个直观的解决方案来将Python的灵活脚本编写功能合并到LabVIEW系统设计工具。 复用Python代码有多种方法,包括使用Enthought开发的LabVIEW/Python集成工具包 或在LabVIEW中连接命令行,命令行提供了用于调用可执行文件和其他构建库的特定操作系统接口。
图4.使用LabVIEW/Python集成工具包进行内联调用,在LabVIEW中复用现有Python脚本
5. 通过标准工业协议与外部系统 通信
LabVIEW具有用于以太网和串行通信的通用和行业专用外设通信库。 通过对常用工业协议(如CAN、PROFINET、OPC UA和EtherCAT)的本机支持,LabVIEW可以连接到各种设备、机器和基础架构。 如果您的应用程序需要支持多种协议,LabVIEW可以作为一个网关,在几乎20种支持的协议之间转换,包括针对特定行业的协议,如DNP3和FlexRay。
由于在LabVIEW中也可编程 FPGA,您甚至可以高效地构建自定义通信协议来满足传统或专有通信需求。 LabVIEW FPGA模块提供了串行、I2C和SPI等数字总线协议的代码示例,作为开发的起点,同时还为Xilinx Aurora、Serial RapidIO、JESD204B和10千兆位以太网等高速串行协议提供了FPGA IP内核。
图 5. 使用LabVIEW中的标准协议支持与DUT和其他系统组件进行通信,如NI-XNET仪器驱动程序。
作者:judyzhong
出处:http://xilinx.eetrend.com/article/11493
|