需要用到向导里得PID功能,在调用PID0_CTRL指令后,此时正常,但如果在后面又调用了定时中断指令,此时PID得output一直为0;
如果把定时中断指令放在PID指令之前,PID得output正常,但定时子程序无法进入了,怎解啊,指令在图片中,谢谢各位了。
图片说明:
最佳答案
PLC的PID指令属于数字PID,其采样周期T(也是计算周期)必须是等间隔的,因此其输出值也是根据周期T来刷新的,所以,PID指令最好在定时中断中执行。如果无条件在OB1中调用,那他的计算间隔(采样周期)就是程序的扫描周期,而且是变化的,其输出也就不稳定了,造成了OUTPUT一直为0;
你的调用PID的采样周期设置为50,而定时中断的扫描时间又设置为250ms
两个就发生冲突了
你看一下下面网址吧,我 个人建议PID计算还在主程序中,把输入采样做到中断里面。
S7-200 PID
https://www.ad.siemens.com.cn/service/article/S7-200/S7-200pid/Default.aspx
提问者对于答案的评价:
多谢多谢
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc366381.html