恭喜,你发布的帖子
发布于 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, 就能观察到运算后的结果。
请填写推广理由:
分享
只看
楼主