搜档网
当前位置:搜档网 › 基于PLC的温度PID控制

基于PLC的温度PID控制

基于PLC的温度PID控制
基于PLC的温度PID控制

基于PLC 的温度PID 控制

一、PID 算法

在工业生产过程控制中,模拟量PID (由比例、积分、微分构成的闭合回路)调节是常用的一种控制方法。运行PID 控制指令,S7-200将根据参数表中的输入测量值、控制设定值即PID 参数,进行PID 运算,求得输出控制值。

典型的PID 算法包括三项:比例项、积分项和微分项,即:输出=比例项+积分项+微分项

计算机在周期性地采样并离散化后进行PID 运算,算法如下:

++s d n c n n c n n X c n n i s

T T

M K SP PV K SP PV M K SP PV T T =?-?

?-+??-()()()

c n n K SP PV ?-比例项:()

s

c n n X i

T K SP PV M T ?

?-+积分项:() d

c n n s

T K SP PV T ?

?-微分项:()

二、PID 控制回路选项

常用的控制回路有PI 、PID 。

(1)如果不需要积分回路(即在PID 运算中无“I ”),则应将积分时间Ti 设为无限大。由于积分项Mx 的初始值,虽然没有积分运算,积分项的数值也可能不为零。(积分时间与积分效果成反比关系)

(2)如果不需要微分运算(即在PID 运算中无“D ”),则应将微分时间Td 设定为0.0。(微分时间与微分效果成正比关系)

注:PID 参数设定的原则:先设比例放大系数(比例放大系数越大,回路的调节速度越快,但是比例放大系数过大,也会造成系统不稳定,产生振荡,所以要找一个合适的比例放大系数);再设

积分时间(用来消除余差)

三、回路输入量的转换和标准化

在PLC进行PID控制前,必须将其转换成标准浮点表示法。

(1)将回路输入量数值从16位整数转换成32为浮点数或实数。下列指令说明如何将整数数值转换成实数。

ITD AIW0, AC0 //将输入数值转换成双字

DTR AC0, AC0 //将32位整数转换成实数(0~32000)

(2)将实数转换成0.0~1.0之间的标准化数值。

/R 32000.0, AC0 //使累加器中的数值标准化

+R 0.0, AC0 //加偏移量0

MOVR AC0, VD100 //将标准化数值写入PID回路参数表中

四、PID回路输出转换为成比例的整数

程序执行后,PID回路输出0.0~1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。

PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)×取值范围

MOVR VD108, AC0 //将PID回路输出送入AC0

*R 32000.0, AC0 //AC0的值乘以取值范围,变成成比例实数数值

ROUND AC0, AC0 //将实数四舍五入取整,变成32位整数

DTI AC0, AC0 //32为整数转换成16位整数

MOVW AC0, AQW0 //16位整数写入AQW0

五、PID指令

六、PID指令应用举例

在恒温箱内装有一个电加热元件和一个制冷风扇,电加热元件和制冷风扇的工作状态只有OFF和ON,即不能自行调节。现要控制恒温箱的温度恒定,且能在25~100℃范围内可调,如图所示:

信号类型

I/O信号电压信号电流信号

模拟量输入×2 ±10V ——

模拟量输出×10~10V 0~20mA

PLC软元件分配如下:

Q1.0 控制接通加热器

Q1.1 控制接通制冷风扇

AIW0 接收温度传感器的温度检测值

控制方法:

对恒温箱进行恒温控制,要对温度值进行PID调节。PID运算的结果去控制接通电加热器或制冷风扇,但由于电加热器或制冷风扇只能为OFF或ON,不能接受模拟量调节,故采用“占空比”的调节方法。

温度传感器检测到的温度值送入PLC后,诺经PID指令运算得到一个0~1的实数,把该实数按比例换算成一个0~100的整数,把该整数作为一个范围为0~10s的时间t,设计一个周期为10s的脉冲,脉冲宽度为t,把该脉冲加给电加热器或制冷风扇,即可控制温度。

符号表

符号地址符号地址

设定值VD204 微分时间VD224

回路增益VD212 控制量输出VD208

采样时间VD216 检测值VD200

积分时间VD220

PID指令编写:

(注:文档可能无法思考全面,请浏览后下载,供参考。可复制、编制,期待你的好评与关注)

相关主题