在​LabVIEW​中​复​用​现有​代码

概览

随着​测试​需求​的​快速​变化​和​测试​项目​开发​周期​的​缩短,​您​和​团队​能否​最大​程度​地​复​用​现有​测试​软件​和​测量​库,​将​尤​为​重要。​那​为什么​测试​工程​师​不能​更​频繁​地​复​用​更多​软件​呢?​以下​是​测试​团队​最常​给​到​的​答复:
  • 我们​正在​使用​的​软件​是​调​任​或​离职​同事​所​开发​的​遗留​软件,​如果​对​未知​部分​进行​更改,​可能​会​有​很大​的​风险,​而且​费用​也​很高。
  • 测试​和​验证​工程​团队​都有​各自​的​工具​和​语言​偏好​或​团队​标准​化​机制;​而且,​由于​过去​项目​的​工具​或​软件​无法​满足​当今​的​需求,​要​实现​代码​复​用​非常​困难。
  • 工程​师​亟​需要​最大​程度​地​提高​软件​复​用​程度​及​构​建​抽象​层​或​框架,​但​这​不仅​成本​昂贵​且​耗​时​甚​久。​随着​项目​周期​不断​缩短,​企业​难以​将​重点​放在​如何​实现​标准​的​复​用​以及​借鉴​业界​最佳​实践​上。

​ ​现在​工程​师​面临​的​挑战​是​应该​通过​标准​化​来​获得​长期​优势,​还是​利用​现有​的​代码​和​软件​技能​或​偏好?​两者​应​如何​取得​平衡?​为了​帮助​解决​这个​挑战,​LabVIEW​作为​一个​开放​平台,​可​帮助​您​将​所有​的​测试​硬件​和​软件​系统​集成​在一起。

​使用​LabVIEW,​您​可以​将​多种​编​程​方法​与​图形​化​数据​流​结合​到​单​个​应用​程序​中。​基于​这种​灵活​性,​您​可以​选择​所需​的​工具​来​创建​待​测​设备​(DUT)​的​控制、​配置​或​测量​库。​LabVIEW​可​将​多种​语言​(如.m、​C、​Python、​IEC 61131-3​和.NET)​集成​到​您​的​应用​程序​中,​且​能够​与​本地​或​网络​上​运行​的​其他​软件​进行​互​操作,​从而​帮助​团队​更​快速​成功。

 



内容

调​用​现有​DLL​和.NET​程序集

除了​将​源​代码​导入​LabVIEW​程序​框​图​之外,​还​可在​LabVIEW​应用​程序​中​调​用​使用​其他​语言​开发​的​应用​程序​和​算法。​例如,​如果​您​已经有​一个​C/​C +​+共享​库​并且​需要​在​LabVIEW​中​复​用​该​库,​那么​可以​使用“调​用​库​函数​节点”(Call Library Function Node)​来​调​用​这个​共享​库。​为了​使​导入​外部​库​更加​容易,​LabVIEW​还​提供​了​导入​共享​库​向导​(Import Shared Library Wizard),​可​自动​创建​或​更新​LabVIEW​包装​VI​项目​库,​以便​集成​到​LabVIEW​程序​框​图​中。

图​1.使用​图形​化​编​程​方法​和​Call Library Function Node(调​用​库​函数​节点),​复​用​现有​C​或​C +​+共享​库。

 

调​用​MATLAB​脚本

调​用​使用​The MathWorks,​Inc.MATLAB®​软件​开发​的​MATLAB​脚本,​其中​包含​了​常见​的​数值​分析、​信号​处理​和​高级​数学​编​程​方法。​这些​脚本​可以​使用​MATLAB​脚本​节点​与​VI​结合​在一起,​从而​可以​将​MATLAB​分析​函数​集成​到​测试​和​测量​系统​中。

集成​Python​脚本

LabVIEW​也可以​调​用​系统​中​运行​的​其他​应用​程序。​过去​十年,​Python​的​应用​日益​普及​且​不断​扩展,​为​各种​应用​提供​了​数​十万个​现成​的​代码​库。​通过​开发​Python​自动​化​脚本​并​将​其​集成​至​大型​的​LabVIEW​程序,​提供​了​一个​直观​的​解决​方案​来​将​Python​的​灵活​脚本​编写​功能​合并​到​LabVIEW​系统​设计​工具。​有​多种​方法​可以​复​用​Python​代码,​比如​Enthought​开发的LabVIEW Python​集成​工具包或者与LabVIEW内部​的​命令​行​连接,​这些​方法​提供​了​针对​特定​操作​系统​的​接口,​来​调​用​可​执行​文件​和​其他​构​建​库。

图​3.​使用​LabVIEW Python​集成​工具​包​进行​内​联​调​用,​在​LabVIEW​中​复​用​现有​Python​脚本。

 

通过​标准​工业​协议​与​外部​系统​通信

LabVIEW​具有​通用​和​特定​行业​专用​的​以太​网​和​串​行​外​设​通信​库。​LabVIEW​本地​支持​常用​的​工业​协议​(如​CAN、​PROFINET、​OPC UA​和​EtherCAT),​因而​可以​连接​到​各种​设备、​机器​和​基础​架构。​如果​您​的​应用​程序​需要​支持​多种​协议,​LabVIEW​可以​作为​一个​网​关,​在​其​支持​的​近​20​种​协议​之间​转换,​其中​包括​针对​特定​行业​的​协议,​如​DNP3​和​FlexRay。

由于​FPGA​可以​使用​LabVIEW​进行​编​程,​因此​您​甚至​可以​高效​地​构​建​自​定义​通信​协议​来​满足​传统​或​特有​通信​需求。​LabVIEW FPGA​模​块​提供​了​串​行、​I2C​和​SPI​等​数字​总​线​协议​的​代码​示例,​作为​开发​基础,​同时​还为​Xilinx Aurora、​Serial RapidIO、​JESD204B​和​10​千​兆​位​以太​网​等​高速​串​行​协议​提供​了​FPGA IP​内​核。

图 4.​使用​LabVIEW​中的​标准​协议​支持​与​DUT​和​其他​系统​组​件​进行​通信,​如​NI-​XNET​仪器​驱动​程序。

更多​资源