我是初学者 ,我用stl语言编写左、右循环指令,用全局变量就能成功,但是在fc里面用局部变量就不行,我的想法是用位,但是在fc里面的局部变量的位感觉不能移动还是怎么回事,就是不循环,请教高手怎么写,是不是我理解的方向是错误的。
start 为开始 left 左循环开始 right 为右循环开始 interval 为间隔 output为输出 但是 是个字节
问题补充:
我补充的一点是:二楼的HUANGZE75 说不能用在上升沿/下降沿,但是我用的时候 ,程序没有报错或者是出现错误啊,这个到底能不能用在上升沿/下降沿.
图片说明:
最佳答案
用全局变量,每个周期连续执行,所以程序可以实现循环移位。但是,FC局部变量,在OB1每个周期调用该FC块是,临时开辟一块内存给FC的局部变量使用,所以,如果使用FC局部变量存储中间数值,下个扫描周期会重新重新开始开辟内存,重新给局部变量赋值,所以无法实现你的程序。可用INOUT参数,把临时移位的结果存到外部M区,或DB块内等等。
注意,该边沿触发位在该子程序块内调用好使!见附件
图片说明:
提问者对于答案的评价:
呵呵,谢谢大神的帮助。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc138418.html