LabVIEW 中VI Server导出 VI 配置

该 LabVIEW VI 展示了在 VI Server 中配置和执行 Exported VIs 的过程,实现对服务器端导出 VI 的远程调用与操作。

具体过程及模块说明
  1. 前期配置:需确保在 LabVIEW 的 “Tools> Options > VI Server > Protocols” 路径下,启用 TCP/IP 协议,并将端口设置为 “3363”。这是 VI Server 通过 TCP/IP 进行连接通信的基础,借助 “Open Application Reference function” 在该端口打开到本地机器(若连接远程机器需指定机器名及对应端口 )的引用,获取 “Server Machine App Reference” ,建立客户端与服务器端的联系。

  2. 运行 VI:启动该 VI 后,服务器端的 VI 会打开。左侧 “Populate the front panel listbox” 模块用 “Helper - Export - Sine.vi”“Helper - Export - Square.vi”“Helper - Export - Triangle.vi” 等导出 VI 的 ItemNames 填充前面板列表框,并通过调用 Val (Sgnl) 属性触发列表框的 “Value Changed” 事件 。这些列出的 VI 是可导出并远程调用的虚拟仪器,各自具备特定功能。

  3. 选择与查看输出:当在前面板列表框中选择不同导出 VI 时,会触发 “Monitor User Interface Events” 模块监测的 “Exported VI: Value Change” 事件。此时,“Close the exported VI reference and populate” 操作会关闭存储在移位寄存器中的导出 VI 引用,并根据新选择重新填充 。在这之前,“Open the front panel of the server VI” 会先打开服务器端 VI 前面板,接着 “Set the value of the VIs to Export control” 设置要导出 VI 的相关控制值,然后 “Run the server VI” 运行服务器端 VI,运行后的输出结果会在 Data graph 中显示。运行 VI 方法后的延迟是为给服务器端 VI 时间打开对所有导出 VI 的引用。同时,“Ignore the error output of the Close Reference function” 模块忽略 Close Reference 函数的错误输出,防止首次执行事件分支时因无效返回值报错。

  4. 停止 VI:完成操作后,点击 “Stop” 按钮停止当前 VI 的运行,结束客户端操作流程。

  5. 停止服务器:在服务器端的 VI 中点击 “Stop Server” 按钮,停止服务器运行,“Close the exported VI reference and the server machine app reference” 模块会关闭导出 VI 引用以及服务器机器应用程序引用,释放相关资源。

优点与特点
  • 灵活性高:用户可按需从列表框选择不同的 Exported VI,获取多样输出结果,满足多样化测试和应用需求。

  • 远程控制便利:借助 VI Server,可在本地或远程对服务器端 VI 进行操作,无需在服务器端现场操作,提高便捷性和效率。

  • 可视化展示:通过 Data graph 直观展示输出,便于快速理解和分析导出 VI 运行情况,降低调试难度。

  • 资源管理合理:通过一系列对引用的关闭操作,有效避免资源占用冲突和资源泄漏问题。

使用范围与应用场合
  • 工业自动化测试:在自动化生产线中,可远程调用不同的测试 VI,对设备性能、产品质量等进行检测,减少人工现场操作工作量和出错概率。

  • 远程数据采集与分析:在环境监测、科研实验等场景中,可远程调用数据采集和分析 VI,实时获取和处理数据,便于及时决策和调整。

  • 大型系统集成:在复杂的自动化测试系统或监控系统中,将多个功能各异的导出 VI 组合起来,完成特定流程或任务。

类似应用对比

与基于网络服务的远程调用应用(如通过 RESTful API 进行 Web 服务调用 )类似。但 LabVIEW 的 VI Server 针对 LabVIEW 开发环境深度定制,在数据类型转换、与 LabVIEW 内部功能集成方面更具优势,开发过程相对简单,适合 LabVIEW 开发者快速搭建基于图形化编程的远程控制与交互系统;而 RESTful API 更侧重于跨平台、跨语言的通用网络服务交互,适用范围更广但开发相对复杂,需处理不同语言间数据格式转换等问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/78429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读:2024 ACM SIGSAC Membership inference attacks against in-context learning

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Membership inference attacks against in-context learning https://arxiv.org/pdf/2409.01380 https://www.doubao.com/chat/4030440311895554 速览 这篇论文主要研究了…

从 Python 基础到 Django 实战 —— 数据类型驱动的 Web 开发之旅

主题简介: 本主题以 Python 基础数据类型为核心,结合 Django 框架的开发流程,系统讲解如何通过掌握数字、字符串、列表、元组、字典等基础类型,快速构建功能完善的 Web 应用。通过理论与实践结合,帮助学员从零基础 Py…

软考 系统架构设计师系列知识点之杂项集萃(53)

接前一篇文章:软考 系统架构设计师系列知识点之杂项集萃(52) 第85题 在静态测试中,主要是对程序代码进行静态分析。“数据初始化、赋值或引用过程中的异常”属于静态分析中的()。 A. 控制流分析 B. 数据…

Raycaster光线投射

Raycaster光线投射 3D虚拟工厂在线体验 描述 光线投射Raycaster,用于进行raycasting(光线投射)。 光线投射用于进行鼠标拾取(在三维空间中计算出鼠标移过了什么物体)。 构造器 Raycaster( origin : Vector3, dire…

初识Linux —— git三板斧

版本控制器git 为了我们方便管理不同版本的文件,就有了版本控制器; 所谓的版本控制器,就是能够了解到一个文件的历史记录(修改记录);简单来说就是记录每一次的改动和版本迭代的一个管理系统,同…

用哈希表封装出unordered_set/_map

前提: ①:本博客是对哈希表(开散列)进行封装,因为闭散列不优秀(与库保持一致) ②:哈希表封装出unordered_set/_map和红黑树封装出ste/map是大同小异的,可以先看下:用红黑树封装出set和map -CSDN博客 ③&…

情绪ABC——AI与思维模型【93】

一、定义 情绪ABC思维模型是一种心理学上的理论,它认为人们的情绪和行为反应(C,Consequence)并非直接由激发事件(A,Activating event)引起,而是由个体对激发事件的认知和评价所产生…

Unity URP RenderTexture优化(二):深度图优化

目录 前言: 一、定位深度信息 1.1:k_DepthStencilFormat 1.2:k_DepthBufferBits 1.3:_CameraDepthTexture精度与大小 1.4:_CameraDepthAttachment数量 二、全代码 前言: 在上一篇文章:Un…

【力扣刷题记录】hot100错题本(一)

1. 简单题 我的答案:时间复杂度过高:O(N^3) class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for num in nums:if (target - num) in nums:#多余for i in range(len(nums)):if nums[i] num :for j in range(i1,len(nu…

线程池的线程数配置策略

目录 1. CPU密集型任务 2. IO密集型任务 3. 混合型任务 1. CPU密集型任务 特点:任务主要消耗CPU资源(如计算、加密、压缩)。 推荐线程数: 线程数 ≈ 物理核心数 1 / CPU - 1(不知道哪个√) 例如&#…

基于开源链动2+1模式AI智能名片S2B2C商城小程序的爆品力构建研究

摘要:在兴趣电商生态中,爆品力已成为品牌实现指数级增长的核心竞争力。本文以开源链动21模式AI智能名片S2B2C商城小程序为技术载体,结合抖音平台的内容传播特性,提出“需求挖掘-技术赋能-内容转化”三位一体的爆品力构建模型。通过…

photoshop学习笔记2

第一章 第01节-界面的重要性(学习方法) 第02节-文件的打开新建及储存 第03节-移动工具(图层概念) 学习目标: 1.了解图层概念 2.认识工具属性 3.掌握工具使用 图层的概念 移动工具 移动工具就是用来移动图层内容的。是否可以用来移动组…

operator 可以根据需要重载 == 运算符进行比较

要将 vector<AppInfo> 类型的 A 和 B 两个容器进行比较&#xff0c;并且当 B 中有 A 中没有的元素时&#xff0c;插入到数据库中&#xff0c;你可以通过以下步骤实现&#xff1a; 比较元素&#xff1a;遍历 vector<B>&#xff0c;检查每个元素是否在 vector<A&…

Three.js在vue中的使用(二)-加载、控制

在 Vue 中使用 Three.js 加载模型、控制视角、添加点击事件是构建 3D 场景的常见需求。下面是一个完整的示例&#xff0c;演示如何在 Vue 单文件组件中实现以下功能&#xff1a; 使用 GLTFLoader 加载 .glb/.gltf 模型添加 OrbitControls 控制视角&#xff08;旋转、缩放、平移…

软件架构之旅(6):浅析ATAM 在软件技术架构评估中的应用

文章目录 一、引言1.1 研究背景1.2 研究目的与意义 二、ATAM 的理论基础2.1 ATAM 的定义与核心思想2.2 ATAM 涉及的质量属性2.3 ATAM 与其他架构评估方法的关系 三、ATAM 的评估流程3.1 准备阶段3.2 场景和需求收集阶段3.3 架构描述阶段3.4 评估阶段3.5 结果报告阶段 四、ATAM …

vue-chat 开源即时聊天系统web本地运行方法

官方文档 https://gitcode.com/gh_mirrors/vuechat7/vue-chat.git npm install 可能需要用 npm 下载两个包 "viewerjs": "^1.9.0", "vue-hot-reload-api": "^2.3.4", src\constant\index.js 改下面两行 export const LOGIN_API …

Rust与C/C++互操作实战指南

目录 1.前言2.动态库调用2.1 动态加载2.2 静态加载3.代码调用4.静态库调用1.前言 本文原文为:Rust与C/C++互操作实战指南 由于rust诞生时间太短,目前生态不够完善,因此大量的功能库都需要依赖于C、C++语言的历史积累。 而本文将要介绍的便是如何实现rust与c乃至c++之间实…

ppt设计美化公司_杰青_长江学者_优青_青年长江学者_万人计划青年拔尖人才答辩ppt模板

WordinPPT / 持续为双一流高校、科研院所、企业等提供PPT制作系统服务。 / 近期PPT美化案例 - 院士增选、科学技术奖、杰青、长江学者特聘教授、校企联聘长江、重点研发、优青、青长、青拔.. 杰青&#xff08;杰出青年科学基金&#xff09; 支持已取得突出成果的45岁以下学…

修复笔记:SkyReels-V2 项目中的 torch.load 警告

#工作记录 一、问题描述 在运行项目时&#xff0c;出现以下警告&#xff1a; FutureWarning: You are using torch.load with weights_onlyFalse (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pic…