各位大师好,现有PID使用中的几个问题想请教:
1、采样时间是否要与中断例行程序的中断时间相一致。
2、PID回路表中规定设定值在0.0--1.0之间,而PID向导中却是0.0--100.0之间,为什么?
3、假如不要积分可以把积分项设成无穷大,怎样输入呢,是把实数的最大值输进去吗?
问题补充:
1、无穷大INF录入后,系统显示为非法数据,就是不知道怎么录入。
2、用向导创建子程序后,除调用子程序外,还要中断程序吗
最佳答案
采用PID向导生成PID_INIT 子程序时,系统会自动生成PID_EXE的中断程序,系统会占用SMB34;
1、采样时间是中断时间的整数倍;系统默认 SMB34=100ms , 如果采用时间为1S的话,系统会进入10次中断程序执行1次PID指令,前9次进入中断程序即跳出中断程序。
2、PID_INIT 程序中包含量程转化程序,将AIWXX的范围 0---32000,转化成0---1.0;设定值有 0---100.0 转化成0---1.0。其实 PID_INIT 程序 只是做了2个工作,一是量程转化,二是绑定定时中断。其中在绑定定时中断的时候使用 SM0.1 ,这也是为什么PID_INIT 指令必须采用SM0.0 常调用的原因。
3、如果不想要积分动作(PID计算中没有“I”),可以把积分时间置为无穷大“INF”。即使没有积分作用,积分项还是不为零,因为有初值MX。千万不能设置为0.
如果不想要微分回路,可以把微分时间置为零。
提问者对于答案的评价:
学习了,谢谢,特别是采样时间与中断时间的关系,
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc252337.html