远程访问OPC服务器(同一网络)

远程访问OPC服务器(同一网络)

我正在使用 Python 开发一个光学相干光客户端与freeopcua包。为了测试它,我使用Prosys OPC 仿真服务器。该程序可让您在计算机上托管一个模拟数据的服务器,以查看您是否可以成功地从客户端读取和写入。

但是,我遇到了麻烦,我认为是网络问题。模拟服务器的连接地址是opc.tcp://DESKTOP-EPETSMR:53530/OPCUA/SimulationServer。因此,当我在 Python 脚本中写入以下几行时,我可以成功连接到它:

client = Client("opc.tcp://DESKTOP-EPETSMR:53530/OPCUA/SimulationServer/")
client.connect()

第一行可以替换为以下任意两行,同样有效:

client = Client("opc.tcp://localhost:53530/OPCUA/SimulationServer/")

client = Client("opc.tcp://127.0.0.1:53530/OPCUA/SimulationServer/")

现在我想从连接到同一 WiFi 网络的另一台计算机(即与托管服务器的计算机不同的计算机)访问服务器。我认为将环回 IP 替换127.0.0.1为计算机的 IP 就足够了。因此我ipconfig从 Windows 的命令提示符运行并得到:

Wireless LAN adapter Wi-Fi:
    IPv4 Address. . . . . . . . . . . : 192.168.1.5
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : 192.168.1.1

但是,当我运行前两行并用 替换环回 IP 地址时192.168.1.5,客户端无法连接到服务器。

因此,我尝试以双向方式(从一台 PC 到另一台 PC)执行 ping 操作,并且都运行正常,因此看来问题不在于两台主机之间的通信。

知道如何修复此问题吗?

答案1

将 OPC 服务器程序添加到 Windows 防火墙例外:
打开控制面板。
选择“系统和安全“。

系统安全

在里面Windows 防火墙部分, 选择 ”允许程序通过 Windows 防火墙“。 防火墙

取消选中该框应用程序名称左侧禁用访问网络资源,同时检查允许访问win7
如果您想要阻止或取消阻止的程序未列出,您可以单击“允许另一个程序...”按钮进行添加。

选择列表中的应用并选择“添加“。
如果该程序不在此列表中,请使用“浏览…”按钮手动选择程序文件。

问候,

相关内容