使用 LabVIEW OPC UA 工具包创建服务器或客户端时出现错误 -356608 和 -356610

更新 Nov 8, 2023

适用于

软件

  • LabVIEW OPC UA Toolkit

其他

OPC UA Server

问题详述

  • 我正在使用 LabVIEW 2017 OPC UA 工具包创建一个客户端 VI,它将与外部 OPC UA 服务器(例如托管在另一台 PC 或 PLC 上的服务器)进行通信。当我从此工具包中调用 Connect VI 来连接到服务器时。
  • 运行 OPC UA Demo.lvproj(LabVIEW 示例)中包含的 Data Access Server.vi 时。
执行上述任何步骤后,即使我在客户端和服务器上指定不使用安全策略,也会收到以下错误之一:
  • 错误-356608:证书已过期或尚未有效。
错误.png
  • 错误-356610:证书不受信任
 

解决方案

要解决此问题,您可以尝试以下操作:
  • 检查客户端和服务器系统上的系统时间。确保您的客户端系统设置为早于服务器的时间。
  • 升级到LabVIEWOPC UA 工具包版本 2018或更高版本。
  • 在 OPC Connect VI 上连接输入“Trust any Server?”为一个真正的常数。默认值为“False”,因此这可能是信任问题的根源。
  • OPC UA 工具包可能在 OPC UA 服务器端显示为不受信任的客户端。将其更改为受信任的客户端可以解决此问题。
  • 在 2018 年之前的 OPC UA 工具包版本上,确保您为连接创建了证书。
  • 创建服务器( NI OPC UA Server.lib: Create.vi )或客户端( NI OPC UA Client.lib: Connect.vi )时,可能会使用证书文件(这是通过服务器证书文件客户端证书文件输入提供的)前面提到的 VI)。如果未提供证书,则会生成并使用新的默认证书。在这两种情况下(提供的证书或默认证书),证书的有效期不得超过 4 年,如使用 LabVIEW OPC UA 工具包创建或更新 OPC UA 证书一文中所述。确保服务器或客户端使用的证书具有有效日期。
Sol1.png
 

相关信息

生成证书时,它们使用当前系统时间作为时间戳。作为建立 OPC UA 连接的握手过程的一部分,接收系统会交换和评估证书。此评估的一部分是检查以确保证书的时间戳有效。

例如,如果服务器的证书的时间戳晚于客户端的当前时间,则客户端将认识到该时间戳一定不正确,从而导致其拒绝证书并中止连接。可能会引发类似上面列出的错误,以提醒您证书无效。

如果系统时间看起来兼容,您可能会发现 2017 版 LabVIEW OPC UA 工具包存在已知问题。即使指定不应使用安全策略并因此指定安全证书,也可能会引发这些错误。此行为已在 2018 版本及更高版本的工具包中修复。如果您无法从2017年升级到2018年,请联系NI支持