Labview控制APx(Audio Precision)进行测试测量(三)

2023-12-23 03:20

本文主要是介绍Labview控制APx(Audio Precision)进行测试测量(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

入门–第一个简单的APx LabVIEW VI


要创建一个简单的APx LabVIEW程序,打开一个新的VI,并将APx500 Open.vi的副本放在框图上。接下来,右键单击VI的Version Info output选项卡,并选择Create–Indicator,以创建版本信息指示器。最后,为了更好地测量,向图中添加一个简单的错误处理程序VI,并将其连接到APx500 Open VI的错误输出指示器。完成后,您的框图应该类似于Figure 15.
在这里插入图片描述
在这里插入图片描述
图15。控制APx分析仪的第一个简单VI的框图,以及前面板上的版本信息群集

这个简单的VI现在可以运行了。请注意,如果PC没有正确连接到已通电的APx500分析仪,APx500测量软件可以在演示模式下运行。事实上,如果从API(例如,使用LabVIEW)而不是从Windows加载APx应用程序,当仪器未连接时,软件会自动在演示模式下加载。演示模式模拟APx软件的几乎所有功能,但返回随机数据。幸运的是,所有的API调用在演示模式下正常运行,因此,控制APx分析仪的LabVIEW VIs可以在没有连接APx分析仪的情况下开发。

要运行这个简单的VI,请单击VI前面板上的白色运行箭头。几秒钟后(时间长短取决于PC速度和可用内存资源),APx应用程序将加载,并且版本信息将显示在前面板上的指示器2中。如上下文帮助中所述,如果APx应用程序在演示模式下运行,版本信息群集中的一些指示器会返回空值

使用APx500关闭VI


APx500 Close.vi关闭APx500测量软件并关闭。NET对APx API的引用。对于传统的LabVIEW仪器驱动程序,当VI完成其任务时,关闭任何驱动程序引用被认为是一种良好的做法。Figure 16显示了来自的简单VI的框图Figure 15添加了结束VI。
在这里插入图片描述
图16。APx500关闭VI添加到she简单VI。
APx LabVIEW。NET驱动程序不是传统的LabVIEW仪器驱动程序,因为运行APx500 Open VI而不运行Close VI不会打开APx500测量软件的额外实例。因此,将APx500 Close VI添加到每个VI没有任何优势。事实上,每次VI结束运行时关闭应用程序可能是一个缺点,因为重新打开应用程序需要时间。我们不建议将APx500 Close VI添加到每个顶级VI中。

上述策略的唯一潜在缺点是,当您使用LabVIEW完成APx500应用程序时,它的UI是不可见的。在这种情况下,如果在LabVIEW程序中没有使用APx500 Close VI,APx500应用程序将在用户不知情的情况下保留在内存中,因为UI窗口是不可见的。如果您担心这一点,您应该将APx500 Close VI添加到您的APx VIs中。然而,在我们看来,每次运行VI时都必须重新打开APx500应用程序的不便远远超过应用程序偶尔保持运行和不可见的缺点。

在APx项目中运行测量


接下来,我们将看看如何在LabVIEW中运行APx测量。首先保存上面创建的简单VI。在下面的示例中,VI以My APx Program.vi的名称保存。按照下面的步骤创建一个简单的LabVIEW程序,在APx分析仪上运行电平和增益测量。
1.从框图中删除所有子VI,APx500 Open VI和简单错误处理程序除外
在这里插入图片描述
2.将APx500实用程序–字符串添加到信号路径和测量VI,将APx500执行测量VI添加到图表,并如图所示进行连接。
在这里插入图片描述
3. 右键单击实用程序的适当输入–信号路径和测量VI的字符串,并为信号路径和测量名称字符串创建控件。
4. 右键单击执行测量VI的测量完成输出,并创建一个指示器。
在这里插入图片描述
5.如图所示,在VI前面板上的相应字符串控件中输入名称“Signal Path1”和“Level and Gain”。
在这里插入图片描述
6.打开APx500应用程序(如果尚未打开)。如果它已打开,请使用默认模板启动一个新项目。这将确保项目中存在名为“信号路径1”的信号路径,并且该信号路径中存在名为“电平和增益”的测量。它还将确保选中“报告”复选框。
在这里插入图片描述
7.单击运行箭头运行VI。这将导致APx500应用程序完成电平和增益测量,并创建一份报告。完成后,电平和增益测量的均方根结果将在APx应用程序中突出显示。在VI的前面板上,测量完成LED现在应该是绿色而不是灰色。
在这里插入图片描述
上面的简单程序说明了如何从LabVIEW中运行APx测量。执行测量VI使用APx序列器来运行测量。这相当于在APx Navigator中选中测量的复选框,然后右键单击测量并选择运行测量(Figure 17).通过序列发生器运行测量优于简单地打开发生器并读取瞬时数据,因为序列发生器方法返回固定的读数。

在这里插入图片描述

请注意,指定信号路径和测量名称是一个关键步骤。这精确地告诉APx API我们的LabVIEW程序想要与APx中的哪个测量进行交互。正确指定这两项,并且它们存在于项目中是非常重要的。
否则,API将生成一个错误。要查看实际效果,请将LabVIEW前面板上的信号路径控件中的字符串从“信号路径1”更改为“信号路径2”,然后再次运行VI。这一次,它将生成如中所示的错误消息Figure 18.
在这里插入图片描述
图18
如果测量字符串控件中指定的测量名称与指定信号路径中的测量不匹配,也会生成相同的错误消息。因此,您必须确保APx项目中存在指定的信号路径名称,并且该信号路径中存在指定的测量名称。

错误处理


APx LabVIEW中的所有错误处理。NET驱动程序发生在APx API中。驱动程序集合中的LabVIEW VIs仅仅传递了LabVIEW错误集群。驱动程序集合中的每个VI都有一个错误控制和一个错误输出指示器。为了遵循推荐的编程最佳实践,您应该连接所有驱动程序VI的error in和error out终端,并在顶层VI中添加一个错误处理程序VI。

遗憾的是,LabVIEW在处理方面做得不是很好。净例外。如LabVIEW帮助系统和上所述核岛支持网站调用. NET对象或属性时引发的任何异常都被转换为LabVIEW错误1172。LabVIEW确实在错误信息中添加了更多的错误信息,但是如果您使用LabVIEW内置的简单错误处理程序VI,返回的错误信息会相当晦涩难懂(例如,参见中的错误信息)Figure 18).为了克服这个问题,一个叫做APx的接口。LastException是APx500 API的一部分。这个函数跟踪最后一个。NET异常由APx500应用程序抛出,使LabVIEW能够访问. NET中提供的相同的托管错误处理功能。

名为APx500 Utility-APx的VI简单错误处理程序使用APx。LastException接口,用于捕获LabVIEW的通用1172错误,并返回更有意义且易读的错误消息。该VI的功能在中描述Figure 19。要比较VI返回的错误信息和LabVIEW返回的错误信息,请比较Figure 18到Figure 20。
在这里插入图片描述
在这里插入图片描述
图20

这篇关于Labview控制APx(Audio Precision)进行测试测量(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/526528

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

LabVIEW FIFO详解

在LabVIEW的FPGA开发中,FIFO(先入先出队列)是常用的数据传输机制。通过配置FIFO的属性,工程师可以在FPGA和主机之间,或不同FPGA VIs之间进行高效的数据传输。根据具体需求,FIFO有多种类型与实现方式,包括目标范围内FIFO(Target-Scoped)、DMA FIFO以及点对点流(Peer-to-Peer)。 FIFO类型 **目标范围FIFO(Target-Sc

遮罩,在指定元素上进行遮罩

废话不多说,直接上代码: ps:依赖 jquer.js 1.首先,定义一个 Overlay.js  代码如下: /*遮罩 Overlay js 对象*/function Overlay(options){//{targetId:'',viewHtml:'',viewWidth:'',viewHeight:''}try{this.state=false;//遮罩状态 true 激活,f

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大