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

相关文章

Linux使用cut进行文本提取的操作方法

《Linux使用cut进行文本提取的操作方法》Linux中的cut命令是一个命令行实用程序,用于从文件或标准输入中提取文本行的部分,本文给大家介绍了Linux使用cut进行文本提取的操作方法,文中有详... 目录简介基础语法常用选项范围选择示例用法-f:字段选择-d:分隔符-c:字符选择-b:字节选择--c

SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程

《SpringBoot中整合RabbitMQ(测试+部署上线最新完整)的过程》本文详细介绍了如何在虚拟机和宝塔面板中安装RabbitMQ,并使用Java代码实现消息的发送和接收,通过异步通讯,可以优化... 目录一、RabbitMQ安装二、启动RabbitMQ三、javascript编写Java代码1、引入

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Python利用PIL进行图片压缩

《Python利用PIL进行图片压缩》有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所以本文为大家介绍了Python中图片压缩的方法,需要的可以参考下... 有时在发送一些文件如PPT、Word时,由于文件中的图片太大,导致文件也太大,无法发送,所有可以对文件中的图

如何使用Spring boot的@Transactional进行事务管理

《如何使用Springboot的@Transactional进行事务管理》这篇文章介绍了SpringBoot中使用@Transactional注解进行声明式事务管理的详细信息,包括基本用法、核心配置... 目录一、前置条件二、基本用法1. 在方法上添加注解2. 在类上添加注解三、核心配置参数1. 传播行为(