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

凡烨

  • 帖子

    119
  • 精华

    1
  • 被关注

    1

论坛等级:游侠

注册时间:2009-05-12

普通 普通 如何晋级?

发布于 2011-04-14 15:17:54

118楼

quote:以下是引用火麒麟在2011-04-14 11:39:23的发言:
quote:以下是引用四书五经在2011-04-14 11:34:11的发言:
quote:以下是引用凡烨在2011-04-12 09:01:59的发言:
很感谢大家的积极参与,这里大家思考两个问题:
1,如果大家及用过S7-300或S7-400通过CP卡进行S7通讯,注意过S7-300通过CP快还是S7-400通过CP快,还是?
2,大家用过TCP/IP的话,如果现场由于某些原因线缆断了,TCP通讯中断,等恢复的时候,接收的是较老的数据,所以处理这些老数据可能会导致工艺控制不准确,那怎么除去老数据呢?

匆忙写了帖子,还没来得及看前面高手的回答,呵呵,感觉回帖有些多余了。
回答一上技术支持的问题
1,第一个问题,应该是S7400快,从感性上讲,S7400的底板有那么多的针脚,而S7300才几个啊。从原理上说,S7300由CP之间的通讯采用的是SFC58,SFC59,大于240个字节时更麻烦。CP通讯的再快,CPU来不及处理也不行啊。而S7400直接通过K总线读写。从扫描周期上讲,S7300的S7 PG、OP通讯基本上是在CCP中完成,也就是说一个扫描周期一次,而S7400的PG,OP通讯是在时间片里完成的,一个扫描周期执行多次。
2.TCP因为要重发,确认机制,认不到确认信息会重发,如果短时中断,CPU会重发相关信息,而且由于TCP的滑动窗口机制,得不到确认,发送信息会仍然放在缓冲区中,发滑动窗口就不会移动,就会继续发送旧的消息。没做过实验,但是我想调用FC10(AG_CNTRL)去复位连接能不能重新初始化缓冲区呢?

关于第二个问题,FC10完全能够通过复位连接而重新初始化缓冲区。我以前有个项目就是判断上位发过来的数据如果与我定义的接收缓冲区的长度不同,就调用FC10复位连接初始化缓冲区。
当然,这只是对于采用CP模块的情况,如果用PN口的CPU的话,不存在接收的问题。

很好!火麒麟!
能把您的项目关于“判断上位发过来的数据如果与我定义的接收缓冲区的长度不同,就调用FC10复位连接初始化缓冲区。”详细说一下吗?让我们大家学习一下。
来自西门子技术支持!
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

通信与网络组件

共有4447条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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