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

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

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


HAL最佳实践


从通用测试函数中分离测试逻辑


一个重要的最佳实践是将特定于dut的测试逻辑与更通用的、可重用的测试模块分离,以提高重用性并减少重新验证和文档成本。解耦和使层模块化可以改进系统架构,使层更容易开发和维护。例如,将特定于dut的测试限制(不可重用)与实际的限制测试实现(可重用)分离。将更通用的测试代码放在更高级别的ASL中的另一个原因是减少重复代码的数量。


将通用测试功能与仪器驱动程序和硬件分离


将通用测试功能与仪器驱动程序和硬件分离,可以使ASL软件模块获得相同的测量结果。向DSSP实例添加更多代码以使工具的行为与其他工具类似也是有效的。例如,如果大多数数字万用表(DMM)都可以实现多点测量,而您需要使用只能进行单点测量的DMM,则可以在单点DMM的DSSP实现级别中添加循环代码,使其从ASL的角度表现得像多点DMM。


将测试系统参数与测试逻辑分离


另一个最佳实践是将测试系统参数与测试逻辑分离。这减少了对工具或特定DSSP实例的硬编码依赖。它还使将测试应用程序编译成可执行文件成为可能,因为您不必更改代码来修改测试硬件。


动态或静态互换性设计


在设计特定于应用程序的HAL时,您可以在动态或静态互换性之间进行选择。动态互换性意味着您在运行时选择特定的DSSP实现。在这种情况下,您使用一个XML配置文件来标识硬件资源名称和DSSP父类的LabVIEW类实现。使用LabVIEW类迫使你在实现的虚拟仪器(VIs)中拥有相同的连接器窗格(类似于函数参数),这与函数类似。静态可互换性意味着函数包含相同的函数参数,但不需要在运行时进行额外的交换。静态交换函数的常用方法是“查找和替换”。静态互换性的主要缺点是替换函数所需要的努力。任何类型的互换性都需要在开发时(动态)或部署后(静态)进行工作


HAL实现实例


这个例子展示了一个用户定义的HAL和来自四个不同制造商的仪器。它展示了一个使用本文中描述的最佳实践设计和实现的系统。LabVIEW用于其简单的图形化系统设计功能,这些功能针对测试软件开发、大量本地仪器驱动程序选择和面向对象编程(OOP)进行了优化。这个例子使用了OOP,因为它是一个现有的框架,可以确保子类之间的接口一致。更重要的是,它提供了动态互换性,因此您需要更改的唯一元素就是配置文件。您可以在其他ade中实现相同的示例,并使用OOP以外的机制来实现动态互换性。


一个简单的系统最好地突出了用户定义的HAL设计原则和最佳实践;但是,您可以将相同的原则和实践应用于更复杂的系统。选择动态互换性是因为它使将来更容易使用系统。此外,选择需要更多前期工作和编码的互换性类型会为示例增加更多价值。


该示例系统使用Fluke DMM、Agilent函数发生器、Tektronix示波器和NI PXI开关来测试带有低频低通滤波器和LED的DUT。然后将系统迁移到NIPXI模块化仪器上演示HAL。下图显示了测试应用程序的顶级用户界面

1. 初始化所有设备—InitializeAllDevices首先将交换机配置为测试DUT 1,然后读取XML配置文件以确定仪器类型、硬件资源名称和DSSP类路径。然后动态加载相应的DSSP类,并调用每个DSSP类的Initialize Device实例。每个初始化设备打开硬件资源会话并重置仪器。


InitializeAllDevices将类引用保存在全局变量中,以供其他VIs使用。频率扫描测试-使用FrequencySweepTest ASL VI测试低频低通滤波器。ASL VI在一个循环中调用两个主要的DSSP函数:Generate Signal和ReadMaxAmp。生成信号VI生成具有可变频率和振幅的可选波形。在执行频率扫描时,使用恒定振幅的正弦波,每次执行频率扫描测试循环时,正弦波的频率增加,直到满足停止频率。


在循环的每次迭代期间,ReadMaxAmp DSSP VI测量DUT滤波器输出的最大振幅。输出频率和测量振幅存储在一个数组中,传递给极限测试函数。


3.极限测试——极限测试VI从FreqSweepTest VI中获取原始数据,并使用过滤器错误限制来计算过滤器响应数据是否超出界限。如果没有,则极限测试通过,VI从“test passed”指示器输出一个“True”。极限测试VI还输出波形图,显示频率扫描测试和极限的结果。


4. LED测试- DUT上的LED通过施加电流和测量LED上的电压来测试。这是通过使用数字万用表(DMM)的二极管测试功能完成的。如果产生的电压在限制范围内,测试通过,“True”被传递到“LED测试通过?””指标。LED测试VI还输出被测量的实际电压。LED测试完成后,使用CloseAll.vi关闭所有的引用。


5. 关闭所有设备—除了错误簇,这个VI没有任何输入或输出。它使用DSSP类全局变量为正在使用的每个DSSP类调用Close VIs。然后,每个DSSP的单独Close VI负责关闭特定工具的资源会话


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

相关文章
|
15天前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
75 34
|
15天前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
80 32
|
1天前
|
编解码 安全 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服务器在同一网络,避免误装其他机器。注意隔离测试网络以防干扰生产环境。
74 18
|
27天前
|
存储 Linux 网络安全
Kali 渗透测试:Meterpreter在Windows系统下的使用
Kali 渗透测试:Meterpreter在Windows系统下的使用
40 0
|
2月前
|
测试技术 UED 开发者
软件测试的艺术:从代码审查到用户反馈的全景探索在软件开发的宇宙中,测试是那颗确保星系正常运转的暗物质。它或许不总是站在聚光灯下,但无疑是支撑整个系统稳定性与可靠性的基石。《软件测试的艺术:从代码审查到用户反馈的全景探索》一文,旨在揭开软件测试这一神秘面纱,通过深入浅出的方式,引领读者穿梭于测试的各个环节,从细微处着眼,至宏观视角俯瞰,全方位解析如何打造无懈可击的软件产品。
本文以“软件测试的艺术”为核心,创新性地将技术深度与通俗易懂的语言风格相结合,绘制了一幅从代码审查到用户反馈全过程的测试蓝图。不同于常规摘要的枯燥概述,这里更像是一段旅程的预告片,承诺带领读者经历一场从微观世界到宏观视野的探索之旅,揭示每一个测试环节背后的哲学与实践智慧,让即便是非专业人士也能领略到软件测试的魅力所在,并从中获取实用的启示。
|
3月前
|
测试技术
探索软件测试的多维视角:从单元到系统,从静态到动态
【8月更文挑战第27天】本文将带领读者穿越软件测试的迷宫,从最微小的单元测试开始,逐步扩展到复杂的系统测试。我们将一起探索静态测试和动态测试的不同面貌,以及它们如何互补地确保软件质量。通过实际代码示例,我们将揭示测试用例的设计思路和执行过程,旨在为读者提供一个全面而深入的软件测试全景图。让我们开始这段旅程,解锁软件测试的秘密,确保我们的代码不仅能够运行,而且能够完美运行。
|
18天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
30 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
192 7
Jmeter实现WebSocket协议的接口测试方法
|
2月前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
197 3
快速上手|HTTP 接口功能自动化测试