当前位置: 首页 > news >正文

基于LabVIEW的BeamGage自动化接口应用

设置

National Instruments LabVIEW可执行程序需要被配置为使用.NET 4框架。.NET允许自定义可执行程序的运行方式。可通过以下方式实现:

在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件(例如:C:\Program Files\National Instruments\LabVIEW 2012\LabVIEW.exe.config)。使用文本编辑器(如记事本)编辑该文件,插入以下内容:

 

xml

<configuration><startupuseLegacyV2RuntimeActivationPolicy="true"><supportedRuntimeversion="v4.0.30319"/></startup></configuration>


启动与关闭(LabVIEW)

本示例基于LabVIEW 2013开发(可能需要根据您的环境进行调整)。示例假设您已经安装了BeamGage Professional。

  1. 在LabVIEW中新建一个空白VI,进入框图

  2. 右键打开功能面板,选择Connectivity->.NET->Constructor Node

  3. 放置Constructor Node后,LabVIEW会弹出选择.NET构造器的对话框。

  4. 指向BeamGage安装目录并选择Spiricon.Automation.dll程序集。

  5. 使用Spiricon.BeamGage.Automation.dll中的AutomatedBeamGage对象创建.NET构造器节点。

注意:

  • 默认构造器无需参数,将以"AutomationClient"为默认实例名启动BeamGage,且显示GUI。

  • 如果需要自定义实例名或禁用GUI,可以使用AutomationLabViewInjector类并传递两个参数:实例名(字符串)和GUI显示选项(布尔值)。

关闭自动化服务端需通过客户端完成。使用IAutomationInstance接口关闭服务端。以下是获取该接口并关闭服务端的LabVIEW代码片段:


控制BeamGage接口(LabVIEW)

以下示例展示如何通过自动化客户端调用BeamGage的Ultracal功能。

  1. 在LabVIEW的框图中创建事件结构并包裹在循环中。

  2. 在Ultracal事件中,获取IACalibration接口并调用其功能。

  3. 如果调用失败,会显示对话框,同时释放IACalibration对象,但程序继续执行直到停止事件被触发。


事件注册(LabVIEW)

大多数情况下,BeamGage数据的提取依赖于新帧数据的可用性。以下是注册事件的步骤:

  1. 构建AutomationFrameEvents对象,并传递所需的IAFrame接口(如FramePriorityFrameResultsPriorityFrame)。

  2. 使用Reg Event Callback元素为OnNewFrame事件注册回调VI。

  3. 创建并连接回调VI以响应新帧事件。


提取BeamGage结果(LabVIEW)

以下示例展示如何在回调VI中提取计算结果。

  • 在回调函数中,获取所需的数据并将工作推送到其他线程以避免阻塞BeamGage。

  • 关闭IAResultsPowerEnergy接口的引用,确保资源被及时释放。


提取BeamGage数据(LabVIEW)

以下示例展示如何在回调VI中提取帧数据:

  1. 使用ResultsPriorityFrame接口获取帧数据。

    • DoubleData属性:以摄像头的原始位深度显示数据,适合导出或显示。

    • FrameData属性:以32位格式存储数据,适合进一步计算。

  2. 获取SpatialResults接口中的PeakLocationXPeakLocationY数据,以及FrameInfoResults中的宽度和高度结果。

  3. 在主框图中,将数据与2D强度图和1D光束轮廓图相连接,并调整前面板以仿真BeamGage显示窗口。


部署

按照"设置"部分的说明,为客户端可执行程序创建.exe.config文件(例如,应用程序名为HelloWorld.exe时,配置文件名为HelloWorld.exe.config)。

注意:
LabVIEW应用程序生成器的技术限制要求应用程序文件(.exe和.exe.config)必须放置在BeamGage安装目录中。


生成于2024年2月20日,基于AutomationInterfaceAPI,使用Doxygen 1.8.18

相关文章:

基于LabVIEW的BeamGage自动化接口应用

设置 National Instruments LabVIEW可执行程序需要被配置为使用.NET 4框架。.NET允许自定义可执行程序的运行方式。可通过以下方式实现&#xff1a; 在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件&#xff08;例如&#xff1a;C:\Program Files\National Ins…...

【AI编辑器】Cursor与DeepSeek模型的集成:提升开发效率的新选择

目录 一、为什么选择DeepSeek模型 1.1 模型参数与训练 1.2 技术创新 1、FP8格式介绍 2、FP8混合精度训练的优势 3、FP8混合精度训练的技术要点 4、FP8混合精度训练的应用与挑战 1.3 性能表现 1.4 应用与部署 1.5 争议与前景 二、注册DeepSeek账号并获取API Key 三、…...

vue2实现excel文件预览

一、插件 通过xlsx插件解析excel数据&#xff0c;对解析后的html组件进行渲染展示。 npm install xlsx 二、完整代码 <template><!-- excel文件预览 --><divelement-loading-text"拼命加载中"element-loading-spinner"el-icon-loading"…...

STM32 和 ESP32

STM32 和 ESP32 是两种不同的微控制器系列&#xff0c;它们分别由不同的制造商生产&#xff0c;并且针对的应用场景和特性也有所不同。尽管如此&#xff0c;两者也有一些共通点&#xff0c;因为它们都是用于嵌入式系统开发的微控制器平台。以下是关于 STM32 和 ESP32 的联系与区…...

R语言中的时间序列分析·

1 数据集说明 AirPassengers 1949~1960年每月乘坐飞机的乘客数 JohnsonJohnson Johnson&Johnson每股季度收入 nhtemp 康涅狄格州纽黑文地区从1912年至1971年每年的平均气温 Nile 尼罗河的流量 sunspots 1749年~1983年月平均太阳黑子数 2 相关包 xts、forecast、tser…...

QML学习(六) anchors锚点和坐标,以及anchors锚点的使用

先来看看上一篇文章中的代码和效果 上一篇中讲到&#xff0c;第一个QML程序虽然做出来了&#xff0c;但程序界面里边元素的显示位置跟预想的不一样&#xff0c;这其实就是整体上对QML中的坐标使用存在问题。 改成这样&#xff0c;全以锚点来控制各个元素的坐标 import QtQuic…...

BFS广度优先搜索详解

对于BFS的&#xff0c;我来谈一谈自己的理解。首先&#xff0c;我们从一道最基础的题来进行学习: 洛谷B3625 迷宫寻路&#xff08;仔细阅读哦&#xff0c;我就不解释了&#xff09; B3625 迷宫寻路 - 洛谷 | 计算机科学教育新生态 对于这道题以及所有的BFS题目的核心&#x…...

vue项目利用webpack进行优化案例

使用 Webpack 优化 Vue 项目是提升性能和减少打包体积的关键步骤。以下是几个常见的优化案例及其详细实现方法&#xff1a; 1. 优化打包大小 1.1 按需加载 (Lazy Loading) Vue 提供了路由懒加载功能&#xff0c;可以将组件拆分成独立的块&#xff0c;按需加载&#xff0c;从而…...

如何单独安装 MATLAB 工具箱

很多时候由于 MATLAB 太大而选择安装一些 Toolbox&#xff0c;但用着用着发现要用到某个没有安装的 Toolbox&#xff0c;这时候就需要再单独安装这个 Toolbox&#xff0c;下面提供两种方法。 本文以安装 系统辨识工具箱 System Identification Toolbox 为例。 方法一&#xf…...

组网实训实现

小型单元网络实现 IP划分&#xff1a; 外网:172.1.1.0/24 172.1.2.0/24 内网&#xff1a;基于192.168.3.0/24的子网划分 综合办公楼&#xff1a;192.168.3.00 000000 /26&#xff08;192.168.3.0-192.168.3.63&#xff09; 综合一楼&#xff1a;192.168.3.0000 0000 /28&…...

openbmc sdk09.03 适配(一)

1.说明 本节是根据最新的sdk09.03适配ast2600平台。 sdk下载路径为: https://github.com/AspeedTech-BMC/openbmc可参阅文档: https://blog.csdn.net/wit_yuan/article/details/144613247nfs挂载方法: # mount -o nolock -t nfs serverip:/xx...

SQL使用存储过程

本文介绍什么是存储过程&#xff0c;为什么要使用存储过程&#xff0c;如何使用存储过程&#xff0c;以及创建和使用存储过程的基本语法。 1. 存储过程 迄今为止&#xff0c;我们使用的大多数SQL语句都是针对一个或多个表的单条语句。并非所有操作都这么简单&#xff0c;经常…...

C语言----函数、指针、数组

目录 ​编辑 指针函数 本质 格式&#xff1a; 函数指针 1、 概念 2、 格式 3、 举例 3.1基本用法 3.2函数指针作为函数参数的用法(回调函数) 函数指针数组 1. 概念 2. 格式 3. 例子 指针函数 本质 是函数&#xff0c;返回值为指针 格式&#xff1a; 数据类型…...

基于Java的敬老院管理系统的设计和实现【源码+文档+部署讲解】

基于Java的敬老院管理系统设计和实现 摘 要 新世纪以来,互联网与计算机技术的快速发展,我国也迈进网络化、集成化的信息大数据时代。对于大众而言,单机应用早已成为过去&#xff0c;传统模式早已满足不了当下办公生活等多种领域的需求,在一台电脑上不联网的软件少之又少&#x…...

12306分流抢票软件 bypass v1.16.43 绿色版(春节自动抢票工具)

软件介绍 12306Bypass分流抢票软件&#xff0c;易操作强大的12306抢票软件&#xff0c;全程自动抢票&#xff0c;云识别验证码打码&#xff0c;多线程秒单、稳定捡漏&#xff0c;支持抢候补票、抢到票自动付款&#xff0c;支持多天、多车次、多席别、多乘客、短信提醒等功能。…...

【数据仓库】hadoop3.3.6 安装配置

文章目录 概述下载解压安装伪分布式模式配置hdfs配置hadoop-env.shssh免密登录模式设置初始化HDFS启动hdfs配置yarn启动yarn 概述 该文档是基于hadoop3.2.2版本升级到hadoop3.3.6版本&#xff0c;所以有些配置&#xff0c;是可以不用做的&#xff0c;下面仅记录新增操作&#…...

小试牛刀-SpringBoot集成SOL链

目录 一、什么是solanaj? 二、Pom依赖 三、主要类 3.1 RpcClient 3.2 PublicKey 3.3 Transaction 3.4 TransactionInstruction 四、示例代码 Welcome to Code Blocks blog 本篇文章主要介绍了 [小试牛刀-SpringBoot集成SOL链] ❤博主广交技术好友&#xff0c;喜欢文章的…...

批量插入报错: No value specified for parameter

先上代码和xml文件: 错误: ### Cause: java.sql.SQLException: No value specified for parameter 9 ; bad SQL grammar []; nested exception is java.sql.SQLException: No value specified for parameter 9代码: List<HwcListingData> theList new ArrayList<&g…...

VSCode设置ctrl或alt+mouse(left)跳转

总结&#xff1a; &#xff08;1&#xff09;VSCode初次远程连接服务器时&#xff0c;需要在服务器上下载 python 拓展&#xff0c;然后选择对应的环境 &#xff08;2&#xff09;VSCode设置ctrl或altmouse(left)跳转到定义...

Crosslink-NX应用连载(12):如何复用特殊功能管脚

作者&#xff1a;Hello,Panda 大家早上好。 昨天有朋友私信我&#xff0c;如何复用Crosslink-NX的特殊功能引脚如PROGRAMN、DONE、INITN诸如这些。熊猫君在这里简单介绍下&#xff1a; 以LIFCL-33U-8CTG104C为例&#xff0c;我们建立一个简单的指示灯LED周期闪烁的工程&…...

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

安卓基础(aar)

重新设置java21的环境&#xff0c;临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的&#xff1a; MyApp/ ├── app/ …...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子&#xff1a; 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

Netty从入门到进阶(二)

二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架&#xff0c;用于…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...