回复:轮询做不好,人都要疯掉了

--意孤行

  • 帖子

    517
  • 精华

    7
  • 被关注

    48

论坛等级:奇侠

注册时间:2016-12-16

普通 普通 如何晋级?

发布于 2019-03-06 19:48:55

32楼

展开查看
以下是引用Zaxife在2019-03-06 11:41:11的发言 >13楼

我说的高效是指数据帧间隔时间很短,而不是像只用一个MSG需要跳过一个主程序周期时间间隔。如果主程序周期很长那么就可以看到两次MSG数据帧间隔被延迟到主程序周期间隔了。如果用两个MSG的话,那么上面的MSG执行完成立刻就可以触发下一个MSG,帧间隔刚好是MSG默认的帧间隔。这个间隔时间最短,不信你们可以试试。

一开始我也是只用一个时,发现帧间隔咋这么长?后来换两个MSG后数据直接飙得飞起了。

看图说事吧。主程序80ms,每次通讯30ms,如果主程序只有一个MSG,那么每次通讯都是80ms间隔。

如果有两个MSG,那么如果程序通讯MSG放置位置合理的话,完全可以做到一个主程序周期里面触发两次通讯!相对一个MSG的情况来说快了一倍的速度!前提是主程序时间比MSG通讯长。



以下是引用--意孤行在2019-03-05 18:31:19的发言 >4楼:一个msg也有高效轮询...

引用4楼详细内容:

一个msg也有高效轮询程序

http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1533543&b_id=64&b_sid=0&s_id=83&num=39&myreply=1#anch

以下是引用Zaxife在2019-03-05 17:27:24的发言 >3楼:如果你的程序里面只...

引用3楼详细内容:

如果你的程序里面只有一个MSG,那么你需要MSG的Done后的第二个主程序循环才能再次触发MSG的EN,否则绝对66666.....

也就是说,Done后必须保证MSG的EN为0一个主程序周期以上,不要让EN在执行完成后又立刻再次执行,那样First都还没建立就修改了MSG的参数妥妥的报6。

所以,我都是用两个MSG以上快速高效。

我明白你意思了,你用的plc和我说的plc不是一个级别的,我说的是SMART PLC,要是一个扫面周期内有两个msg的的话肯定报警的6 。


认真做事,低调做人
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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