我们已经有一个较旧的VB .NET(Visual Studio 2013社区版)代码片段,当前与一个PLC通过UDP进行通信,其中一些很基本数据传输。OPC UA客户端 - BadCertificateHostNameInvalid - opcfoundation.org
现在我们需要PLC和PC之间更紧密的耦合(PC必须能够设置一堆参数,而Labview程序可能需要直接访问PLC),所以我们的PLC供应商(B & R )表示,OPC UA是要走的路。
这似乎相似,这里提出的问题:
在介绍性研讨会,OPC UA,我们得到了编制的OPC UA客户端的版本,如果我火了一个PLC模拟器中,客户端可以连接到PLC模拟器。当然,它要求提供一个名称和一个密码,但弹出式窗口会显示我说要尝试连接,我得到一个UA示例客户端的弹出窗口,其中显示“证书无法验证:BadCertificateUntrusted”
好的,我没有证书。点击后,客户端继续向前,并显示一个由PLC代码暴露给OPC UA的所有元素的树。一切都很好。
现在,如果我从opcfoundation.org网站下载完整代码,则在确认我没有有效证书后,可以编译代码但是,在确认我没有有效证书后,窗口弹出,上面写着:
异常(ServiceResultException) BadCertificateHostNameInvalid 服务结果(BadCertificateHostNameInvalid)
这些都是OPC UA 1.02,BTW。
是否有其他地方需要配置?我注意到有几个XML文件(Opc.Ua.SampleClient.Config.xml和Opc.Ua.SampleClient.Endpoints.xml),我想知道他们是否需要修改以摆脱此停止。
我确实记得,如果你自动地允许它是OK(当然),那么某些东西就不符合OPC UA标准,所以你不能只是自动地发生这种情况,但这对我来说没问题。
使用OPC UA代码的缺点是它有点深(如用户Brino在原始的StackOverflow文章中指出的那样),并且它需要您自己的代码在GPL下发布,所以Unified-Automation看起来很诱人,因为我们可能不想发布我们的源代码。
对这个问题有什么想法?
2017-10-16
asylumax