水箱液位系统的建模与仿真
李晓理,李骥,石陇辉
(北京科技大学 信息工程学院 自动化系,北京,100083)
摘 要:应用流体力学原理对三容水箱液位系统进行分析,并在不同的工作点对水箱系统建立机
理模型。基于不同的模型结构:线性模型、BP 神经网络模型、非线性Hammerstein ARMAX 模型,
利用测量到的输入输出数据辨识对象的模型参数,对水箱系统建立数学模型,并通过仿真检验模
型的有效性。不同的模型结构和相应参数及其辨识方法将对控制系统的设计具有很强的指导意义。
关键词:水箱液位系统;神经网络;辨识;Hammerstein ARMAX 模型
中图分类号:TP273 文献标识码:A 文章编号:08-1551
Modeling and Simulation of Water Level System
Li Xiao-li,Li Ji,Shi Long-hui
(Department of Automation, School of Information and Engineering ,University of Science and Technology Beijing,Beijing, 100083, China)
Abstract: The hydrodynamics character of Three-Tank Water Level System is analyzed, and the mechanism models of
around different working points are presented. Based on different model structures: linear model, BP neural network model,
nonlinear Hammerstein ARMAX model, the mathematic models of Water Level System are established by identifying model
parameters with the measured input and output data. Simulation study is given to test the effectiveness of different models.
Different model structure and the corresponding identification methods will be a basement for the design of control system.
Key words: water level system; neural network; identification; hammerstein ARMAX model
引言1
三容水箱是较为典型的非线性、时延对象,工业上许多
被控对象的整体或局部都可以抽象成三容水箱的数学模型。
研究水箱液位系统的建模、控制策略将有重要的意义[1-4]。
不同的建模机理,将会导致不同的模型描述。本文从物
理机理和黑箱模型的角度出发,研究水箱液位系统的建模问
题。首先根据流体力学原理,推导液位高度与输入流量之间
的函数关系,并基于一定的简化条件给出输入输出传递函数。
然后采用三种不同的模型结构:线性模型,BP 网络模型,非
线性 Hammerstein ARMAX 模型来表达水箱液位系统的动态
特性,并利用输入输出数据辨识模型参数。通过仿真研究检
验模型的有效性。
本文内容可概括如下:第一节介绍了A3000 三容水箱液
位系统的结构特点;第二节对一级水箱的建模问题进行研究;
第三节将建模型策略推广到二级水箱;最后,结论部分对本
文工作的意义进行了总结。
收稿日期: 修回日期:
基金项目:国家自然科学基金资助项目(No.60604002);北京市科技新
星计划资助项 目 (No.2006B23) ;北京市教委 共 建 重点 学科 资助项目
(No.xk100080537).。
作者简介:李晓理(1971-),男, 辽宁人,满族, 博士, 副教授,研究方向为
多模型自适应控制、广义预测控制、非线性系统辨识等;李骥(1983-), 男,
湖北人, 汉族, 硕士研究生,研究方向为非线性系统辨识;石陇辉(1985-),
男,甘肃人,汉族,硕士研究生,研究方向为非线性系统控制。
1 三容水箱液位系统的结构
图 1 是水箱的简单结构图。在这个设备中有三个水箱:
2#水箱,3#水箱和 4#水箱,可以根据需要构成不同阶次的被
控对象。1#水箱是一个主水箱,为水泵供水。控制激励是一
个螺纹连接、线性流量的单座电动阀,来自 PLC 的控制命令
使电动阀的开度从 0%到 100%变化。不同的电动阀的开度意
味着出水管中不同的水流量。
整个系统分为 A3000 控制系统和 A3000 现场系统。
A3000 控制系统由 I/O 界面板,西门子 PLC S7-300 ,MACS
DCS 控制系统和智能仪表组成。在本实验中的控制由 S7-300
实现。A3000 现场系统由水箱,压力/液位变送器,流量计,
电动阀和水泵构成。
从图 1 的简单结构图来看,水箱液位系统的主要原理可
解释如下:受 2#水泵的驱动,1#水箱里的水被输送到 2#,3#,
4#水箱。水箱的液位由每个水箱底部的压力传感器测量,然
后数据通过现场总线被实时传送到 PLC。PLC 计算出实际液
位和设定液位之间的差值,并根据控制 PID 算法计算出控制
量。控制输出由现场总线反馈给执行机构电动阀来改变水管
中的流量,进而可以对水箱中的液位进行控制。
f —出水口挡板高度;
PV —水箱液位高度;
1K —阀体流量比例系数;
2K —出水口流量比例系数。
假设 A 、 f 、 1K 、 2K 不变, 0MV 、 0PV 为平衡点
的输入输出值,则从图 2 可得到:
(2)
(3)
显然该系统为一非线性系统,为便于分析,对(3)式在系
=
QQ
2
1
= 1
K
Q
1
= 2
K
Q
dPV
A
(
MV
(1)
PV
dt
)
/
2
统平衡点处进行简化,在平衡点
(
MV
0 PV
,
0
=
PV
)
0
)
处有:
K
3
(4)
Q
2
/
PV
(
K
2
/
即
图 1 水箱液位系统简单结构图
2 一级水箱的建模
在 A3000 系统中,关闭 2#和 3#水箱的进水开关,通过
电动阀调节 4#水箱的进水流量,来控制其液位高度,这就构
成了以 4#水箱为研究对象的一级水箱系统。
对于一级水箱系统,在某些平衡点附近可以近似为一阶
线性系统,模型简单而且易于控制,但当系统状态在平衡点
附近较大范围内变化时,该线性模型的逼近精度将降低,因
此需要采用非线性建模方法进行研究;采用BP 神经网络模型
逼近非线性函数精度高,但神经网络模型的神经元个数,神
经网络的层数需要多次实验才能获得最优解,而且计算量较
大;采用 Hammerstein ARMAX 模型,结构简单,易于辨识,
便于使用预测控制等先进控制方法。
2.1 系统的机理模型
图 2 单容水箱液位调节阀控制系统
对一级水箱的动力学特性进行机理分析,作如下符号说
明:
1Q —水箱流入量;
2Q —水箱流出量;
A —水箱截面积;
MV —进水阀开度;
Q
2
= 3
K
PV
(5)
对(1)、(2)、(5)式进行拉普拉斯变化得:
1
sQsQ
)(
2
=
K
1
=
K
)(
sQ
)(
1
sQ
)(
2
3
·=
As
sMV
)(
sPV
)(
sPV
)(
(6)
(7)
(8)
综合(6) 、(7) 、(8)式得到:在平衡点
附
近,以进水阀开度 MV 为输入,水箱液位高度 PV 为输出的
水箱系统模型传递函数可近似描述为:
0 PV
,
MV
(
)
0
sG
)(
=
sPV
/)(
sMV
)(
=
K
1
/(
sA
+
K
3
)
(9)
考虑实际系统存在的时延,故确定系统结构为近似具有
纯时延的一阶环节:
sG
)(
=
Ke
st
Ts
/(
+
)1
,
=
TKKK
,
/
3
1
=
KA
/
3
(10)
2.2 线性模型的最小二乘法辨识
使用平衡点(进水阀开度 85%,液位高度 60%)附近的采
样数据, (10) 中的模型参数 TK, 可由最小二乘法辨识。
如图 3 所示,使用 Matlab 中的辨识工具箱 [5-7] ,通过可
视化方式编程。选择 Import Data 栏目的 Time-Domain Data
选项来填写输入输出数据,然后选择 Estimate 辨识列表框,
从中选择 Process Models 选项,最后选择系统阶次和延迟等
点击 Estimate 按钮进行连续系统传递函数的辨识。
辨识得到的模型为:
sG
)(
=
.0
e
71258
s
11
.90/(
s
201
+
)1
(11)
基于同样的输入数据,模型(11)的输出和实际测量输出
的比较曲线如图 4 所示,从中可见该模型具有很好的拟合度。
根据模型(11),基于 Ziegler-Nichols 方法获得以下 PID
控制器:
-
·
·
»
·
·
-
·
·
-
-
网络。使用 Matlab 工具箱的“newff”函数,建立一个单输
入,单输出,单隐层的神经元网络。设定输入向量的变化范
围为 0~100;隐层节点数取 15,传递函数为“tansig”;输出
层节点数为 1,传递函数为“pureline”;网络训练函数、权
值和阈值学习函数、性能函数缺省。然后使用“init”函数对
连接权值和阈值进行初始化。使用“train”函数进行训练,
设置训练显示间隔次数为 50,最大训练循环次数为 5000,性
能目标值为 10 5-
,学习系数为 0.05。最后使用“sim”函数
进行仿真,结果如图 6 和图 7 所示,该模型与实际模型的误
差小,拟合精度好。
图 3 系统辨识程序界面
70
60
50
40
30
20
10
)
%
(
l
e
v
e
L
t
r
e
a
W
0
0
50
100
150
70
60
50
40
30
20
10
)
%
(
l
e
v
e
L
r
e
t
a
W
200
250
300
350
400
450
Time(s)
0
0
100
200
300
400
Time(s)
Time(s)
500
600
700
800
图 4 模型(11)的输出(蓝)与测量输出(黑)曲线
ku
)(
=
p
keK
)(
+
+
keK
)(
I
=
ku
ku
)(
(
K
(
D
D+
)1
ke
)(
ku
)(
))1
ke
(
(12)
(13)
K
=
.14
,
467
K
其中
,将以上
控制器作用于 4#水箱,可以获得如图 5 的实际液位曲线。
D
p
I
=
.0
,
6889
K
=
95.75
图 6 BP 网络输出(红)与测量输出(蓝)曲线
)
%
(
r
o
r
r
E
5
4
3
2
1
0
-1
-2
-3
-4
-5
0
50
100
150
200
250
300
350
400
450
Time(s)
图 5 水箱液位系统的实验结果
2.3 神经网络模型辨识
图 7 BP 网络输出与测量输出的差值曲线
2.4 基于 Hammerstein ARMAX 模型的辨识
Hammerstein 模型是一种广泛使用的非线性模型[9-10]。这
里具有图 8 所示结构的 Hammerstein 模型被用来描述水箱液
位系统的动态特性。
Hammerstein 模型的非线性部分可表示为:
m+
uc
tuc
)(
2
tuc
)(
1
tuf
((
tu
)(
L
))
+
+
=
=
2
m
t
)(
(14)
BP 神经网络能以任意精度逼近非线性函数[8]。这里图 5
所示实验的测量输入输出数据被用来训练一个 3 层 BP 神经
图 8 的线性部分可由 ARMAX 模型描述,可表示为如下
输入输出关系:
-
D
-
D
D
D
-
图 8 单输入单输出 Hammerstein 模型
=
ty
)(
tuzGtx
)()(
)(
tw
tvzN
)()(
)(
=
=
+
twtx
)(
)(
=
tuzAzB
/)(
(
)(
=
tvzAzD
)(
/)(
(
(
(
(15)
(16)
(17)
))
))
1-z 算子(后移算子)
这里 )(zA , )(zB , )(zD 转换成用
表示的多项式为:
1
+=
zA
1)(
=
1
zb
zB
)(
1
+=
zD
1)(
za
1
+
zb
2
+
1
zd
1
+
2
+
L2
za
2
+
+
L3
zb
3
+
+
L2
zd
d
2
n
n za
+
n zb
nd
nd z
(18)
(19)
(20)
n
从公式(15)-(20),我们得到一个简单的基于噪声估计的
递推最小二乘算法:
T
)(ˆ
(ˆ
(ˆ)(
=
+
k
kyk
kP
k
k
k
))1
)(
)(
()(
)1
j
j
q
q
q
(21)
= -
j+
)0( =
Tj
1
1
Ip
k
k
kP
kP
P
)(
)(
)1
)(
(
(22)
,
0
=
T
(ˆ)(
(ˆ
(ˆ)1
k
kvk
kv
dnkv
)]
[
)2
)(
j
y
(23)
L
=
T
k
m k
k
k
k
)(
)]
)(
[
)(
)(
(
y
y
y
y
y
(24)
L
0
-=
Tnky
ky
ky
k
(
)2
)(0
(
(
)1
[
)]
(25)
L
=
T
m
uc
k
uc
nk
,
[
(
)1
)]
,
L
j
j
(26)
,2,1 L=
y
k
)(
y
(
j
2
1
j
j
j
)(ˆ
kv
=
ky
)(
j-
T
)(ˆ)(
k
k
q
(27)
针对 4#水箱,建立如下结构的 Hammerstein 模型:
1
,
za
1
zB
)(
= zb
+=
zA
1)(
1
非线性部分结构为( 1c =1):
+
=
=
kuf
((
ku
)(
ku
)(
))
1
,
zD
)(
+=
1
zd
1
1
(28)
uc
2
2
k
)(
+
3
kuc
)(
3
(29)
则可得到:
ky
)(
-=
kya
(
1
+
kv
)(
+
kub
)1
(
1
kvd
(
)1
1
+
+
2
kubc
(
12
kubc
)1
(
13
(30)
)1
3
+
)1
定义参数向量q 和信息向量 )(kj 为:
1=q
ky
(
[
)1
Tdbcbcba
]
1
3
ku
ku
(
(
12
2
ku
(
13
)1
)1
1
(31)
)1
(ˆ
kv
)]1
(32)
kj
)(
-=
[
为了初始化该算法,取 0p 为一个很大的正实数,如
10=p
0
6
,而
)0(ˆ
q
=
10
I6
。
基于图 5 所示的实际数据,系统(30)的参数经辨识为:
3c =0.0002, 1d =-0.3037。
辨 识 模型 的 仿真 结 果 如 图 9 所 示 ,可 以 看 出 该
Hammerstein 模型的有较好的拟合度。
70
60
50
40
30
20
10
0
)
%
(
l
e
v
e
L
t
r
e
a
W
-10
0
100
200
300
400
500
Time(s)
600
700
800
900
1000
图 9 Hammerstin 模型输出(红)与测量输出(线)曲线
3 二级水箱的基于辨识的建模
关闭 2#和 4#水箱的进水开关,通过电动阀调节 3#水箱
的进水流量,3#水箱里的水通过带有挡板的出水口进入 4#水
箱,这样就达到了间接控制 4#水箱液位高度的目的,构成了
以 4#水箱为研究对象的二级系统。在对二级水箱的研究中发
现,二级水箱的非线性特征明显增强,时延远大于一级水箱
系统,不能再用类似前面的一级水箱的简单线性化建模方法,
因 此 采 用 前 面 的 非 线 性 模 型 —— 神 经 网 络 模型 和
Hammerstein ARMAX 模型建模。
给定 PID 参数,控制下水箱液位在 35%附近变化,记录
并存储输入输出数据,构成数据向量,进而辨识神经网络模
型和 Hammerstein ARMAX 模型的参数。
3.1 神经网络模型辨识
使用 Matlab 工具箱,建立一个单输入,单输出,隐层为
有 15 个神经元的三层神经网络。其他参数的选择与前面 2.3
节模型相同。仿真结果如图 10 和图 11 所示,该模型与实际
模型的误差小,仍有较好的拟合精度。
3.2 基于 Hammerstein ARMAX 模型的辨识
在本系统中对于 4#水箱,Hammerstein 模型有如下结构:
,
- +
1
=
2
zb
1
zB
)(
1
(33)
zb
2
,
zd
1
za
1
- +
1
zD
+=
zA
1)(
2
za
2
+=
1)(
非线性部分结构为( 1c =1):
+
ku
)(
kuf
((
ku
)(
))
=
=
uc
2
2
k
)(
+
3
kuc
)(
3
(34)
1a =-1.0029, 1b =-0.0188, 2c =-0.0263,
则可得到
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
ky
)(
-=
kya
(
)1
1
2
ubc
k
(
12
3
kubc
(
23
kya
)2
(
2
+
2
ubc
)1
22
+
+
kv
)2
)(
+
+
kub
kub
)1
(
(
)2
2
1
+
ubc
k
k
(
(
)2
)1
13
kvd
(
)1
(35)
1
3
+
+
定义参数向量q 和信息向量 )(kj 为:
1=q
[
Tdbcbcbcbcbbaa
]
13
23
12
12
22
1
2
(36)
)
%
(
l
e
v
e
L
t
r
e
a
W
45
40
35
30
25
20
15
10
5
0
0
100
200
300
Time(s)
400
500
600
图 10 BP 网络输出(红)与测量输出(蓝)曲线
)
%
(
r
o
r
r
E
5
4
3
2
1
0
-1
-2
-3
-4
-5
0
100
200
300
Time(s)
400
500
600
图 11 BP 网络输出与测量输出的差值曲线
kj
)(
-=
ky
[
(
2
ku
(
)1
)2
ky
(
3
ku
(
ku
(
)2
3
ku
(
)1
ku
(
)1
(ˆ)2
kv
)2
)]1
2
(
k
)1
u
(37)
为了初始化该算法,取 0p 为一个很大的正实数,如
10=p
0
6
,而
)0(ˆ
q
=
10
I6
。
系统(35)的参数经辨识为:
1a =-0.9059, 2a =-0.0985, 1b =-0.0006, 2b =0.0006,
2c =-0.0135, 3c =0.0001, 1d =-0.1878。
)
%
(
l
e
v
e
L
t
r
e
a
W
50
40
30
20
10
0
-10
-20
0
200
400
600
800
Time(s)
1000
1200
1400
图 12 Hammerstin 模型输出(红)与测量输出(蓝)曲线
4 结论
对三级水箱这样一个复杂非线性系统,研究其建模问题
不仅能够对水箱的动态特性给出一个严格的数学描述,更重
要的是它对控制器的设计提供了一个很好的平台。针对不同
的模型结构将采用不同的控制器设计方案,因此建模对整个
三级水箱控制系统的设计与开发起到至关重要的作用。又由
于过程控制系统当中有很多被控对象(如化工过程中的蒸馏
塔液位控制系统)与水箱液位系统有极其相似的动态特性,因
此研究水箱系统的建模问题有极其重要的实际意义。
本文基于 A3000 水箱液位系统装置,分析了系统的物理
机理,实践了不同的建模方法。不同的模型结构:线性模型,
BP 网络模型,非线性Hammerstein ARMAX 模型被用来描述
特定系统的动态特性,并通过仿真研究验证辨识模型的有效
性。
参考文献
[1] David Cartes, Lei Wu. Experimental Evaluation of Adaptive
Three-tank Level Control. ISA Transactions, 2005, 44: 283-293.
[2] 赵科,王生铁,张计科.三容水箱的机理建模.控制工程.2006,
13(6):521-525
[3] 陈薇,吴刚 . 非线性 双容水箱建模 与预 测控制. 系统仿 真学
报.2006,18(8):2078-2085
[4] 张晓华.系统建模与仿真[M].北京:清华大学出版社,2006
[5] 刘兴堂.现代辨识工程.北京:国防工业出版社,2006
[6] 薛定宇.控制系统计算机辅助设计——MATLAB 语言与应用(第
2 版)[M].北京:清华大学出版社,2006
[7] 魏巍. MATLAB 控制工程工具箱技术手册.北京:国防工业出版
社,2004
[8] 周开利,康耀红.神经网络模型及其 MATLAB 仿真程序设计
[M].北京:清华大学出版社,2005
S. A. Billings and S. Y. Fakhouri. Nonlinear Identification Using the
Hammerstein Model. Int. J. Systems Sci., 1979, 10(5):567-578
[10] Feng Ding, Tongwen Chen. Identification of Hammerstein Nonliear
ARMAX Systems. Automatica.2005,41(9):1479-1489
辨识模型的仿真结果如图 12 所示,该模型的拟合度较
[9]
好。
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-