两个不同的OPC服务器可以共享同一端口吗?

时间:2020-11-04 10:53:17

标签: opc opc-ua codesys

我正在尝试通过OPC UA服务器将机器人控制程序CODESYS程序与OPC Expert连接,并且正在侦听4840端口,在OPC Expert上,我的感觉就像是opc.tcp:// hp-nb:4840 / uadiscovery。我还在机器上安装了freeopcua,它也在监听4840端口,在OPC Expert上,它就像opc.tcp // 0.0.0.0:4840。在OPC Expert上,我需要连接CODESYS应用程序。我可以与CODESYS OPC服务器连接,但无法从CODESYS控制器连接应用程序。是否因为两台服务器在同一端口上侦听而发生?如果没有,我该如何解决我的问题?附上我的问题enter image description here

的图片

2 个答案:

答案 0 :(得分:0)

同一台计算机上运行的两个程序或进程无法在同一端口上侦听。

只有当该计算机具有两个具有两个不同IP的网络接口卡并且您可以选择每个进程通过哪个接口进行连接时,这种情况通常是不可能的

更新

通常与CODESYS一起安装的CODESYS Soft PLC仿真器还包括在端口4840上侦听的OPC服务器,如果您停止Soft PLC,右键单击Windows通知区域上的图标,可能会关闭侦听端口

答案 1 :(得分:0)

理论上,如果两个OPC UA服务器协调在一起,则它们可以共享同一端口(在同一网络接口上)。对于opc.tcp,他们没有标准的方法。因此,理论上以这种特殊方式编写的来自同一供应商的两台服务器可以共享该端口。但是,实际上,使用“ opc.tcp”的OPC UA服务器不能共享同一端口,因为它们不知道如何协调访问和路由数据。

对于其他协议,情况有所不同。例如。对于通过HTTPS进行的OPC UA,让服务器在同一端口上侦听更为容易-主要是因为操作系统已经包含一个可以“侦听”它们的端口,并根据URL路由请求的服务器。

但是,根据您的情况,不仅仅是两个服务器不能共享同一端口。还有一个问题是,其中一个服务器在连接点描述中返回“ 0.0.0.0”作为其IP地址,无论如何还是无效的。