【分享】让你抓狂不的止CFC Run time Group(运行组)

已锁定

宁超

  • 帖子

    1009
  • 精华

    39
  • 被关注

    371

论坛等级:至圣

注册时间:2012-12-11

普通 普通 如何晋级?

【分享】让你抓狂不的止CFC Run time Group(运行组)

992

1

2016-06-03 23:31:13

工程师在调试过程中有时候总是觉得,明明逻辑很正确,但是程序就是不执行,比如脉冲信号收不到,后面的动作就无法执行中断了,但是脉冲明明发出去了啊!抓狂ing。。。,不得已每个脉冲信号后面都加一个延时断开的信号,来延长脉冲为1的宽度。

  这个工程师也许就是没掌握怎么调整运行组,我们看下面的例子:

  

   图片里的7号”OR“功能块,看似M20.0=1后只要一个周期OR的输出就能为状态1,但实际上。需要5个周期后,假设在OB32(1000ms扫描周期)里,也就是说5s后,7号OR才能输出1。原因仅仅是因为我在运行组调整了它的扫描顺序。第一周期内先读7号,7号OR的两个输入接口此时都为0,依次往上扫描到3号OR,3号OR输出为1,第2周4号OR为1...依次类推。

其中图中功能块绿色区域的1/1,1/2就是OB32第一运行组的第一要扫描的块,第2个要扫描的块(TEST为OB32的第一个运行组):


  双击功能块的OB32处字样就进入了运行组运行组显示了扫描的顺序,7,6,5,4,3这样

              运行组 “OB32/TEST”




而实际上工程师需要的顺序是34567这样才能保证M20.0=1的时候,该扫描周期内7号”OR“功能块才会输出1。


提示:在很多时候我们都需要注意扫描顺序,因为平时拖拽BLOCK时,想要大家都不会右击上图高亮绿色的地方,选择下个功能块的插入位置。(右击试试,实际操作下看看,体会下这个功能)

在做通讯如MODBUS,TCP的PUT GET等,都是脉冲的DONE和ERROR以及NDR状态位,只有一个周期,如果发生上述错误,而你不清楚什么是运行组,你就会抓狂ing...


【分享】让你抓狂不的止CFC Run time Group(运行组) 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54757条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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