基于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。
-
在LabVIEW中新建一个空白VI,进入框图。
-
右键打开功能面板,选择Connectivity->.NET->Constructor Node。
-
放置Constructor Node后,LabVIEW会弹出选择.NET构造器的对话框。
-
指向BeamGage安装目录并选择
Spiricon.Automation.dll
程序集。 -
使用
Spiricon.BeamGage.Automation.dll
中的AutomatedBeamGage
对象创建.NET构造器节点。
注意:
-
默认构造器无需参数,将以"AutomationClient"为默认实例名启动BeamGage,且显示GUI。
-
如果需要自定义实例名或禁用GUI,可以使用
AutomationLabViewInjector
类并传递两个参数:实例名(字符串)和GUI显示选项(布尔值)。
关闭自动化服务端需通过客户端完成。使用IAutomationInstance
接口关闭服务端。以下是获取该接口并关闭服务端的LabVIEW代码片段:
控制BeamGage接口(LabVIEW)
以下示例展示如何通过自动化客户端调用BeamGage的Ultracal功能。
-
在LabVIEW的框图中创建事件结构并包裹在循环中。
-
在Ultracal事件中,获取
IACalibration
接口并调用其功能。 -
如果调用失败,会显示对话框,同时释放
IACalibration
对象,但程序继续执行直到停止事件被触发。
事件注册(LabVIEW)
大多数情况下,BeamGage数据的提取依赖于新帧数据的可用性。以下是注册事件的步骤:
-
构建
AutomationFrameEvents
对象,并传递所需的IAFrame
接口(如FramePriorityFrame
或ResultsPriorityFrame
)。 -
使用
Reg Event Callback
元素为OnNewFrame
事件注册回调VI。 -
创建并连接回调VI以响应新帧事件。
提取BeamGage结果(LabVIEW)
以下示例展示如何在回调VI中提取计算结果。
-
在回调函数中,获取所需的数据并将工作推送到其他线程以避免阻塞BeamGage。
-
关闭
IAResultsPowerEnergy
接口的引用,确保资源被及时释放。
提取BeamGage数据(LabVIEW)
以下示例展示如何在回调VI中提取帧数据:
-
使用
ResultsPriorityFrame
接口获取帧数据。-
DoubleData
属性:以摄像头的原始位深度显示数据,适合导出或显示。 -
FrameData
属性:以32位格式存储数据,适合进一步计算。
-
-
获取
SpatialResults
接口中的PeakLocationX
和PeakLocationY
数据,以及FrameInfoResults
中的宽度和高度结果。 -
在主框图中,将数据与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允许自定义可执行程序的运行方式。可通过以下方式实现: 在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件(例如: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数据,对解析后的html组件进行渲染展示。 npm install xlsx 二、完整代码 <template><!-- excel文件预览 --><divelement-loading-text"拼命加载中"element-loading-spinner"el-icon-loading"…...
STM32 和 ESP32
STM32 和 ESP32 是两种不同的微控制器系列,它们分别由不同的制造商生产,并且针对的应用场景和特性也有所不同。尽管如此,两者也有一些共通点,因为它们都是用于嵌入式系统开发的微控制器平台。以下是关于 STM32 和 ESP32 的联系与区…...

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

QML学习(六) anchors锚点和坐标,以及anchors锚点的使用
先来看看上一篇文章中的代码和效果 上一篇中讲到,第一个QML程序虽然做出来了,但程序界面里边元素的显示位置跟预想的不一样,这其实就是整体上对QML中的坐标使用存在问题。 改成这样,全以锚点来控制各个元素的坐标 import QtQuic…...
BFS广度优先搜索详解
对于BFS的,我来谈一谈自己的理解。首先,我们从一道最基础的题来进行学习: 洛谷B3625 迷宫寻路(仔细阅读哦,我就不解释了) B3625 迷宫寻路 - 洛谷 | 计算机科学教育新生态 对于这道题以及所有的BFS题目的核心&#x…...
vue项目利用webpack进行优化案例
使用 Webpack 优化 Vue 项目是提升性能和减少打包体积的关键步骤。以下是几个常见的优化案例及其详细实现方法: 1. 优化打包大小 1.1 按需加载 (Lazy Loading) Vue 提供了路由懒加载功能,可以将组件拆分成独立的块,按需加载,从而…...

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

组网实训实现
小型单元网络实现 IP划分: 外网:172.1.1.0/24 172.1.2.0/24 内网:基于192.168.3.0/24的子网划分 综合办公楼:192.168.3.00 000000 /26(192.168.3.0-192.168.3.63) 综合一楼: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使用存储过程
本文介绍什么是存储过程,为什么要使用存储过程,如何使用存储过程,以及创建和使用存储过程的基本语法。 1. 存储过程 迄今为止,我们使用的大多数SQL语句都是针对一个或多个表的单条语句。并非所有操作都这么简单,经常…...

C语言----函数、指针、数组
目录 编辑 指针函数 本质 格式: 函数指针 1、 概念 2、 格式 3、 举例 3.1基本用法 3.2函数指针作为函数参数的用法(回调函数) 函数指针数组 1. 概念 2. 格式 3. 例子 指针函数 本质 是函数,返回值为指针 格式: 数据类型…...

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

12306分流抢票软件 bypass v1.16.43 绿色版(春节自动抢票工具)
软件介绍 12306Bypass分流抢票软件,易操作强大的12306抢票软件,全程自动抢票,云识别验证码打码,多线程秒单、稳定捡漏,支持抢候补票、抢到票自动付款,支持多天、多车次、多席别、多乘客、短信提醒等功能。…...

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

小试牛刀-SpringBoot集成SOL链
目录 一、什么是solanaj? 二、Pom依赖 三、主要类 3.1 RpcClient 3.2 PublicKey 3.3 Transaction 3.4 TransactionInstruction 四、示例代码 Welcome to Code Blocks blog 本篇文章主要介绍了 [小试牛刀-SpringBoot集成SOL链] ❤博主广交技术好友,喜欢文章的…...
批量插入报错: 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)跳转
总结: (1)VSCode初次远程连接服务器时,需要在服务器上下载 python 拓展,然后选择对应的环境 (2)VSCode设置ctrl或altmouse(left)跳转到定义...

Crosslink-NX应用连载(12):如何复用特殊功能管脚
作者:Hello,Panda 大家早上好。 昨天有朋友私信我,如何复用Crosslink-NX的特殊功能引脚如PROGRAMN、DONE、INITN诸如这些。熊猫君在这里简单介绍下: 以LIFCL-33U-8CTG104C为例,我们建立一个简单的指示灯LED周期闪烁的工程&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Docker拉取MySQL后数据库连接失败的解决方案
在使用Docker部署MySQL时,拉取并启动容器后,有时可能会遇到数据库连接失败的问题。这种问题可能由多种原因导致,包括配置错误、网络设置问题、权限问题等。本文将分析可能的原因,并提供解决方案。 一、确认MySQL容器的运行状态 …...
二维FDTD算法仿真
二维FDTD算法仿真,并带完全匹配层,输入波形为高斯波、平面波 FDTD_二维/FDTD.zip , 6075 FDTD_二维/FDTD_31.m , 1029 FDTD_二维/FDTD_32.m , 2806 FDTD_二维/FDTD_33.m , 3782 FDTD_二维/FDTD_34.m , 4182 FDTD_二维/FDTD_35.m , 4793...
大数据治理的常见方式
大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法,以下是几种常见的治理方式: 1. 数据质量管理 核心方法: 数据校验:建立数据校验规则(格式、范围、一致性等)数据清洗&…...
Django RBAC项目后端实战 - 03 DRF权限控制实现
项目背景 在上一篇文章中,我们完成了JWT认证系统的集成。本篇文章将实现基于Redis的RBAC权限控制系统,为系统提供细粒度的权限控制。 开发目标 实现基于Redis的权限缓存机制开发DRF权限控制类实现权限管理API配置权限白名单 前置配置 在开始开发权限…...