图 3-8 “系统块对话框”
图 3-9 通信端口设置
6
控制算法描述
4.1 PWM技术
脉宽调制(PWM)是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在测量、通信、功率控制与变换的许多领域中。
PWM是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF) [16]。
本论文中采样周期和加热周期都是10秒。采样后,根据温差的大小进行PID调节,转化得到一个加热时间(0-10秒)作为下一个加热周期的加热时间。例如温差大,加热时间就大,温差小,那么加热时间就小。程序采用的是粗调和微控两段式控制方式。在粗控调阶段,占空比恒为一。在微控制阶段,占空比就根据温差不停地变化。
4.2 PID控制程序设计
模拟量闭环控制较好的方法之一是PID控制,PID在工业领域的应用已经有60多年,现在依然广泛地被应用。人们在应用的过程中积累了许多的经验,PID的研究已经到达一个比较高的程度。
比例控制(P)是一种最简单的控制方式。其控制器的输出与输入误差信号成比例关系。其特点是具有快速反应,控制及时,但不能消除余差。
在积分控制(I)中,控制器的输出与输入误差信号的积分成正比关系。积分控制可以消除余差,但具有滞后特点,不能快速对误差进行有效的控制。
在微分控制(D)中,控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。微分控制具有超前作用,它能预测误差变化的趋势。避免较大的误差出现,微分控制不能消除余差。
PID控制,P、I、D各有自己的优点和缺点,它们一起使用的时候又和
7
互相制约,但只有合理地选取PID值,就可以获得较高的控制质量[17]。
4.2.1 PID控制算法
图 4-1 带PID控制器的闭控制系统框图
如图4-1所示,PID控制器可调节回路输出,使系统达到稳定状态。偏差e和输入量r、输出量c的关系:
=)r(t-c)( t ) (4.2) e(t控制器的输出为:
?1u(t)?Ke(t)? P?Ti?上式中, u(t)——PID回路的输出; Kp——比例系数P; Ti ——积分系数I; Td——微分系数D; PID调节器的传输函数为: D(S)?de(t)? (4.3) ?0e(t)dt?Tddt??t??U(S)1?KP?1??TdS? (4.4) E(S)?TiS?数字计算机处理这个函数关系式,必须将连续函数离散化,对偏差周期采样后,计算机输出值。其离散化的规律如表4-5所示:
8
表 4-5 模拟与离散形式
模拟形式 离散化形式 e(t)?r(t)?c(t) de(t) dTe(n)?r(n)?c(n) e(n)?e(n?1) T?e(t)dt 0t?e(i)T?T?e(i) i?0i?0nn 所以PID输出经过离散化后,它的输出方程为:
??TTnu(n)?KP?e(n)??e(i)?d?e(n)?e(n?1)???u0Tii?0T (4.6) ???uP(n)?ui(n)?ud(n)?u0
式4.8中,
uP(n)?KPe(n) 称为比例项;
T ui(n)?KpTi ud(n)?Kpn?e(i) 称为积分项;
i?0nTd?e(n)?e(n?1)? 称为微分项; T上式中,积分项?e(i)是包括第一个采样周期到当前采样周期的所有误差的
i?1累积值[17]。计算中,没有必要保留所有的采样周期的误差项,只需要保留积分项前值,计算机的处理就是按照这种思想。故可利用PLC中的PID指令实现位置式PID控制算法量[18]。
4.2.2 PID在PLC中的回路指令
现在很多PLC已经具备了PID功能,STEP 7 Micro/WIN就是其中之一有的是
9
专用模块,有些是指令形式。西门子S7-200系列PLC中使用的是PID回路指令。见表4-7。
表4-7 PID回路指令
名称 指令格式 指令表格式 梯形图
PID运算 PID PID TBL,LOOP 使用方法:当EN端口执行条件存在时候,就可进行PID运算。指令的两个操作数TBL和LOOP,TBL是回路表的起始地址,本文采用的是VB100,因为一个PID回路占用了32个字节,所以VD100到VD132都被占用了。LOOP是回路号,可以是0~7,不可以重复使用。PID回路在PLC中的地址分配情况如表4-8所示。
表4-8 PID指令回路表
偏移地址 0 4 8 12 16 20 24 28 32 名称 过程变量(PVn) 给定值(SPn) 输出值(Mn) 增益(Kc) 采样时间(Ts) 采样时间(Ti) 微分时间(Td) 积分项前值(MX) 过程变量前值(PVn-1) 数据类型 实数 实数 实数 实数 实数 实数 实数 实数 实数 说明 必须在0.0~1.0之间 必须在0.0~1.0之间 必须在0.0~1.0之间 比例常数,可正可负 单位为s,必须是正数 单位为min,必须是正数 单位为min,必须是正数 必须在0.0~1.0之间 必须在0.0~1.0之间
1) 回路输入输出变量的数值转换方法
本文中,设定的温度是给定值SP,需要控制的变量是炉子的温度。但它不完全是过程变量PV,过程变量PV和PID回路输出有关。在本文中,经过测量的温度信号被转化为标准信号温度值才是过程变量,所以,这两个数不在同一个数量值,需要他们作比较,那就必须先作一下数据转换。温度输入变量的数10倍据转化。
10