[发明专利]控制系统中管理线程的方法和装置有效
申请号: | 201910228811.X | 申请日: | 2019-03-25 |
公开(公告)号: | CN110032435B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 王新忠;朱爱华;廖亮;邢佳 | 申请(专利权)人: | 北京和利时系统工程有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 郑旭丽;解婷婷 |
地址: | 100176 北京市大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 控制系统 管理 线程 方法 装置 | ||
1.一种控制系统中管理线程的方法,其特征在于,包括:
获取控制系统中当前的运行周期T内运行的周期线程;
确定每个周期线程在运行周期T内运行的最大超时时刻Tdead,所述最大超时时刻Tdead是确定的时刻;
根据所述每个周期线程在运行周期T对应的最大超时时刻Tdead,管理所述运行周期T内运行的周期线程;
其中,所述确定每个周期线程在运行周期T内运行的最大超时时刻Tdead,包括:
根据每个周期线程被执行的周期的时长以及被执行的累计次数,确定在运行周期T内所述控制系统中每个周期线程对应的执行时刻Tschedul;
根据所述执行时刻Tschedul以及预先设置的最大超时时长Δt,计算所述每个周期线程在运行周期T对应的最大超时时刻Tdead。
2.根据权利要求1所述的方法,其特征在于,所述获取控制系统中当前的运行周期T内运行的周期线程之前,所述方法还包括:
创建一个周期监控线程,设置所述周期监控线程在整个控制系统中的优先级为最高,执行周期为最小。
3.根据权利要求1所述的方法,其特征在于,所述根据所述每个周期线程在运行周期T对应的最大超时时刻Tdead,管理所述运行周期T内运行的周期线程,包括:
在运行周期T内,将当前时刻Tn与所述运行周期T内运行的每个周期线程的最大超时时刻Tdead进行比较,得到比较结果;
从所述比较结果中,选择当前时刻Tn大于最大超时时刻Tdead的目标周期线程;
对所述目标周期线程进行异常处理。
4.根据权利要求1所述的方法,其特征在于,所述获取控制系统中当前的运行周期T内运行的周期线程之前,所述方法还包括:
判断所述控制系统的时钟源当前输出的运行周期是否准确;
如果时钟源当前输出的运行周期准确,则允许获取控制系统中当前的运行周期T内运行的周期线程。
5.根据权利要求4所述的方法,其特征在于,所述判断所述控制系统的时钟源当前输出的运行周期是否准确,包括:
获取所述控制系统中CPU当前输出的时钟节拍的第一时长;
计算所述第一时长与预先获取的基准时钟节拍的第二时长的差值;
判断所述差值是否符合预先设置的差值判断策略;
如果所述差值符合所述差值判断策略,则确定所述控制系统的时钟源输出的运行周期准确,否则确定所述控制系统的时钟源输出的运行周期不准确。
6.根据权利要求5所述的方法,其特征在于,所述基准时钟节拍是独立于CPU的独立晶振模块输出的,所述基准时钟节拍的第二时长是根据CPU处于正常工作状态下输出的时钟节拍确定的。
7.根据权利要求2所述的方法,其特征在于,所述根据所述每个周期线程在运行周期T对应的最大超时时刻Tdead,管理所述运行周期T内运行的周期线程之后,所述方法还包括:
按照预先设置的检测周期,对所述周期监控线程的工作状态进行检测;
如果在检测周期内未收到周期监控线程的检测信号,则继续等待预先设置的等待时长,如果仍未收到检测信号,则停止所述控制系统内周期线程的运行。
8.根据权利要求7所述的方法,其特征在于:
所述按照预先设置的检测周期,对周期监控线程的工作状态进行检测,包括:
按照所述周期监控线程的执行周期,从控制系统的CPU获取所述周期监控线程的工作状态;
所述停止所述控制系统内周期线程的运行,包括:
发送控制信号,其中所述控制信号用于停止所述控制系统中CPU的运行。
9.一种控制系统中管理线程的装置,其特征在于,包括处理器和存储器,其中所述存储器存储计算机程序,所述处理器用于调用所述存储器中的计算机程序以实现如权利要求1至8任一所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京和利时系统工程有限公司,未经北京和利时系统工程有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910228811.X/1.html,转载请声明来源钻瓜专利网。