Truetime网络仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

网络控制系统的调度研究与仿真(Truetime工具)1.节点的驱动方式网络控制系统中的传感器一般采用时钟驱动,传感器的时钟即为系统的时钟,而控制器和执行器既可以是时钟驱动,也可以是事件驱动。但事件驱动相比于时钟驱动具有以下优点:(1)控制器或执行器为事件驱动方式时,从源节点(传感器或控制器)发送的数据一旦到达目标节点(控制器或执行器)便马上执行,而在时钟驱动方式时控制器或执行器的数据被执行要等到规定的时间点,因此事件驱动方式客观上减少了网络诱导时延;(2)控制器或执行器为事件驱动方式时,避免了控制器或执行器为时钟驱动方式时与传感器时钟同步的困难;(3)控制器或执行器采用事件驱动方式时,避免了控制器或执行器为时钟驱动方式时容易出现的空采样和数据丢失,提高了反馈数据的利用率。事件驱动相对于时钟驱动也有一定缺点:(1)在实际运用中事件驱动较难实现。(2)部分实际的网络控制系统不支持事件驱动方式。2.TrueTime工具箱结构与功能Truetime是由瑞典Lund工学院Henriksson等人开发的一个基于Matlab/Simulink的实时网络控制系统的仿真工具箱,为NCS理论的仿真研究提供了简易可行、功能齐全的手段,拜托了软件编程实现特定的网络通讯协议、通信延迟所带来的困难,支持控制与实时调度同时仿真可以方便地仿真实时系统中的资源调度问题。TrueTime仿真软件主要包括两个基本模块:内核模块(TrueTimeKernel)和网络模块(TrueTimeNetwork),如图1所示。内核模块可以是时间驱动也可以是事件驱动的,它主要包含了一个实时内核,A/D,D/A转换端口,与网络模块连接的信号端口(信号接收(Rcv),信号发送(Snd)),实时调度(schedule)显示端口等,调度器与监视器的输出用于显示仿真过程中公共资源(CPU、监控器、网络)的分配,此外,它还有一个外部中断通道(Interrupts)可以处理外部中断。任务和中断处理器的执行需要通过用户自定义函数来实现。调度策略使用一个优先权函数来决定任务的属性。图1Truetime工具箱网络模块是事件驱动的,当有消息进入或离开网络时它便执行。一条消息包含的信息有发送和接收节点号,用户数据(如测量信号和控制信号),消息的长度和其他可选的实时属性(如优先级或最终时限等)。网络模块包含两个信号端口(信号接收(Rcv),信号发送(Snd)),以及一个实时调度(schedule)显示端口。其中收发信号端口可以通过Matlab模块扩充至多个接口,TrueTime中预定义了多种调度策略,包括固定优先级(FixedPriority),单调速率(RM,RateMonotonic),截止期单调(DM,DeadlineMonotonic),最小截止期优先(EDF,EarliestDeadlineFirst),同时,它还有多种介质访问控制协议(CSMA/CD,CSMA/CA,RoundRobin,FDMA或TDMA)和相应的参数可以选择,如图2所示。图2Truetime网络模块Networknumber:网络模块的数量。Numberofnodes:连接在网络模块的节点数量。Datarate(bits/s):网络传输速率。Minimumframesize(bits):协议的最小结构长度。Pre-processingdelay(s):信息在网络接口上的发送时延。Post-processingdelay(s):信息在网络接口上的接收时延。Lossprobability(0–1):丢包率。利用TrueTime仿真软件,网络控制系统中的各个处理单元(包括传感器、控制器和执行器)都可以由计算机模块构建,而网络控制系统的实时网络可以由所需协议的网络模块来构建,另外,再结合Matlab/Simulink的其他控制模块,就可以简便而又快速的构建一个实时的网络控制系统。利用TrueTime仿真软件包的优点在于:(1)由于该仿真软件中两个基本模块具有通用性,在构建各个处理单元时只需选用其相应的接口功能进行连接即可,因此大大加快模型构建的速度。(2)该仿真软件可以比较方便模拟各种实时调度策略,并通过Scope可以很方便地观察各个任务的调度情况和对象的输出情况。(3)在网络模块中,可以很方便的模拟数据传输率、数据包的大小和丢包率等网络参数,有利于分析各类参数对网络控制系统的性能影响。使用TrueTime进行仿真时,首先要对网络控制系统中的内核模块TrueTimeKernel和网络模块TrueTimeNetwork以及各个节点进行初始化,在初始化中需要完成以下工作:1.初始化功能块内核,设置功能块输入、输出端口的数目和调度策略。2.定义消息函数,并根据节点采用的驱动方式,设置不同的消息调度策略。对于时钟驱动的节点,调用ttCreatPeriodicTask函数,设置周期性的任务调度策略,以实现定时采样功能。对于事件驱动的节点,调用ttCreateInterruptHandler函数,设置中断式消息调度策略,使节点在接受到网络数据后触发相应的消息。3.初始化网络端口,设置节点对应的网络端口代号。控制网络功能由TrueTimeNetwork功能块实现。网络类型、节点数、传输速率以及丢包率等参数可以通过TrueTimeNetwork功能块的设置窗口进行设置。具体的参数选项根据网络类型的不同而不同。表1伪码举例伪码名称功能ttAnalogIn从输入通道取值ttAnalogOut设定输出通道值ttSendMsg在网络上发送信息ttGetMsg从网络输入队列中获取信息ttWait等一个事件ttCreateTimer在指定时间触发中断句柄ttSetpriority改变任务优先级ttCurrentTime获取当前系统时间表2TrueTime核心模块接口功能接口功能A/D把从外界接收的模拟信息转换成数字信息Interrupts为该模块提供中断句柄Rcv接收数字信息D/A把模拟信息转换成数字信息输出Snd发送数字信息Schedule和“Monitors”查看仿真过程中系统资源的分配情况Monitors和“Schedule”查看仿真过程中系统资源的分配情况P如果需要,可以接通电池(TrueTime提供电池模块)TrueTimeNetwork模块提供了3个接口来进行数据的传递或者监控系统的运行,其功能如表3所示。表3TrueTime网络模块接口功能接口功能Snd接收由TrueTimeKernel模块的Snd端口发送的数字信息Rcv发送数字信息至TrueTimeKernel模块的Rcv端口Schedule查看仿真过程中系统资源的分配情况上述2个模块均为事件驱动,包括内部事件和外部事件。内部事件通常是由时钟中断触发的,如时间队列释放一个任务或是计时终结都会引发时钟中断。而外部事件主要是和网络模块的外部中断通道有关,当相应的通道的信号值改变就会触发中断。除了计算机模块的A/D转换借口的输入信号是连续时间信号外,这两个模块所有端口的输入都是离散时间信号,输出也都是离散时间信号。3.仿真举例根据节点不同的工作方式,可以得到不同的系统离散时间模型。为了对网络控制系统进行建模,首先对系统作如下假设:1.传感器节点采用时间驱动方式,对被控对象的输出进行等周期采样,采样周期为h;2.控制器节点和执行器节点都采用事件驱动方式,即信息的到达时间即为响应节点的动作时间。控制系统将传感器、控制器和执行器作为系统的3个节点分别用一个TrueTimeKernel模块仿真,传感器节点采用时间驱动方式,它包含了一个周期性任务,将定期采样的信号通过网络传送到控制器节点;控制器和执行器节点采用事件驱动方式,控制节点处理控制信号并将结果送至执行器节点,执行器节点执行控制信号并输出结果。该网络控制系统的仿真模型如图3所示。图3网络控制系统仿真模型图4参数设置界面图5以太网下的系统输出图6令牌网下的系统输出图7设备网下的系统输出网络传输过程中的数据丢失是影响网络控制系统性能的另外一个重要的因素,通过设定不同的丢包率来研究其对系统性能的影响。图8参数设置界面无丢包:图9系统的输入和输出丢包率0.1:图10系统的输入和输出丢包率0.15:图11系统的输入和输出丢包率0.2:图12系统的输入和输出丢包率越大,对系统性能的影响越大,当丢包率达到一定程度时,就会使系统不再稳定。(1)在令牌网下,传输速率为1.5M:图13系统响应曲线(无冲突、干扰和数据丢失)网络干扰节点占网络资源的20%情况下,调度策略为固定优先级(FixedPriority),系统的输出和网络资源调度情况:图14系统响应曲线(2)在令牌网下,传输速率为93.75Kbit/s,调度策略为固定优先级(FixedPriority):图15系统响应曲线图16网络资源调度网络干扰节点占网络资源的20%情况下,系统的输出和网络资源调度情况,调度策略为固定优先级(FixedPriority):图14系统响应曲线图15网络资源调度(3)在令牌网下,传输速率为93.75Kbit/s,网络干扰节点占网络资源的20%、丢包率为10%情况下,调度策略为固定优先级(FixedPriority),系统的输出和网络资源调度情况:图16系统响应曲线图18网络资源调度在令牌网下,传输速率为93.75Kbit/s,网络干扰节点占网络资源的20%、丢包率为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioRM(单调速率):图19系统响应曲线图20网络资源调度在令牌网下,传输速率为93.75Kbit/s,网络干扰节点占网络资源的20%、丢包率为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioEDF:图20系统响应曲线图21网络资源调度在令牌网下,传输速率为93.75Kbit/s,网络干扰节点占网络资源的20%、丢包率为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioDM:图20系统响应曲线图21网络资源调度在网络控制系统中,不同的网络传输协议,传输速率、干扰率、数据包的丢失率以及数据包的大小都会影响到网络控制性能,对于多任务的控制系统调度策略对控制性能也有很大的影响。调度策略对控制系统性能的影响。网络的调度问题:网络控制系统是基于网络的分布式控制系统。网络控制系统中的所有控制信息都要通过实时网络传输,由于网络带宽的限制,网络中传送的信息不可避免产生碰撞、丢失和重发等现象,因此必须对网络中传输信息进行合理调度,否则控制信息产生的较大时延,会降低控制系统的控制性能,严重时将导致系统破坏,因此在网络控制系统的设计与研究中必须考虑网络的调度问题。从仿真结果可见,网络控制系统不仅依赖于传统控制算法的设计,而且依赖于网络资源的调度与优化,由于调度的影响,使得控制系统传感器的采样周期产生变化,不是一个定值,同时从传感器检测到执行器之间时间也产生了变化,从而使得系统产生波动,导致性能降低。不同的调度策略将决定网络与计算机的不同执行与传输方式以及不同的控制性能。仿真表明,网络控制系统那个的性能不仅与常规的控制系统的控制方法有关,而且与网络的调度有关,所以必须对网络控制系统的控制方法与调度进行集成研究。从图中可以看出,当无冲突任务、干扰节点和数据丢失时,信号的传输延时是常数,系统性能较好。当加入冲突任务、干扰节点时,引起了信息在控制节点内和网络中对资源的争夺,竞争使某些低优先级的任务处于等待状态或闲置状态,这些任务不能得到及时处理,导致系统延时变大,而且在多任务竞争这个不确定特性下,时延是时变的,从而使系统指标恶化。图和图分别为控制器调度图和网络调度图,其中,信号高表示任务正在执行,中表示任务在等待,低表示任务闲置。从图可以看到各任务在控制器内的执行情况,从图中可以看到各个节点信息在网络中的传输情况。从图中可以看到当未加冲突任务和干扰节点时,传感器周期性的采集信号,并通过网络把信号传给控制器,控制器接收传感信号,计算出控制信号并通过网络传给执行器,执行器接收控制信号并产生相应的动作。此时控制器中存在控制任务调度,网络中存在控制器节点和传

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功