当前位置:首页 >> 信息与通信 >>

基于组态软件和Matlab的系统实时仿真平台设计


第 21 卷第 23 期 2009 年 12 月

系 统 仿 真 学 报? Journal of System Simulation

Vol. 21 No. 23 Dec., 2009

基于组态软件和Matlab的系统实时仿真平台设计
杨洪祥,王瑞华,朱世宁,王 普
(北京工业大学电子信息与控制

工程学院, 北京 100124)

摘 要: 设计了一种基于力控组态软件、 Matlab、 VC++的控制系统实时仿真平台。 该平台用 Matlab 建立被控对象模型,用力控组态软件实现上位机图形界面,用 VC++编写控制算法模拟实际控制器。 三者之间通过 DDE 协议完成通信。该方法弥补了试验条件的不足,为系统稳、动态性能分析提供了 方便、快捷的实现途径。将该平台应用于压力无关型变风量空调末端控制仿真,实验结果验证了其可 行性。 关键词:DDE 协议;组态软件;Matlab;实时仿真 中图分类号:TP391.9 文献标识码:A 文章编号:1004-731X (2009) 23-7448-04

Design of Real-time Simulation Platform for Control System Based on Configuration Software and Matlab
YANG Hong-xiang, WANG Rui-hua, ZHU Shi-ning, WANG Pu
(College of Electronic Information and Control Engineering, Beijing University of Technology, Beijing 100124, China)

Abstract: A real-time control system simulation platform based on Force-control, MATLAB and VC++ was introduced. In this platform, the model of the controlled object was established using Matlab, user interface was established using Forcecontrol, and the controller of system was programmed using VC++. These three parts connected through DDE protocol. This method made up the disadvantages of ground test conditions and facilitated the analysis of steady and dynamic performance of control system. The platform was used to a pressure-independent Variable Air Volume Air-Conditioning Terminal Unit control simulation, and the experiences prove that this platform is feasible. Key words: DDE; configuration software; Matlab; real-time simulation



言1
近年来变风量空调在我国得到广泛应用, 对变风量空调

控制系统模型,并能在控制算法运行过程中,对仿真模型的 参数进行在线修改,模拟实际生产中各种干扰、被控对象模 型的变化等。监控软件具有组态方便、很强的监控功能和动画 效果等特点。 本文设计的仿真平台充分利用了 Matlab 仿真工具 和组态软件的优点,在一台 PC 机上构建了实时仿真平台。 仿真平台主要由三部分组成:控制软件、组态软件(如 力控组态软件等)、MATLAB 对象模型。控制软件可以是 实际的控制器,也可以是软件模拟的控制算法,本文中采用 VC++编写控制算法。控制软件通过监控组态软件与外界进 行人机交互和数据通信,监控组态软件与 MATLAB 的实时 数据通信采用动态数据交换(Dynamic Data Exchange, DDE) 通信方式, 通过利用 MATLAB 的 Simulink 工具箱来构造仿 真模型,模拟现场的实际运行过程,然后通过 DDE 方式将 对象的运行数据传递给操作平台, 操作平台再将数据与后台 运行的先进算法进行交互, 最终反映算法在实际生产过程中 的运行效果, 从而得到有指导意义的算法改进策略和在线参 数调整方法。仿真平台框图如图 1 所示。
力控组态软件 (DDE Server)

控制系统的研究也日趋广泛。变风量空调系统具有非线性、 多变量、大时滞、慢时变、强耦合等综合复杂性,需要设计 先进控制算法,考虑到变风量空调的高成本,在算法设计过 程中建立实际的物理系统并不一定是最好的选择, 所以一套尽 可能真实模拟现场投运情况的仿真平台是十分必要的,借助于 先进的仿真平台,来全面反映算法在实际生产投运的效果,从 而得到有指导意义的算法改进策略、参数在线调整方法等。 已有的控制软件仿真方法存在一些不方便的地方。例 如,经常遇到的问题是没有十分直观、灵活的被控对象,用 来观察控制算法的效果。而使用 MATLAB 等专用仿真工具 进行的仿真往往与实际系统脱离,达不到预想的效果。 针对上述问题,本文设计了一种将组态软件、Matlab 相结合的实时在线仿真平台, 通过实现实时数据交换将组态 软件和 Matlab 互联,发挥这两种软件的优势,最终实现实 时在线仿真。本文详细介绍了如何实现组态软件与 Matlab 间的相互通信以及 Matlab 控制模型的实时仿真。

1

统设计方案
Matlab 中的 Simulink 工具箱可以很容易地构建复杂的

收稿日期:2008-06-25 修回日期:2008-09-24 作者简介: 杨洪祥(1983-), 男, 河北省黄骅人, 硕士, 研究方向为变风量 空调建模及节能控制; 王瑞华(1974-), 男, 吉林省龙井人, 工学硕士, 工程 师, 博士生, 研究方向为楼宇自控与数字化社区、空调系统控制。

VC++控制器 (DDE Client)

Matlab模型 (DDE Client)

图 1 仿真平台总体结构框图

? 7448 ?

第 21 卷第 23 期 2009 年 12 月

杨洪祥, 基于组态软件和 Matlab 的系统实时仿真平台设计 等: 力控组态软件作服务器端[4-6]。

Vol. 21 No. 23 Dec., 2009

2

实时仿真实施
实时在线仿真平台的设计过程中,主要解决两个问题:

在力控软件中构建 DDE 服务器的基本步骤如下[1]: ①服务(SERVICE)名称:为“DB”; ②话题(TOPIC)名称:为“DB”; ③DDE 项目(ITEM)名称:为数据库中的点参数名,如 “TAG1.PV”和“TAG1.DESC”。 在 Matlab/Simulink 中用 S 函数来实现 DDE 客户端, 分 别编写 Init.s、FromServer.s、ToServer.s 三个 S 函数,依次 完成初始化、从力控组态软件 DDE Server 中获取数据、向 力控组态软件 DDE Server 发送数据功能。 Matlab 的 DDE 通 信框图如图 3 所示。
FromServer 接收数据 系统模型 Init 初始化 图 3 Matlab 的 DDE 客户端实现框图 ToServer 发送数据

第一, Matlab 与组态软件之间的数据通信问题; 第二, Matlab 模型与组态软件和控制软件组成的控制平台之间的时钟同 步问题。 下面将重点阐述如何在解决这两个问题的基础上构 建实时在线仿真平台。

2.1 动态数据交换(DDE)概述
Matlab 与组态软件均支持 DDE 通信,故仿真平台选择 DDE 协议作为 Simulink 模型与组态软件、控制软件与组态 软件的通信方式。 动态数据交换 DDE 是 Windows 环境提供的一种基于消 息的进程间通信技术协议,它采用客户/服务器模式。一般 来说,数据的提供者就是 DDE 服务器,而数据的接收者就 是 DDE 的客户机。DDE 应用程序有两种类型:第一种是基 于消息的 DDE 应用程序;第二种是基于动态数据交换管理 库(DDEML)的应用程序。本文使用 DDEML 库方式。 DDEML 的基本原理: 同时要求服务器(数据和服务的提 供者)和客户机(数据和服务的接收者)应用程序提供一个回 调函数。服务器和客户机为各种任务调用 DDEML 函数, DDEML 调用回调函数将信息从一边传到另一边。DDEML 原理图如图 2 所示。
服务器 程序 客户机 程序

程序描述如下:(仅列出关键代码,其他略去)
(1) 初始化函数——Init.s global channel; channel=ddeinit('DB','DB'); %建立力控与 Matlab 之间的通道 ddeadv(channel,' TAG1.PV ',u); %建立热链接 …… 其中,channel 是 DDE 初始化返回的一个标识通道的值,0 为连接失败,

API

回调 函数

API

回调 函数

否则表示成功。 (2) 从力控接收数据函数——FromServer.s case 3, …… u = ddereq(channel,'a1.PV');

动态数据交换管理库(DDEML)

%从力控接收数据

图 2 DDEML 原理图

2.2 Matlab 与组态软件通信设计
组态软件选择北京三维力控科技有限公司的力控组态 软件。力控软件的实时数据库支持 DDE 标准,可以和其他 支持 DDE 标准的应用程序(如:EXCEL、Matlab)进行数据 交换。 一方面, 力控数据库可以作为 DDE 服务器, 其他 DDE 客户程序可以从力控数据库中访问数据。另一方面,力控数 据库也可以作为 DDE 客户程序, 从其他 DDE 服务程序中访 问数据 。 Matlab 同样既可以做服务器也可以做客户端, Matlab 当 做服务端时,其应用程序名为 Matlab;其主题分为两类,分 别为 System 和 Engine。当 Matlab 做客户端时,它提供了 7 个客户端函数:ddeinit、ddeadv、ddeexec、ddepoke、ddereq、 ddeterm、ddeunadv。利用这 7 个函数可以实现 Matlab/DDE 客户端与 DDE 服务器之间的数据传输
[2,3] [1]

sys = u; …… (3) 向力控发送数据函数——ToServer.s case 3, …… ddepoke(channel,' TAG2.PV ',u); %向力控发送数据 ……

2.3 控制软件与组态软件通信设计
在 VC++中编制控制程序来实现控制算法,控制程序与 力控组态软件之间借助 DDE 实现数据交互,力控组态软件 为服务器,控制程序为客户端。力控 DDE 服务器在 2.2 中 已经实现。在 VC++控制程序中实现 DDE 客户端,需要程 序在 DDEML 中注册,所有关于 DDE 的操作都必须在注册 成功后方可使用,同时程序中要包含 ddeml.h 头文件[7]。 在 VC++中实现 DDE 客户端的步骤如下: (1) DDE 会话初始化 调用 Ddeinitialize 在 DDEML 中注册,同时提供一个回 调函数。回调函数是通信的核心部分,客户端就是通过回调 函数从 DDEML 取得信息的。 (2) 会话建立 调用 DdeCreatStringHandle 创建服务名、话题名、项目



力控组态软件和 Matlab 都既可以做客户端又可以做服 务器。由于力控组态软件创建 DDE 服务器相对简单,而且 Matlab 提供了强大的 DDE 接口函数,使用这些函数能方便 的完成客户端的工作。所以,本文采用 Matlab 做客户端,

? 7449 ?

第 21 卷第 23 期 2009 年 12 月

Vol. 21 No. 23





仿







Dec., 2009

名在 DDE 连接中的句柄, 然后调用 DdeConnect 函数建立与 力控 DDE 服务器的会话。 (3) 会话过程 调用 DdeClientTransaction 开始一项数据业务。利用回 调函数,客户可以调用 DdeGetData 函数获取数据。 (4) 会话结束 在会话完全结束后调用 DdeDisconnect 来关闭会话,并 调用 DdeUninitialize 释放占有的 DDEML 资源。 在 VC++客户端编程实现过程中,笔者将 DDE 客户端 底层驱动封装成 DDEConnect 类,以方便移植。需要特别指 出的是在封装成类时回调函数的处理, 因为回调函数是一个 C 函数,如直接把回调函数作为类函数调用将产生编译错 误,笔者采用将回调函数声明为全局函数的方法解决。

法是:设置 S 函数的连续状态数为零,设置模型的解算器类 型未定步长。此时不执行副循环,只是每个循环执行一次 mdlOutputs 回调函数,所以只需要在 mdlOutputs 中加入延 时过程, 确保当前时刻与上一个循环的输出时刻之差等于时 间步长即可[5]。 关键代码如下:
function sys=mdlUpdate(t,x,u) global start; if t= =0 start=clock; %在仿真启动时,记录当时的系统时钟 end t1=etime(clock,start); %更新离散状态值时,加入循环 while t>t1 %等待循环 t1=etime(clock,start); end

2.4 实时仿真设计
在实际的控制系统中,控制软件以一定的采样周期运 行,每个采样周期输出一次控制变量。而实际对象是连续运 行的。控制变量输出给被控对象后,实际系统运行一个采样 周期的时间,再将被控变量输入给控制器。由于涉及的时间 都是真实时间,所以不存在时间上的同步问题。 在仿真环境下,控制软件和模拟的实际对象是分离的, 而且仿真对象运行的时间和实际时间不同,例如 Simulink 模型离线仿真不依赖于绝对时间, 而组态软件和控制软件依 赖于绝对时间, Simulink 仿真运行时间由对象模型的复杂程 度、CPU 速度等因素决定。因此,仿真环境下存在控制平 台和模拟对象运行时间的同步问题,要实现实时在线仿真, 必须解决 Simulink 模型与组态软件和控制软件组成的控制 平台之间的仿真时间同步问题。 实时仿真设计的基本原理是将连续时间按照固定的时 间间隔(即基准步长)离散化,仅允许模型在这些离散的时间 点上被执行。 这种方法对建模的要求是按照序贯模块法建立 系统仿真模型。基于上述原理的实时仿真设计流程图如图 4 所示。
开始

把该 S 函数模块 Delay 放入 Simulink 模型中, 设置好对 应的采样时间,就可以保证时钟同步了。

3

仿真验证与分析
为了验证仿真平台的有效性和灵活性, 在此平台上进行

了压力无关型变风量空调末端温度控制仿真实验。 压力无关 型变风量空调末端温度控制采用串级控制, 即根据室内温度 实测值和设定值的偏差向风量控制器回路给出设定风量, 风 量控制回路再根据设定风量和测定风量的偏差给出风阀阀 位控制信号,从而调节送风量,达到对室内温度的控制。其 中温度控制器为主控制器,风量控制器为副控制器,二者构 成串级控制环路。控制环路如图 5 所示。
Tr 温度 控制器 风量 控制器 风量 传感器 温度 传感器 风 阀 空调 房间 T

图5 压力无关型末端装置控制框图

选取北京地区夏季制冷工况, 查阅相应文献获得相关气 象数据[8]。选取一般商业建筑办公室为房间建模参考,并假 设房屋围护结构尺寸为:长、宽、高分别为 5m×5 m×3.5 m, 窗户 1 个,窗户的长、宽、厚分别为 2m×1.5 m×0.2 m,一
N

设置仿真开始时间T SS 、结束时间 T SD 、运行周期N=0、基准步长T D 等

到达下一个执行点 Y N 更新仿真时间T S=T S+T D 、N=N+1

面墙(5 m×3.5 m)临室外,其余三面墙和屋顶均临其他房间。 根据假设并参考文献[9,10]推导出末端装置各组件的数学模 型,并结合实际工程,通过推导计算得出传递函数。空调末 端各控制构件传递函数如下: 空调房间干扰通道: 0.89 e
?60s

T S>=T SD Y

600s+ 1

,空调房间控制通道:

结束

1 1 ?7.69 e ?60s ,风阀: ,温度传感器: ,风量传感 30s+ 1 10s+ 1 600s + 1

图4 实时仿真设计流程图

器:

1 。 s+ 1

根据上述原理, 并分析 Simulink 的执行流程后, 本文采 用在 Simulink 模型中编写 S 函数来实现时钟同步,具体方

依照图 5, 利用空调末端组件传递函数在 Simulink 中搭 建空调末端温度控制仿真模型。编写 Init.s、FromServer.s、

? 7450 ?

第 21 卷第 23 期 2009 年 12 月

杨洪祥, 基于组态软件和 Matlab 的系统实时仿真平台设计 等:

Vol. 21 No. 23 Dec., 2009

ToServer.s 三个 S 函数,依照图 3 在模型中添加这三个 S 函 数,实现 Simulink 模型与力控组态软件交互,空调末端模型从 力控上位机获得控制量——风阀开度, 并向组态软件上位机传 送模型状态量——室内温度和供风量。 编写 S 函数 Delay.s, 实 现上位机控制平台与空调末端模型之间的时钟同步。 利用力控组态软件进行上位机界面设计, 主要完成控制 过程显示、控制策略和方法选择、控制参数下置、历史数据 存储等功能,监控界面如图 6 所示。

供风量经振荡调整也稳定在 0.56m3/s 附近,最大超调量 0.3℃,调整时间 240s,稳态误差 0.05℃。在 600s 时引入室 内负荷扰动后,供风量明显增大,经振荡调整最终稳定在 0.86m3/s 附近,720s 时室温又基本稳定在 25℃,引入扰动 后调整时间 120s, 稳态误差 0.11℃。 由实验分析可知参数自 整定模糊 PID 控制能够比较好的实现对空调房间的温度控 制,具有超调小、稳定快、鲁棒性好、抗干扰性强的特点。 通过上面的仿真试验, 可见本文设计的实验仿真平台真 实的反映了变风量空调压力无关型末端装置的特性, 模拟变 风量空调末端的控制结构,实现了 Simulink 模型与组态软 件控制平台的数据交互和二者的时钟同步, 最终实现了实时 在线仿真的目标, 为开发变风量空调末端装置控制软件产品 提供了实验和验证平台。

4

结论
本文通过将力控组态软件、Matlab、控制程序用 DDE

协议互连,并用 s 函数实现控制平台与仿真模型同步,最终 实现了控制系统计算机实时在线仿真, 并应用于变风量空调
图6 力控上位机界面

末端温度控制中,取得了良好的效果。 此仿真平台不仅适用于变风量空调末端控制仿真, 而且 对其它先进控制算法和先进过程控制的设计调试均带来极 大方便;具有良好的开放性,在运行过程中可以通过人机界 面对模型、 控制算法中的重要参数在线修改, 引入各种扰动, 以考察控制系统的强健性; 模块化结构使得从模型到界面控 制算法的改进工作可以分别进行,互不影响;对模型时间参 数较大、 实时性要求不高的系统均可以满足实时仿真的实时 性要求。总之,该仿真调试方法使开发人员在实验室中即可 对设计出的控制器性能和系统控制策略进行检验和调试, 有 利于开发新型控制系统和算法, 减少现场调试周期, 有简单、 廉价、易实现的优点,具有一定的使用价值。

主副控制器均选用参数自整定模糊 PID 算法, 根据变风 量空调特点及专家知识设计参数自整定模糊 PID 算法, 具体 设计在此不再详述。用 VC++集成开发环境编写控制程序, 实现控制算法。 控制程序新建为 MFC App(exe)单文档类型, 并利用笔者封装的 DDE 客户端类(DDEConnect 类)实现控制 程序与力控组态软件之间的交互(由于篇幅限制,具体实现 代码在此略去)。 各部分编写完成后,进行系统仿真。假定空调房间温度 初始值为 30℃,设定值为 25℃,主副控制器均采用参数自 整定模糊 PID,控制周期选为 10 秒,并在 600s 时引入室内 负荷扰动。 7 为在上位机获得的房间温度和供风量动态变 图 化曲线。

参考文献:
[1] [2] [3] [4] [5] [6] [7] [8] [9] 北京三维力控科技有限公司. 力控用户手册[M/CD]. 1999. 马兴义, 杨立群, 林敏, 等. Matlab6应用开发指南[M]. 北京: 机 械工业出版社, 2002: 263-305. 刘志俭. MATLAB应用程序接口用户指南[M]. 北京: 科学出版社, 2001: 351-362. 周洪, 钟明慧. 控制系统的一种简单实时在线仿真方法[J]. 系统 仿真学报, 2003, 15(12): 1753-1755. 翟廉飞, 柴天佑, 高忠江, 等. 制粉系统智能解耦控制的分布式仿 真实验平台[J]. 系统仿真学报, 2006, 18(7): 1824-1828. 秦品乐, 林焰, 陈明, 等. 基于RS485的船舶货油装卸系统仿真研 究[J]. 系统仿真报, 2007, 19(24): 5827-5831. Microsoft公司. MSDN Library Visual Studio 6.0. 黄翔. 空调工程[M]. 北京: 机械工业出版社, 2006: 612-633. 王建明, 李训铭. 变风量系统空调房间建模与特性参数估算[J]. 计算机仿真, 2002, 19(4): 69-72. [10] Bourhan Tashtoush, M Molhim, M Al-Rousan. Dynamic model of an HVAC system for control analysis [J]. Energy (S0360-5442), 2005, 30(10): 1729-1745.

图 7 房间温度、供风量实时曲线

由图 7 可见,室温由 30℃下降到 25℃过程中,供风量 240s 时室温基本稳定在设定值 25℃, 始终保持最大值 2m3/s, ? 7451 ?


相关文章:
基于组态软件和楼梯的仿真系统
基于组态王和PLC的电梯控... 5页 免费 基于组态王与MATLAB的监... 4页 免费...使用 VHDL 语言进 行程序的设计,在 MAX+plusII 软件上对程序进行编译、仿真。...
ADPSS-LAB实时仿真系统介绍
LAB 是一种基于并行计算技术、采用模块化设计的电力 电子、电力系统实时仿真系统...位双精 度浮点数运算,其仿真的精度与公认的离线分析软件 MATLAB 的仿真 精度...
基于Matlab的模拟通信系统的仿真设计
由于 MATLAB 具有的强大功能 所以详细介绍了 MATLAB 通信系统工具箱,并给出了基于 MATLAB 的通信系统 的调制解调的实现,运用 MATLAB 仿真软件进行仿真。 第一章...
基于MATLAB的随动系统的设计与仿真
本科生毕业论文设计 题目基于 MATLAB 的随动系统的设计与仿真 作者姓名 指导教师 所在学院 张蔷薇 李淑娥 职业技术学院 专业(系)电气工程及其自动化 班级(届) ...
基于MATLAB的PCM系统仿真设计
基于MATLAB的PCM系统仿真设计_信息通信_工程科技_专业资料 暂无评价|0人阅读|0次下载|举报文档基于MATLAB的PCM系统仿真设计_信息通信_工程科技_专业资料。PCM ...
基于MATLAB的通信原理仿真平台设计
因此, 基于 MATLAB 的通信原理仿真平台设计已经成为教学大纲的内容要求和课程特点,将通信系统中的 关键技术编制成仿真软件用于计算机辅助教学中,使通信系统中的抽象...
系统建模与仿真
MATLAB+AMESIM,可以 覆盖整个自动控制系统的全部要求...实时仿真技术 实时仿真技术是由仿真软件与仿真机等半...4、集成进设计平台 现代研发制造单位,尤其是设计研发...
天天飞实时仿真计算机系统构成
欢迎的一款实时 仿真计算机,系统与 Matlab/Simulink ...反射内存网络:高速的、基于 2.12G 波特率的网络,最...组件封装了各种总线板卡的驱动程序,并设计成了 S-...
基于MATLAB实时视频处理平台的开发和应用
基于MATLAB 的实时视频处理平台的开发及应用 摘要 ...人们已开始 研究如何用计算机系统解释图像,实现类似...33 洛阳理工学院毕业设计论文 谢辞 通过本次的毕业...
基于MATLAB通信系统的设计仿真
基于MATLAB通信系统的设计仿真_信息通信_工程科技_专业资料。电子信息工程课程...2、系统仿真软件实现 在二进制数字调制中,当正弦载波的相位随二进制数字基带...
更多相关标签:
matlab 实时仿真 | dspace实时仿真系统 | 实时在线交通仿真系统 | 半实物实时仿真系统 | 实时仿真系统 | matlab电力系统仿真 | matlab控制系统仿真 | matlab通信系统仿真 |