我在cpu的时钟存储器设了MB0为时钟存储器,在3个FB内都用了M0.3做定时器的脉冲触发,用+I来计数,到了设定的数值,置位并复位,在OB1内调用,没有实际硬件,用模拟器模拟的,但是问题就出来了,大多数的时候能置位,少数情况不能?请问这个原因是我编程的问题还是模拟器的问题呢?图片是程序
问题补充:
我用的是静态变量!不是临时变量!后来把程序改了一下,把置位的那个变量拉出一个常开信号再把清零程序与上这个常开信号视乎要好很多,是不是因为这个原因呢?
图片说明:
最佳答案
应该是程序的问题,对于FC、FB中临时变量的使用,以下用法都是错误的:
1、将临时变量用于上升/下降沿指令
2、将临时变量用于自保持逻辑
3、临时变量没有在程序段中赋值,而被直接使用
你的问题应该是第一种情况。把上升沿变量改为M或DB块变量试试就好了。
提问者对于答案的评价:
谢谢了!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc234712.html