参考客户端UA .-NETStandard-master是BadNotConnected

问题描述

我在GitHub论坛上已经问过一个问题。不幸的是我在那里没有得到答案,希望您能在这里为我提供帮助。如果我在GitHub论坛上得到了答案,请在此处命名。我的GitHubPost可以在以下链接下找到:

https://github.com/OPCFoundation/UA-.NETStandard/issues/1139

如果该链接有时不再起作用,我仍将在此处从GitHub论坛复制该帖子。

我从github(https://github.com/OPCFoundation/UA-.NETStandard)下载了OPC UA标准项目。 我想在那里使用参考客户端来访问Beckhoff PLC(服务器)。 为此,我在VS2017中打开了项目,并将Reference Client设置为启动项目。然后我从F5开始了这个项目。 打开以下窗口:

Reference_Client

如果我现在指定PLC的IP地址和端口(如上所示),然后单击“连接”, 客户端有时会建立与PLC的连接,有时会出现以下错误消息:

Error_Message

在大约80%的情况下,会出现此错误消息,并且客户端无法连接到服务器。 在大约20%的情况下,与服务器建立了连接,我可以从服务器读取和写入变量。 我没有更改程序,可以建立连接和何时建立连接似乎完全是任意的。 有没有人遇到过类似的问题?

非常感谢。

更新1:更详细的错误消息

以下屏幕截图显示了错误消息的详细信息。我已经估计了存储路径的某些部分。

Detailed_Error_Message

解决方法

请在您的帖子中添加异常详细信息,这将有助于查看ServiceResultException的触发位置。

,

再次感谢您的回答。我现在能够缩小问题原因的范围。我在Github论坛上找到了提示,您应该注释掉所有安全机制:

您将代码私有静态void CheckCertificateDomain(ConfiguredEndpoint端点)修改为始终返回true,并将AutoAcceptUntrustedCertificates true添加到客户端的配置中。 当然,这只是用于开发和故障排除。

来源:Github tip

我完全做到了,然后尝试再次连接。我不再收到错误消息,但是OPC UA的操作窗口崩溃了。 VS2017本身不会崩溃,只有可以在其中输入IP地址并建立连接的操作窗口。当我在崩溃期间使用Wireshark记录网络流量时,可以看到连接成功(尽管操作窗口已崩溃)。在客户端(VS2017)和服务器(Beckhoff PLC)之间交换数据。

我现在的新方法是不再使用此操作窗口,而是编写一个新程序。我想继续使用到目前为止使用的库。然后应通过控制台显示已接收和已发送的变量。

由于这不再与我的原始问题有任何关系,因此如有必要,我将针对该程序发表新的帖子以提出问题,然后在此处添加链接。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...