您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于Truetime网络控制系统的仿真
-1-海南大学本科生2010—2011学年度第2学期课程考查论文学院(中心、所):信息科学技术学院专业:电子信息工程研究方向:班级:学生姓名:学生证号:课程名称:论文题目:基于Truetime的网络控制系统的仿真任课老师:(以上由学生填写)教师评阅:阅卷教师(签名):年月日-2-——————目录——————摘要……………………………………………………3关键词……………………………………………………3网络控制系统概述……………………………………………………3Truetime的安装……………………………………………………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-3-摘要:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它主要包括MATLAB和Simulink仿真两大部分。随着科学技术的迅猛发展,MATLAB在通讯系统设计与仿真中的应用也越来越广泛。而网络控制系统又是电子专业课程极其重要的一部分,故掌握好网络控制系统的仿真便显得尤为重要了。本文通过对有线与无线网络控制系统的举例,详细地分析了Truetime工具箱中各个模块的功能,阐述了有线网络控制系统中数据包丢失、稳定性等问题以及无线网络控制系统中功率控制策略的问题。关键词:MATLABTruetime网络控制系统丢包干扰节点稳定性功率控制网络控制系统概述:网络控制系统(NCS,NetworkedControlSystem)是指由传感器、控制器和执行器通过通信网络形成的实时闭环的控制系统。简单结构如下图所示: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版本的软件)有线网络控制系统一、组成结构控制器执行器被控对象传感器u(t)r(t)+y(t)e(t)--4-有线网络控制系统中,有传感器节点、控制器节点、执行器节点和干扰节点。组成结构如下图所示:二、存在的问题这种系统存在时延、丢包、多包、乱序的问题,这些问题的出现会降低系统的性能,譬如使系统的稳定范围变窄,稳定性变差,严重时甚至使系统失稳。下面,举一个有线网络系统的仿真实例来说明Truetime-1.5中各个模块的作用以及丢包等问题。三、分散式有线网络控制系统的仿真实例这是一个分散式的有线网络控制系统的实例(distributed.mdl):-5-简略概述:该系统包含四个网络节点(皆用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:8Datarate(bits/s)网络传输速率其含义是每秒钟传输的二进制数的位数。影响网络传输速率的因素主要有带宽、延迟和丢包。带宽越窄、延迟时间越长、丢包越严重,则传输速率就越低。如图所示,将传输速率分别改为800、8000、80000,则可以看出,网速越慢,丢包越严重。-6-Networknumber:80000Networknumber:8000Networknumber:800Minimumframesize(bytes)最小帧若输入的信息小于此帧,那么网络将自动填补(以单纯的高低电平的方式)。如下图所示,最小帧分别为40、400,当最小帧为400时,控制系统自动填补,信息严重丢包。-7-Minimumframesize(bytes):40Minimumframesize(bytes):400Lossprobability(0-1)传输过程中的信息丢失率丢失的信息会占用网络带宽,却不能到达目的地。Lossprobability(0-1):0.2-8-Lossprobability(0-1):0.5网络模式:TruetimeNetwork主要支持的六种简单的网络模型:CSMA/CD(e.g.Ethernet)带有冲突检测的载波监听随机访问CSMA/AMP(e.g.CAN)带有信息优先级仲裁的载波监听多路访问RoundRobin(e.g.TokenBus)令牌总线网络其默认值为Bandwidthallooations(带宽)——1000Slotsize(bits)——20Cyolicschedule——123333Totalswitchmemory(bit)——10000Switchbuffertype(缓冲型开关)——commonbuffer(常见的缓冲)Switchoverflowbehavior(开关溢出行为)——retransmit(传输)FDMA(FrequencyDivisionMultipleAccess)频分多址可调整Bandwidthallooations(带宽)TDMA(e.g.TTP)TimeDivisionMultipleAccess时分多址可调整Slotsize(bits)、CyolicscheduleSwitchedEthernet可调整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(传感器节点初始化程序)。-9-简单说明作用:初始化传感器节点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(4,'nw_handler');%对网络初始化,其中传感器节点为网络中的4号节点将偏移量改为2,结果为:-10-offset=0offset=2采样周期改为0.020,则其周期性采样的频率变小:打开senscode.m(传感器节点任务程序)可以看到节点任务分3步进行。case1中,data.y=ttAnalogIn(1);%读取模拟端口1信号,存储到data.y,case2中,ttSendMsg(3,data.y,80);%将存储在data.y的信号向端口3控制器端发送。2、控制器其主要任务是接收传感器传过来的信号,对控制信号进行计算和处理,并把结果发送到执行器(包含有优先级最高的干扰任务)先Createanewmodel,设计出控制器的内部结构(连接Node3控制器模型),然后将连接图全部选中,右击选择Createsubsystem创建子系统,即可生成的Node3控制器模块(Controller)。然后通过对控制器节点的初始化,节点任务和网络中断程序进行编辑,分别建立对应的M文件。-11-3、执行器其主要任务是接收控制器传过来的信号,并执行任务。执行器制作过程与控制器类似,在此不再累述。4、干扰节点干扰节点的的主要任务是模拟网络中的信号干扰,其初
本文标题:基于Truetime网络控制系统的仿真
链接地址:https://www.777doc.com/doc-5558980 .html