我们有一个旧的VB .NET(Visual Studio 2013 Community Edition)代码,目前通过UDP与PLC进行一些非常基本的数据传输通信。
现在我们需要更紧密地耦合PLC和PC(PC必须能够设置一堆参数,并且Labview程序可能想要直接访问PLC),因此我们的PLC供应商(B&R)说OPC UA是正确的选择。
这似乎类似于在此处提出的问题: OPC-UA client SDK for C#.NET application development 在一次OPC UA入门研讨会上,我们获得了OPC UA客户端的编译版本,如果我启动PLC模拟器,客户端可以连接到PLC模拟器。当然,它会要求输入名称和密码,但是当我尝试连接时,UA示例客户端的弹出窗口显示“证书无法验证:BadCertificateUntrusted”。
好的,我没有证书。您可以点击继续,客户端会继续向前,并显示PLC代码通过OPC UA公开的所有元素的树形结构。一切都很好。
现在,如果我从opcfoundation.org网站下载完整的代码,我可以编译代码,但是,在进行相同的测试序列时,当确认我没有有效证书后,另一个窗口弹出,显示以下信息:
异常(ServiceResultException) BadCertificateHostNameInvalid 服务结果(BadCertificateHostNameInvalid)
顺便提一下,这两个都是OPC UA 1.02。
是否需要在其他地方进行配置?我注意到有一些XML文件(Opc.Ua.SampleClient.Config.xml和Opc.Ua.SampleClient.Endpoints.xml),我想知道它们是否必须被修改以消除此停止点。
我确实记得读过一篇文章,说如果您自动允许这个问题,那么某些东西就不符合OPC UA标准(当然),因此您不能只是让这个问题自动发生,但对我来说没关系。
使用OPC UA代码的缺点是它有点深入(正如原始StackOverflow帖子中的用户Brino所指出的),并且它要求您自己的代码按照GPL发布,因此Unified-Automation看起来非常有吸引力,因为我们可能不想发布我们的源代码。
对于这个特定问题有什么想法吗?
现在我们需要更紧密地耦合PLC和PC(PC必须能够设置一堆参数,并且Labview程序可能想要直接访问PLC),因此我们的PLC供应商(B&R)说OPC UA是正确的选择。
这似乎类似于在此处提出的问题: OPC-UA client SDK for C#.NET application development 在一次OPC UA入门研讨会上,我们获得了OPC UA客户端的编译版本,如果我启动PLC模拟器,客户端可以连接到PLC模拟器。当然,它会要求输入名称和密码,但是当我尝试连接时,UA示例客户端的弹出窗口显示“证书无法验证:BadCertificateUntrusted”。
好的,我没有证书。您可以点击继续,客户端会继续向前,并显示PLC代码通过OPC UA公开的所有元素的树形结构。一切都很好。
现在,如果我从opcfoundation.org网站下载完整的代码,我可以编译代码,但是,在进行相同的测试序列时,当确认我没有有效证书后,另一个窗口弹出,显示以下信息:
异常(ServiceResultException) BadCertificateHostNameInvalid 服务结果(BadCertificateHostNameInvalid)
顺便提一下,这两个都是OPC UA 1.02。
是否需要在其他地方进行配置?我注意到有一些XML文件(Opc.Ua.SampleClient.Config.xml和Opc.Ua.SampleClient.Endpoints.xml),我想知道它们是否必须被修改以消除此停止点。
我确实记得读过一篇文章,说如果您自动允许这个问题,那么某些东西就不符合OPC UA标准(当然),因此您不能只是让这个问题自动发生,但对我来说没关系。
使用OPC UA代码的缺点是它有点深入(正如原始StackOverflow帖子中的用户Brino所指出的),并且它要求您自己的代码按照GPL发布,因此Unified-Automation看起来非常有吸引力,因为我们可能不想发布我们的源代码。
对于这个特定问题有什么想法吗?