TCP通讯网线断开

已锁定

X没有昵称X

  • 帖子

    66
  • 精华

    2
  • 被关注

    1

论坛等级:侠客

注册时间:2018-01-12

白金 白金 如何晋级?

TCP通讯网线断开

1501

3

2024-03-27 15:11:54

仅做实验记录保存,也整哈大家都看看,有什么不对的地方。

关于通讯中的KeepAlive定时器的设置,做了以下实验:

硬件:

1513PLC  TCP客户端

PC   TCP服务器

程序:




测试流程:

1.打开PC端网络调试助手,设置为TCP服务器,打开链接;

2.PC端打开WireShack软件,开启数据捕捉;

3.博途中打开Trace,设置观察数据;

4.博途在线 设置"TestDB".TCPtoPC.SedLEN为100,即发送的数据长度为100,置位"TestDB".TCPtoPC.CONNT,等待链接5.建立后,置位"TestDB".UDPtoPC.SedREQ开启发送;

6.发送过程中,拔掉PLC与PC链接的网线;

7.等待PLC侧判断出异常后,恢复网线;

实验1:KeepAlive设定为5秒

实验结果:

Trace图:


WireShack捕获如图


总结:

网线拔掉后,间隔11秒左右PLC侧反馈到异常,异常状态为16#80C4->16#7004->16#7002;重新插入网线后,PLC侧重新发送链接请求,连接成功后继续发送;

实验2:KeepAlive设定为10秒

实验结果:

Trace图:


WireShack捕获如图

总结:

网线拔掉后,间隔15秒左右PLC侧反馈到异常,异常状态为16#7004->16#7002;重新插入网线后,PLC侧重新发送链接请求,连接成功后继续发送;

实验3:KeepAlive设定为20秒

实验结果:

Trace图:

WireShack捕获如图


总结:

网线拔掉后,间隔25秒左右PLC侧反馈到异常,异常状态为16#7004->16#7002;重新插入网线后,PLC侧重新发送链接请求,连接成功后继续发送;

综上:

网线断连后,大概为KeepAlive+5秒后PLC反馈到异常,不知这个结论是否正确,另外为什么会有+5秒这个时间?

不是每次都会出现16#80C4故障代码,如下图在KeepAlive设定为5秒时,反复的插拔网线


实验4:KeepAlive设定为10秒,发送长度改为1000

实验结果:

Trace图:

如上图,PLC在8秒左右就检测出异常,BUSY常为1,在插上网线后BUSY为0,并产生错误信息16#80C5,如下图

WireShack捕获如图

对比试验2,得出如下结论:

网线断开后,可从两方面反馈,第一点就是KeepAlive,第二点就是StackBuffer满;满足任意条件均会输出异常。

TCP通讯网线断开 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10587条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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