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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
25天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
5天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的8PSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文基于FPGA实现8PSK调制解调系统,包含高斯信道、误码率统计、ILA数据采集和VIO在线SNR设置模块。通过硬件测试和Matlab仿真,展示了不同SNR下的星座图。8PSK调制通过改变载波相位传递信息,具有高频谱效率和抗干扰能力。开发板使用及程序移植方法详见配套视频和文档。
21 7
|
12天前
|
数据采集 算法 测试技术
【硬件测试】基于FPGA的QPSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的QPSK调制解调系统的硬件实现与仿真效果。系统包含测试平台(testbench)、高斯信道模块、误码率统计模块,支持不同SNR设置,并增加了ILA在线数据采集和VIO在线SNR设置功能。通过硬件测试验证了系统在不同信噪比下的性能,提供了详细的模块原理及Verilog代码示例。开发板使用说明和移植方法也一并给出,确保用户能顺利在不同平台上复现该系统。
51 15
|
20天前
|
数据采集 算法 数据安全/隐私保护
【硬件测试】基于FPGA的2FSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模块,可设置SNR
本文介绍了基于FPGA的2FSK调制解调系统,包含高斯信道、误码率统计模块及testbench。系统增加了ILA在线数据采集和VIO在线SNR设置模块,支持不同SNR下的硬件测试,并提供操作视频指导。理论部分涵盖频移键控(FSK)原理,包括相位连续与不连续FSK信号的特点及功率谱密度特性。Verilog代码实现了FSK调制解调的核心功能,支持在不同开发板上移植。硬件测试结果展示了不同SNR下的性能表现。
64 6
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
41 1
|
3月前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
191 34
|
2月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
113 3
|
2月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
21天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
77 11
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
71 3
下一篇
开通oss服务