为什么在运行使用DSC部署Modbus主站/从站的VI后,我的COM或TCP / IP端口变成了永久保留?



主要软件: LabVIEW Modules>>LabVIEW DSC Module
主要软件版本: 2016
主要软件修正版本: N/A
次要软件: N/A

问题: 我使用LabVIEW数据记录和监视控制(DSC)模块来创建使用特定COM端口或TCP / IP端口的Modbus主站或从站。在运行我的VI或部署包含I / O服务器的库后,串行/网络端口似乎总是忙,并且不被释放。我试着停止我的VI,并重新启动我的电脑,但他们仍然没有释放。这是预期的行为吗?如何释放端口?

解答:

使用LabVIEW DSC模块创建的I / O服务器依赖于共享变量引擎(SVE)。一旦在计算机上部署共享变量,它们将保留部署在内存中,除非您手动取消部署它们,关闭SVE服务或使用分布式系统管理器或相同的LabVIEW项目删除变量。

如果要确保在完成VI的执行后释放端口,可以执行以下任一步骤:
1. 右键单击项目中包含I / O服务器的库,然后选择取消部署


2. 使用NI分布式系统管理器,右键单击相关进程的库并选择停止进程,停止与该库相关的进程:

3. 如果要确保在完成VI的执行后释放端口,则可以使用Undeploy Libraries VI以编程方式来实现。

4. 关闭共享变量引擎服务。操作方法为:选择开始»控制面板»系统和安全»管理工具»服务,然后右键单击NI Variable Engine并选择停止

对于解决方案1,2和3,再次运行VI将自动重新部署库。要从解决方案4恢复,您将必须重新启动NI Variable Engine服务。



相关链接: White Paper: How LabVIEW Uses I/O Servers
Tutorial: Connect LabVIEW to Any PLC With Modbus
KB 3UCBHM8T: How Do I Deploy Network Shared Variables from a Compiled Executable?
LabVIEW Help: Undeploy Libraries VI

附件:





报告日期: 10/17/2016
最近更新: 01/24/2017
文档编号: 7EGD66A3