基于PLC的温度PID控制一、PID算法在工业生产过程控制中,模拟量PID(由比例、积分、微分构成的闭合回路)调节是常用的一种控制方法。运行PID控制指令,S7-200将根据参数表中的输入测量值、控制设定值即PID参数,进行PID运算,求得输出控制值。PID控制回路的参数表地址偏移量参数数据格式参数类型说明0过程变量当前值PV双字,实数输入必须在0.0~1.0范围内4给定值SP双字,实数输入必须在0.0~1.0范围内8输出值M双字,实数输出在0.0~1.0范围内地址偏移量参数数据格式参数类型说明12增益K双字,实数输入比例常量,可为正数或负数16采样时间Ts双字,实数输入以秒为单位,必须为正数20积分时间Ti双字,实数输入以分钟为单位,必须为正数24微分时间Td双字,实数输入以分钟为单位,必须为正数28上一次的积分值Mn双字,实数输出0.0和1.0之间(根据PID运算结果更新)32上一次过程变量PVn-1双字,实数输出最近一次PID运算值典型的PID算法包括三项:比例项、积分项和微分项,即:输出=比例项+积分项+微分项计算机在周期性地采样并离散化后进行PID运算,算法如下:++sdncnncnnXcnnisTTMKSPPVKSPPVMKSPPVTT()()()cnnKSPPV比例项:()scnnXiTKSPPVMT积分项:()dcnnsTKSPPVT微分项:()二、PID控制回路选项常用的控制回路有PI、PID。(1)如果不需要积分回路(即在PID运算中无“I”),则应将积分时间Ti设为无限大。由于积分项Mx的初始值,虽然没有积分运算,积分项的数值也可能不为零。(积分时间与积分效果成反比关系)(2)如果不需要微分运算(即在PID运算中无“D”),则应将微分时间Td设定为0.0。(微分时间与微分效果成正比关系)注:PID参数设定的原则:先设比例放大系数(比例放大系数越大,回路的调节速度越快,但是比例放大系数过大,也会造成系统不稳定,产生振荡,所以要找一个合适的比例放大系数);再设积分时间(用来消除余差)三、回路输入量的转换和标准化在PLC进行PID控制前,必须将其转换成标准浮点表示法。(1)将回路输入量数值从16位整数转换成32为浮点数或实数。下列指令说明如何将整数数值转换成实数。ITDAIW0,AC0//将输入数值转换成双字DTRAC0,AC0//将32位整数转换成实数(0~32000)(2)将实数转换成0.0~1.0之间的标准化数值。/R32000.0,AC0//使累加器中的数值标准化+R0.0,AC0//加偏移量0MOVRAC0,VD100//将标准化数值写入PID回路参数表中四、PID回路输出转换为成比例的整数程序执行后,PID回路输出0.0~1.0之间的标准化实数数值,必须被转换成16位成比例整数数值,才能驱动模拟输出。PID回路输出成比例实数数值=(PID回路输出标准化实数值-偏移量)×取值范围MOVRVD108,AC0//将PID回路输出送入AC0*R32000.0,AC0//AC0的值乘以取值范围,变成成比例实数数值ROUNDAC0,AC0//将实数四舍五入取整,变成32位整数DTIAC0,AC0//32为整数转换成16位整数MOVWAC0,AQW0//16位整数写入AQW0五、PID指令六、PID指令应用举例在恒温箱内装有一个电加热元件和一个制冷风扇,电加热元件和制冷风扇的工作状态只有OFF和ON,即不能自行调节。现要控制恒温箱的温度恒定,且能在25~100℃范围内可调,如图所示:CPU224XP自带模拟量I/O规格信号类型I/O信号电压信号电流信号模拟量输入×2±10V——模拟量输出×10~10V0~20mAPLC软元件分配如下: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积分时间VD220PID指令编写: