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

相关文章

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估

MySQL进行分片合并的实现步骤

《MySQL进行分片合并的实现步骤》分片合并是指在分布式数据库系统中,将不同分片上的查询结果进行整合,以获得完整的查询结果,下面就来具体介绍一下,感兴趣的可以了解一下... 目录环境准备项目依赖数据源配置分片上下文分片查询和合并代码实现1. 查询单条记录2. 跨分片查询和合并测试结论分片合并(Shardin

SpringBoot结合Knife4j进行API分组授权管理配置详解

《SpringBoot结合Knife4j进行API分组授权管理配置详解》在现代的微服务架构中,API文档和授权管理是不可或缺的一部分,本文将介绍如何在SpringBoot应用中集成Knife4j,并进... 目录环境准备配置 Swagger配置 Swagger OpenAPI自定义 Swagger UI 底

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监