回复:PLC1500通讯和循环中断

已锁定

yming

西门子1847工业学习平台

  • 帖子

    23142
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2021-08-19 10:55:04

3楼

展开查看
以下是引用花生粒在2021-08-19 09:45:17的发言 >2楼

你好,我做了一个实验,定时循环中断,靠定时循环的脉冲持续发送数据,统计循环的数目和发送数目,长时间下来,统计的循环数和发送数目不一致(30万次有时相差10几次,60几万次也相差10几次,没有规律),发送块也没有报警,这种情况一般是什么原因造成?难道是偶尔会出现发送没完成,但是中断脉冲到了,但是没发送完就忽略此次信号么。还是别的原因

以下是引用yming在2021-08-18 21:03:23的发言 >1楼:通讯处理和(PLC...

引用1楼详细内容:

通讯处理和(PLC)程序执行是两码事儿。是采用时间片分开执行的。

中断程序只是中断低一级的(PLC)程序执行。中断不了分给通讯部分的时间片;通讯处理一直在处理它的缓冲区数据。

(PLC)程序仅仅在执行到通讯块的REQ(沿)、DONE(/ERR)置一时,和通讯的缓冲区做一次数据交换。



你得知道,这是TCP/IP的数据传送,它是异步的!

执行此指令,它会首先建立与对方的连接。这个是需要时间的。然后再发送,发送完成才会DONE(Done=1只是发送完成,不代表对方已经接收完成。中间很可能通过多个(交换机)转发。)

不但如此,还要看指令的CONT状态!

如果是常用的0,它会在发送后断开连接。下次REQ再次连接。

实际上,如要确保,对方应该应答,确认收到。这才算一次有效的传送。


只有流媒体数据才不需要应答。是由接收机自动调整速率,用算法补上未接收到的数据。

(就像视频,网络不畅,会自动由高清降为720P。)

这么说吧,其实和你打开本网站页面,没有多少差别。

所以定时连接不能间隔太短,通常为10秒以上为宜。


学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10578条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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