登录
首页 PLC论坛 PLC论坛
回帖 发帖
正文

主题:为什么不能在S7-300的主程序OB1中调用PID程序?

点击:3183 回复:1

 [/URL]有网友说:我觉得(将PID程序)放在主程序OB1中应该也是没有问题的吧,好像OB1是循环周期扫描的,而像OB35是中断扫描的,对于PID调节来讲有一定的滞后性,所以放在了中断扫描,隔一定时间才采集一次,这是我的理解,如有偏差请各位高手纠正。
下面是我的回帖:
 
PID功能块(例如FB41)的核心是一个计算比例、积分、微分的程序。输入量是误差,输出量是误差的比例、积分、微分三部分之和。除了增益、积分时间和微分时间,PID功能块还有一个很重要的参数——采样周期。它是调用PID程序的时间间隔。计算机和PLC对积分和微分的计算是近似的,用矩形面积(误差乘以采样周期)之和来近似积分,用前后两次误差的差值与采样周期的比值来近似微分。从近似公式可知PID运算与采样周期有很大的关系。采样周期越小,积分、微分的计算误差越小。但是采样周期也不宜过小,例如大惯性的温度控制的采样周期可能长达数十秒。
  如果将PID程序放在OB1,执行PID程序的时间间隔(采样周期)等于PLC的扫描循环周期,这样带来两个问题:
   1)PLC的扫描循环周期大致只有几ms到几十ms,对于要求很长的采样周期的系统,PID计算的频率太快,不必要地加重了CPU的负担,还使PLC的扫描循环周期增大,响应变慢。对于温度这类缓慢变化的物理量,前后两次计算的误差的差值极小,可能小于误差的波动值,导致微分计算失败。
   2)PLC的扫描循环周期是波动的,它与是否调用中断OB和执行跳转指令的情况有关,在CPU的模块信息可以看到最大、最小和上一次的扫描周期。如果将PID程序放在OB1,由PID计算公式可知会产生积分、微分计算的误差。
  如果将PID控制的功能块放在OB35,上述问题迎刃而解。OB35可以保证调用PID程序的时间间隔的精度,还可以方便地调节PID的采样周期。
12-04-17 09:04
对300的PID调用问题介绍的很详细,那么200的PID程序也需要做个定时中断来调用吗?我原来做的是用SM0.0一直使能PID功能块。
12-04-17 14:04

工控新闻

更多新闻资讯