TrueTime工具箱模块内部结构及功能解析

TrueTime工具箱模块内部结构及功能解析,第1张

1.TrueTIme工具箱

(1)TrueTIme工具箱简介

TrueTIme工具箱是基于MATLAB/Simulink的仿真工具箱,是瑞典Lund学院在2002年开发的,可以实现控制系统和实时调度的仿真。

作为一款专业的科学计算软件,MATLAB在各个领域都有着广泛的应用。MATLAB将人所不能达到的数据处理和计算能力和可视化编程加载在一起,并且其拥有大量的由各个领域的专家学者所编写的函数,这些函数的调用可以轻易地解决一些问题,为人们处理问题带来难以想象的便利。

在MATLAB被正式研究并投入使用之前,各国的专家学者或从业者基本都是使用FORTRAN和C语言所编程的软件等来进行相关领域的编程研究。但此类软件由于兼容性不强、在性能上也有所欠缺,同时并没有如同MATLAB那般完善且专业的内置函数和标准库,故而,一直难以在市场和相关领域占主导地位。但随着MATLAB的出现,各国的专家学者得到了进行相关研究的有力工具,同时原先在控制领域中使用的库类则被淘汰或选择在MATLAB上重建。时至今日,经过Math Works公司对MATALAB不断地改进和补充以及各国专家学者为其提供的改进建议,MATLAB已经能够适用于多领域,并在这些领域都占有举足轻重的位置。

TrueTIme的功能可以说是十分完备。它不仅可以作为探索网络上的大多数问题对系统有何影响的一种工具,还能够为算法的设计提供很大的帮助,除了这些,它还有很多的优点。网络控制系统涉及控制、实时调度、网络通信等内容,为系统的分析与设计制造了不少的阻碍,而TrueTime工具箱为网络控制系统的仿真研究提供了清晰有效的策略,是一个理想的网络控制系统仿真平台。

(2)工具箱模块介绍

TrueTime仿真工具箱包括实时内核模块(TrueTime Kernel)、网络模块(TrueTime Network)、无线网络模块(TrueTime Wireless Network)、电池模块(TrueTime Battery)、发送信息模块(TrueTime Send)和接收信息模块(TrueTime Receive)六种Simulink接口类型模块。本文中详细介绍实时内核模块(TrueTime Kernel)和网络模块(TrueTime Network)的作用、接口及相应的功能。

TrueTime工具箱模块内部结构及功能解析,TrueTime工具箱模块内部结构及功能解析,第2张

图1 TrueTime仿真工具箱

① 实时内核模块(TrueTime Kernel)

该模块具有及时性和快速性,里面包含A/D接口、D/A接口、网络接口和外部通道,调度器(Schedule)和监视器(Monitors)的输出可以用来显示C++PU、Monitors和网络的分配情况。该模块是根据使用者的需求来工作的,使用者派给它一个任务,遇到中断,它便去执行。任务的执行与中断句柄通过MATLAB语言或C++语言编写的代码实现。

TrueTime工具箱模块内部结构及功能解析,TrueTime工具箱模块内部结构及功能解析,第3张

图2 TrueTime Kernel模块内部结构

表1 TrueTime Kernel模块接口及功能

接口

功能

A/D

将模拟信息变更为数字信息

Triggers

提供中断句柄

Rcv

接收数字信息

D/A

将数字信息变更为模拟信息

Snd

发送数字信息

Schedule

查看系统资源的分配情况

Power

若需要,可接通电池(TrueTime提供电池模块)

②网络模块(TrueTime Network)

TrueTime Network向NCS供应了通信资源,包含了各种网络参数,如Network number、Number of nodes、Data rate(bits/s)、Minimum frame size(bytes)、Preprocessing delay(s)、Postprocessing delay(s)、Loss probability(0~1)等。TrueTime工具箱中预定义了多种调度策略,比如固定优先级(FP,Fixed Priority),单调速率(RM,Rate Monotonic),截止期单调(DM,Deadline Monotonic),最小截止期优先(EDF,Earliest Deadline First)等。

TrueTime工具箱模块内部结构及功能解析,第4张

图3 TrueTime Network模块

表2 网络模块接口及功能

接口

功能

Snd

接收TrueTime Kernel模块Snd端口发送的数字信息

Rcv

发送数字信息至TrueTime Kernel模块的Rcv端口

Schedule

观察仿真中系统资源的占据情况

③无线网络模块(TrueTime Wireless Network)如图4所示。

TrueTime工具箱模块内部结构及功能解析,第5张

图4 TrueTime Wireless Network模块

④电池模块,如图5所示。

TrueTime工具箱模块内部结构及功能解析,第6张

图5 TrueTime Battery模块

(3)TrueTime命令介绍

TrueTime工具箱中的各个模块都需要编写代码来实现。常用的命令如表3所示。

命令

描述

ttInitKernel

初始化TrueTime Kernel模块

ttAnalogIn

从输入通道取值

ttAnalogOut

设定输出通道的值

ttSendMsg

在网络上发送信息

ttGetMsg

在网络接收信息

ttWait

等一个事件

ttCreateTimer

在指定事件触发中断句柄

ttSetPriority

改变任务优先级

ttCreatePeriodecTask

创建周期性任务

ttInitNetwork

初始化网络模块

ttCreateInterruptHandler

创建中断柄

ttCreateExternalTrigger

创建外部触发

ttCreateMonitor

创建一个监视器

ttCreateEvent

创建一个事件

ttSetDeadline

设置截止期

ttCallBlockSystem

调用Simulink模块

ttSetPeriod

设置周期时间

ttSetBudget

设置任务的执行时间预算

ttSetWCET

设置任务的最坏执行时间

ttGetRelease

获得释放时间

ttGetDeadline

获得截止期

ttGetAbsDeadline

设置一个任务作业的绝对截止期

ttGetPeriod

获得周期时间

ttGetPriority

获得优先级

ttGetBudget

获得任务的执行时间预算

ttGetWCET

获得任务的最坏执行时间

ttRemoveTimer

在指定事件去掉中断句柄

ttCurrentTime

设置或获得仿真中每个节点的当前时间

ttLogNow

记录当前时间

ttLogStart

开始时间测量并记录

ttLogStop

停止时间测量并记录

ttTryFetch

从邮箱获取信息

ttTryPost

将信息发送至邮箱

ttSleepUntil

把任务放到一个特定的时间点

ttSleep

某个时间点停止任务

ttSetNetworkParameter

设置网络参数

ttSetKernelParameter

设置内核参数

2.PID控制器概述

PID控制(proportional integral derivative,PID)是指控制器的输出分别与输入偏差的大小、偏差的积分和偏差的变化率成比例。理想PID的增量式数学表达式为

TrueTime工具箱模块内部结构及功能解析,第7张

式中,TrueTime工具箱模块内部结构及功能解析,第8张为控制器输出的增量值;TrueTime工具箱模块内部结构及功能解析,第9张为被控参数与给定值之差。

将上改为传递函数的形式,则为

TrueTime工具箱模块内部结构及功能解析,第10张

其中,TrueTime工具箱模块内部结构及功能解析,第11张表示控制器的比例增益,TrueTime工具箱模块内部结构及功能解析,第12张表示积分时间,TrueTime工具箱模块内部结构及功能解析,第13张表示微分时间。通过改变这三个参数的大小,从而改变调节作用的大小及规律。

3. 网络环境下的系统仿真

(1)基于TrueTime的倒立摆PID仿真模型

通过网络形成闭环的一种全分布式实时反馈控制系统称为网络控制系统。网络闭环控制系统框图如图6所示。

TrueTime工具箱模块内部结构及功能解析,第14张

图6 具有延迟的网络闭环控制系统框图

本文用TrueTime创建网络平台,以直线一级倒立摆作为被控对象,采用经典PID的控制方法,利用TrueTime2.0工具箱及Simulink中的相关模块搭建出网络化直线一级倒立摆PID控制的仿真模型。系统的仿真模型如图7所示。

TrueTime工具箱模块内部结构及功能解析,第15张

图7 基于TrueTime的倒立摆PID控制仿真模型

其中,状态空间模块的参数是利用上节中的计算结果,参数设置如图8所示。

TrueTime工具箱模块内部结构及功能解析,第16张

图8 状态空间模块的参数设置

(2)各节点介绍及参数设置

上述仿真模型中包括1个网络模块(TrueTime Network),4个实时内核模块(TrueTime Kernel)。4个计算机部分分别是控制器、传感器、执行器和干扰。

①控制器节点

控制器部分用于接收TrueTime Network的消息,其处理后再传递给TrueTime Network,另外,需要给它输入一个阶跃信号作为系统的参考信号。控制器节点以及参数设置分别如图9和图10所示。

TrueTime工具箱模块内部结构及功能解析,第17张

图9 控制器节点图

TrueTime工具箱模块内部结构及功能解析,第18张

图10 控制器参数设置界面

PID控制器采用以下算法:

TrueTime工具箱模块内部结构及功能解析,第19张

其中,TrueTime工具箱模块内部结构及功能解析,第20张TrueTime工具箱模块内部结构及功能解析,第21张。传感器采样周期h=0.01 ,微分增益N=10000,比例系数K=3.75,积分系数TrueTime工具箱模块内部结构及功能解析,第22张=9.6,微分系数TrueTime工具箱模块内部结构及功能解析,第23张=1.25。

②传感器节点

传感器节点以及参数设置分别如图11和图12所示。

TrueTime工具箱模块内部结构及功能解析,第24张

图11 传感器节点图

TrueTime工具箱模块内部结构及功能解析,第25张

图12 传感器参数设置界面

③执行器节点

执行器节点以及参数设置分别如图13和图14所示。

TrueTime工具箱模块内部结构及功能解析,第26张

图13 执行器节点图

TrueTime工具箱模块内部结构及功能解析,第27张

图14 执行器参数设置界面

④干扰节点以及参数设置分别如图15和16所示。

TrueTime工具箱模块内部结构及功能解析,第28张

图15 干扰节点图

TrueTime工具箱模块内部结构及功能解析,第29张

图16 干扰参数设置界面

⑤ 网络模块(TrueTime Network),其内部结构如图17所示。

TrueTime工具箱模块内部结构及功能解析,第30张

图17 网络模块内部结构

网络模块(TrueTime Network)的参数设置如图18所示。其中,Data rate(bits/s)表示网络传输速率,Minimum frame size(bits)表示最小数据帧(字节),Loss probability(0-1)表示网络信息在传输中的丢失率。

TrueTime工具箱模块内部结构及功能解析,第31张

图18 网络模块参数设置界面

用MATLAB语言实现各节点及网络模块的初始化和任务代码见下节。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2492242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存