点击【 大 中 小 】,可以选择字体的大小,以便你阅读.
1 引言
在工业生产过程当中,常常需要用闭环控制方式来控制温度、压力、流量、液位和速度等连续变化的模拟量。PID调节是经典控制理论中最典型的用于闭环控制系统的调节方法。积分控制可以消除系统的静差,提高系统控制精度和抗外界干扰能力;微分控制改善系统的动态响应速度,用于克服系统的惯性滞后,提高系统的稳定性;比例、积分、微分控制结合具有较强的灵活性和适应性。
用PLC对模拟量进行PID控制时,可使用PID过程控制模块,一个模块可以控制几路甚至几十路闭环回路,但这种模块价格较贵,一般用于大型复杂的控制系统;也可以使用PID算法嵌入型PLC提供的PID功能指令或自编程序实现PID闭环控制,这种方法价格便宜的多。本文以Siemens S7-200为例,介绍了用算法嵌入型PLC实现单回路模拟量闭环PID控制的方法,这种方法投资较少,适用于中小型系统。
2 PID控制器PLC的实现方法
图1 数字PID闭环控制系统图
典型的基于数字PID的闭环控制系统如图1示,其中虚线部分在PLC内部实现。PLC的PID控制器的设计是以连续系统的PID控制规律为基础,将其数字化写成离散形式的PID控制方程,再跟据离散方程进行控制程序设计。在连续系统中,典型的PID控制器的输入输出关系如下:
式中:M(t)为控制器的输出量,M0为输出的初始值;e(t)为给定值与被控变量的误差信号;KC比例系数;TI积分时间常数;TD微分时间常数。
将上式离散化,第n次采样时控制器的输出为:
式中包含9个监控PID运算的参数,构成S7-200的PID运算回路变量表,参见表1。
表1 PID指令回路表
S7-200的PID指令如下:
指令中TBL是回路表的起始地址,LOOP是回路的编号。PID指令对回路表中的某些输入值不进行范围检查,应保证过程变量、给定值等符合要求。
3 PID程序实现
温度是工业生产对象中主要的被控参数之一。本文以温度控制系统为例,说明西门子PLC实现PID调节的应用问题。系统要求将被控系统的温度控制在50~60℃之间,当温度低于50℃或高于60℃时,通过PID控制器的输出控制加热元件自动进行调整。由于系统温度控制要求不高,本例采用PI控制,初值取:回路增益Kc=2,积分时间TI=30min,采样周期Ts=1s。控制过程如图2所示。
图2 Siemens PLC PID控制实现框图
3.1 输入输出量转换
PID控制有两个输入量:给定值(SP)和过程变量(PV),通常给定值是固定的,过程变量是经A/D转换和计算后得到的被控量的实测值,给定值与过程变量都是与被控对象有关的值。应用PLC的PID指令之前,必须将其转换成符合回路表要求的标准浮点数(实数),即转换为0.0~1.0之间的标准实数。同样,对于PID指令的输出,在将其送给D/A转化器之前,也需进行转换。为控制方便,本例中设55℃为被控温度系统的基准值即给定值。
(1)回路输入的转换。首先将给定值或A/D转换后得到的过程变量整数值由16位整数转换成浮点数,然后将实数进一步用下面的公式对给定值或过程变量标准化即转换成0.0~1.0之间的标准实数。
式中: —标准化实数值;