任务调度系统、调度方法、制动仿真系统及仿真方法与流程

文档序号:13164098阅读:254来源:国知局
任务调度系统、调度方法、制动仿真系统及仿真方法与流程

本发明属于计算机、系统仿真技术领域,设计一种周期性任务调度系统、任务调度方法,以及采用该任务调度系统的制动仿真系统及仿真方法。



背景技术:

平台系统是一种具有多任务指令需要执行,通常,一个完整的任务周期是由多种不同类型的任务种类组成的,而某些平台系统对任务的调度顺序有严格的要求。而合理的任务调度方法对平台系统合理分配任务管理资源,保证任务处理速度可顺利执行完成平台功能十分重要。

以城市轨道交通车辆制动系统为例,他是城轨车辆的关键部件之一,制动系统的性能好坏,关系到车辆综合技术水平和运行质量。制动系统与列车的安全运行直接相关,所以其可靠性要求尤为重要。车辆制动系统是城市轨道交通设备国产化的重点和难点之一。实践证明,试验方法和手段在制动系统的研究、开发和技术进步中都发挥了极大的作用,没有先进的技术装备,自主创新很难以顺利实现。在作为制动系统相关设备的制动试验台方面,各个先进的地铁车辆制动系统生产公司(德国konrr公司、法维莱公司等)都配备了相应的地铁制动系统半实物仿真平台,以提高其地铁车辆制动系统的研究水平和检测水平。

现状及问题:目前正在进行城市轨道车辆制动系统国产化研究开发,制动系统的研发必然需要相关的实验设备。国内现仅有功能单一的地铁制动试验台,无法对城轨车辆制动系统进行1:1的模拟试验,也无法在装车前地面环境下进行与实际运行工况基本一致的实验,并且即使高价从国外进口的类似地铁制动试验装置也只能用于检修,不具研究、开发功能。

而要实现完整制动控制仿真就需要完整在先制动控制的各项任务,至少需要包括输入输出任务、制动模拟任务、牵引模拟任务等等。多任务类型的仿真平台面临的一个重要问题就是如何合理有效的调度各任务才能顺利完成仿真,这对任务的调度时序有严格的要求。



技术实现要素:

本发明的目的在于提供一种有序的任务调度方法,以保证对任务调度顺序有要求的平台系统可顺利完成其功能;同时,针对现有技术中列车制动仿真系统存在的功能单一的技术问题,基于任务调度系统和方法,提供一种功能全面的制动仿真系统,以及仿真方法。

为实现以上目的,本发明提供以下技术方案:

任务调度系统,用于系统任务的调度管理,所述任务调度系统包括:

周期管理模块:用以将一个完整的任务周期分为若干个任务相周期,并为每个任务相周期分配周期时间;

计时单元:用以累计时间;任务指令识别模块:用以在每个相周期内,识别是否有任务指令;

相周期管理模块:包括用以根据计时单元的计时信息判断相周期是否结束并在相周期结束时累计相周期数的相周期计数器,以及,在相周期计数器计数值超过任务相周期个数时复位相周期计数器的计数器复位单元;

任务调度模块:用以在每个任务相周期内,有任务指令的前提下调用任务指令。

优选为:系统包括应用层模块、功能层模块及i/o层模块,所述任务指令包括应用层任务、功能层任务及i/o层任务。

任务调度方法,采用权利要求1或2所述的任务调度系统,包括以下步骤:

s1:将完整任务周期按时间段划分为若干个任务相周期;

s2:从第一任务相周期开始,在任一任务相周期时间段内均判断是否有任务指令,若有,则调用并执行任务,若无,则顺延到下一任务相周期;

s3:完整任务周期结束后,判断是否有新的相周期分配指令,若有则返回执行步骤s1,若无则返回执行步骤s2。

优选为:将任务分为由需要存储保护的任务组成的需要存储保护任务组和不需要存储保护的任务组成的不需要存储保护任务组;执行完不需要存储保护的任务组的任务后再执行需要存储保护的任务组的任务,或,执行完需要存储保护的任务组的任务后再执行不需要存储保护的任务组的任务;任务周期的最后一个周期执行i/o层任务。

优选为:对于需要存储保护的任务,执行过程进一步包括以下步骤:在需要存储保护的任务对应的任务相周期内,有新的任务请求的前提下,先判断上一次任务是否执行完成,若已完成,则执行新的任务请求;若未完成,则将新的任务请求暂存,待上一次任务请求完成后执行新的任务请求。

制动仿真系统,包括制动半实物仿真平台及上述的任务调度系统。

优选为:制动半实物仿真平台包括应用层模块、功能层模块及i/o层模块;所述i/o层模块连接机车制动控制单元,用以获取仿真控制指令下机车制动控制单元反馈的数据;所述任务指令包括应用层任务、功能层任务及i/o层任务。

优选为:功能层任务包括:制动任务、牵引控制任务、司控室任务、设置任务、自检任务。

制动仿真方法,采用上述的制动仿真系统,包括以下步骤:

将完整任务周期按时间段划分为任务相周期;

将应用层任务、制动任务、牵引控制任务作为不需要存储保护的任务组,将司控室任务、设置任务、自检任务作为需要存储保护的任务组;

在每一任务相周期,检测是否有任务,若有则执行相应的任务,若无,则顺延至下一任务相周期;

其中任务的执行顺序为:执行完不需要存储保护的任务组的任务后再执行需要存储保护的任务组的任务,或,执行完需要存储保护的任务组的任务后再执行不需要存储保护的任务组的任务;

最后一个任务相周期执行i/o层任务。

优选为:

s1:将完整任务周期按时间段划分为10个任务相周期;

s2:从第一任务相周期开始,在任一任务相周期时间段内均判断是否有任务指令,若有,则调用并执行任务,若无,则顺延到下一任务相周期;

s3:完整任务周期结束后,判断是否有新的相周期分配指令,若有则返回执行步骤s1,若无则返回执行步骤s2;

以上步骤s2中,分别调用应用层任务-制动任务-牵引控制任务-i/o任务-司控室任务-设置任务-自检任务-i/o任务。

本发明的有益效果为:

(1)任务调度系统和任务调度方法适用于对任务调度顺序有严格要求的平台系统,通过为一个完整的任务周期划分不同的相周期,不同相周期调用不同任务的方法,完成一个完整任务周期功能,保证任务时序,避免资源浪费。

(2)任务调度方法将任务按需要存储任务和不需要存储的任务进行划分,对需要存储任务设计任务保护机制,保证任务安全有序执行。

(3)为开发了一套围绕着城轨车辆架控制动控制系统的发展方向和关键技术的城轨车辆架控制动控制系统半实物虚拟列车仿真软件系统,来配合进行城轨车辆架控制动控制单元的特性试验、系统联调试验和测试验证,并能满足不同项目情况下装车前整个制动系统性能的模拟测试与检验,为制动系统的装车进行地面验证提供软件支持。将任务调度系统应用于列车制动仿真系统,通过任务调度机制确保了城轨车辆架控制动系统半实物虚拟列车仿真软件的所有功能稳定、有序实现。通过这种方式,用户可以很清楚的知道每个任务的调度时序和资源分配情况,方便后续的维护工作,并为功能的扩展提供了良好的基础。

附图说明

图1为任务调度流程图;

图2为任务请求时间循序推送流程图;

图3为制动仿真平台结构示意图;

图4为制动仿真平台应用层模块结构示意图;

图5为制动仿真平台功能层模块结构示意图;

图6为制动仿真平台i/o层模块结构示意图。

具体实施方式

以下将结合附图对本发明的具体实施方式进行清楚完整地描述。显然,具体实施方式所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明首先提供了一种任务调度系统,该系统适用于周期性任务系统的任务调度,可以保证任务周期内任务有序执行。

任务调度系统,用于平台系统任务的调度管理,具体的说,适用于一个完整的平台任务周期由不同类型的周期子任务做组成、且对于周期子任务的执行有严格时序要求的平台系统的任务调度管理。

为了可以实现有序的任务调度,任务调度系统包括:

(1)周期管理模块:用以将一个完整的任务周期分为若干个任务相周期,并为每个任务相周期分配周期时间;而一个完整的任务周期具体分为多少任务相周期是视一个完整平台任务周期所包括的平台任务种类所定的,例如,一个完整的平台任务周期包括5种任务类型的话,至少一个任务周期至少需要包括5个任务相周期。而每个相周期所占用时间的长度不做限制,可以相同,也可以视任务种类的不同,任务执行时间的不同而不同。

(2)计时单元:用以累计时间;累计时间用以统计相周期是否结束,或者一个完整的任务周期是否结束。

(3)相周期管理模块:包括用以根据计时单元的计时信息判断相周期是否结束并在相周期结束时累计相周期数的相周期计数器,以及,在相周期计数器计数值超过任务相周期个数时复位相周期计数器的计数器复位单元。

(4)任务指令识别模块:用以在每个相周期内,识别是否有任务指令,具体的说,如果为每个相周期具体分配好需要执行的指令,则任务指令识别模块用于识别相周期内是否有相应的任务指令。

(5)任务调度模块:用以在每个任务相周期内,有任务指令的前提下调用相应的任务指令,并执行任务。任务指令分为多种,每种任务指令都与特定的任务相周期相对应,即在某一任务相周期,仅可以执行一种特定的任务指令。

具体说,平台系统包括应用层模块、功能层模块及i/o层模块,任务指令相应的包括应用层任务、功能层任务及i/o层任务。在每一任务相周期,只能调用一种类型的任务指令(应用层任务、功能层任务或i/o层任务)。

任务调度系统可以对任务周期进行管理,对相周期内任务指令进行识别,从而可以完成保证周期内任务有序执行。

本发明进一步提供一种任务调度方法,该任务调度方法通过对完整任务周期进行任务相周期的划分,并按任务执行顺序需求,在相应的任务相周期调用执行的任务,以完整、有序的执行完成平台任务。

任务调度方法,具体流程参考图1,包括以下步骤:

s1:将完整任务周期按时间段划分为若干个任务相周期;任务周期的数量根据实际周期性任务需求而定,例如,一个完整的任务周期需要执行10个周期子任务,那么,就将一个完整的任务周期划分为10个任务相周期。相周期时间的长短不做设定,可以每个相周期的时间一样长,也可以时相周期对应的周期子任务不同,为每个相周期分配所需的时长。

s2:从第一任务相周期开始,在任一任务相周期时间段内均判断是否有任务指令,若有,则调用并执行任务,若无,则顺延到下一任务相周期;具体的说,任务周期中周期子任务的执行顺序是确定好的,每一个相周期对应的周期子任务是确定的,在一个相周期到来时,检测是否有相周期对应的周期子任务指令,若有,则执行该周期子任务直至相周期结束,若无,则等待,直至相周期结束。其中,任务的划分执行顺序为:将任务分为由需要存储保护的任务组成的需要存储保护任务组和不需要存储保护的任务组成的不需要存储保护任务组;执行完不需要存储保护的任务组的任务后再执行需要存储保护的任务组的任务,或,执行完需要存储保护的任务组的任务后再执行不需要存储保护的任务组的任务;任务周期的最后一个周期执行i/o层任务。

s3:完整任务周期结束后,判断是否有新的相周期分配指令,若有则返回执行步骤s1,若无则返回执行步骤s2。

由于某些周期子任务的有严格的顺序、时序要求的,而且任务的执行需要依赖外部条件的变化,而外部条件的变化具有随机性、离散性的特点。例如,以系统自检子任务为例:任务的执行需要有一套严格的请求、启动、运行和结束的要求,且其任务的发展有赖于外部响应条件。基于此,设计一套任务请求时间循序推送流程。

流程参考图2,具体的方法为:任务调度系统进一步包括任务存储单元。在每一任务相周期内,有新的任务请求的前提下,先判断上一次周期轮回内任务是否执行完成,若已完成,不生成任务存储信号,执行新的任务请求;若未完成,则生成任务存储信号,将新的任务请求暂存,待上一次任务请求完成后执行新的任务请求。如果由于任务请求积压过多造成超出存储深度,则报存储错误,存储的深度可以根据实际需求由设计人员调整。

基于任务调度系统,本发明进一步提供一种制动仿真系统。包括制动半实物仿真平台及上述的任务调度系统。

参考图3,制动半实物仿真平台包括应用层模块、功能层模块及i/o层模块;所述i/o层模块连接机车制动控制单元,用以获取仿真控制指令下机车制动控制单元反馈的数据;所述任务指令包括应用层任务、功能层任务及i/o层任务。

具体的说:根据软件总体结构,并对各层模块及其下分逻辑功能进行充分、细致分析了它们的各项指标,如功能复杂程度、功能间关联紧密程度、以及考虑到设计中的低耦合、高聚合原则,我们确定了如下任务:

参考图4,应用层模块任务主要包括系统设置、状态显示、系统自检及校准等功能单元;

参考图5,功能层模块任务主要包括制动任务(包括紧急制动、常用制动、保持制动等)、牵引控制任务、司控室任务(包括自动驾驶、司控台指令、门控系统指令等)、平台设置任务(包括轮径设置、制动时间校准等)、平台自检任务(包括制动系统自检)。

参考图6,i/o层模块任务主要包括与各种形式列车总线的通信单元及数据存储单元。

制动仿真方法,采用上述的制动仿真系统,包括以下步骤:

将完整任务周期按时间段划分为任务相周期;任务相周期的划分视具体需求而定,每个任务相周期的时间可相同或不同;

将应用层任务、制动任务、牵引控制任务作为不需要存储保护的任务组,将司控室任务、设置任务、自检任务作为需要存储保护的任务组;

在每一任务相周期,检测是否有任务,若有则执行相应的任务,若无,则顺延至下一任务相周期;

其中任务的执行顺序为:执行完不需要存储保护的任务组的任务后再执行需要存储保护的任务组的任务,或,执行完需要存储保护的任务组的任务后再执行不需要存储保护的任务组的任务;即,需要保护的任务组和不需要保护的任务组中具体任务的执行顺序不限定,但是要保证需要保护的任务组中的任务在相邻的任务相周期内执行,不需要保护的任务组中的任务在相邻的任务相周期内执行。

最后一个任务相周期执行i/o层任务。每个任务周期内必然有数据收发的需求,在任务相周期内的最后完成数据的收发保证需要保护的任务组和不需要保护的任务组的数据均可完成数据收发。

以下将给出一个具体的制动仿真任务调度执行方法。

s1:将完整任务周期按时间段划分为若干个任务相周期;通过配置系统时钟和定时器时钟来确定任务周期时间的长度,以及,每个任务相周期的时间长度;

s2:从第一任务相周期开始,在任一任务相周期时间段内均判断是否有任务指令,若有,则调用并执行任务,若无,则顺延到下一任务相周期;具体的说,设计任务轮询表以确定基本周期中相周期的数量和任务列表的数组指针,任务轮询表的设计参考表一,各任务指针具体为:1.tkapp:应用层模块任务;2.tkio:i/o层模块任务;3.功能层模块任务分为:3.1.tkbrk:紧急制动、常用制动、保持制动,3.2.tkedbrk:牵引控制系统,3.3.tktrlo:自动驾驶、司控台、门控系统,3.4.tkset:轮径设置、时间校准;3.5.tkst:制动系统自检。并设计了一种任务调度机(制)采用分时(时间片)方式对以上任务进行调度。设计任务配置表以确认任务的基本属性:包括任务的标识、启动标志和任务句柄,作为每个任务的入口。

本实施例中,一个完整的任务周期被划分为8个任务相周期,从第1至第8个任务相周期,分别调用应用层任务-制动任务-牵引控制任务-i/o层任务-司控室任务-设置任务-自检任务-i/o层任务-应用层任务-制动任务,按以上周期子任务的调度顺序,完成整改制动控制仿真的过程。

表一:任务轮询表

从表中可以看出一个基本周期中包含8个相周期(0…7,8是下一个基本周期的开始相,依次类推、循环执行),每个相周期的时间为10ms,则一个基本周期为80ms。这样,tkio任务每个基本周期执行一次,其它任务,如tkapp、tkbrk等分别独立的占用一个相周期,即在相应的相周期内若有相应的任务请求,则采用独占的方式将该时间片分配给该任务。任务调度机按基本周期循环调度每个相周期中的任务。在这样的任务调度安排下,每个任务的调度频率比实际工况条件下的发生频率高,完全能满足对实际工况模拟的需求。

s3:完整任务周期结束后,判断是否有新的相周期分配指令,若有则返回执行步骤s1,若无则返回执行步骤s2。

作为以上执行方法的一种替代执行方法,也可以将一个完整的任务相周期划分为7个任务相周期,省略第4任务相周期,即i/o层任务。

将本发明提供的制动系统半实物仿真平台应用于列车制动系统的研究和检测,可以极大提高制动控制系统的检测水平。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1