网络控制系统中信息与任务的混合调度算法的研究.docx

上传人:bao****ty 文档编号:132478467 上传时间:2020-05-16 格式:DOCX 页数:10 大小:56.44KB
返回 下载 相关 举报
网络控制系统中信息与任务的混合调度算法的研究.docx_第1页
第1页 / 共10页
网络控制系统中信息与任务的混合调度算法的研究.docx_第2页
第2页 / 共10页
网络控制系统中信息与任务的混合调度算法的研究.docx_第3页
第3页 / 共10页
网络控制系统中信息与任务的混合调度算法的研究.docx_第4页
第4页 / 共10页
网络控制系统中信息与任务的混合调度算法的研究.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《网络控制系统中信息与任务的混合调度算法的研究.docx》由会员分享,可在线阅读,更多相关《网络控制系统中信息与任务的混合调度算法的研究.docx(10页珍藏版)》请在金锄头文库上搜索。

1、同步网络控制系统 网络控制系统(Networked Control Systems, NCS)是一种全分布式、网络化实时反馈控制系统,是通过通信网络实现某个区域现场的传感器、控制器和执行器之间进行数据传输,实现协调操作与控制。由于网络控制系统具有控制灵活、可靠性高、维护和扩展方便、可实现复杂的控制等优点,因此网络控制系统取得了广泛的应用。1控制器1控制器n执行器1网络执行器n传感器1传感器n对象1对象n 图3-1 网络控制系统的结构图二 任务模型和系统模型一般来说,典型网络控制系统的结构如图3-1所示。系统中存在众多的控制器,需要实现对大量对象的控制。每一个控制回路都需要实现如下功能:传感器采

2、集被控对象参数信息,通过网络将采集的被控对象参数信息传给控制器,控制器根据预定的控制规律进行控制计算得到控制量,通过网络将控制量送给执行器,执行器通过相应的操作从而调节被控对象。这些功能相互影响,紧密联系,因此一个控制回路可看成一个任务,称为回路任务。显然每个回路任务包括5部分,它们在不同的设备上运行,其中传感器采集被控对象的信息由传感器完成,被控制对象的信息由传感器送到控制器及控制量由控制器送给执行器通过网络传送,控制量的计算由控制器完成,根据控制量调节被控制对象由执行机构完成。它们之间存在着严格的执行顺序要求:首先控制对象的信息由传感器送到控制器,然后是控制器计算出控制量,最后是控制量由控

3、制器通过网络传送送给执行器,执行机构根据控制量调节被控制对象。由于传感器采集信息和执行机构调节被控对象都是有传感器和执行机构独立完成,它们与控制器和网络无关,而一个控制器往往需要执行多个控制回路的控制计算任务,同时网络需要传送所有回路任务中需要传送的信息,因此我们仅考虑网络上需要传送的信息和控制计算等任务的调度问题。 网络控制系统中每个回路以一个固定的频率重复执行,因此我们可以将回路任务看成周期性任务。每个回路任务的子任务之间不仅有严格的执行顺序,而且之间是相互制约的,需要传感器采集控制对象的参数信息,控制器才可以根据约定的控制规律进行控制计算得到控制量;需要控制器根据约定的控制规律进行控制计

4、算得到控制量才能通过网络送给执行器,执行器才能通过相关的操作从而调节被控对象。由于在一个确定的网络控制系统中,每个控制回路中所要采集的信息量、控制任务的计算程序和传送到执行器的控制量是不变的,因此这三个子任务的执行是有严格的时间约束的。在此基础上给出网络控制系统中的回路任务模型。 定义 1:网络控制系统中的回路任务集可以表示为S=t1,ti,tn n1 (t1表示第1个回路任务,ti表示第i个回路任务,n表示回路任务的总数)。我们将t1S定义为五元组(P,Pmax,1,2,3 ),其中P表示回路任务采样周期,Pmax表示允许的最大采样周期,1表示从传感器到控制器传送的采集信息任务,2表示控制器

5、执行的任务,3表示从控制器到执行器传送的控制信息任务。由于1,2,3是信息任务,所以1和3可以定义为一个二元组C,A,其中C表示信息任务的传送时间,A表示信息任务的到达时间。2则可以定义为一个三元组C,A,Processer,其中C为控制任务的执行时间,A为控制任务的开始时间,Processer为控制任务所分配处理器。显然这些子任务的执行顺序为:123。定义 2:由于网络控制系统的复杂性,功能种类的多样性,因此在实际操作中会选择不同的处理器来完成对应的功能,所以网络控制系统是一个有限的多处理器的集合。网络控制系统描述成一个有限个的多处理器组成的集合,R=Processer1,Processer

6、2,Processermm2,其中Processeri=u,其中m表示处理器的总数,Processer表示控制任务所分配处理器,Processeri表示第i个处理器,u表示处理器Processeri的性能。定义3:在网络控制系统中,需要实现多种功能,需要不同的处理器来进行,而处理器的性能决定了它的执行速度。系统的性能越高,需要的处理器的性能越高,控制系统中的处理器(控制器)的执行速度越快。我们在一个分布式网络控制系统中,选择一个处理器作为标准处理器,将处理器的性能设置为1。其它处理器的性能按下式计算:Processeru=CnorCi (1)式中Processer为控制任务所分配处理器,u表示

7、处理器Processer的性能,Cnor表示的是任务在标准处理器上的执行时间,Ci表示该任务在处理器Processer上的执行时间。为了简化设计和分析调度算法,本文作出以下三点假设:(1) 回路任务之间相互独立。一个分布式控制系统往往需要控制大量的参数,从而形成了数量众多的控制回路,一个控制回路即一个回路任务,这些控制回路运行在数量众多的处理器上,每个处理器运行一定数目的控制回路,回路任务之间不免有干扰,所以为了简化设计和分析调度算法,我们假设回路任务之间是相互独立的。(2) 处理器(控制器)数目固定,回路任务数目固定。当设计完成一个已经确定的控制系统,它所要控制的参数是确定的,所以我们可以假

8、设回路任务是确定的,即回路任务数目也是固定的;在设计这个控制系统时,它的系统是确定的,所以系统里的处理器(控制器)是确定的,处理器(控制器)数目是固定的。(3) 回路任务时限等于周期。在一个已经确定的网络控制系统中,每一个控制回路在一段时间内会循环一次,回路任务具有周期性,以一定的频率运行,因此回路任务每一次循环时间不可以超过周期,所以回路任务时限等于周期。三 调度算法的设计显然这两类任务在不同的资源上执行,并且他们之间存在执行顺序和严格时间的约束,所以传统的分布式实时系统的调度算法不适用。由于信息任务和控制任务的实时性,子任务的执行问题,在调度算法中我们在一个采样周期内设计回路任务的调度序列

9、,来确定每个子任务什么时候在处理器或网络上执行并且同时在哪个处理器或者网络上执行,确定每个回路任务中的各子任务的执行顺序,而调度算法则是最后将每个回路任务的控制任务分配到各个处理器上。 调度序列的构成:回路任务调度序列是由回路任务构成,每个回路任务在调度序列中出现3次,第一次出现表示该回路任务中的传感器采集被控对象参数信息子任务,第二次出现表示该回路任务中的通过网络将采集的被控对象参数信息传给控制器的控制子任务,第三次出现表示该回路任务中的通过网络将控制量送给执行器的信息子任务。在同一个资源上执行的任务按照它们在调度序列中出现的先后次序来执行,不同资源上的任务可以并行执行;但是同一个回路任务的

10、子任务必须等到其前一个子任务执行完成,才可以执行。从而保证回路任务的各个子任务的优先约束关系。对于tiS,回路任务ti在每个调度序列中出现 3次,按出现的次序分别表示ti从传感器到控制器传送的信息任务ti.1,ti的控制任务到执行器传送的信息任务ti.2,ti从控制器到执行器传送的信息任务ti.3。传感器采集被控对象参数信息,通过网络将采集的被控对象参数信息传给控制器,控制器根据预定的控制规律进行控制计算得到控制量, 3 2 3 1 4 1 3 2 1 4 2 4 调度序列1例1,假设有四个回路任务,两个处理器,其中回路任务1,3的控制子任务分配在处理1上,回路任务2,4的控制子任务分配在处理

11、器2上,设构造如图3-2的调度序列图3-2 构造的调度序列由调度序列可得网络和各处理器上任务执行的先后顺序如图所示 3 2 3 1 4 1 3 2 1 4 2 4 调度序列1t3.1 t2.1 t3.2 t1.1 t4.1 t1.2 t3.3 t2.2 t1.3 t4.2 t3.3 t4.3 任务版本图3-2(a)调度序列及其对应的任务执行序列 3 2 1 4 3 1 2 4 调度序列 t3.1 t2.1 t1.1 t4.1 t3.3 t1.3 t3.3 t4.3 任务版本图3-2(b)网络上信息任务的执行顺序 3 1 处理器1 t3.2 t1.2 任务版本 2 4 处理器2 t2.2 t4.

12、2 任务版本 图3-2(c)处理器上执行顺序由此可见,通过构造调度序列,可以控制各个任务的执行顺序,并保证每个回路子任务的执行顺序。回路任务的控制任务的分配算法:原理是将控制任务分配到完成该任务时间最早的处理器上。由此控制任务的分配算法如下:(1)输入处理器数目N,回路任务数目W,任务的执行时间,各处理器的处理性能u。(2)构造调度序列,如例1(3)读取第一个任务或者第i个任务,判断该任务是信息任务还是控制任务,如果是信息任务,就不予考虑;如果判断为控制任务,则先计算该任务在各个处理器上的完成时间,并将该控制任务分配到完成时间最早的处理器上,因此,需要计算各处理器运行ti.2任务的结束时间。以

13、下为在处理器上完成的时间的算法:在某一个处理器Processerj上,设ti.2.A为ti.2的执行开始时间即也为ti.2的任务到达时间,ti.2任务的执行必须要求同一个回路任务中的前一个任务ti.1要完成,并且要求和ti.2分配到相同的处理器上的在调度序列里比它前一个的任务tj2也要完成,则ti.2.A取任务ti.1和任务tj2之间完成时间的最大值。则ti.2.A=maxti.1.G,tj.2.B其中ti.1.G为同一个回路任务中的前一个任务ti.1要完成的时间,tj.2.B和ti.2分配到相同的处理器上的在调度序列里比它前一个的任务tj2的完成时间。ti.2任务在处理器Processerj

14、上的执行时间Ci=ti.2CnorProcesserju,可以得到ti2的完成执行时间为ti.2.F=ti.2.A+ti.2CnorProcesserju,其中ti.2CnorProcesserju必须取整。计算某个控制任务在各个处理器上的完成时间,将这个控制任务分配到完成时间最少的处理器上,以上可以看出该算法为静态算法,因为在系统运行前把任务分配到各个处理器上,任务运行时任务所在的处理器是不变的,这样可以减少算法的开销。例2,构造的调度序列中有四个回路任务,两个处理器,任务参数如表3-3,设计两个不同的调度序列如图3-4(a)(b),任务ti执行时间ti.1ti.2ti.3t110825t28847t310856t35836表3-3 任务参数 3 2 3 1 4 1 3 2 1 4 2 4 调度序列1

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

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号