基于Truetime网络控制系统的仿真.docx
《基于Truetime网络控制系统的仿真.docx》由会员分享,可在线阅读,更多相关《基于Truetime网络控制系统的仿真.docx(21页珍藏版)》请在冰豆网上搜索。
![基于Truetime网络控制系统的仿真.docx](https://file1.bdocx.com/fileroot1/2022-10/12/3a48eb85-a5b3-4781-bbac-25795e05ff8c/3a48eb85-a5b3-4781-bbac-25795e05ff8c1.gif)
基于Truetime网络控制系统的仿真
海南大学本科生2010—2011学年度第2学期
课程考查论文
学院(中心、所):
信息科学技术学院专业:
电子信息工程
研究方向:
班级:
学生姓名:
学生证号:
课程名称:
论文题目:
基于Truetime的网络控制系统的仿真
任课老师:
(以上由学生填写)
教师评阅:
阅卷教师(签名):
年月日
——————目录——————
摘要……………………………………………………3
关键词……………………………………………………3
网络控制系统概述……………………………………………………3
Truetime的安装……………………………………………………3
(有线网络控制系统)
一、组成结构……………………………………………………3
二、存在的问题……………………………………………………4
三、分散式有线网络控制系统的仿真实例…………………………………4
①Network……………………………………………………5
网络参数……………………………………………………5
网络模式……………………………………………………8
②TruetimeKernel……………………………………………………8
一、传感器……………………………………………………8
二、控制器……………………………………………………10
三、执行器……………………………………………………11
四、干扰节点……………………………………………………11
③被控对象……………………………………………………12
(无线网络控制系统)
一、组成结构……………………………………………………13
二、存在的问题……………………………………………………13
三、无线网络控制系统的仿真实例……………………………………14
①Network……………………………………………………15
②TruetimeKernel……………………………………………………17
③被控对象……………………………………………………18
结束语(感想)……………………………………………………19
参考文献……………………………………………………19
摘要:
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它主要包括MATLAB和Simulink仿真两大部分。
随着科学技术的迅猛发展,MATLAB在通讯系统设计与仿真中的应用也越来越广泛。
而网络控制系统又是电子专业课程极其重要的一部分,故掌握好网络控制系统的仿真便显得尤为重要了。
本文通过对有线与无线网络控制系统的举例,详细地分析了Truetime工具箱中各个模块的功能,阐述了有线网络控制系统中数据包丢失、稳定性等问题以及无线网络控制系统中功率控制策略的问题。
关键词:
MATLABTruetime网络控制系统丢包干扰节点稳定性功率控制
网络控制系统概述:
网络控制系统(NCS,NetworkedControlSystem)是指由传感器、控制器和执行器通过通信网络形成的实时闭环的控制系统。
简单结构如下图所示:
控制器
执行器
被控对象
传感器
u(t)
r(t)+
y(t)
e(t)
-
Truetime的安装
在MATLAB7.0中安装truetime-1.5工具箱:
1、解压安装包
2、复制粘贴文件夹truetime-1.5至C:
\MATLAB7\toolbox\
3、打开MATLAB,File→SetPath…,弹出“SetPath”窗口,点击“AddFolder...”建立C:
\MATLAB7\toolbox\truetime-1.5\kernel路径,点击左下角的“Save”,再“Close”
4、如果在WindowsXP中,则进入“控制面版→系统→/高级→环境变量”中添加系统变量及用户变量“TTKERNEL”,建立C:
\MATLAB7\toolbox\truetime-1.5\kernel路径;
如果在Win7中,则进入“控制面版→用户账户和家庭安全→/用户账户→更改我的环境变量”建立C:
\MATLAB7\toolbox\truetime-1.5\kernel路径,同时添加系统变量及用户变量“TTKERNEL”
5、将C:
\MATLAB7\toolbox\local\startsav.m中添加如下命令
addpath([getenv('TTKERNEL')])
init_truetime;
6、在MATLAB7.0中打开C:
\MATLAB7\toolbox\local\matlabrc.m,并用M-FileEditor中File菜单下的“SaveWorkspaceAs...”把该文件命名为matlab.mat保存到原目录
7、重新启动MATLAB7.0,在CommandWindow窗口下,以命令行的方式输入Truetime,回车,即可看到Truetime仿真工具箱
注:
访问examples时,应直接在C:
\MATLAB7\toolbox\truetime-1.5\examples下打开。
(若电脑同时安装了多种MATLAB版本的软件)
有线网络控制系统
一、组成结构
有线网络控制系统中,有传感器节点、控制器节点、执行器节点和干扰节点。
组成结构如下图所示:
二、存在的问题
这种系统存在时延、丢包、多包、乱序的问题,这些问题的出现会降低系统的性能,譬如使系统的稳定范围变窄,稳定性变差,严重时甚至使系统失稳。
下面,举一个有线网络系统的仿真实例来说明Truetime-1.5中各个模块的作用以及丢包等问题。
三、分散式有线网络控制系统的仿真实例
这是一个分散式的有线网络控制系统的实例(distributed.mdl):
简略概述:
该系统包含四个网络节点(皆用Truetime内核模块表示):
Node4(传感器),Node3(控制器),Node2(执行器)和Node1(干扰节点)。
可假设u为“冷气”,经过DCServo(被控对象)的作用后变为y“暖气”,再将信号传给Node4(传感器),将信号传给Network(网络模块),由Node3(控制器)进行离散PID控制算法处理之后,再将信号传给Node2(执行器),反作用于DCServo(被控对象)。
其中,Node1(干扰节点),它能发送干扰网络通信的模拟信号,并在计算机节点中执行干扰的高优先级任务。
传感器节点采用时间(clock→display)驱动的方式对过程进行周期性采样,采样周期为10ms。
下面,对其逐个模块进行分析:
①Network
全称为TruetimeNetwork(网络模块)是网络控制系统(NCS)的通信网络。
网络参数:
Networknumber网络模块编号
从1算起,无线与有线网络不能使用相同的编号。
(juli无线)
Numberofnodes网络节点数
决定了模块Snd和Rcv(输入、输出)的大小。
若节点数增多,则每个节点所占的带宽必定缩短,导致数据包丢失。
Networknumber:
8
Datarate(bits/s)网络传输速率
其含义是每秒钟传输的二进制数的位数。
影响网络传输速率的因素主要有带宽、延迟和丢包。
带宽越窄、延迟时间越长、丢包越严重,则传输速率就越低。
如图所示,将传输速率分别改为800、8000、80000,则可以看出,网速越慢,丢包越严重。
Networknumber:
80000
Networknumber:
8000
Networknumber:
800
Minimumframesize(bytes)最小帧
若输入的信息小于此帧,那么网络将自动填补(以单纯的高低电平的方式)。
如下图所示,最小帧分别为40、400,当最小帧为400时,控制系统自动填补,信息严重丢包。
Minimumframesize(bytes):
40
Minimumframesize(bytes):
400
Lossprobability(0-1)传输过程中的信息丢失率
丢失的信息会占用网络带宽,却不能到达目的地。
Lossprobability(0-1):
0.2
Lossprobability(0-1):
0.5
网络模式:
TruetimeNetwork主要支持的六种简单的网络模型:
CSMA/CD(e.g.Ethernet)带有冲突检测的载波监听随机访问
CSMA/AMP(e.g.CAN)带有信息优先级仲裁的载波监听多路访问
RoundRobin(e.g.TokenBus)令牌总线网络
其默认值为
Bandwidthallooations(带宽)——1000
Slotsize(bits)——20
Cyolicschedule——123333
Totalswitchmemory(bit)——10000
Switchbuffertype(缓冲型开关)——commonbuffer(常见的缓冲)
Switchoverflowbehavior(开关溢出行为)——retransmit(传输)
FDMA(FrequencyDivisionMultipleAccess)频分多址
可调整Bandwidthallooations(带宽)
TDMA(e.g.TTP)TimeDivisionMultipleAccess时分多址
可调整Slotsize(bits)、Cyolicschedule
SwitchedEthernet
可调整Totalswitchmemory(bit)、Switchbuffertype(缓冲型开关)、Switchoverflowbehavior(开关溢出行为)。
②TruetimeKernel
其全称为实时内核模块,可用作网络节点。
本例中,内核模块被用为传感器(Sensor)Node4、控制器(Controller)Node3、执行器(Aotuator)Node2、干扰节点(Interference)Node1。
其中,传感器、执行器、干扰节点的优先级同为1,控制器的优先级为2。
1、传感器
传感器的主要任务是进行周期性地采样,然后把采样值发送给控制器节点。
进入C:
\MATLAB7\toolbox\truetime-1.5\examples\distributed\matlab,打开sensor_init.m(传感器节点初始化程序)。
简单说明
作用:
初始化传感器节点
ttInitKernel(1,0,'prioFP')规定模拟输入
(1)与输出(0),以及节点任务的优先级(prio)
%创建传感器节点任务,对传感器节点所用的参数(包括中间数据进行初始化)
offset=0;%offset为偏移量
period=0.010;%period为采样周期
prio=1;
ttCreatePeriodicTask('sens_task',offset,period,prio,'senscode',data);%定义节点任务(周期采样)
disp('Sinit');
%初始化网络
ttCreateInterruptHandler('nw_handler',prio,'msgRcvSensor');
ttInitNetwork(