实时多任务控制系统的Truetime建模与仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第29卷 第12期系统工程与电子技术
Vol.29 No.122007年12月
Systems Engineering and Electronics Dec.2007
文章编号:10012506X (2007)1222140203
收稿日期:2006-09-12;修回日期:2007-01-19。
作者简介:胡景军(1983-),男,硕士,主要研究方向为通信电路与系统,监测监控系统。E 2mail :hjjcumt @
实时多任务控制系统的T ruetime 建模与仿真
胡景军,刘晓文,胡 萍
(中国矿业大学信息与电气工程学院,江苏徐州221008)
摘 要:实时性是控制系统的普遍要求,多任务是目前分布式控制系统的主流趋势。目前基于嵌入式系统
(embeded system )的智能化的控制节点,必须实现合理的任务调度和实时控制。介绍一种基于Matlab/Simulink 的Truetime 工具箱的实时多任务控制系统的建模仿真方法,并给出了CAN 2Ethernet 网络平台下的监控系统的仿真分析。
关键词:实时控制;Truetime 工具箱;仿真;Matlab/Simulink 中图分类号:TP 273 文献标志码:A
Modeling and simulation of real time and multitask
control systems in T ruetime
HU Jing 2jun ,L IU Xiao 2wen ,HU Ping
(Coll.of I nf ormation and Elect rical Engineering ,China Univ.of Mining and Technolog y ,X uz hou 221008,China )
Abstract :Real time character is t he common request of control systems ,multitask is the mainstream of t he distributed control system nowadays.Intelligent control nodes based on embedded systems must realize task scheduling and real time control.The method of using Truetime which is a Matlab/Simulink based toolbox to model and simulate real time and multitask control systems is shown.The simulation analysis of monitor and control systems under CAN 2Ethernet network platform is also introduced.
K eyw ords :real time control ;Truetime toolbox ;simulation ;Matlab/Simulink
0 引 言
随着复杂控制系统的出现,嵌入式系统在多任务实时控制系统的设计中已经发挥了越来越多的作用,嵌入式控制系统的设计中必须考虑多任务的合理调度,从而保证各个控制任务执行的实时性,因此有必要进行系统建模与仿真分析。True Time 工具箱的出现,进一步扩展了Matlab 在控制系统仿真应用,为嵌入式控制系统的研究提供了很好的研究工具,本文结合多任务实时控制系统实例,介绍True Time 工具箱的建模与仿真。本文结合一个基于CAN 的直流伺服电机控制系统,通过网关单元,采用以太网平台实现过程监测的Truetime 仿真实例。
1 Matlab/T ruetime 控制系统仿真
1.1 控制系统的Matlab/Simulink 仿真
Matlab 具有很强的数值计算和符号计算功能,而Mat 2lab 提供的各种功能性和学科性工具箱则扩展了其符号计算功能及可视化的建模仿真功能。控制系统工具箱(con 2trol system toolbox )为控制系统的仿真提供了很好的平台。
而Simulink 是Matlab 环境下对动态系统建模、仿真和分析的一个软件包,用户可以调用控制系统工具箱中的图形模型,进行建模仿真,并且可以随时观察仿真结果和干预仿真过程[1]。
Matlab/Simulink 的强大功能使得Matlab 在控制系统仿真中发挥了很大作用,可以用于控制算法仿真分析,以及控制参数的设定等。
1.2 T ruetime 工具箱介绍
Truetime 工具箱进一步扩展Matlab/Simulink 的控制仿真功能,实现了基于网络仿真和多任务调度,主要包括以下四个模块[2-3]:
下面主要介绍其中的内核和网络模块。(1)内核模块(True Time kernel )实时内核具有灵活的外部接口,A/D 和D/A 转换器,网络发送和接收接口、外部中断通道以及多任务调度和监控输出接口。通过编写Matlab 或C ++初始化代码,内核模块可以按照用户定义的任务执行。可以支持固定优先级(fixed 2priority scheduling ,prio FP )、单调速率(rate 2mono 2tonic scheduling ,prioRM )、截止时间单调(deadline 2mono 2
第12期胡景军等:实时多任务控制系统的Truetime建模与仿真・2141
・
图1 Truetime仿真工具箱结构图
tonic scheduling,prioDM)以及最早截止时间优先(earliest2 deadline2first scheduling,prio EDF)四种任务调度算法。
(2)网络模块(truetime network,true time wireless network)
网络模块采用事件驱动方式,包括网络输入输出接口,网络调度和监控接口等。任务通过参数重载的ttSendMsg 函数向网络发送消息。当有消息进出网络时,网络模块执行工作。消息包含发送和接收节点的信息、用户数据以及针对CAN总线协议的优先级参数等。参数的重载可以实现跨网络平台的控制系统仿真功能。
有线和无线模块按选定方式工作,参数设定包括节点数目、传输速率,媒体访问控制协议和其他参数,支持的媒体访问控制协议包括CSMA/CD、CSMA/AMP、TDMA、FDMA、round robin、802.11b(WLAN)以及802.15.4(Zig2 Bee)。当然,由于源代码公开,可以很好的编程实现其他的通信协议,扩展工具箱的仿真功能。
True Time具有很强的功能[4],可以(1)用于研究因强占或者传输延时等时间不定性对控制性能的影响;(2)基于测量实际时变,设计动态调节控制器,用于系统的补偿;
(3)进行新的更加灵活的动态调度方法实验,如CPU时间和通信带宽的反馈调度和基于QoS的调度方法;(4)用于仿真事件驱动的控制系统等方面的研究;(5)基于多网络平台下的系统仿真。
2 CAN2Ethernet监控系统仿真
网络控制系统由一个或多个网络模块和多个内核模块构成。内核模块作为网络的节点使用,每个网络节点均维护一个Truetime kernel,内核中的任务调度优先级策略均与其他节点无关。图2为运行于网络环境下多任务直流伺服电机控制系统,拥有CAN网络(CSMA/AMP)和Ether2 net(CSMA/CD)网络模块,网络速率分别为1Mb/s和10Mb/s,分别完成控制和上位监测功能。
图2 实时多任务控制系统仿真模型
CAN网络控制系统拥有两个三任务控制器系统(con2 troller1,2),控制器采用PID控制,满足控制参数为:系统截止频率20rad/s,相对阻尼0.7。两个控制器内核分别设置不同的调度策略来研究系统调度策略对系统的影响。con2troller1,2控制器节点中的三个任务周期分别为0.006s, 0.005s和0.004s。设置controller1为单调速率(prioRM)调度方式,controller2内核处于固定优先级(prio FP)调度方式,controller1中各个任务优先级相同,均为1,而control2