LabVIEW如何减少下一代测试系统中的硬件过时 1

简介: LabVIEW如何减少下一代测试系统中的硬件过时 1

LabVIEW如何减少下一代测试系统中的硬件过时 1


许多测试系统的问题是,整个系统运行的时间必须超过单个系统组件的支持时间。有时被测试的设备有几十年的有效使用寿命,而许多测试仪器已经过时,在5年或更短的时间后就不再支持了。其他时候,被测试的设备的有效使用寿命以月为单位。这两个都是生命周期不匹配的例子。


生命周期不匹配导致需要在不改变测试应用程序、测试fixture和被测设备(dut)的情况下升级过时的仪器,或者需要在不改变任何硬件或特定于硬件的软件的情况下改变测试应用程序软件。更新测试系统需要新的测试软件开发、重新验证和重新记录,这些都是昂贵的、资源密集型的和耗时的。为了尽量减少与迁移或升级测试系统相关的时间和成本,您可以在测试系统中使用硬件抽象层(hal)来将测试应用程序与仪器硬件分离。本文涵盖了HAL的架构、最佳实践、特性和优点,并概述了LabVIEW和基于c的实现的示例。


硬件抽象类HAL


大多数HAL可以分为三组:行业标准、供应商定义和用户定义。行业标准HAL由行业标准机构定义和维护。供应商定义的HAL由单个供应商提供和维护。用户定义的HAL由构建测试系统的最终用户定义和维护。本文主要关注用户定义的HALs。


行业标准


一个著名的行业标准HAL是由IVI基金会维护的可互换虚拟仪器(IVI)。IVI为八种部署最广泛的仪器类型提供了标准的应用程序接口(API)。IVI规范具有基本、扩展和特定于仪器的API选项;检查范围;模拟;以及其他功能,使升级仪器更容易。IVI的一个限制是用户可能需要仅在特定于仪器的驱动程序中可用的功能,从而降低了互换性。这是因为用户很难扩展现有的IVI类驱动程序。


供应商定义


供应商定义的HAL是指供应商为不同的仪器类型和型号创建一个插件系统。厂商定义的HAL具有由厂商投资于设计、生产、支持和维护的优势。供应商定义的HALs的限制包括支持的仪器的广度和深度、质量以及快速轻松添加新仪器的能力——尤其是竞争对手的仪器。此外,供应商可能会专注于最大化系统中仪器的性能,而不是整体系统性能。依赖HAL供应商的技术支持可能会增加停机时间和成本,特别是在不提供源代码的情况下。源代码的缺乏限制了您可以帮助自己或快速添加新工具的能力。此外,供应商定义的HAL的过时将有效地淘汰您的整个测试系统。


用户定义的


用户定义的HAL的优点是,可以自定义它们以满足独特需求并优化系统性能。如果架构良好,HAL将促进更好的测试应用程序开发并增加重用。建议选择一个广泛使用、支持良好的应用程序开发环境(ADE),该环境足够强大且不需要高级编程技能。用户定义的HAL的限制包括设计、实现和维护它们的时间和成本


以仪器为中心和特定于应用程序的HALs


三个HAL类别中的每一个都有一个以仪器为中心的应用程序接口(API),一个特定于应用程序的API,或两者的组合。


Instrument-Centric


以仪器为中心的API通过使用一组通用的仪器类函数调用来抽象仪器的差异,这些函数调用是唯一仪器可以支持的。例如,IVI采用以工具为中心的抽象视图——也就是说,让顶级测试应用程序调用以工具为中心的API,使所有工具看起来相似(例如,iviscope_configureacquitiontype)。具有以仪器为中心的API的用户定义的hal可以使用“myDMM”或“standardSigGen”调用来抽象唯一的仪器。


特定于应用程序


在特定于应用程序的方法中,测试应用程序调用特定于应用程序的API,该API与其需要执行的测试类型(例如,LED test)保持一致。特定于应用程序的HALs将您与特定仪器类型的行为隔离开来。用户定义的hal更有可能使用特定于应用程序的api,因为除了硬件差异之外,它们还可以抽象仪器的复杂性。特定于应用程序的HALs有助于将特定于dut的参数与可重用的测试逻辑分离。此外,特定于应用程序的hal可以使用以仪器为中心的hal来提供额外的抽象层。


HAL选择优先事项


类别选择


如果能满足您的要求,请选择一个行业标准HAL。许多公司的投资和标准多年来的稳定性减少了您设计、开发和维护它的需要,节省了您的时间和金钱。如果行业标准的HALs不能满足您的需求,其余选项是由供应商定义的或用户定义的。通过实现您自己的用户定义的HAL,您可以选择最适合您的应用程序的架构、工具和行业软件标准。非常仔细地考虑供应商定义的HAL解决方案,因为它们可能会将您锁定在他们的技术架构和业务结构中,限制您更快更容易地迁移的能力——这是HAL的首要要点。


API的选择


在设计用户定义的HAL时,重要的是要确定以仪器为中心的API还是特定于应用程序的API最能满足您的需求。如果以仪器为中心的API是更好的选择,那么定义一个内部通用的以仪器为中心的API“标准”,您可以跨多种类型的dut使用它。将函数分成类似于IVI的三类——基本、扩展和特定。每种仪器类型的最常用函数都包含在基本函数中。在许多(但不是所有)工具中共享的函数被分组在扩展函数中,如果该函数存在于


最后,将不常用函数分组到特定函数中。在可能的情况下构建IVI标准,因为它减少了在系统升级期间定义和实现以及迁移的时间和精力。如果特定于应用程序的API对于您的需求来说是更好的选择,那么您需要确定应用程序功能的哪个部分开发效率最高且最容易重用


自定义HAL架构


下图显示了用户定义的HAL的体系结构。测试应用程序位于顶层。测试应用程序开发人员只需要知道要运行哪些测试、这些测试的参数以及测试硬件需求(采样率、分辨率等等)。在设计测试时,开发人员不需要知道具体的仪器。LabVIEW示例中的测试应用程序名为“Main test App.vi”,它调用来自HAL的函数。建议在HAL中有两个级别。示例HAL有一个应用程序分离层(ASL),测试应用程序将调用它,还有一个特定于设备的软件插件(DSSP), ASL将调用它。

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
1月前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
100 34
|
1月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
109 32
|
11天前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
25 3
|
20天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
2月前
|
Linux
kickstart自动安装系统 --DHCP 配置及测试
PXE+Kickstart自动安装系统需配置DHCP服务器分配IP。dhcpd.conf示例:设置更新样式、忽略客户端更新、指定下一服务器及启动文件。定义子网、网关、掩码、动态地址池并预留特定MAC地址。重启xinetd、NFS、DHCP服务,确保新服务器与Kickstart服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
80 18
|
1月前
|
存储 Linux 网络安全
Kali 渗透测试:Meterpreter在Windows系统下的使用
Kali 渗透测试:Meterpreter在Windows系统下的使用
|
2月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
3月前
|
测试技术
探索软件测试的多维视角:从单元到系统,从静态到动态
【8月更文挑战第27天】本文将带领读者穿越软件测试的迷宫,从最微小的单元测试开始,逐步扩展到复杂的系统测试。我们将一起探索静态测试和动态测试的不同面貌,以及它们如何互补地确保软件质量。通过实际代码示例,我们将揭示测试用例的设计思路和执行过程,旨在为读者提供一个全面而深入的软件测试全景图。让我们开始这段旅程,解锁软件测试的秘密,确保我们的代码不仅能够运行,而且能够完美运行。
|
3月前
|
监控 网络协议 安全
在Linux中,如何进行系统性能的峰值测试?
在Linux中,如何进行系统性能的峰值测试?
|
3月前
|
运维 监控 Linux
在Linux中,如何进行系统性能的模拟测试?
在Linux中,如何进行系统性能的模拟测试?