[发明专利]列车控制系统中无操作系统下软件任务调度方法及装置有效
申请号: | 201710865665.2 | 申请日: | 2017-09-22 |
公开(公告)号: | CN107656803B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 刘波;郜春海 | 申请(专利权)人: | 交控科技股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹;李相雨 |
地址: | 100070 北京市丰台区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 列车 控制系统 操作系统 软件 任务 调度 方法 装置 | ||
本发明提供一种列车控制系统中无操作系统下软件任务调度方法及装置,在一个列车控制周期下,在程序主函数对当前执行任务序列进行执行过程中,至少对程序主函数进行一次中断,在发生中断时,根据列车控制数据判断并设定预设数据缓冲区内的各程序任务的任务标志位,所述列车控制数据为每个列车控制周期的交互数据;根据各个任务标志位筛选得到对应的待执行程序任务;将所述待执行程序任务进行优先级排序,得到待执行任务序列;当确定所述待执行任务序列与所述当前执行任务序列不同时,在中断结束后,使程序主函数按所述待执行任务序列执行各待执行程序任务,达到切实符合列车运行过程中的复杂状况,及时进行任务调度,增加控制安全性。
技术领域
本发明涉及列车控制技术领域,尤其涉及一种列车控制系统中无操作系统下软件任务调度方法及装置。
背景技术
列车控制系统中嵌入式操作系统代码量比较大,占用比较多的内存空间,对于使用单片机进行列车控制的系统来说没有这么多的资源来供操作系统使用,并且工业控制领域常用的MCU主频大都在百兆,速度较慢,无法使用实时的操作系统。对于列车控制系统过来说,任务有要求安全的有要求不安全的,有要求实时的,有要求非实时的,因此操作系统里通用的时间片轮询和抢占式的任务调度不能切实符合列车运行过程中的复杂情况。
发明内容
本发明提供一种列车控制系统中无操作系统下软件任务调度方法及装置,用于解决现有技术中采用操作系统进行任务调度不能切实符合列车运行过程中的复杂情况的问题。
第一方面,本发明提供一种列车控制系统中无操作系统下软件任务调度方法,在一个列车控制周期下,在程序主函数对当前执行任务序列进行执行过程中,至少对程序主函数进行一次中断,在发生中断时,所述方法包括:
根据列车控制数据判断并设定预设数据缓冲区内的各程序任务的任务标志位,所述列车控制数据为每个列车控制周期的交互数据;
根据各个任务标志位筛选得到对应的待执行程序任务;
将所述待执行程序任务进行优先级排序,得到待执行任务序列;
当确定所述待执行任务序列与所述当前执行任务序列不同时,在中断结束后,使程序主函数按所述待执行任务序列执行各待执行程序任务。
可选地,还包括:当确定所述待执行任务序列与所述当前执行任务序列相同时,在中断结束后,使程序主函数执行当前执行任务序列中的当前执行程序任务。
可选地,所述根据各个任务标志位筛选得到对应的待执行程序任务,包括:
若程序任务的任务标志位为1,筛选所述程序任务作为待执行程序任务。
可选地,所述确定所述待执行任务序列与所述当前执行任务序列不同,包括:
获取待执行任务序列中各待执行程序任务的任务标识;
获取当前执行任务序列中各执行程序任务的任务标识;
若任务标识至少存在一个标识不匹配,则确定所述待执行任务序列与所述当前执行任务序列不同。
可选地,所述预设数据缓冲区内的各程序任务呈优先级排列。
第二方面,本发明提供一种列车控制系统中无操作系统下软件任务调度装置,在一个列车控制周期下,在程序主函数对当前执行任务序列进行执行过程中,至少对程序主函数进行一次中断,在发生中断时,所述装置包括:
设定模块,用于根据列车控制数据判断并设定预设数据缓冲区内的各程序任务的任务标志位,所述列车控制数据为每个列车控制周期的交互数据;
筛选模块,用于根据各个任务标志位筛选得到对应的待执行程序任务;
排列模块,用于将所述待执行程序任务进行优先级排序,得到待执行任务序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于交控科技股份有限公司,未经交控科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710865665.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:时间触发指令集、协处理器、及装置
- 下一篇:进程池系统及方法