您现在所在的是:

PLC论坛

回帖:1个,阅读:3230 [上一页] [1] [下一页]
6047
liaosun
文章数:1398
年度积分:50
历史总积分:6047
注册时间:2003/5/4
发站内信
2015论坛贡献奖
2014论坛贡献奖
2013论坛贡献奖
2012论坛贡献奖
2011博客贡献奖
2010博客杰出贡献奖
发表于:2012/4/17 9:04:20
#0楼
 [/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的采样周期。
此帖来自中华工控网工控博客
原文件地址:http://blog.gkong.com/more.asp?id=151243&Name=liaochangchu
我是廖常初,是一个高校的老师,曾在企业从事机械、电气技术工作,长期从事工业控制和PLC应用的教学、科研和工程应用工作。博客中的日志除注明外均为原创。愿意在此与大家探讨工控的问题!
廖常初工控博客地址:http://blog.gkong.com/blog.asp?name=liaochangchu
我曾写过几本小书: 《PLC编程及应用》第3版(S7-200)、《S7-300/400 PLC应用技术》第3版、《FX系列PLC编程及应用》第2版、《S7-200 PLC编程及应用》、《PLC基础及应用》第2版(FX系列大专教材)、《西门子人机界面(触摸屏)组态与应用技术》、《西门子工业通信网络组态编程与故障诊断》、《S7-1200 PLC编程及应用》第2版、《跟我动手学S7-300/400 PLC》、《跟我动手学FX系列PLC》
机械工业出版社廖常初图书专题:http://www.gkong.com/zt/liaochangchu/
20812
jinqiaoma
文章数:5451
年度积分:247
历史总积分:20812
注册时间:2009/5/15
发站内信
2018论坛热心网友
发表于:2012/4/17 14:04:38
#1楼
对300的PID调用问题介绍的很详细,那么200的PID程序也需要做个定时中断来调用吗?我原来做的是用SM0.0一直使能PID功能块。

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2025 Gkong.com, All Rights Reserved

46.8003