APP下载

Modelica在自动控制专业教学中的应用

2016-03-25张永韡肖琴王玉龙汪镭

微型电脑应用 2016年1期
关键词:温度控制仿真

张永韡,肖琴,王玉龙,汪镭



Modelica在自动控制专业教学中的应用

张永韡,肖琴,王玉龙,汪镭

摘 要:实验教学是实现素质教育和创新人才培养的重要教学环节。自动控制专业课程教学过程中,如自动控制原理,最优控制等,控制对象模型抽象,需借助建模工具讲解系统内涵与动态特性。通用建模工具模型抽象,物理含义不明确,而专业建模工具无法满足多领域建模需要。为了弥补上述实验教学模式的不足,介绍一种新型的、面向对象的多领域统一建模语言Modelica,并通过典型控制教学实例详述了其架构及实验的操作流程。试验结果证明,Modelica可以很好地反映多领域系统物理过程的变化,物理含义明确,模型易于维护,适用于多门自动控制类专业教学。

关键词:Modelica语言;多领域建模;物理建模;仿真;温度控制;Simforge环境

0 引言

高校自动化类专业本科及研究生核心基础课程包括自动控制原理与最优控制等。这类课程数学知识含量大,其理论推导以及结果繁杂难,晦涩难懂,为此,很多学者提出了将控制理论课程教学与仿真实验相结合的教学改革思路[1]。在自动控制专业教学中,常用的通用建模工具[2],如Simulink,是建立在方框图描述基础上的抽象建模语言,物理含义不明确,学生无法把握模型中各物理量之间的联系,进而影响对整个系统的理解。Simulink模型与实际的比较,如图1所示:

图1 Simulink模型与实际的比较

上方为典型的液位控制原理,下方为其对应的Simulink控制模型。而专业建模工具,虽然在某一领域的建模中非常高效,在多领域工程问题中却效用不高[3]。为了使学生更好地掌握所学的内容,应选择贴近实际的控制模型。然而实际的工程问题往往同时涉及多个领域,例如电气、机械、热力学、流体力学等等,使用通用建模工具无法反映出内部状态之间的联系,而专业建模语言又无法全面概括所有领域的特性,这使得多领域物理建模语言的出现成为必然。

基于统一建模语言的方法对来自不同领域的系统构件采用统一方式进行描述,彻底实现了不同领域模型之间的无缝集成和数据交换[4-5]。作为统一建模语言的代表,Modelica是针对多领域物理建模仿真设计的基于等式的建模语言[6]。目前国际上已经有许多学校和研究机构对基于Modelica语言的多领域物理系统建模仿真技术进行了研究[7-8]。Dynasim公司的Dymola,PELAB 公司的MathModelica等是当前国外相对较成熟的多领域物理系统仿真建模软件。在国内,基于Modelica语言的建模仿真平台研究刚起步不久[9-11],主要的研究机构有华中科技大学与上海交通大学。近年来,Modelica也被广泛应用在各类控制试验中[12-13]。Modelica具有面向对象,陈述式非因果、连续/离散混合建模等特性,逐渐成为统一建模语言的标准[14]。在对系统组件进行建模的同时,将组件中各种变量的物理关系封装在相应的类中。组建系统模型时只需按照事先定义的变量接口连接各组件,而无需注意求解方法。模型组件之间的连接关系比方框图法更加符合物理实际,当系统参数变化时,只需更改组件中相应的参数即可完成模型更新,设计效率更高。对于建立的模型,Modelica可以求解所有变量在规定时间区间内的变化,使模型设计者对变量之间的相互作用一览无余。

温度-液位控制系统是典型的自动控制系统,是自动控制专业教学中一类十分重要的控制问题。自动控制原理中的PID控制,最优控制中的最小燃料控制等,均以此为系统为控制对象。该系统涉及电气、热力学、甚至流体力学,在教学过程中,学生需要了解中间物理量的变化(如热量散失,流体扰动),因此,十分适合使用Modelica进行建模。

1 问题描述

温度液位控制系统结构如图2所示:

图2 温度-液位系统结构

其中T1,T2和T3为水箱,通过管道和阀门F1,F2相连;H为加热器,S为温度传感器,C为控制器。

水箱T1的主要变量关系如公式(1)~(3):

加热器H数学模型如公式(4)~(6):

公式(4)中 为加热器输出功率,公式(5)中 为加热器电阻, 为加热电阻在参考温度 时的电阻值,为电阻的温度系数。

控制器C为典型的PID控制器,主要变量关系如公式(7):

其中 为设定值与实际值的误差。

2 组件模型

使用Modelica建模的过程实际就是描述现实世界物理与连接关系的过程,所有系统组件均可对应至Modelica中一个类的实例。根据图2的结构图,共设计了控制器、加热器、热水箱、源水箱、出口水箱、普通阀门、控制阀门、热传递和环境9个模块。受篇幅所限,下面只给出部分代码。

2.1 自定义单位

为了使用方便,模型中定义4个常用单位:流量VolumeFlowRate_lpm(L/min),压力Pressure_kPa(kPa),温度Temp_C()和热功率HeatFlowRate(W)其中流量和压力为非公制单位。在Modelica中,使用type关键字声明新的复合数据类型,如下面的流量类型就是实数Real与单位(L/min)的复合类型。

type VolumeFlowRate_lpm = Real(final quantity = "VolumeFlowRate", final unit = "L/min");

2.2 接口类

在Modelica中,组件之间的联系通过接口connector实现。接口可以反映实际模型中组件之间的物理关系。对于液体管道,通常产生作用的物理量为压力与流量。流体接口变量使用之前定义的非公制单位,以符合需建模系统的使用习惯。

connector FlowPort Pressure_kPa P;

flow VolumeFlowRate_lpm V;

end FlowPort;

为减少等式的数量,模型并没有按照实际物理连接将热量与流量定义在一个接口内,而是单独进行了封装。电气接口涉及电子器件之间的正负极,与上述接口类似,将电压以及电流封装在一起。这里使用partial关键词声明定义的模型model是不完整的,也就是说变量个数大于等式个数。在Modelica中,要求每个模型都具有相同数量的变量数与等式数。否则,由于模型的欠定性,系统无法对模型进行求解。同时,Modelica语言遵循面向对象的设计方法,这使得设计者可以建立更为通用的父类,以便在具体问题中通过继承使用父类的特性。声明方式如下:

partialmodel ElectricalPort

2.3 主水箱模型

按照公式(1)-(3)描述的数学模型,在模块的equation声明后描述微分方程,即可完成水箱模型的建立。parameter关键字声明可自定义的常量,如下热容量 取水的典型值4200 。模型定义如下。

model HeatTank

……

parameter SIunits.HeatCapacity Hc = 4200;

……

equation

E = a * h * rho * Hc * T;

……

end HeatTank;

T1水箱通过流体接口i和o与外界进行物质交换,通过热量接口hi和ho进行能量交换。

2.4 控制器C

以PID控制器为例,需要在参数中指定比例增益Kp,积分增益Ki和微分增益Kd。同时,将设定值(setpoint)也集成在控制器中。

block Controller

……

equation

error = setpoint - u; connect(error,P.u);

……

end Controller;

其中,connect关键字用来声明组件之间的连接关系。

2.5 热传递

热传递模型取自Modelica热力学标准库中的ThermalConductor组件,并进行了适当改动,以根据水箱不同外形结构与材质改变传导系数。

block HeatConduct

……

equation

i.Q = (k * a) / L* dT; end HeatConduct;

其中参数a为水箱散热总面积,L为水箱材质厚度,参数k=1.5为玻璃的热传递系数。

2.6 其他

加热器(执行器)中使用的电阻模型取自Modelica电子标准库,并适当进行了改动。声明方式如下:

block Heater

阀门使用了简化的模型,定义开始与结束动作时间,以添加扰动,便于观察水箱T1受液体流量和热量流量的影响。

block ControlValve

流体最终汇聚的位置,在本文中即T3水箱。而液体流出的源头为T2水箱,分别定义如下。

block Sink

block SourceTank

热量最终汇聚的位置,本研究中即环境(温度为20℃)。block HeatSink

parameter Units.Temp_C T = 20;

……

endHeatSink;

3 构成系统

在定义好的组件类基础上,只需将这些类实例化,并使用connect命令将各组件按照图2的结构连接即可构成系统。使用类进行组件定义,提高了代码重用性,提高了仿真系统的开发的效率。模块间的连接方式及接口名称如图3所示:

图3 Modelica模块连接

设置阀门F1开启与关闭的时间为仿真开始150s和200s,阀门F2常开,加热器参照电阻15欧,流量源常压200kPa,并设定控制系统给定值为30摄氏度。系统模型代码如下:

model TempControlSystem

HeatTank T;

ControlValve F1(actionTime = 150, stopTime = 200, startValue = 0, controlledValue = 1, valveCoe = 0.05);

Valve F2(valveOpeness = 1);

Sink Si; HeatSink SiH;

eater H(R = 15); HeatConduct HC;

SourceTank S(P = 200);

Controller C(setpoint = 30, Kp = 6, Ki = 0.01, Kd = 4);

equation

connect(T.y,C.u); connect(C.y,H.u);

connect(Ts.o,F1.i); connect(F1.o,T.i);

connect(T.o,F2.i); connect(F2.o,Si.i);

connect(H.o,T.hi); connect(T.ho,HC.i);

connect(HC.o,SiH.i);

end TempControlSystem;

在Modelica中,尽管定义模型(对象)时同时定义了该模型的参数,但不一定给参数赋值。赋值工作可以在对象的实例化阶段进行。如上面控制器对象Controller生成实例C时同时给出控制器参数。

4 仿真分析

使用SimForge0.85对上述模型进行仿真,由于需要演示Modelica对系统各种动态的模拟,本实验并未设置最佳控制参数。

开始时间0,结束时间400,可得下列仿真结果(限于文章篇幅,只选取部分物理量进行讨论),如图4所示:

图4 温度与控制电压变化

图4中实线为水箱实际温度,长虚线为传感器测得温度,短虚线为控制电压曲线。可以看到,传感器温度与实际温度(液体总热量决定的温度)存在一定延时,导致误差控制的PID控制器不能很好的稳定系统温度。150s开始流入的液体对系统温度造成较大影响。

如图5所示:

图5 流量与液位变化

实线为水箱液位(m),短虚线为进水口流量(L/min),长虚线为出水口流量(L/min)。由于阀门F2常开,使得液位在150s之前持续下降。液位在整个仿真期间不断变化,系统状态变化较为复杂,但仿真仍很真实的反映了实际过程。

如图6所示:

图6 热功率变化

实线为加热器输入功率,短虚线为水箱向环境散发的功率,长虚线为入水口水流携带的热功率,点划线为出水口水流带走的热功率。可以看出,加热器输入功率与控制电压之间的动态关系,随着温度的上升,同样控制电压下加热器的输出功率降低,这是由加热器电阻变化造成的。温度的变化和控制电压的双重作用使加热器功率的动态更为复杂,也更为接近实际过程。同样,散热过程受水箱内液体总量及液体温度的双重影响,也呈现出复杂的变化趋势。由仿真结果中反映出的细节可以看出Modelica对实际物理过程建模的强大之处。

5 总结

本文使用Modelica语言对自动控制原理与最优控制教学中常见的温度-液位控制系统进行了多领域物理层建模与仿真。可以看出,与通用建模工具或专业建模工具相比,在自动控制专业教学中使用Modelica建立多领域系统模型具有如下优点:(1)建模过程简单。对于每个模块,只需描述变量间的物理关系即可,且标准库中有大量的基本组件供设计者使用或修改。(2)物理含义明晰。所有的参数均具有实际物理意义,详尽的参数变化记录可以帮助学生理解和掌握系统所有动态的细节,且仿真结果很好地符合实际系统的特征。(3)模型参数变更简单。当考察系统在不同参数作用下的动态时,只需改动相应的参数,而不必重新更新整个模块,可在教学中起到举一反三的效果。与传统建模工具相比,Modelica语言模型更加直观,更易理解,更为全面,效率也更高。

参考文献

[1] 马玉龙,何凤.自动控制理论与Matlab软件相结合的教学研究[J].中国现代教育装备,2015,09:113-115.

[2] 马冬梅,杨传燕,党晓圆,钟华.Matlab/Simulink在自动控制原理实验中的应用[J].山东工业技术,2015,12:199.

[3] Daniel FernándezGonzaléz, Luis J. Yebra, Comparison case between Modelica and specialized tools for building[J] modelling, IFAC-PapersOnLine,2015,48(1): 874-879.

[4] 陈立平,赵建军,丁建完,等.Modelica语言及其多领域统一建模与仿真机理[J]. 系统仿真学报.2006,18(S2):570 -573.

[5] 吴义忠,蒋占四,陈立平.基于Modelica语言的多领域模型仿真优化研究[J].系统仿真学报,2009,12:3748-3752.

[6] Neil Cafferkey, Gregory Provan, An Analysis of Performance-critical Properties of Modelica Models[J], IFAC-PapersOnLine, 2015, 48(1):210-215.

[7] AlessandroMaccarini, GoranHultmark, AndersVorre,AlirezaAfshari. Modeling of active beam units with Modelica[J]. Building Simulation, 2015, 8(5):543-550.

[8] VictorinoSanz, Alfonso Urquia, François E. Cellier, Sebastian Dormido. Hybrid system modeling using the SIMANLib and ARENALibModelica libraries[J]. Simulation Modelling Practice and Theory, 2014, 37:1-17.

[9] 张曦.机械学科虚拟实验构件多领域统一建模与组装平台研究[D].上海:上海交通大学,2012.

[10] 赵建军,吴紫俊.基于Modelica的多领域建模与联合仿真[J].计算机辅助工程,2011,01:168-172.

[11] 刘奇.Web环境下的Modelica建模与仿真平台框架及关键技术研究[D].武汉:华中科技大学,2013.

[12] 葛佳欢,朱善安.基于Modelica的虚拟远程实验室[J].计算机应用,2012,02:585-588.刘杰梅,杨根科.基于Modelica平台的数字PID控制实验比较[J].实验室研究与探索,2010,10:195-197.

[13] 谷志才.基于Modelica的多领域统一建模系统开发[J]. 机械工程与自动化,2010,03:20-22.

Application of Modelica in Teaching Automation Control

Zhang Yongwei1, Xiao Qin2, Wang Yulong1, Wang Lei3
(1. College of Electronics and Information, Jiangsu University of Science and Technology, Zhenjiang 212003, China; 2. Center of Information Construction and Management, Jiangsu University of Science and Technology, Zhenjiang 212003, China; 3. College of Electronics and Information Engineering, Tongji University, Shanghai 201804, China)

Abstract:In teaching process of automation control discipline, e.g. automation control theory, optimum control, the abstract model of control target needs modeling tools to explain or demonstrate system connotation and dynamic behaviors. General modeling tools yields to abstract model and vague physical meanings, while signal-domain modeling tools cannot model multi-domain objects. A practical temperature control system involves electrical and thermodynamics etc., and tends to simulate the intermediate physical process, which makes both general and single-domain modeling tools unsuitable for the modeling task. To address the problem, a multi-domain physical modeling language, Modelica, is used to modeling a three-tank temperature-level system, including tanks, heater and controller etc. The model is simulated in SimForge environment. Results show that Modelica can well reflect the changes of physical process. The modeling process is simple and easy to maintain, when the obtained model has clear physical meaning. Modelica is suitable for multiple teaching propose in automation control discipline.

Key words:Modelica; Multi-domain Modeling; Physical Modeling; Simulation; Temperature Control; Simforge

收稿日期:(2014.10.21)

作者简介:张永韡(1983-),男,甘肃,江苏科技大学,讲师,博士,研究方向:智能控制,镇江,212003 肖 琴(1983-),女,江西,江苏科技大学,硕士,研究方向:数据挖掘,镇江,212003王玉龙(1977-),男,山东,江苏科技大学,副教授,博士后,研究方向:网络控制系统、故障检测,镇江,212003 汪 镭(1970-),男,江苏,同济大学,教授,博导,研究方向:群体智能,智能控制,上海,201804

基金项目:中国学位与研究生教育学会研究课题(2013Y08);教育部人文社会科学研究青年基金项目(13YJC880098);江苏科技大学《Optimal Control》留学生英语授课精品课程建设项目

文章编号:1007-757X(2016)01-0011-04

中图分类号:TP399

文献标志码:A

猜你喜欢

温度控制仿真
船舶主机温度控制方法优化
基于模糊PID参数自整定的细胞培养箱温度控制算法
锻造温度控制
一种帮助幼儿车内脱险应急装置的仿真分析
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
基于模糊控制的PLC在温度控制中的应用
机械加工仿真技术研究