luanpanpan
级别: 略有小成
精华主题: 0
发帖数量: 62 个
工控威望: 224 点
下载积分: 506 分
在线时间: 74(小时)
注册时间: 2010-10-15
最后登录: 2024-07-13
查看luanpanpan的 主题 / 回贴
楼主  发表于: 2010-10-26 11:40
简单说就是:如果需要某个采集量保持在某个范围,比如,要控制室温保持在28℃

这个时候就可以设定 SV=28℃,然后PLC就会通过传感器采集室内温度PV

把 PV值和 SV值进行比较,根据比较结果进行相应的动作:停止加热 或者 继续加热。

这个自动调节过程就可以通过PID算法来实现
luanpanpan
级别: 略有小成
精华主题: 0
发帖数量: 62 个
工控威望: 224 点
下载积分: 506 分
在线时间: 74(小时)
注册时间: 2010-10-15
最后登录: 2024-07-13
查看luanpanpan的 主题 / 回贴
1楼  发表于: 2010-10-26 11:37
PID 指令(FUN30) 系将目前所量测之外界模拟输入值当作程控变量( ProcessVariable, 简称PV),
将使用者所设定之设定值( Setpoint, 简称SP) 与程控变量经由软件PID 数学式运算后, 得到适宜之输出
控制值经由D/A 模拟输出模块或再处理经由其它界面以控制受控程序在使用者所期望之设定范围内。
● 数字化PID 表达式如下:
Mn=(D4005/Pb)×(En)+∑0[ (D4005/Pb)× T i × Ts × E n ]−[(D4005/Pb)×Td×(PVn−PVn-1)/Ts]+Bias
Mn : 〝n〞时之控制输出量
D4005: 增益常数, 内定值为1000; 可设定范围为1~ 5000
Pb : 比例带( 范围: 1~ 5000, 单位为0.1%; Kc ( 增益) =D4005/ Pb)
Ti : 积分时间常数( 范围: 0~ 9999, 相当于0.00~ 99.99 Repeats/Minute)
Td : 微分时间常数( 范围: 0~ 9999, 相当于0.00~ 99.99 Minutes)
PVn : 〝n〞时之程控变数值
PVn - 1 : 〝n〞之上一次之程控变数值
En : 〝n〞时之误差=设定值( SP) −〝n〞时之程控变数值( PVn )
Ts : PID 运算之间隔时间( 范围: 1~ 3000, 单位: 0.01S)
Bias : 偏置输出量( 范围: 0~ 16383)
参数调整
    依下列原则适当调整PID 参数以得到所要之程控反应:




    比例带( Pb) 调整越小, 即增益越大, 对输出贡献越大, 可得到较快且灵敏之控制反应。
但增益如过大,会造成振荡现象;尽量调高增益( 但以不造成振荡为原则), 以增快程序反应并减少稳态误差。
    积分项可用来消除程控反应之稳态误差。积分常数( Ti)调整越大,对输出贡献越大, 当有稳态误差时,
可调高积分常数, 以减少稳态误差。
    积分常数=0 时, 积分项无作用。如已知积分时间为6 分钟, 则Ti=100/6=17 ; 如积分时间为5 分钟, 则Ti=100/5=20。
    微分项可用来让程控反应较平顺, 不会造成过度超越。微分常数( Td) 调整越大,
对输出贡献越大, 当有过度超越时, 可调高微分常数, 以减少超越量。
微分项对程控反应相当灵敏, 大部分之应用不必使用微分项, 而将其设定为0。
微分常数=0 时, 微分项无作用。如已知微分时间为1 分钟, 则Td=100; 如微分时间为2 分钟, 则Td=200。