基于组态软件和simulink的虚拟试验平台.docx
《基于组态软件和simulink的虚拟试验平台.docx》由会员分享,可在线阅读,更多相关《基于组态软件和simulink的虚拟试验平台.docx(23页珍藏版)》请在冰豆网上搜索。
基于组态软件和simulink的虚拟试验平台
基于组态软件和simulink的虚拟试验平台
————————————————————————————————作者:
————————————————————————————————日期:
基于组态软件和simulink的虚拟试验平台
虚拟实验平台简介
本实验平台是基于MATLAB实验模型和MCGS和力控组态软件设计的工业过程控制虚拟实验平台,学生可以通过该试验平台了解相关的过程装备的工作原理以及操作流程,并且可以通过和好的人机界面监控过程装备的运行,还可以通过simulink模型了解过程设备的工作机理,辅助过程控制课程的学习.
MCGS组态软件简介
新型的工业自动控制系统正以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,它们具有适应性强、开放性好、易于扩展、经济、开发周期短等鲜明优点.通常可以把这样的系统划分为控制层、监控层、管理层三个层次结构。
其中监控层对下连接控制层,对上连接管理层,它不但实现对现场的实时监测与控制,且常在自动控制系统中完成上传下达、组态开发的重要作用。
监控层的硬件以工业级的微型计算机和工作站为主,目前更趋向于工业微机。
组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件厂家的计算机和I/O设备,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软、硬件的全部接口,进行系统集成。
MCGS组态软件的系统构成
MCGS组态软件的整体结构
MCGS组态软件(以下简称MCGS)由“MCGS组态环境”和“MCGS运行环境”两个系统组成。
两部分互相独立,又紧密相关.
MCGS组态环境是生成用户应用系统的工作环境,由可执行程序McgsSet。
exe支持,其存放于MCGS目录的Program子目录中。
用户在MCGS组态环境中完成动画设计、设备连接、编写控制流程、编制工程打印报表等全部组态工作后,生成扩展名为.mcg的工程文件,又称为组态结果数据库,其与MCGS运行环境一起,构成了用户应用系统,统称为“工程”。
MCGS运行环境是用户应用系统的运行环境,由可执行程序McgsRun.exe支持,其存放于MCGS目录的Program子目录中。
在运行环境中完成对工程的控制工作。
MCGS工程的五大部分
MCGS组态软件所建立的工程由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成,每一部分分别进行组态操作,完成不同的工作,具有不同的特性。
● 主控窗口:
是工程的主窗口或主框架.在主控窗口中可以放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口的打开或关闭。
主要的组态操作包括:
定义工程的名称,编制工程菜单,设计封面图形,确定自动启动的窗口,设定动画刷新周期,指定数据库存盘文件名称及存盘时间等。
● 设备窗口:
是连接和驱动外部设备的工作环境.在本窗口内配置数据采集与控制输出设备,注册设备驱动程序,定义连接与驱动设备用的数据变量。
● 用户窗口:
本窗口主要用于设置工程中人机交互的界面,诸如:
生成各种动画显示画面、报警输出、数据与曲线图表等。
● 实时数据库:
是工程各个部分的数据交换与处理中心,它将MCGS工程的各个部分连接成有机的整体。
在本窗口内定义不同类型和名称的变量,作为数据采集、处理、输出控制、动画连接及设备驱动的对象。
● 运行策略:
本窗口主要完成工程运行流程的控制.包括编写控制程序(if…then脚本程序),选用各种功能构件,如:
数据提取、历史曲线、定时器、配方操作、多媒体输出等。
MCGS组态软件的工作方式
● MCGS如何与设备进行通讯:
MCGS通过设备驱动程序与外部设备进行数据交换.包括数据采集和发送设备指令。
设备驱动程序是由VB程序设计语言编写的DLL(动态连接库)文件,设备驱动程序中包含符合各种设备通讯协议的处理程序,将设备运行状态的特征数据采集进来或发送出去。
MCGS负责在运行环境中调用相应的设备驱动程序,将数据传送到工程中各个部分,完成整个系统的通讯过程。
每个驱动程序独占一个线程,达到互不干扰的目的。
● MCGS如何产生动画效果:
MCGS为每一种基本图形元素定义了不同的动画属性,如:
一个长方形的动画属性有可见度,大小变化,水平移动等,每一种动画属性都会产生一定的动画效果.所谓动画属性,实际上是反映图形大小、颜色、位置、可见度、闪烁性等状态的特征参数.然而,我们在组态环境中生成的画面都是静止的,如何在工程运行中产生动画效果呢?
方法是:
图形的每一种动画属性中都有一个“表达式”设定栏,在该栏中设定一个与图形状态相联系的数据变量,连接到实时数据库中,以此建立相应的对应关系,MCGS称之为动画连接。
当工业现场中测控对象的状态(如:
储油罐的液面高度等)发生变化时,通过设备驱动程序将变化的数据采集到实时数据库的变量中,该变量是与动画属性相关的变量,数值的变化,使图形的状态产生相应的变化(如大小变化)。
现场的数据是连续被采集进来的,这样就会产生逼真的动画效果(如储油罐的液面的升高和降低)。
用户也可编写程序来控制动画界面,以达到满意的效果。
● MCGS如何实施远程多机监控:
MCGS提供了一套完善的网络机制,可通过TCP/IP网、Modem网和串口网将多台计算机连接在一起,构成分布式网络测控系统,实现网络间的实时数据同步、历史数据同步和网络事件的快速传递。
同时,可利用MCGS提供的网络功能,在工作站上直接对服务器中的数据库进行读写操作。
分布式网络测控系统的每一台计算机都要安装一套MCGS工控组态软件。
MCGS把各种网络形式,以父设备构件和子设备构件的形式,供用户调用,并进行工作状态、端口号、工作站地址等属性参数的设置。
● 如何对工程运行流程实施有效控制:
MCGS开辟了专用的“运行策略”窗口,建立用户运行策略。
MCGS提供了丰富的功能构件,供用户选用,通过构件配置和属性设置两项组态操作,生成各种功能模块(称为“用户策略”),使系统能够按照设定的顺序和条件,操作实时数据库,实现对动画窗口的任意切换,控制系统的运行流程和设备的工作状态。
所有的操作均采用面向对象的直观方式,避免了烦琐的编程工作。
试验平台模型简介
三水箱
系统的液位控制是当今生产和生活中很常见的问题,而液位系统控制一般是在模型已知的基础上进行,因此,液位系统的建模研究变得非常重要。
而以往的液位系统建模研究大多都集中在单容系统或者双容系统,对三容以上的液位系统,由于其各容器液位间的关系属于非线性耦合关系,建模工作非常复杂,所以现有的研究内容仅局限于对其中某些子系统进行.
如图为装置的示意图,图中可实现的一个典型工作状态是:
泵P1、P2用于供水,泵P3停用,连通阀CV1、CV2、CV3开启,泄漏阀LV1、LV2、LV3关闭,调整泵P1、P2的转速保持液位h1、h2稳定在各自的给定值上,将系统的平衡方程应用到3个水箱上面可以得到:
(1)
(2)
(3)
未知量
,
和
可由在一般情况下的托里切利规则决定。
定义为:
(4)
式中:
g:
为重力加速度,
;sgn
:
为参数z的符号;
:
为每两个相邻水箱的液位差,m;
:
为流量系数,范围在0~1之间;Q:
流通管中的流量,
;
:
为连通管截面积,
,所以得到未知量为:
(5)
(6)
(7)
即可得到数学模型[1]:
(8)
(9)
(10)
TE模型简介
TE过程(TennesseeEastmanProcess)是一个实际化工过程的仿真模拟.它是由美国TennesseeEastman化学公司过程控制小组的J。
J。
Downs和E。
F.Vogel[2]提出的,被广泛的应用于过程控制技术的研究。
这个过程模型首先是以FORTRAN源代码的形式提供给过程控制学界,主要描述了装置、物料和能量之间的非线性关系。
TE模型主要可以被用来进行装置控制方案的设计,多变量控制,优化,模型预测控制,非线性控制,过程故障诊断,教学等。
在TE模型上进行多工况自动切换系统的研究和开发,为后续的实际生产装置的多工况自动切换系统积累了一定的开发经验。
由于这是一个仿实际生产装置的数学模型,所以在开发过程中和现场开发是有明显区别的,我们不用担心方案的设计会影响到实际的生产过程,可以放心的在其上面进行方案可行性和正确性的测试。
Product1,产品1
TE生产过程主要由四种气态物料参与反应,分别为A、C、D和E,生产出两种产品G、H,并伴有一种副产品F,此外在产品的进料中含有少量的惰性气体B。
整个过程主要由四种反应组成,反应方程式如下:
A(g)+C(g)+D(g)→G(g)
A(g)+C(g)+E(g)→H(g)
A(g)+E(g)→F(liq)
Byproduct,副产品
3D(g)→2F(liq)
上述反应均是放热反应,且反应是不可逆的。
反应的速率是与温度相关的一个函数.生产G产品时,对温度是非常灵敏的。
相对于反应物浓度而言,这个反应可以近似被看作一阶反应。
整个过程主要有五个操作单元组成:
反应器、产品冷凝器、气液分离器、循环压缩机和汽提塔.气态的反应物进入到反应器中,生成液态产品气相的反应是在一种不挥发的气相催化剂的作用下进行的。
反应器内置有冷凝包用来移除反应产生的热量。
产品以气态的形式出来,并夹杂有一些未反应物。
催化剂仍然滞留在反应器中。
工艺流程图如下:
TE工艺流程
从反应器出来的产品流量,首先经过一个冷凝器,冷凝之后从里面出来到气液分离器中.在气液分离器中,没有被压缩的组分通过一个离心式的压缩机被回收到反应器中的物料中;被压缩的组分到了产品的提馏段进行提馏,从而移除剩余的反应物。
产品G和H从提馏段中出来,在下面的精馏段中被分离,这不包括在这个模型范畴以内。
那些惰性气体和气态的副产品主要通过放空手段进行了移除。
根据产品G和H的不同的三种比率,共有六种生产状态.见下表:
TE过程生产模式
模式
G/H比率
产品生产率
1
50/50
7038kgh—1G和7038kgh-1H
2
10/90
1048kgh—1G和12669kgh-1H
3
90/10
10000kgh-1G和1111kgh-1H
4
50/50
最大生产率
5
10/90
最大生产率
6
90/10
最大生产率
TE模型的控制策略设计
TE过程主要有十二个操纵变量和四十一个测量变量,表为十二个操纵变量,1—3为22个过程连续变量测量值,1—4为19个色谱测量组分值。
研究这个过程的首要前提就是要有一套控制方案来操作这个装置。
这个过程的控制目标对于化学反应来说是非常典型的:
(1)要保证过程变量值在期望范围内。
(2)在设备的限制条件下,要保证过程操作的条件.
(3)在有扰动的情况下,使得产品收率和产品质量的变化尽可能的小.
(4)要尽量减小影响其它过程的阀门开度.
(5)当产品的收率和混合产品的组成发生变化时,能迅速、平稳的从扰动中恢复过来。
过程操纵变量
变量名
变量符号
基础值
低限
高限
单位
D流量
XMV1
63。
053
0
5811
Kgh-1
E流量
XMV2
53.980
0
8354
Kgh-1
A流量
XMV3
24。
644
0
1.017
kscmh
AC混合流量
XMV4
61。
302
0
15.25
kscmh
压缩循环阀
XMV5
22.210
0
100
%
放空阀
XMV6
40.064
0
100
%
分离器液体流量
XMV7
38。
100
0
65.71
m3h-1
汽提塔液体流量
XMV8
46.534
0
49.10
m3h—1
汽提塔蒸汽阀
XMV9
47。
446
0
100
%
反应器冷凝水流量
XMV10
41.106
0
227。
1
m3h—1
冷凝器冷却水
XMV11
18.114
0
272。
6
m3h-1
搅拌速度
XMV12
50.000
150
250
rpm
上述的每一个操纵变量都是通过设置相应的XMV来定义的,其值在0~100之间。
基础值即XMV变量的初始值,XMV变量的范围为0~100。
在实际过程中,变量的低限为XMV(i)=0,高限为100.我们在研究过程中可以使这些变量超过0~100的限制,但是在程序的实际运行过程中,它们会被限制为0或者100。
过程连续变量测量值
变量名
变量符号
基础值
单位
A物料流量
XMEAS1
0.25052
kscmh
D物料流量
XMEAS2
3664。
0
Kgh-1
E物料流量
XMEAS3
4509.3
Kgh—1
A、C混合物料流量
XMEAS4
9.3477
kscmh
回收流量
XMEAS5
26。
902
kscmh
反应器进料率
XMEAS6
42.339
kscmh
反应器压力
XMEAS7
2705。
0
kPagauge
反应器液位
XMEAS8
75。
00
%
反应器温度
XMEAS9
120.40
oC
放空率
XMEAS10
0.3372
kscmh
产品分离器温度
XMEAS11
80。
109
oC
产品分离器液位
XMEAS12
50。
000
%
产品分离器压力
XMEAS13
2633.7
kPagauge
产品分离器出口流量
XMEAS14
25.160
m3h—1
汽提塔液位
XMEAS15
50.000
%
汽提塔压力
XMEAS16
3102.2
kPagauge
汽提塔出口流量
XMEAS17
22。
949
m3h—1
汽提塔温度
XMEAS18
65。
731
oC
汽提塔蒸汽流量
XMEAS19
230。
31
kgh-1
压缩机工作功率
XMEAS20
341。
43
kw
反应器冷却水出口温度
XMEAS21
94.599
oC
分离器冷却水出口温度
XMEAS22
77。
297
oC
过程色谱测量值
反应器流量色谱
组分
变量名
基础值
单位
A
XMEAS23
32。
188
Mol%
B
XMEAS24
8.8933
Mol%
C
XMEAS25
26.383
Mol%
D
XMEAS26
6.8820
Mol%
E
XMEAS27
18。
776
Mol%
F
XMEAS28
1。
6567
Mol%
放空气体色谱
组分
变量名
基础值
单位
A
XMEAS29
32。
958
Mol%
B
XMEAS30
13.823
Mol%
C
XMEAS31
23.978
Mol%
D
XMEAS32
1.2565
Mol%
E
XMEAS33
18.579
Mol%
F
XMEAS34
2.2633
Mol%
G
XMEAS35
4。
8436
Mol%
H
XMEAS36
2.2986
Mol%
产品流量色谱
组分
变量名
基础值
单位
D
XMEAS37
0.01787
Mol%
E
XMEAS38
0.83570
Mol%
F
XMEAS39
0。
09858
Mol%
G
XMEAS40
53。
724
Mol%
H
XMEAS41
43。
828
Mol%
表中列出了在操作过程中控制系统必须遵循的特殊的操作条件,这些约束条件主要是为了保护生产设备。
高限和低限是过程连锁策略的一部分,并且在不满足控制条件时会自动停车.
过程约束条件
过程变量
正常操作限制
停车限制
低限
高限
低限
高限
反应器压力
无
2895kpa
无
3000kpa
反应器液位
50%
(11.8m3)
100%
(21。
3m3)
2.0m3
24。
0m3
反应器温度
无
150℃
无
175℃
产品分离器液位
30%
(3。
3m3)
100%
(9。
0m3)
1。
0m3
12。
0m3
汽提塔基础液位
30%
(3.5m3)
100%
(6。
6m3)
1。
0m3
3。
0m3
关于下游进行精馏产品G和H的系统,其产品流量变化是很重要的.产品流率的变化超过有效值的正负百分之五,即在8-16h—1内,对过程影响较大;如果组分的变化率超过G有效值的正负百分之五,即在6-10h-1内,对过程的影响也是非常大的。
控制策略应该尽量减小产品流量的变化率。
在这个复杂的装置中,四种进料量是其它生产设施的产品。
尽管如此,对于A物料进料流率和E物料进料流率则保持相对少的持率;而C物料持率则非常的少。
对于那些只有很少持率的组分来说,在这个过程中,它们的进料流率的变化即是生产过程中产品需求的变化。
这四个流量中的三个的变化是非常重要的,特别是C物料的进料流率,必须满足最小值变化应当满足在12-80h-1的范围之内;对于A和D进料,他们应当被保持而避免在8-16h-1的范围内;进料E的变化不是最主要的问题。
文献上没有提供任何的数学方法来评估控制这个控制过程的性能.虽然许多动态性能指标在上述章节中已经有描述过,但是在可能的控制策略和技术中,折中的方案包含了比数学模型更多的信息。
测量失败或漂移的容错性,现场操作工的不稳定性,硬件设备的补偿性、持久性等等问题,使得建立控制策略的数学表达式变得相当的困难。
各种各样的过程控制技术在设定值改变下,以及扰动的载入中,可以进行测试和评价.这些设定值和扰动反映了一系列测试,这是可以被用来进行对比的.每一个扰动都反应了这个过程不同的方面。
这个过程包含了足够的操作变量,它已经远远超过了控制一个过程产品质量等的最优化所必须的变量的数目.这个生产过程的操作消耗主要是由于原料的流失决定的.原料的流失主要存在于放空气体、产品流体和可逆的反应中。
这个过程的经济消耗主要是由原料的消耗,放空气体中残留的产品和原料,以及处理F产品的消耗组成的.压缩机工作的消耗和提馏单元的消耗也被包含在上述消耗中。
整个TE过程可以被用来进行各种各样的过程研究,主要包括装置的控制策略设计,多变量控制,过程优化,预测控制,预估控制,非线性控制,过程诊断和教学用途。
MCGS与simulink模型试验平台的搭建
MCGS与Excel之间的通讯
要求使用Excel表单Sheet1的第1行到第10行的第一列显示MCGS数据对象Dat01到Dat10的值,把表单Sheet1的第1行到第10行的第二列输入的值送到MCGS数据对象Dat11到Dat20中.MCGS使用DDE和Excel进行交互的过程如下:
●首先在MCGS的“实时数据库”窗口中进行变量定义工作,定义20个数值类型的变量Data01~Data20;
●在MCGS组态环境的“工具”菜单中选取“DDE连接管理”菜单项,弹出如下窗口:
DDE连接管理
●在DDE连接管理窗口中,把Dat01到Dat10设置为DDE输出(选中各数据对象对应的DDE输出选项框);把Dat11到Dat20设置为DDE输入,同时对服务节点进行如下配置:
●按“服务节点配置”按钮,弹出如下配置窗口
服务节点配置
●按“增加”按钮,弹出如下配置窗口,把服务节点名设为“Excel表单”,把服务名设为“Excel”,主题名设为“Sheet1”(当把Excel应用软件作为DDE服务器时,服务名永远为“Excel”,主题名为对应表单——Sheet的名称)
配置窗口
●配置好服务器节点后,把Dat11到Dat20的连接节点都设为“Excel表单”,连接项目分别设为R1C2到R10C2。
●运行Excel,在表单Sheet1的R1C1到R10C1中依次输入从=McgsRun|DataCentre!
Dat01到=McgsRun|DataCentre!
Dat10,这样就完成了所有的DDE连接设置工作。
●当进入MCGS运行环境后,MCGS数据对象Dat01到Dat10的值就显示在Excel的表单Sheet1的第一列中,同时,当改变表单Sheet1的第二列值时,MCGS中数据对象Dat11到Dat20的值也随之而改变.如下图:
TE组态运行画面
MCGS组态的TE模型流程图、DDE通讯设置
EXCEL与MATLAB之间的通讯
利用matlab的s函数,编制一段DDE通讯函数内嵌到TE模型中可以达到将数据导入EXCEL的效果。
TE模型仿真启动时,该程序段也启动。
程序如下:
function[sys,x0,str,ts]=timestwo(t,x,u,flag)
%TIMESTWOS—functionwhoseoutputistwotimesitsinput。
%ThisM-fileillustrateshowtoconstructanM—fileS-functionthat
%computesanoutputvaluebaseduponitsinput.Theoutputofthis
%S—functionistwotimestheinputvalue:
%
%y=2*u;
%
%Seesfuntmpl。
mforageneralS—functiontemplate.
%
%SeealsoSFUNTMPL.
%Copyright1990-2002TheMathWorks,Inc.
%$Revision:
1.7$
%
%Dispatchtheflag.Theswitchfunctioncontrolsthecallsto
%S-functionroutinesateachsimulationstageoftheS—function.
%
switchflag,
%%%%%%%%%%%%%%%%%%
%Initialization%
%%%%%%%%%%%%%%%%%%
%Initializethestates,sampletimes,andstateorderingstrings.
case0
[sys,x0,str,ts]=mdlInitializeSizes;
%%%%%%%%%%%
%Outputs%
%%%%%%%%%%%
%ReturntheoutputsoftheS-functionblock.
case3
sys=mdlOutputs(t,x,u);
%%%%%%%%%%%%%%%%%%%
%Unhandledflags%
%%%%%%%%%%%%%%%%%%%
%Therearen