如题所说有两个疑问,问题一:想把4组脉冲以相同的固定间隔延时执行动作,如第一组上电就动作、第二组上电15S后动作、第三组上电30S后动作、第四组上电45S后动作,这样从第二个周期以后,1、3组同时动作状态相反,2、4组同时动作状态相反,FB41+FB43是在OB35里边调用的,用定时器T(S_ODT)做延时,秒表测得实际时间比设定值长,问是不是叠加了扫描时间,应该怎么消除这个时间误差;
问题二:如题所说,4个FB43不加 T ,完全是并列关系,四个脉冲输出的时间也存在先后之分,怎么消除这个时间误差,当然这里说的是用4个FB43,不要考虑用一个FB43来解决问题。
问题补充:
首先阿鸣前辈没有理解我说的意思,可能是我表述不够,再说明一下:是一个PID控制输出四路脉冲(占空比)发生,四路脉冲是并列有固定的时间间隔,控制周期与采样时间完全一样,这并不是多路PID控制一个脉冲,所以采样时间影响的PID问题是可以忽略的,这一点无疑,还有固定的时间间隔,不可能用不同的OB调用,那样失去了占空比的意义
最佳答案
1、首先你的误差很明显吗,对于你的控制不能允许这个误差吗。不会定时器出现了双线圈的问题吧。你可以调用SFB3、SFB4、SFB5,它们的时基是1ms,这样计时更精确些。
2、程序是从上到下,从左到右的顺序依次扫描的,所以你并列也会有先后顺序的,但由于扫描周期小,一般感觉不出来。这个是不能消除的。
你是不是用的开关量输出的。
提问者对于答案的评价:
你是不是用的开关量输出的。 这句话不知说的是什么,FB43输出的是M点,具体怎么做还要再考虑一下啊,前辈要是再有好的思路请联系我bxknjd@126.com
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc235149.html