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

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 更侧重于跨平台、跨语言的通用网络服务交互,适用范围更广但开发相对复杂,需处理不同语言间数据格式转换等问题。

相关文章:

  • 数字智慧方案5868丨智慧建造总体策划方案(68页PPT)(文末有下载方式)
  • 组件通信-<slot>
  • smss源代码分析之smss!SmpLoadSubSystemsForMuSession函数分析加载csrss.exe
  • yolov5 本地训练
  • Gradio全解20——Streaming:流式传输的多媒体应用(3)——实时语音识别技术
  • HBM的哪些事
  • 当LLM遇上Agent:AI三大流派的“复仇者联盟”
  • Linux操作系统系统编程:x86-64架构下的系统调用
  • Nature子刊:大脑如何灵活处理多元数字信息
  • Laravel 12 实现 API 登录令牌认证
  • 博弈论思维——AI与思维模型【90】
  • 书生实战营之沐曦专场
  • OceanBase租户扩缩容的三种方法
  • 2505C++,wmi客户端示例
  • 微软发布了最新的开源推理模型套件“Phi-4-Reasoning
  • C++ 项目中的多语言字符串管理方案(支持自动提示与动态加载)
  • 逻辑回归的多分类实战:以鸢尾花数据集为例
  • 【源码+文档+调试讲解】儿童图书推荐系统81
  • 论文笔记(八十三)STACKGEN: Generating Stable Structures from Silhouettes via Diffusion
  • C++负载均衡远程调用学习之QPS性能测试
  • 习近平给谢依特小学戍边支教西部计划志愿者服务队队员回信
  • 全国铁路昨日发送2311.9万人次,同比增长11.7%创历史新高
  • 国内锂矿“双雄”开局业绩PK:从巨亏中崛起,或深陷泥淖谋求多元转型
  • 李在明回应韩国大法院判决:与自己所想截然不同,将顺从民意
  • 城市更新·简报│中央财政支持城市更新,倾斜超大特大城市
  • 日本希望再次租借大熊猫,外交部:双方就相关合作保持密切沟通