为什么LabVIEW DSC 无法连接到我的OPC服务器而服务器浏览器和DataSocket却可以?



主要软件:
主要软件版本: 8.2
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Base Development System

问题:

我创建了一个新的OPC I/O 服务器,它使用一个OPC服务器来从PLC中获取数据。在通过I/O服务器部署了库以后,我的共享变量返回一个名为8BBB0003(服务器故障)的错误,且没有任何数据返回。

使用 DataSocket 读取或写入OPC服务器均工作正常并且我还能够通过服务器浏览器正常连接到服务器,所以我认为OPC服务器工作是正常的。我该如何设置OPC服务器来与LabVIEW DSC模块正常通信和工作?

解答:

即使不使用一个远程的OPC服务器,I/O服务器也会通过DCOM来向OPC服务器发送指令。

DCOM用户校验机制可能会阻止那些未在服务器上注册的用户名。

当使用DSC作为一个OPC客户端时,NI共享变量引擎(SVE)是连接到OPC服务器的应用程序。SVE默认情况下是一个系统服务,作为本地system用户来记录并运行。

当服务的用户名为system时,通信可能被阻止。只要I/O服务器依旧被正常部署,那么它将继续尝试去连接OPC服务器并不断失败,而共享变量会返回服务器故障错误或无任何数据。为了解决该问题,改变以下任意一个设置。

 

改变OPC服务器的身份属性

  1. 控制面板» 管理工具» 组件服务中,打开组件服务管理器.
  2. 组件服务» 计算机 » 我的电脑» DCOM 配置 中浏览到OPC服务器
  3. 右键单击在 I/O Server 中使用的OPC服务器并选择属性 .  如果您正使用与FieldPoint 或Compact FieldPointIf 相关的OPC, 那么OPC 服务器为 FieldPoint OPC2.  (对于(c)FP 系统,不推荐使用绑定到OPC服务器。 请参考 Methods for Binding a Shared Variable to a FieldPoint Channel.)
  4. 在属性对话框中,选择身份标签, 并更改用户为The interactive user.
  5. 重启计算机来使新的DCOM设置生效。

为SVE服务更改

  1. 控制面板» 管理工具 » 服务下打开服务管理器.
  2. 右键单击National Instruments Variable Engine 服务并选择属性.
  3. 在属性对话框中, 选择登入 标签.
  4. 更改登入帐号为管理员, 之后点击OK.
  5. 重启SVE 服务以使上述更改生效。

注意: 该现象已知发生于Campbell Scientific OPC Servers 以及 Takebishi's DeviceXPlorer OPC Server中.



相关链接: KnowledgeBase 3T8E89L7: "Server Failure" Shared Variable Status When Using DSC 8.0 as a Remote OPC Client
KnowledgeBase 3UG7KQY3: Methods for Binding a Shared Variable to a FieldPoint Channel
Server Explorer 2.4.1 - Windows 2000/95/98/NT/XP

附件:





报告日期: 06/14/2007
最近更新: 09/29/2009
文档编号: 4AD9T3KO