第一范文网 - 专业文章范例文档资料分享平台

Truetime网络仿真

来源:用户分享 时间:2020-06-22 本文由柠檬脾气 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

网络控制系统的调度研究与仿真(Truetime工具)

1. 节点的驱动方式

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

(2)控制器或执行器为事件驱动方式时,避免了控制器或执行器为时钟驱动方式时与传感器时钟同步的困难;

(3)控制器或执行器采用事件驱动方式时,避免了控制器或执行器为时钟驱动方式时容易出现的空采样和数据丢失,提高了反馈数据的利用率。

事件驱动相对于时钟驱动也有一定缺点: (1)在实际运用中事件驱动较难实现。

(2)部分实际的网络控制系统不支持事件驱动方式。

2. TrueTime工具箱结构与功能

Truetime是由瑞典Lund工学院Henriksson等人开发的一个基于Matlab/Simulink的实时网络控制系统的仿真工具箱,为NCS理论的仿真研究提供了简易可行、功能齐全的手段,拜托了软件编程实现特定的网络通讯协议、通信延迟所带来的困难,支持控制与实时调度同时仿真可以方便地仿真实时系统中的资源调度问题。TrueTime仿真软件主要包括两个基本模块:内核模块(TrueTime Kernel)和网络模块(TrueTime Network),如图1所示。

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

图1 Truetime工具箱

网络模块是事件驱动的,当有消息进入或离开网络时它便执行。一条消息包含的信息有发送和接收节点号,用户数据(如测量信号和控制信号),消息的长度和其他可选的实时属性(如优先级或最终时限等)。网络模块包含两个信号端口(信号接收(Rcv),信号发送(Snd)),以及一个实时调度(schedule)显示端口。其中收发信号端口可以通过Matlab模块扩充至多个接口,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:连接在网络模块的节点数量。 Data rate (bits/s):网络传输速率。

Minimum frame size (bits):协议的最小结构长度。

Pre-processing delay (s):信息在网络接口上的发送时延。 Post-processing delay (s):信息在网络接口上的接收时延。 Loss probability (0–1):丢包率。

利用TrueTime仿真软件,网络控制系统中的各个处理单元(包括传感器、控制器和执行器)都可以由计算机模块构建,而网络控制系统的实时网络可以由所需协议的网络模块来构建,另外,再结合Matlab/Simulink的其他控制模块,就可以简便而又快速的构建一个实

时的网络控制系统。

利用TrueTime仿真软件包的优点在于:

(1) 由于该仿真软件中两个基本模块具有通用性,在构建各个处理单元时只需选用

其相应的接口功能进行连接即可,因此大大加快模型构建的速度。

(2)该仿真软件可以比较方便模拟各种实时调度策略,并通过Scope可以很方便地观察各个任务的调度情况和对象的输出情况。

(3)在网络模块中,可以很方便的模拟数据传输率、数据包的大小和丢包率等网络参数,有利于分析各类参数对网络控制系统的性能影响。

使用TrueTime进行仿真时,首先要对网络控制系统中的内核模块TrueTime Kernel和网络模块TrueTime Network以及各个节点进行初始化,在初始化中需要完成以下工作:

1. 初始化功能块内核,设置功能块输入、输出端口的数目和调度策略。

2. 定义消息函数,并根据节点采用的驱动方式,设置不同的消息调度策略。对于时钟

驱动的节点,调用ttCreatPeriodicTask函数,设置周期性的任务调度策略,以实现定时采样功能。对于事件驱动的节点,调用ttCreateInterruptHandler函数,设置中断式消息调度策略,使节点在接受到网络数据后触发相应的消息。

3. 初始化网络端口,设置节点对应的网络端口代号。控制网络功能由TrueTime

Network功能块实现。网络类型、节点数、传输速率以及丢包率等参数可以通过TrueTime Network功能块的设置窗口进行设置。具体的参数选项根据网络类型的不同而不同。

表1 伪码举例 伪码名称 ttAnalogIn ttAnalogOut ttSendMsg ttGetMsg ttWait ttCreateTimer ttSetpriority ttCurrentTime 接口 A/D Interrupts Rcv D/A Snd Schedule Monitors P 功能 把从外界接收的模拟信息转换成数字信息 为该模块提供中断句柄 接收数字信息 把模拟信息转换成数字信息输出 发送数字信息 和“Monitors”查看仿真过程中系统资源的分配情况 和“Schedule”查看仿真过程中系统资源的分配情况 如果需要,可以接通电池(TrueTime提供电池模块) 功能 从输入通道取值 设定输出通道值 在网络上发送信息 从网络输入队列中获取信息 等一个事件 在指定时间触发中断句柄 改变任务优先级 获取当前系统时间 表2 TrueTime核心模块接口功能

TrueTime Network模块提供了3个接口来进行数据的传递或者监控系统的运行,其功能

如表3所示。

表3 TrueTime网络模块接口功能 接口 Snd 功能 接收由TrueTime Kernel模块的Snd端口发送的数字信息

Rcv Schedule 发送数字信息至TrueTime Kernel模块的Rcv端口 查看仿真过程中系统资源的分配情况 上述2个模块均为事件驱动,包括内部事件和外部事件。内部事件通常是由时钟中断触发的,如时间队列释放一个任务或是计时终结都会引发时钟中断。而外部事件主要是和网络模块的外部中断通道有关,当相应的通道的信号值改变就会触发中断。除了计算机模块的A/D转换借口的输入信号是连续时间信号外,这两个模块所有端口的输入都是离散时间信号,输出也都是离散时间信号。

3. 仿真举例

根据节点不同的工作方式,可以得到不同的系统离散时间模型。为了对网络控制系统进行建模,首先对系统作如下假设:

1. 传感器节点采用时间驱动方式,对被控对象的输出进行等周期采样,采样周期为h; 2. 控制器节点和执行器节点都采用事件驱动方式,即信息的到达时间即为响应节点的

动作时间。

控制系统将传感器、控制器和执行器作为系统的3个节点分别用一个TrueTime Kernel模块仿真,传感器节点采用时间驱动方式,它包含了一个周期性任务,将定期采样的信号通过网络传送到控制器节点;控制器和执行器节点采用事件驱动方式,控制节点处理控制信号并将结果送至执行器节点,执行器节点执行控制信号并输出结果。

该网络控制系统的仿真模型如图3所示。

图3 网络控制系统仿真模型

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新幼儿教育Truetime网络仿真 全文阅读和word下载服务。

Truetime网络仿真 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1095010.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top