技术论坛

 回复:S7-1500PLC作服务端,与PC进行通信,无法建立连接的原因探索

返回主题列表
作者 主题
AnsenYue
游侠

经验值:409
发帖数:59
精华帖:2
楼主    2025-06-19 23:18:18
主题:S7-1500PLC作服务端,与PC进行通信,无法建立连接的原因探索

最近遇到一个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通信,通信都可以正常建立。


实在有点不明白,问题出在什么地方,有没有大佬可以指点一下?


万分感谢!!!


Keep learning and going ~
AnsenYue
游侠

经验值:409
发帖数:59
精华帖:2
3楼    2025-06-21 21:22:05
精华帖  主题:回复:S7-1500PLC作服务端,与PC进行通信,无法建立连接的原因探索

PLC作为服务端,是需要设置连接对象即伙伴的端口的。帮助文件中有提到伙伴端口的值必须>=2000。详见下图:


我的问题出现在我使用的网络调试助手,由于版本太老,把它模拟客户端时,无法指定本机的端口地址,一直都使用随机端口号,与PLC进行连接,所以一直无法建立连接。我发帖时,网络调试助手的贴图中,可以观察到,当时使用的端口号是49692,不是我设置的2001,所以无法建立连接。

关于端口号,有的通信设备,是可以使用任意端口,作为客户端与它进行通信的,但似乎西门子PLC是不支持任意端口号。

如有遇到类似问题的小伙伴,也可以考虑这一点。

感谢楼上两位的回复,感谢!

Keep learning and going ~
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。