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

相关文章

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

windows系统上如何进行maven安装和配置方式

《windows系统上如何进行maven安装和配置方式》:本文主要介绍windows系统上如何进行maven安装和配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. Maven 简介2. maven的下载与安装2.1 下载 Maven2.2 Maven安装2.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y