基于-PLC的温度PID控制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于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 ——
模拟量输出×1 0~10V 0~20mA
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指令编写: