Labview控制APx(Audio Precision)进行测试测量(五)
驱动程序 VIs如何处理配置设置中的单元
APx500 应用程序具有复杂的控件,具有以下功能:
数值和单位组合在一个控制中(例如,1.000 Vrms )
•值转换为 SI 格式(例如,1.000 mVrms 或 1.000 μVrms)
•单位之间的转换发生在控制(例如,Vrms, Vp, Vp-p, dBV 等)
在 APx LabVIEW . net Driver vi 中,用于设置测量配置的控件通过使用带有单位控件的数字控件
来处理此问题。因此,如图 30 所示,要将模拟发生器设置为 100 mVrms,则需要将 analog Level 控件设置为 100m,并将 analog 单位控件设置为 Vrms。要将模拟发生器电平设置为-20 dBV,您可以将模拟电平控制设置为-20.0,模拟电平单位控制设置为 dBV。请注意,LabVIEW 控件确实支持使用 SI 格式(100m = 0.100, 10.0k = 10,000,等等)。

图 30
对于 APx 返回的结果,单位的处理方式不同。这将在本文档后面的访问测量结果一节中讨论。
改变测量设置-一个简单的例子
现在我们已经涵盖了单位,我们准备使用 My APx ProgramVI 来配置电平和增益测量设置。当电平和增益配置集群控制添加到 VI 时,它具有电平和增益测量首次添加到 APx 项目时所具有的默认设置。打开 APx500 应用程序,并确保输出配置中的连接器设置为模拟不平衡(图 31)。

图 31
接下来,在一些 My APx ProgramVI 的前面板上更改电平和增益配置集群中的一些控件的值,
例如,将模拟电平更改为 200m,频率更改为 2.0k,取消勾选 Generator Chs 启用控件的一些复选框,并将低通滤波器从 None 更改为 20khz(图 32)。现在运行 VI。APx 电平和增益测量中的相应设置将被改变,测量将运行。

图 32
改 变测量设置——一个更好的例子
上面的简单示例可以工作,但它有一个缺点,即它会将所 有 电平和增益发生器以及信号采集设置更改为 LabVIEW 集群控件中的值。这并不是大多数用户想要与 APx 交互的方式;大多数用户只希望改变一两个设置——例如发电机级别或发电机频率。为了实现这一点,LabVIEW VI 必须从APx 读取当前状态,然后允许用户更改一两个所需的设置。测量配置 VIs 的设计就是考虑到这一点。要了解如何操作,让我们看一下 APx500 Config-Level & Gain GetSet AllVI 的上下文帮助(图
33)。

图 33
如图所示,这个 VI 有两个功能:它可以用于从 APx 获取配置设置,也可以用于设置它们。注意,
GetSet VI 总是在设置后从 APx500 应用程序读取设置。这确保了 APx500 应用程序的状态始终由
应用程序本身而不是由 LabVIEW 维护。这有助于防止混淆。
因此,让我们看看如何在 LabVIEW VI 中使用这些 Get 和 Set 函数。我们将修改我的 APx 程序
VI 使其具有交互性,以允许用户仅更改他们希望的特定控件。按照下面的步骤进行。

2.向前面板添加一个 Boolean 按钮控件,并将其标记为“更新 APx 设置”(图 35)。







完成后的 VI 前面板如图 42 所示。当您运行此 VI 时,它将从 APx 应用程序和获取当前的生成器和信号采集和分析设置
初始化 LabVIEW 电平和增益配置控件为这些值。然后,您可以更改 LabVIEW 控件中的各种设置,并通过单击更新 APx 设置按钮将设置传递给 APx。为了尝试它,在运行 VI 之前,更改 APx中的一些发电机设置,一旦你运行 VI,它将更新电平和增益配置控制到当前 APx 设置。接下来,更改 LabVIE W 中的一些设置,然后单击更新 APx 设置按钮,以更改 APx500 应用程序中的设置。最后,您可以单击 LabVIEW 中的运行测量按钮,使 APx500 应用程序运行电平与增益测量。

请注意,如果输出连接器是模拟类型之一(模拟不平衡或平衡),当您运行此 VI 时,它将数字电平控制设置为 0.00,其单位设置为 FS。此外,如果您更改数字电平控制并再次单击更新 APx 设置按钮,它再次将数字电平重置为 0.00,单位重置为 FS。这是因为数字电平设置在具有模拟输出的信号路径的上下文中没有意义。因此,你应该小心确保你正在使用的控制的上下文是正确的。例如,如果您从 LabVIE W 更改信号路径(将在本文档后面讨论),请确保在这样做之后获得测量配置设置。
相关文章:
Labview控制APx(Audio Precision)进行测试测量(五)
驱动程序 VIs如何处理配置设置中的单元 APx500 应用程序具有复杂的控件,具有以下功能: 数值和单位组合在一个控制中(例如,1.000 Vrms ) •值转换为 SI 格式(例如,1.000 mVrms 或 1.000 μVrms) •单位之间的转换发生在控制(例如,V…...
在单元测试中使用Jest模拟VS Code extension API
对VS Code extension进行单元测试时通常会遇到一个问题,代码中所使用的VS Code编辑器的功能都依赖于vscode库,但是我们在单元测试中并没有添加对vscode库的依赖,所以导致运行单元测试时出错。由于vscode库是作为第三方依赖被引入到我们的VS C…...
django boostrap html实现可拖拽的左右布局,鼠标拖动调整左右布局的大小或占比
一、实现的效果 最近需要在Django项目中,实现一个左右布局的html页面,页面框架使用的是boostrap。但这个布局不是简单的左右分栏布局,而是需要实现可以通过鼠标拖拽的方式动态调整左右两侧布局的大小和占比。效果大致如下: 一开始,页面分为左右两块布局: 鼠标放到中间的…...
谈谈闭包和闭包使用场景
一、什么是闭包 概念:闭包还是作用域的一种特殊应用 二、触发闭包的情况 1.函数当做返回值被返回 2.函数当做参数被传递 3.自执行匿名函数 //情况1:函数当做返回值被返回 function fn(){const a 1;return function(){console.log(a) //1}; } const a …...
MATLAB算法实战应用案例精讲-【图像处理】边界框锚框
目录 目标检测 应用场景 目标检测发展历程 常用数据集 边界框(bounding box)...
04什么场景要用到微服务
一句话导读 根据微服务的特点,可以总结为在构建复杂的、大型的、分布式的、高可用、高并发、高性能的应用时可以使用微服务架构。 目录 一句话导读 一、微服务适用场景 1.业务复杂,模块多且相对独立 2.团队多,管理隔离 3.应用规模大&#…...
.NET SqlSuger 简单介绍,超快开发数据库
文章目录 前言SqlSugar使用我的环境Nuget 安装新建连接串DB First 和 Code First使用增删改查 总结 前言 我之前介绍过EFCore 怎么使用Nuget快速创建数据库,我之后发现SqlSugar更快。这里简单再说一下SqlSugar如何使用 .NET Core 数据库DB First自动生成࿰…...
SpringBoot复习:(28)【前后端不分离】自定义View
一、自定义View package cn.edu.tju.view;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.stereotype.Comp…...
springcloud3 springcloud stream的学习以及案例(了解)
一 springcloud stream的作用 1.1 springcloud stream作用 stream屏蔽底层消息中间件的差异,降低切换成本,统一消息的编程模型。 stream中的消息通信模式遵循了“发布-订阅”模式。 1.2 Binder作用 通过定义绑定器Binder作为中间层,实现…...
Kotlin理解内置函数
目录 一 内置函数1.1 apply 函数1.2 let 函数1.3 run函数1.4 with函数1.5 also函数1.6 takeIf函数1.7 takeUnless函数1.8 总结 Kotlin内置函数包括:let、run、with、apply、also,这些函数都是在Any类中定义的扩展函数,所以任何对象都可以调用…...
手机app测试
一、安装、卸载、更新、运行 1.安装、卸载 应用是否可以正常安装(命令行安装;apk/ipa安装包安装)(有网,无网是否都正常)卸载过程中出现死机,断电,重启等意外的情况&…...
Centos部署Git
Centos部署Git 文章目录 Centos部署Git部署步骤初始化配置免登录 部署步骤 初始化 -- 安装git yum install git配置免登录 配置git下载代码时 每次都需要输入密码的事情 -- 生成 gitconfig 文件 git config --global credential.helper store -- 配置登录邮箱 git config …...
k8s 控制器
Kubernetes(K8S)是一种开源的容器编排平台,它可以自动化地管理容器化应用程序的部署、扩展和运行。K8S中的控制器是一种重要的组件,它可以确保应用程序的状态与期望的状态一致。在K8S中,有五种常见的控制器,…...
谷歌关闭跨域限制.(生成一个开发浏览器),Chrome关闭跨域
(一)、首先找到浏览器在电脑磁盘中的位置,并复制 (二)、复制一个浏览器的快捷方式到桌面(不影响正常浏览器) (三)、chrom鼠标右键属性,修改快捷方式的目标 (四)chrome.exe 后面添加 --disable-web-security --user-data-dir 复制的Chrome浏览…...
实践指南-前端性能提升 270% | 京东云技术团队
一、背景 当我们疲于开发一个接一个的需求时,很容易忘记去关注网站的性能,到了某一个节点,猛地发现,随着越来越多代码的堆积,网站变得越来越慢。 本文就是从这样的一个背景出发,着手优化网站的前端性能&a…...
8月11日上课内容 nginx的多实例和动静分离
多实例部署 在一台服务器上有多个tomcat的服务。 配置多实例之前,看单个实例是否访问正常。 1.安装好 jdk 2.安装 tomcat cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 cp -a /usr…...
腾讯云CVM服务器端口在安全组中打开!
腾讯云服务器CVM端口怎么开通?腾讯云服务器端口是通过配置安全组规则来开通的,腾讯云服务器网以开通80端口为例来详细说下腾讯云轻量应用服务器开启端口的方法,其他的端口的开通如8080、1433、443、3306、8888等端口也适用于此方法࿰…...
k8s、docker添加daemon.json添加“exec-opts“: [“native.cgroupdriver=systemd“]后无法启动的问题
考虑k8s下docker下载镜像太慢,修改了daemon.json,按照手册抄,添加 {"exec-opts": ["native.cgroupdriversystemd"],"registry-mirrors": ["https://kn0t2bca.mirror.aliyuncs.com"] }结果发现k8s起…...
React组件性能优化实践
React组件性能优化最佳实践 React组件性能优化的核心是减少渲染真实DOM节点的频率,减少 Virtual DOM比对的频率。 组件卸载前进行清理操作 在组件中为 window注册的全局事件,以及定时器,在组件卸载前要清理掉,防止组件卸载后继…...
SpringBoot复习:(29)静态资源的配置路径
WebMvcAutoConfiguration 首页处理:...
stm32G473的flash模式是单bank还是双bank?
今天突然有人stm32G473的flash模式是单bank还是双bank?由于时间太久,我真忘记了。搜搜发现,还真有人和我一样。见下面的链接:https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
