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

http://www.xdnf.cn/news/253765.html

相关文章:

  • 深入理解 C++ 数据类型:从基础到高级应用
  • JDBC编程实战:从基础连接到高效连接池应用
  • 【五一培训】Day 2
  • 多模态大模型轻量化探索-开源SmolVLM模型架构、数据策略及其衍生物PDF解析模型SmolDocling
  • 工作记录 2017-12-12 + 在IIS下发布wordpress
  • 程序员转行酒店用品客户经理
  • 算法界的“达摩克利斯之剑”——NP完全性理论
  • C++ std::initializer_list 详解
  • 网工_UDP协议
  • NFS 快速开始
  • ppt设计美化公司_杰青_长江学者_优青_青年长江学者_万人计划青年拔尖人才答辩ppt模板
  • AE/PR插件 转场创建大师专业版 Transition Master Pro v2.0.2 Win+使用教程
  • tinycudann安装过程加ubuntu18.04gcc版本的升级(成功版!!!!)
  • 计算机网络01-网站数据传输过程
  • aws(学习笔记第四十课) image-content-search
  • [Linux]从零开始的STM32MP157 Buildroot根文件系统构建
  • 如何实现服务的自动扩缩容(Auto Scaling)
  • Kotlin Flow流
  • GZIPInputStream 类详解
  • Linux_sudo命令的使用与机制
  • 5.2刷题
  • libevent库详解:高性能异步IO的利器
  • python 常用web开发框架及使用示例
  • Python 在世界地图上加气泡图
  • 【多线程】六、基于阻塞队列的生产者消费者模型
  • react js 查看字体效果
  • MySQL 中的游标(Cursor)
  • NV162NV172美光固态颗粒NV175NV188
  • SpringBoot癌症患者交流平台设计开发
  • Flutter AppBar 详解