回复:应用探讨——PLC间的以太网通信,选择TCP/IP还是S7——发帖整理

  • 帖子

    3917
  • 精华

    20
  • 被关注

    26

论坛等级:奇侠

注册时间:2003-06-16

普通 普通 如何晋级?

发布于 2011-05-10 19:13:36

32楼

quote:以下是引用凡烨在2011-04-20 09:22:54的发言:
quote:以下是引用四书五经在2011-04-19 23:10:21的发言:
quote:以下是引用凡烨在2011-04-19 10:08:08的发言:
好,真的感谢大家的积极参与!同时也感觉到大家的技术水平都很高,让我有些力不从心啊!
这里,我再给大家提出一个问题,就是CP板和PN CPU的接口属性中有一个属性,即Keepalive,大家知道它是干什么的?能在我们的那些应用中起到作用?
前面我们已经谈到了它其中的一个应用,这里暂不挑明。
再次谢谢大家!

KEEP ALIVE如同一个心跳信号,TCP通讯的一端发送这个心跳信号来判断TCP连接是否正常。前面讲到TCP通讯时网线断了再恢复的时候会收到旧的数据。这时如果把KEEP ALIVE超时时间设的小一些,当网线断了的时候就会在短时间内判断出TCP连接出错,并且TCP协议会自动关闭连接。当网线恢复正常时,TCP连接会重新建立,重新发送、接收数据,这样就不会收到旧的数据了。呵呵,TCP能够自己干的很好的事,干吗再去调用AG_CTRL判断呢!
不知道理解的对不对,谢谢技术支持!

您和火麒麟的推论都正确!
这里我再和大家谈一下动态连接的概念,动态连接顾名思义就是资源可以动态的建立和释放。使用Open IE的方式与NetPro IE的方式不同就是资源的动静上。Keepalive的作用有两个,一个是检测通信伙伴的生死状态,根据伙伴的状态自己作出判断处理;另一个功能就是维持通信连接信息当双方的网络活动处于休眠状态,例如伙伴通信通过防火墙,通过两者的Keeplalive防火墙维持其链接。
我们这里谈到的Keepalive指的是第一个功能,当定时时间到,默认30秒,PLC会自动释放自己的任务资源,连接资源并没有释放,(这里的2个资源是通信资源的两个要素),任务资源的释放表现在清空了Shadow buffer和ISO/OSI堆栈的TCP的Window Size缓冲区里的数据。这样就不会收到新的数据。这里的Shadow buffer是与DB大小对应一致的。连接资源并没有释放,因为此时的PLC的在线连接还能看到该连接数。
由于该连接已经断开,因此该连接资源处于Passive状态,若此时加入一个新的伙伴可以使用该任务资源进行连接。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4448条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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