2022年完整word版,Truetime网络仿真 .pdf

上传人:C****o 文档编号:34263530 上传时间:2022-08-15 格式:PDF 页数:27 大小:1.59MB
返回 下载 相关 举报
2022年完整word版,Truetime网络仿真 .pdf_第1页
第1页 / 共27页
2022年完整word版,Truetime网络仿真 .pdf_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《2022年完整word版,Truetime网络仿真 .pdf》由会员分享,可在线阅读,更多相关《2022年完整word版,Truetime网络仿真 .pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、网络控制系统的调度研究与仿真(Truetime 工具)1. 节点的驱动方式网络控制系统中的传感器一般采用时钟驱动,传感器的时钟即为系统的时钟,而控制器和执行器既可以是时钟驱动,也可以是事件驱动。 但事件驱动相比于时钟驱动具有以下优点:(1)控制器或执行器为事件驱动方式时,从源节点(传感器或控制器)发送的数据一旦到达目标节点 (控制器或执行器)便马上执行, 而在时钟驱动方式时控制器或执行器的数据被执行要等到规定的时间点,因此事件驱动方式客观上减少了网络诱导时延;(2)控制器或执行器为事件驱动方式时,避免了控制器或执行器为时钟驱动方式时与传感器时钟同步的困难;(3)控制器或执行器采用事件驱动方式时

2、,避免了控制器或执行器为时钟驱动方式时容易出现的空采样和数据丢失,提高了反馈数据的利用率。事件驱动相对于时钟驱动也有一定缺点:(1)在实际运用中事件驱动较难实现。(2)部分实际的网络控制系统不支持事件驱动方式。2. TrueTime工具箱结构与功能Truetime 是由瑞典 Lund 工学院 Henriksson 等人开发的一个基于Matlab/Simulink 的实时网络控制系统的仿真工具箱,为NCS 理论的仿真研究提供了简易可行、功能齐全的手段,拜托了软件编程实现特定的网络通讯协议、通信延迟所带来的困难,支持控制与实时调度同时仿真可以方便地仿真实时系统中的资源调度问题。TrueTime 仿

3、真软件主要包括两个基本模块:内核模块(TrueTime Kernel )和网络模块(TrueTime Network ) ,如图 1所示。内核模块可以是时间驱动也可以是事件驱动的,它主要包含了一个实时内核,A/D ,D/A转换端口,与网络模块连接的信号端口(信号接收(Rcv) ,信号发送(Snd) ) ,实时调度(schedule)显示端口等,调度器与监视器的输出用于显示仿真过程中公共资源(CPU、监控器、网络)的分配,此外,它还有一个外部中断通道(Interrupts)可以处理外部中断。任务和中断处理器的执行需要通过用户自定义函数来实现。调度策略使用一个优先权函数来决定任务的属性。名师资料总

4、结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 图 1 Truetime 工具箱网络模块是事件驱动的,当有消息进入或离开网络时它便执行。一条消息包含的信息有发送和接收节点号,用户数据(如测量信号和控制信号),消息的长度和其他可选的实时属性(如优先级或最终时限等)。网络模块包含两个信号端口(信号接收(Rcv) ,信号发送(Snd) ) ,以及一个实时调度(schedule)显示端口。其中收发信号端口可以通过Matlab 模块扩充至多个接口

5、,TrueTime 中预定义了多种调度策略,包括固定优先级(Fixed Priority ) ,单调速率( RM ,Rate Monotonic ) ,截止期单调(DM ,Dead line Monotonic ) ,最小截止期优 先 ( EDF , Earliest Dead line First ), 同 时 , 它 还 有 多 种 介 质 访 问 控 制 协 议(CSMA/CD,CSMA/CA,Round Robin,FDMA或 TDMA )和相应的参数可以选择,如图2 所示。图 2 Truetime 网络模块Network number:网络模块的数量。Number of nodes

6、:连接在网络模块的节点数量。Data rate (bits/s):网络传输速率。Minimum frame size (bits):协议的最小结构长度。Pre-processing delay (s):信息在网络接口上的发送时延。Post-processing delay (s):信息在网络接口上的接收时延。Loss probability (0 1):丢包率。利用 TrueTime 仿真软件,网络控制系统中的各个处理单元(包括传感器、控制器和执行器)都可以由计算机模块构建,而网络控制系统的实时网络可以由所需协议的网络模块来构建,另外,再结合Matlab/Simulink的其他控制模块,就可以

7、简便而又快速的构建一个实名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 时的网络控制系统。利用 TrueTime 仿真软件包的优点在于:(1)由于该仿真软件中两个基本模块具有通用性,在构建各个处理单元时只需选用其相应的接口功能进行连接即可,因此大大加快模型构建的速度。(2)该仿真软件可以比较方便模拟各种实时调度策略,并通过Scope可以很方便地观察各个任务的调度情况和对象的输出情况。(3)在网络模块中,可以很方便的模拟数据传输

8、率、数据包的大小和丢包率等网络参数,有利于分析各类参数对网络控制系统的性能影响。使用 TrueTime 进行仿真时, 首先要对网络控制系统中的内核模块TrueTime Kernel 和网络模块 TrueTime Network 以及各个节点进行初始化,在初始化中需要完成以下工作:1.初始化功能块内核,设置功能块输入、输出端口的数目和调度策略。2.定义消息函数,并根据节点采用的驱动方式,设置不同的消息调度策略。对于时钟驱动的节点,调用ttCreatPeriodicTask 函数,设置周期性的任务调度策略,以实现定时采样功能。对于事件驱动的节点,调用ttCreateInterruptHandler

9、函数,设置中断式消息调度策略,使节点在接受到网络数据后触发相应的消息。3.初始化网络端口,设置节点对应的网络端口代号。控制网络功能由TrueTime Network功能块实现。网络类型、节点数、传输速率以及丢包率等参数可以通过TrueTime Network 功能块的设置窗口进行设置。具体的参数选项根据网络类型的不同而不同。表 1 伪码举例伪码名称功能ttAnalogIn 从输入通道取值ttAnalogOut 设定输出通道值ttSendMsg 在网络上发送信息ttGetMsg 从网络输入队列中获取信息ttWait 等一个事件ttCreateTimer 在指定时间触发中断句柄ttSetprior

10、ity 改变任务优先级ttCurrentTime 获取当前系统时间表 2 TrueTime 核心模块接口功能接口功能A/D 把从外界接收的模拟信息转换成数字信息Interrupts 为该模块提供中断句柄Rcv 接收数字信息D/A 把模拟信息转换成数字信息输出Snd 发送数字信息Schedule 和“Monitors ”查看仿真过程中系统资源的分配情况Monitors 和“Schedule”查看仿真过程中系统资源的分配情况P 如果需要,可以接通电池(TrueTime 提供电池模块)TrueTime Network 模块提供了3 个接口来进行数据的传递或者监控系统的运行,其功能如表 3 所示。表

11、3 TrueTime 网络模块接口功能接口功能Snd 接收由 TrueTime Kernel 模块的 Snd 端口发送的数字信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 27 页 - - - - - - - - - Rcv 发送数字信息至TrueTime Kernel 模块的 Rcv 端口Schedule 查看仿真过程中系统资源的分配情况上述 2 个模块均为事件驱动,包括内部事件和外部事件。内部事件通常是由时钟中断触发的,如时间队列释放一个任务或是计时终结都会引发时

12、钟中断。而外部事件主要是和网络模块的外部中断通道有关,当相应的通道的信号值改变就会触发中断。除了计算机模块的A/D转换借口的输入信号是连续时间信号外,这两个模块所有端口的输入都是离散时间信号,输出也都是离散时间信号。3. 仿真举例根据节点不同的工作方式,可以得到不同的系统离散时间模型。为了对网络控制系统进行建模,首先对系统作如下假设:1.传感器节点采用时间驱动方式,对被控对象的输出进行等周期采样,采样周期为h;2.控制器节点和执行器节点都采用事件驱动方式,即信息的到达时间即为响应节点的动作时间。控制系统将传感器、控制器和执行器作为系统的3 个节点分别用一个TrueTime Kernel模块仿真

13、, 传感器节点采用时间驱动方式,它包含了一个周期性任务,将定期采样的信号通过网络传送到控制器节点;控制器和执行器节点采用事件驱动方式,控制节点处理控制信号并将结果送至执行器节点,执行器节点执行控制信号并输出结果。该网络控制系统的仿真模型如图3 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 图 3 网络控制系统仿真模型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

14、 - - 名师精心整理 - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 图 4 参数设置界面图 5 以太网下的系统输出图 6 令牌网下的系统输出图 7 设备网下的系统输出网络传输过程中的数据丢失是影响网络控制系统性能的另外一个重要的因素,通过设定不同的丢包率来研究其对系统性能的影响。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 27 页 - - - - - - - - - 图 8 参数设置界面无丢包:图 9 系统的输入和输出丢包

15、率 0.1:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 27 页 - - - - - - - - - 图 10 系统的输入和输出丢包率 0.15:图 11 系统的输入和输出丢包率 0.2:图 12 系统的输入和输出丢包率越大, 对系统性能的影响越大,当丢包率达到一定程度时,就会使系统不再稳定。(1)在令牌网下,传输速率为1.5M:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -

16、- - - - 第 8 页,共 27 页 - - - - - - - - - 图 13 系统响应曲线(无冲突、干扰和数据丢失)网络干扰节点占网络资源的20%情况下,调度策略为固定优先级(Fixed Priority ),系统的输出和网络资源调度情况:图 14 系统响应曲线(2)在令牌网下,传输速率为93.75Kbit/s ,调度策略为固定优先级(Fixed Priority ):图 15 系统响应曲线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 27 页 - - - -

17、 - - - - - 图 16 网络资源调度网络干扰节点占网络资源的20%情况下,系统的输出和网络资源调度情况,调度策略为固定优先级(Fixed Priority ) :图 14 系统响应曲线图 15 网络资源调度(3)在令牌网下,传输速率为93.75Kbit/s ,网络干扰节点占网络资源的20%、丢包率为 10%情况下,调度策略为固定优先级(Fixed Priority ) ,系统的输出和网络资源调度情况:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 27 页 -

18、- - - - - - - - 图 16 系统响应曲线图 18 网络资源调度在令牌网下, 传输速率为93.75Kbit/s ,网络干扰节点占网络资源的20%、丢包率为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioRM (单调速率):图 19 系统响应曲线名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 27 页 - - - - - - - - - 图 20 网络资源调度在令牌网下, 传输速率为93.75Kbit/s ,网络干扰节点占网络资源的20%、丢包率

19、为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioEDF :图 20 系统响应曲线图 21 网络资源调度在令牌网下, 传输速率为93.75Kbit/s ,网络干扰节点占网络资源的20%、丢包率为10%情况下,系统的输出和网络资源调度情况,调度策略为PrioDM :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 27 页 - - - - - - - - - 图 20 系统响应曲线图 21 网络资源调度在网络控制系统中,不同的网络传输协议,传输速率、干扰率、数

20、据包的丢失率以及数据包的大小都会影响到网络控制性能,对于多任务的控制系统调度策略对控制性能也有很大的影响。调度策略对控制系统性能的影响。网络的调度问题:网络控制系统是基于网络的分布式控制系统。网络控制系统中的所有控制信息都要通过实时网络传输, 由于网络带宽的限制,网络中传送的信息不可避免产生碰撞、丢失和重发等现象, 因此必须对网络中传输信息进行合理调度,否则控制信息产生的较大时延,会降低控制系统的控制性能,严重时将导致系统破坏,因此在网络控制系统的设计与研究中必须考虑网络的调度问题。从仿真结果可见,网络控制系统不仅依赖于传统控制算法的设计,而且依赖于网络资源的调度与优化, 由于调度的影响, 使

21、得控制系统传感器的采样周期产生变化,不是一个定值,同时从传感器检测到执行器之间时间也产生了变化,从而使得系统产生波动,导致性能降低。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 27 页 - - - - - - - - - 不同的调度策略将决定网络与计算机的不同执行与传输方式以及不同的控制性能。仿真表明,网络控制系统那个的性能不仅与常规的控制系统的控制方法有关,而且与网络的调度有关,所以必须对网络控制系统的控制方法与调度进行集成研究。从图中可以看出,当无冲突任务、干扰

22、节点和数据丢失时,信号的传输延时是常数,系统性能较好。 当加入冲突任务、干扰节点时, 引起了信息在控制节点内和网络中对资源的争夺,竞争使某些低优先级的任务处于等待状态或闲置状态,这些任务不能得到及时处理,导致系统延时变大,而且在多任务竞争这个不确定特性下,时延是时变的, 从而使系统指标恶化。图和图分别为控制器调度图和网络调度图,其中,信号高表示任务正在执行,中表示任务在等待, 低表示任务闲置。从图可以看到各任务在控制器内的执行情况,从图中可以看到各个节点信息在网络中的传输情况。从图中可以看到当未加冲突任务和干扰节点时,传感器周期性的采集信号,并通过网络把信号传给控制器,控制器接收传感信号,计算

23、出控制信号并通过网络传给执行器,执行器接收控制信号并产生相应的动作。此时控制器中存在控制任务调度,网络中存在控制器节点和传感器节点调度。当控制器节点内部存在冲突任务,而网络中存在干扰节点时,控制器内存在控制任务和冲突任务的调度,网络中存在控制器节点、传感器节点和干扰节点的调度。由于冲突任务和干扰节点的存在,使得信息在控制器节点内处理时以及在网络中传输时存在冲突和资源争夺。该例中规定干扰具有最高优先级,所以从图和图, 可以看到控制器内部冲突任务的执行机率大, 而网络中干扰信息的传输机率大,导致了传感器的采样周期发生变化,不是一个定值,同时从传感器检测到执行器之间时间也发生了变化,从而使得系统产生

24、波动,性能降低,如图所示。仿真系统可以通过Proprocessing delay(发送时延)与Postprocessing delay(接收时延)进行传输时延的设定。由于时延增加,系统的稳定性降低。图所示给出了网络传输时延为0.001 的系统变化曲线,由于存在传输时延,系统振荡加强,性能降低,网络控制系统的处理时延会对系统性能产生很大的影响。,这里采用调整控制器参数方法进行补偿调节。TrueTime模块配置与初始化1.TrueTime Network 模块的配置TrueTime Network 模块的配置需要通过块任务对话完成。包括:指定网络模式 (Network type) 、网络模块的访问

25、地址(Network number) 、连接到该模块的网络节点数(Number 偶发 nodes) 、通信速率(Data rate(bit/s)0、最小数据帧(Minimum frame size (bytes) ) 、网络发送端时延(Pre-processing delay(s) ) 、网络接收端时延(Post-processing delay(s) )和信息传输丢失率 (Loss probability(0-1) ) 等。 可供选择的网络模式有CSMA/CD(如 Ethernet) 、CSMA 、AMP(如 CAN ) 、Round Robin(如 Token Bus) 、FDMA(Fre

26、quency Division Multiple Access) 、TDMA (Time Division Multiple Access,如 TTP)和 Switched Ethernet。2.TrueTime Kernel 模块的配置和初始化TrueTime Kernel 模块的配置可以通过快任务对话完成。可以通过任务对话配置的参数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 27 页 - - - - - - - - - 有:指定初始化脚本函数名称(Name of

27、 init function(MEX of MATLAB) ) 、选择初始化脚本变量( Init function argument ) 、内核模块是否依赖电池(Battery) 、时间漂移( Clock drift )和时间偏移量 (Clock offset )等。某些其它的参数也可以通过命令ttSetKernelParameter 进行设置。TrueTime Kernel 模块的初始化(Initialization )涉及:指定仿真中模块的输入输出通道地址( number of Inputs and outputs) ,定义调度策略(scheduling policy ) ,创建任务( t

28、asks) 、中断柄( interrupt handlers ) 、事件( events)和监视器( monitors)等。 TrueTime Kernel 模块的初始化通过编写初始化脚本代码来实现。每个 TrueTime Kernel 模块必须进行初始化。 (在Matlab 中,某些初始化参数也可以在图形界面窗口中通过选择参数实现)。从网络调度图中可以看到,事件驱动型的控制器,在传感器数据到达时立即计算出控制信号;事件驱动型的控制器,从采样时刻运作。 从 Ethernet 网络控制系统的仿真结果来分析,事件驱动型的网络控制系统比时间驱动型的网络控制系统,在阶跃响应下, 超调量小, 回复时间短

29、,系统性能明显优越。TrueTime 初始化问题:初始化中计算机内核与网络是两个基本的初始化内容,分别采用了ttInitKernel(nbrInp,nbrOutp,prioFcn)与ttInitNetwork (nodenumber,handlename)形式表示。 ttInitKernel中nbrlnp 为输入通道的数目,nbrOutp 为输出通道的数目,prioFcn 为采用的调度策略,而ttInitNetwork中 nodenumber 为网络中节点的地址,handlername 为被调用的中断句柄名,如ttInitKernel (1,0, RM )表示采用了RM(单调速率)调度策略。如

30、网络中节点4 控制器初始化为ttInitNetwork ( 4, msgRcv ) 。TrueTime 工具箱实例代码(distributed ) :1. function actuator_init%执行器初始化% Distributed control system: actuator node% Receives messages from the controller and actuates % the plant.% Initialize TrueTime kernelttInitKernel(0, 1, prioFP); % nbr Of Inputs, nbr Of Outpu

31、ts, fixed priority,初始化内核,设置功能块输入、输出端口的数目和调度策略% Create actuator task 创建任务deadline = 100;prio = 1;ttCreateTask(act_task, deadline, prio, actcode);任务名称,最终期限(截止期),代码名称% Initialize networkttCreateInterruptHandler( nw_handler , prio, msgRcvActuator ); 对于事件驱动的节点,调用ttCreateInterruptHandler 函数, 设置中断式消息调度策略,使

32、节点在接受到网络数据后触发相应的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 27 页 - - - - - - - - - 消息。ttInitNetwork(2, nw_handler ); % node #2 in the network 初始化网络接口, 网络数目, 当事件到达时,激发的端口名称2.function exectime, data = actcode(seg, data)switch seg,case 1, data.u = ttGetMsg;从网络

33、输入队列中获取信息exectime = 0.0005; 执行时间case 2,ttAnalogOut(1, data.u)设定输出通道值,通道号,通道值exectime = -1; % finishedend3. function controller_init(arg) 控制器初始化% Distributed control system: controller node% Receives messages from the sensor node, computes control signal% and sends it to the actuator node. Also conta

34、ins a high-priority% disturbing task.% Initialize TrueTime kernelttInitKernel(1, 0, prioFP); % nbrOfInputs, nbrOfOutputs, fixed priority初始化内核,设置功能块输入、输出端口的数目和调度策略% Controller parameters 控制器参数设置,h为采样周期,N为采样次数h = 0.010;N = 100000;Td = 0.035;K = 1.5;% Create task data (local memory)data.u = 0.0;data.K

35、= K; data.ad = Td/(N*h+Td);data.bd = N*K*Td/(N*h+Td);data.Dold = 0.0;data.yold = 0.0;% Create controller taskdeadline = h;prio = 2;ttCreateTask(pid_task, deadline, prio, ctrlcode, data); 任务名称,最终期限(截止期),代码名称% Optional disturbance task 随机扰动任务if arg 0offset = 0.0002;period = 0.007;prio = 1;ttCreatePeri

36、odicTask( dummy , offset, period, prio, dummycode ); 对于时钟驱动的节点,调用ttCreatPeriodicTask 函数,设置周期性的任务调度策略,以实现定时采样功能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 27 页 - - - - - - - - - end% Initialize networkttCreateInterruptHandler( nw_handler , prio, msgRcvCtrl

37、); 对于事件驱动的节点,调用ttCreateInterruptHandler 函数, 设置中断式消息调度策略,使节点在接受到网络数据后触发相应的消息。ttInitNetwork(3, nw_handler ); % node #3 in the network ,初始化网络接口,网络数目, 当事件到达时,激发的端口名称4. function exectime, data = ctrlcode(seg, data)switch seg,case 1, y = ttGetMsg; % Obtain sensor value ,从网络输入队列中获取信息r = ttAnalogIn(1); % Re

38、ad reference value ,从输入通道取值P = data.K*(r-y);D = data.ad*data.Dold + data.bd*(data.yold-y);data.u = P + D;data.Dold = D;data.yold = y;exectime = 0.0005;case 2,ttSendMsg(2, data.u, 80); % Send 80 bits to node 2 (actuator) ,在网络上发送信息,发送数据内容的 80个字节到执行器节点2exectime = -1; % finishedend5. function exectime,

39、data = dummycode(seg, data) 虚拟节点功能switch seg,case 1, exectime = 0.004;case 2,exectime = -1;end6. function exectime, data = interfcode(seg, data) 干扰节点功能BWshare = 0.0; % Fraction of the network bandwidth occupied by this node 节点占用网络带宽if (rand(1) T 的情况下,采用时间驱动的网络控制系统,将会得到较好的系统性能。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 27 页 - - - - - - - - - 改变传输数据量的情况下研究调度算法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 27 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁