OPC-DA Client 驱动程序故障排除
对于 OPC-DA Client 驱动程序故障排除,以下章节列出了常见任务、问题及其解决方案。

节点中可用的特性和功能由节点中安装的许可证控制。
要验证是否已安装 OPC-DA Client 驱动程序许可证:
- 在工作台左窗格中,展开您要检查其许可证的节点,然后选择 Administration(账户管理)图标。
- 从 Administration(账户管理)窗口中,选择 Licenses(许可证)选项卡。
- 选择合适的许可证。选项卡中将显示许可证的详细信息。
- 查看 Features(功能)字段以识别设备驱动程序。
如果看不到正确的许可证,或者许可证已过期,则必须从许可证密钥提供者处申请许可证。
有关如何安装许可证的信息,请参阅 System Administration(系统管理)> Licenses(许可证)。

OPC-DA Client 驱动程序不属于此节点的安装内容。OPC-DA Client 驱动程序作为独立程序包安装,与基本产品安装分开进行。
您使用的可能是不同级别的节点,每个节点都为设备提供不同级别的支持。确保该节点支持 OPC-DA Client 驱动程序。
有关如何添加 OPC-DA Client 驱动程序包的信息,请参阅 System Administration(系统管理)> Packages(程序包)。

确保要与之通信的 OPC-DA Server 位于安装 devcieWISE 的同一台计算机上。
如果 OPC-DA Client 在启动节点上挂起,则它所指向的 OPC-DA Server 可能尚未启动。检查 OPC-DA Server 是否已停止,如果已停止,则启动服务器。您可能还会发现服务器不再安装在 Windows 系统上,在这种情况下,OPC-DA Client 将无法启动。
尝试向 OPC 标签读取和写入数据失败
如果发生这种情况,则可能表明该设备配置为使用错误的规范与服务器通信。例如,服务器可能仅支持 OPC 规范 2.05 版本,但是在定义设备时,在 Device Definition(设备定义)面板上的 Tag Read - Write Style(标签读取 - 写入样式)参数中选择了 Session based (OPC 3.0 Spec)(基于会话的(OPC 3.0 规范))选项。修改此选择通常可以解决该问题。

如果 OPC-Server 在首次建立订阅时未返回值,则可能发生这种情况。通常,在第一次使用 Subscription based (OPC 2.05 Spec)(基于订阅的(OPC 2.05 规范))选项时,OP-DA Client 驱动程序会尝试从 OPC-DA 服务器读取标签,并向 OPC-DA Client 驱动程序返回值,使用状态指示该值由于未初始化而不好。这表明这是对标记的第一次引用,且服务器必须由其内部发布者对其进行初始化。2.05 规范利用订阅/发布系统来获取数据。通常,从服务器进行的所有后续读取都会成功,因为它开始将数据更改发布到 OPC-DA Client 驱动程序。

与包含许多 OPC 标签的服务器进行通信且标签嵌套在结构环境中时,可能会发生这种情况。与正在对 Rockwell ControlLogix 设备中定义的复杂数据结构进行建模的服务器通信时,可能会发生这种情况。Rockwell ControlLogix 设备允许定义用户定义的数据结构,这些数据结构可以包含许多不同的数据类型、其他用户定义的数据类型以及数据类型或用户定义的数据类型的数组。遍历这些复杂数据结构的整个树可能很耗时。这种缓慢的启动时间也可能会影响节点启动所花费的时间,因为节点启动过程的一部分是启动节点上次停止时 Started(已启动)的所有设备。如果可能的话,除了使用 Rockwell 设备驱动程序而不是 OPC-DA Client 外,没有其他简便的方法。Rockwell 设备驱动程序直接与 Rockwell ControlLogix 设备通信,从而能够以更加有效的方式确定用户定义的数据类型的布局。

OPC 以与运行时完全不同的方式处理字符串数据类型。在运行时中,必须预定义最大字符串长度,以便可以为与字符串标签类型关联的值分配内存。OPC 没有这一要求,因此,运行时很难确定如何分配足够的内存来处理数据类型为字符串的 OPC 标签的最大长度。为解决这个问题,OPC-DA Client 驱动程序允许用户定义最大字符串大小的值,该值可应用于与其通信的特定 OPC-DA 服务器的所有字符串。这是通过 default_string_size 附加属性完成的。如果看到字符串没有完整显示,则只需将此附加属性添加到 OPC-DA Client 设备的定义中。为该定义分配一个足够大的值以显示 OPC-DA 服务器上定义的字符串。

在某些平台上,如果将 deviceWISE OPC-DA Client 程序包添加到同一节点,则 deviceWISE OPC-DA Server 将不再接受客户端连接。如果遇到此问题,则节点只能运行 OPC-DA Server 程序包或 OPC-DA Client 程序包。