最近遇到一个S7-1500PLC与PC通过TCP/IP通信的问题,PLC无法作为服务端与PC进行通信,有点不明白那里不对,发帖咨询一下,希望有大佬指点下!
问题在虚拟机进行复现,使用网络调试助手代替PC。
测试环境:
Window11+WMwarePro17.5+Window10虚拟机
TIAV19+S7-PLCSIM ADVANCED V6.0
CPU1515-2
整个测试在都在虚拟内完成
参数设置:
Window10,关闭防火墙,开通2000/2001端口,后面也增加了TIA V19和S7-PLCSIM ADVANCED软件的防火墙出入站设置。先把端口完全放开,尽量排除端口权限问题。
PLC,安全设置为完全访问权限。放开所有权限,避免PLC的权限问题。
IP设置:
PLC:192.168.0.1/255.255.255.0
Siemens PLCSIM Virtual Ethernet Adapter:192.168.0.155/255.255.255.0
虚拟机Window10 Ethernet0:192.168.0.144/255.255.255.0
整个PLC只使用TRCV_C和TSEND_C两个函数,使用组态方式创建连接参数,并把PLC作为服务端,
程序代码:

组态参数如下:

PLCSIM-ADVANCED设置:

网络调试助手的设置
测试过程:
PLCSIM ADVANCED的Online Access选择TCP/IP Single Adapter
1,设置TCP/IP communication With Local时,
TRCV_C和TSEND_C的组态中,伙伴的IP地址,192.168.0.144和192.168.0.155两个IP地址都进行测试,尝试在不同的IP地址下与网络调试助手进行通信。在PLC的监控中,TRCV_C和TSEND_C的通信状态都是7001和7002循环跳变,即等待建立连接。
状态如下:

在网络调试助手上,连接时提示成功,但你尝试发送字符的话,连接立马断开

2,设置TCP/IP communication With Ethernet0时,
分别测试192.168.0.144和192.168.0.155两个IP地址,结果与上面的是一样。通信无法建立。
但是,如果把PLC作为客户端或者进行UDP通信,通信都可以正常建立。
实在有点不明白,问题出在什么地方,有没有大佬可以指点一下?
万分感谢!!!