以下是引用Chen_TS在2021-02-02 19:03:15的发言 >楼主:
在学习S7-1500PLC的开放式TCP通信(指令TCON,TSEND,TRCV)时,因为没有实物,因此我是用的PLCSIM Advanced 3.0仿真软件。
第一种情况:我的PLC做TCP服务器,网络调试助手做TCP客户端,没问题,这两者可以通信上。
第二种情况:PLC做TCP客户端,网络调试助手做TCP服务器,弄了好几天了就是通信不上,PLC那边的数据就是过不来,我在PLC端指令中看了那个状态字,TRCV指令的是80A1(TCON和TSEND指令的状态字是7000),表示通信错误。我弄了好些天了,各个方面都看了,就是通不上。难道是S71500 PLC不支持做TCP客户端吗?(说明:我在我在网看到过别人成功过,所以我才试验。)
求哪位大神熟悉S71500 TCP通讯的给指点指点。
以下图片为我调试时的过程,文件为博途V16工程,其中包括PLC做服务器和客户端的程序。
感谢大家对这个问题的关注。使用PLCSIM Advanced 3.0(S7-1500系列PLC)是完全可以仿真通信的。PLC做TCP客户端的情况,“网络调试助手”做服务器也是可以互相通信的。为什么我第一次没成功?原因在于设置服务器的IP地址,这个IP地址选的是西门子虚拟网卡的IP地址,而不是咱们电脑以太网卡的IP地址。就是这个关键点,设置好了,就可以通信了。其实和Modbus TCP都是一个道理,都要选择西门子虚拟网卡的IP地址。
以下图一是我的Siemens PLCSIM Virtual Ethernet Adapter的IP地址,当然这个地址可以自己手动更改,但是要和PLC的IP地址要在同一网段。
图二是PLC做TCP客户端的TCON的组态配置。
图三是“网络调试助手分别做TCP Server和TCPClient的实时通信接收的字节数据”。
这个是MODBUS TCP通信PLC做客户端,Modbus slave工具做服务器的情况的解决办法。http://www.ad.siemens.com.cn/service/answer/solved_249734_1077.html