当前位置:
文档之家› 控制系统的一种简单实时在线仿真方法
控制系统的一种简单实时在线仿真方法
·1754·
系统仿真学报
Vol. 15 No. 12 Dec. 2003
Matlab/Stimulink 建立的模型
虚拟对象
DDE(或 Automation)服务器 实际控制器的通信协议
采样及通信子系统
实际控制器
实际系统
图 1 系统结构图
器传递来实现的。虚拟对象和实际控制器之间并不直接通 信。整个系统结构如图 1 所示。
引 言1
数字仿真是利用计算机和数值计算方法,将实际系统的 运动规律用数学形式表达出来,用计算机进行描述的一种技 术。这种方法工作量小、周期短、费用低。作为检验系统 动静态特性、熟悉调节器各项参数变化对系统特性影响的 手段,仿真是控制系统设计中非常重要的一个步骤。但目 前大多仅利用 Matlab 等数学工具进行离线非实时仿真, 软硬件设计完全分离,无法在实验室中检验设计出的控制 器的实际性能,即使是实时仿真也仅是实现了时间标尺与 真实时间一致,但无信号连接。而在实时在线仿真(半实 物仿真)方式下,仿真条件更接近与实际情况,在实验室 中即可对设计出的控制器性能进行检验和调试,有利于开 发新型控制系统和算法,减少现场调试周期。本文提出了 一种基于 Matlab 的实时在线仿真系统,简单、廉价、易于 实现。
a=ddereq(control,'rserver'); %读入当前PLC输出采样
sys =[a;t;t1;t1-t];
3.2 仿真结果
下面分别是示波器 Scope2 显示的通过采样读入的 PLC 调节量曲线、示波器 Scope 显示的系统被调量响应曲线和示 波器 Scope1 显示的仿真时间比较曲线,见图 3、图 4、图 5。
收稿日期:2002-10-25
修回日期:2003-06-11
作者简介:周 洪(1962-), 男, 湖南茶陵人, 教授, 研究方向为现代控制
及其在火电厂热工过程控制中的应用; 钟明慧(1979-), 女, 湖北天门人,
硕士生, 研究方向为计算机监控与数字图像处理。
2 实时仿真器的设计
实时仿真器设计的基本原理是将连续时间按照固定的 时间间隔 (即基准步长)离散化,仅允许模型在这些离散的时 间点上被执行。这种方法对建模的要求是按照序贯模块法建 立系统仿真模型,即按照实际流程图(包括物质流和信息流) 将总模型划分为一系列模块,模块通过调用相应的算法执行 其输入输出转换[1]。基于上述仿真模型的实时仿真器可设计 为:
方法简单、廉价、易于实现。同时还阐述了该方法在火电厂球磨机模糊控制系统设计中的应用情况。
关键词: 仿真; Matlab; 球磨机; 多变量控制系统
文章编号:1004-731X (2003) 12-1753-03
中图分类号:TP391.9
文献标识码:A
An Easy Real-time Online Simulation Method in Control System
3.3 小结
分析曲线可知,调节量与被调量曲线与离线情况下 的仿真曲线基本一致,由于 PLC 的时间起点与 Simulink 模型的计时起点不同以及 PLC 与 PC 间存在传输迟延,所 以在线仿真启动时控 制量会有一定时间的滞后。同时,由 于 PLC 中数据存储的精度原因使得在 PLC 与 PC 间进行 数据传输时会产生一定的截断误差,从而其控制量曲线有 类似褶皱的波动,更接近实际应用情况。时间曲线中,仿 真时间与机器时间基本重合,两者之差的最大值与 CPU 的速度和负荷有关,本次仿真系统为 PIII667MHZCPU、 Win2000SERVER 、64M 内存,曲线中最大时间差小于 0.1s,且仅在仿真启动时出现,其余时间差值小于 0.01s。 同时采样与通信系统采用定时器控件,其精度可达到 0.01s,PLC 中采用的定时器精度也为 0.01s,由前面实时 性分析可知,可认为本仿真系统为实时仿真系统。
Vol. 15 No. 12 Dec. 2003
系统仿真学报 JOURNAL OF SYSTEM SIMULATION
控制系统的一种简单实时在线仿真方法
周 洪, 钟明慧
(武汉大学自动化系, 武汉 430072)
·1753·
摘 要: 提出了一种基于 Matlab 的实时在线仿真实现方法。该方法直接在 Windows 系统下采用 Matlab 提供的功能建立其对象模型,对其进行实时仿真,并通过串口与实际控制器连接,以实现在线功能。该
ddeexec(control,'start'); %启动采样及通信程序
end; t1= etime(clock,start);
%更新离散状态值时,加入循环
while t>t1
%等待循环
t1= etime(clock,start);
end ddepoke(control,'wserver',u); %输出当前模型输出
100 仿真时间
机器时间
600 800 1000
50
0 0
时间差 50 100 150 200 250
1) 初始化 置仿真开始时间 Tss 和仿真结束时间 Tse, 置模块参数、模块初始状态, 置系统输入, 置运行周期数 N =0,置基准步长 DT;
2) 等待下一执行时间点到达; 3) 当执行时间点到达时,推进仿真时钟 Ts=Ts+DT,N =N +1,检测是否 Ts>=Tse,是则停止。否则, 对所有模块, 如果该执行时间点 ((Ts-Tss) /DT)MoD =0 则执行该模块,否 则跳过该模块;转 2 )。 仿真器可在 Windows 下采用 Matlab 提供的功能建立其 对象模型,并通过串口将之与实际控制器相连。因为 Matlab/Simulink 对模型的仿真过程是对模型的各个模块按 一定的顺序进行异步的顺序计算,若直接在 Matlab 模型中 读写串口与控制器通讯,则仿真计算与通讯在同一进程中, 将无法保证仿真的实时性。因此有必要将虚拟对象与控制器 之间的数据传递通过另一个单独的进程——通信子系统实 现,充分利用 WIN2000 系统的多任务特性,以达到“实现 透明性”和“位置透明性”。故可利用 Delphi 建立一个 DDE 服务器,处理两者间的数据传输。控制器对虚拟对象运行状 态的了解,对虚拟对象的控制都是通过请求服务器,由服务
4.1 磨煤机系统模型及控制策略[3]
参考各种资料及数据,选择磨煤机系统模型传递函数矩
阵为:
− 0.54
− 1.6
− 1.03e −20s
Y1
11s +1
Y Y
2 3
=
− 0.1
(60s
+
1)
3
0.256
8s + 1 0.77 (80s + 1)3 0.18
3 在线仿真
本节对一个简单的单变量控制系统进行实时在线仿真 以说明原理。被控对象为一惯性环节,传递函数为 G(s)=0.1/(100s+1)。
3.1 系统设计
我们以 PLC 作为控制器实现 PI 控制算法,并根据上一 节所述设计采样与通信系统。为防止通信干扰产生的误差扰 动,取采样时间为 T/2,即 0.25s,分别在 PLC 及采样系统 中使用滤波,消除尖峰脉冲干扰。用 Delphi 建立一个 DDE 服务器,首先在面板中放置一个 TDdeServerConv 控件。对 每一个需与对象模型交互的信息(包括输入、输出及各项参 数),放置一个 TDdeServerItem 控件与之相对应。在 Matlab 中设计仿真模型框图如图 2。
1 Matlab 简介
Matlab 是当今国际上最流行的控制系统辅助设计的语 言和软件工具。它的功能相当强大,给用户提供了开放的接 口,使用户利用这些接口实现实时仿真成为可能,Matlab5.x 新增加的 Real-Time Workshop 和 Real-Time Windows Target 工具,也为将 Matlab 用于实时仿真提供了帮助。
4 具体应用
图 2 单变量控制系统实时在线仿真 Simulink 模型
其中 S 函数[2]模块实现功能为:实现仿真的实时性;初 始化时设定通信参数,如输入、输出变量长度、首地址,量 程转换向量等;读入 PLC 控制量输出采样值,输出模型被 控量采样值。要实现实时性,根据 S 函数的执行过程,可以 考虑在 flag=2,即计算离散状态更新值时设置一个空循环等 待,以使 Simulink 仿真时间与实际时间同步。程序如下:
Vol. 15 No. 12 Dec. 2003
周 洪, 等:控制系统的一种简单实时在线仿真方法
·1755·
口温度和磨煤机出入口差压。
图6,7,8分别为循环风门阶跃扰动20时的被调量、调
根据(1)式在 Simulink 中建立磨煤机系统模型。根据磨 节量和时间曲线:
煤机对象模型的特点,采用分级模糊控制,输入量为负压、
ZHOU Hong, ZHONG Ming-hui
(Dept of Automation, Wuhan University, Wuhan 430072, China)
Abstract: A real-time online simulation method based on Matlab is presented in this article. The object models are established using Matlab in Windows and connected with the real controller through the serial port to realize online, which is easy, cheap and achievable. Also, the appliance of this system in the ball mill fuzzy control system design is expatiated. Keywords: simulation; Matlab; ball_mill; Multi-variable control system