回复:1200for循环指令的问题

guozs1990

  • 帖子

    142
  • 精华

    1
  • 被关注

    7

论坛等级:侠士

注册时间:2015-09-17

黄金 黄金 如何晋级?

发布于 2019-11-26 09:46:01

22楼

 楼主,请参考For循环说明。 For 使用时候,

FOR <Run_tag> := <Start_value> TO <End_value> BY < Increment> DO <Instructions>;

END_FOR;

<Run-tag> 会从start_value 开始 根据<Increment>自加,到<End_value>.

所以楼主程序,因为OB1 调用FB, 所以PLC 每个扫描周期都会扫描,只要IF条件满足,For循环就会运行。 所以,你会看到 #j 是一直自加,直到数据溢出 然后再从头一直在循环自加。

但是 #i 每次都是从0 开始一直加到10。 我认为每次只要IF 满足前提下,i 都是从0加到10 , 我们肉眼观察到就是停留在10, 其实每次扫描 #i 都是从0 加到了10.

但是 #j 我们就会观察到一直在加 也就是楼主说的一直在变化。

程序中,在For 循环之前,给 #j 先赋值0, 就能观察到运算后的结果。

但行好事,莫问前程
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15113条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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