一种用于空间站的主动电位控制系统的任务调度方法技术方案

技术编号:21158547 阅读:34 留言:0更新日期:2019-05-22 07:52
本发明专利技术提供一种用于空间站的主动电位控制系统的任务调度方法,将通常执行时间较长的主任务分割为两个以上的子任务,各子任务之间设置有不同时长的等待时间;本发明专利技术每执行完主任务的一个子任务,就会跳出该主任务,回到主循环,查询是否有待执行的中断任务,若有就执行,执行完毕后再通过读取工作模式全局变量回到主任务;由此可见,本发明专利技术通过对耗时较长的预设主任务进行时间分片,将其分割为若干个子任务,在执行子任务的期间穿插执行中断任务,充分利用了各子任务之间的等待时间,同时能够通过访问各个全局变量,对整个任务执行过程进行实时监控,解决了预设主任务耗时长而导致其他任务无法实时执行的问题。

A Task Scheduling Method for Active Potential Control System of Space Station

The invention provides a task scheduling method for the active potential control system of a space station, which divides the chief task which usually takes a long time into more than two sub-tasks, and each sub-task has a different waiting time; whenever a sub-task of the chief task is completed, the main task will be jumped out and returned to the main cycle to inquire whether there is an interruption to be executed. Tasks, if executed, are returned to the main task by reading the global variables of the working mode after completion of execution; thus, the invention divides the long-time preset chief task into several sub-tasks, interrupts the execution of the tasks during the execution of the sub-tasks, makes full use of the waiting time between the sub-tasks, and at the same time, can access the preset chief task. Each global variable monitors the whole task execution process in real time, which solves the problem that the preset chief task takes a long time and other tasks can not be executed in real time.

【技术实现步骤摘要】
一种用于空间站的主动电位控制系统的任务调度方法
本专利技术属于系统控制
,尤其涉及一种用于空间站的主动电位控制系统的任务调度方法。
技术介绍
主动电位控制系统用于我国空间站,系统内包含5台单机,其中管理单元根据任务需要,协调各单机工作并完成遥测数据回传,实现空间站主动电位控制系统与整星之间的供电、数据交换及状态信息交换,保证航天员出舱安全。根据系统任务,设计了3种工作模式,每种模式中均需对各单机进行遥控和遥测数据回传,所有任务调度均由管理单元实现,部分模式的执行时间超过了2小时,若此时有急需执行的中断任务,则中断任务无法执行。而现有的管理单元使用的CPU通常为80C32,串行执行工作模式任务会导致系统崩溃,无法进行实时系统状态判断,因此需要设计一种任务调度方法,保证系统任务有序执行且实时响应通讯要求。
技术实现思路
为解决上述问题,本专利技术提供一种用于空间站的主动电位控制系统的任务调度方法,能够对整个任务执行过程进行实时监控,解决了预设主任务耗时长而导致其他任务无法实时执行的问题。一种用于空间站的主动电位控制系统的任务调度方法,包括以下步骤:S1:将任务执行时长超过设定阈值的工作模式任务作为主动电位控制系统中主循环的主任务;S2:将所述主任务按实际需求分割为两个以上的子任务,其中,所述子任务的执行时长不完全相同,但均短于中断任务的执行周期;S3:将主循环中的工作模式全局变量设置为当前执行的主任务的工作模式;S4:主循环调用一个子任务作为初始任务并执行完毕后,在初始任务中将运行步骤全局变量设置为下一个待执行的子任务的序号,将等待时间全局变量设置为当前执行的子任务执行完毕后,执行下一个子任务之前的时间间隔,然后跳出初始任务,回到主循环;S5:主循环中的定时器中断任务读取所述等待时间全局变量,然后主动电位控制系统中的定时器以所述时间间隔为起点,启动倒计时;其中,在定时器启动倒计时的同时,主循环查询主动电位控制系统中是否还有待执行的中断任务,若有,则执行中断任务,若无,则回到主循环等待定时器倒计时结束,其中,中断任务的执行时间小于所述时间间隔;S6:定时器倒计时每减小设定步长时间,等待时间全局变量也减小设定步长时间,同时主循环也读取一次工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,再读取运行步骤全局变量中的序号,进入下一个待执行的子任务,然后在该子任务中判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则进入步骤S8;S7:将该子任务取代步骤S4中的初始任务,并重复步骤S4~S6,直到所有子任务均执行完毕;S8:跳出该子任务,回到主循环,当定时器再次减小设定步长时间后,主循环再次读取工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,根据运行步骤全局变量中的序号,进入下一个待执行的子任务,再次判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则重复步骤S8,直到定时器倒计时结束,等待时间全局变量为0后,进入步骤S7。可选的,所述子任务的执行时长不超过200ms。有益效果:本专利技术提供一种用于空间站的主动电位控制系统的任务调度方法,将通常执行时间较长的主任务分割为两个以上的子任务,且每个子任务在主动电位控制系统中分到的执行时长均短于每个设定时间就必须要执行的中断任务的执行周期,各子任务之间根据实际需求也设置有不同时长的等待时间;本专利技术每执行完主任务的一个子任务,就会跳出该主任务,回到主循环,查询一次是否有待执行的中断任务,若有就执行,执行完毕后再通过读取工作模式全局变量回到主任务,读取运行步骤全局变量中的序号进入下一个待执行的子任务;由此可见,本专利技术通过对耗时较长的预设主任务进行时间分片,将其分割为若干个子任务,在执行子任务的期间穿插执行中断任务,充分利用了各子任务之间的等待时间,同时能够通过访问各个全局变量,对整个任务执行过程进行实时监控,解决了预设主任务耗时长而导致其他任务无法实时执行的问题。附图说明图1为本专利技术提供的一种用于空间站的主动电位控制系统的任务调度方法的调用示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。实施例一一种用于主动电位控制系统的任务调度方法,包括以下步骤:S1:将任务执行时长超过设定阈值的工作模式任务作为主动电位控制系统中主循环的主任务;S2:将所述主任务按实际需求分割为两个以上的子任务,其中,所述子任务的执行时长不完全相同,但均短于中断任务的执行周期;可选的,所述子任务的执行时长不超过200ms。需要说明的是,主任务通常为耗时较长的任务,如任务执行时间超过两个小时,而中断任务为每个设定时间就必须要执行一次的且耗时较短的任务,如遥测数据回传任务,AD采集任务、当前执行的子任务序号回传任务或者当前等待时间回传任务等。S3:将主循环中的工作模式全局变量设置为当前执行的主任务的工作模式;S4:主循环调用一个子任务作为初始任务并执行完毕后,在初始任务中将运行步骤全局变量设置为下一个待执行的子任务的序号,将等待时间全局变量设置为当前执行的子任务执行完毕后,执行下一个子任务之前的时间间隔,然后跳出初始任务,回到主循环;S5:主循环中的定时器中断任务读取所述等待时间全局变量,然后主动电位控制系统中的定时器以所述时间间隔为起点,启动倒计时;其中,在定时器启动倒计时的同时,主循环查询主动电位控制系统中是否还有待执行的中断任务,若有,则执行中断任务,若无,则回到主循环等待定时器倒计时结束,其中,中断任务的执行时间小于所述时间间隔;S6:定时器倒计时每减小设定步长时间,等待时间全局变量也减小设定步长时间,同时主循环也读取一次工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,再读取运行步骤全局变量中的序号,进入下一个待执行的子任务,然后在该子任务中判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则进入步骤S8;S7:将该子任务取代步骤S4中的初始任务,并重复步骤S4~S6,直到所有子任务均执行完毕;S8:跳出该子任务,回到主循环,当定时器再次减小设定步长时间后,主循环再次读取工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,根据运行步骤全局变量中的序号,进入下一个待执行的子任务,再次判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则重复步骤S8,直到定时器倒计时结束,等待时间全局变量为0后,进入步骤S7。由此可见,本实施例通过对耗时较长的主任务进行时间分片,将其分割为若干个子任务,在执行子任务的期间穿插执行中断任务,能够通过访问各个全局变量从而对整个任务执行过程进行实时监控,解决了预设主任务耗时长而导致其他任务无法实时执行的问题,如保证遥测数据的实时回传且对子任务执行步骤及等待时间等变量实时下传。实施例二基于以上实施例,下面以主任务为1553B通讯任务和工作模式任务、中断任务为AD采集任务为例,对一种用于空间站的主动电位控制系统的任务调度方法进行详细说明。需要说明的是,由于1553B通讯任务的执行时间较短,则不用对其进行时间切片,将其分割为两个以上的子任务;而工作模式任务的执行时间较长,可以选择对其进行时间切片,分本文档来自技高网
...

【技术保护点】
1.一种用于空间站的主动电位控制系统的任务调度方法,其特征在于,包括以下步骤:S1:将任务执行时长超过设定阈值的工作模式任务作为主动电位控制系统中主循环的主任务;S2:将所述主任务按实际需求分割为两个以上的子任务,其中,所述子任务的执行时长不完全相同,但均短于中断任务的执行周期;S3:将主循环中的工作模式全局变量设置为当前执行的主任务的工作模式;S4:主循环调用一个子任务作为初始任务并执行完毕后,在初始任务中将运行步骤全局变量设置为下一个待执行的子任务的序号,将等待时间全局变量设置为当前执行的子任务执行完毕后,执行下一个子任务之前的时间间隔,然后跳出初始任务,回到主循环;S5:主循环中的定时器中断任务读取所述等待时间全局变量,然后主动电位控制系统中的定时器以所述时间间隔为起点,启动倒计时;其中,在定时器启动倒计时的同时,主循环查询主动电位控制系统中是否还有待执行的中断任务,若有,则执行中断任务,若无,则回到主循环等待定时器倒计时结束,其中,中断任务的执行时间小于所述时间间隔;S6:定时器倒计时每减小设定步长时间,等待时间全局变量也减小设定步长时间,同时主循环也读取一次工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,再读取运行步骤全局变量中的序号,进入下一个待执行的子任务,然后在该子任务中判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则进入步骤S8;S7:将该子任务取代步骤S4中的初始任务,并重复步骤S4~S6,直到所有子任务均执行完毕;S8:跳出该子任务,回到主循环,当定时器再次减小设定步长时间后,主循环再次读取工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,根据运行步骤全局变量中的序号,进入下一个待执行的子任务,再次判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则重复步骤S8,直到定时器倒计时结束,等待时间全局变量为0后,进入步骤S7。...

【技术特征摘要】
1.一种用于空间站的主动电位控制系统的任务调度方法,其特征在于,包括以下步骤:S1:将任务执行时长超过设定阈值的工作模式任务作为主动电位控制系统中主循环的主任务;S2:将所述主任务按实际需求分割为两个以上的子任务,其中,所述子任务的执行时长不完全相同,但均短于中断任务的执行周期;S3:将主循环中的工作模式全局变量设置为当前执行的主任务的工作模式;S4:主循环调用一个子任务作为初始任务并执行完毕后,在初始任务中将运行步骤全局变量设置为下一个待执行的子任务的序号,将等待时间全局变量设置为当前执行的子任务执行完毕后,执行下一个子任务之前的时间间隔,然后跳出初始任务,回到主循环;S5:主循环中的定时器中断任务读取所述等待时间全局变量,然后主动电位控制系统中的定时器以所述时间间隔为起点,启动倒计时;其中,在定时器启动倒计时的同时,主循环查询主动电位控制系统中是否还有待执行的中断任务,若有,则执行中断任务,若无,则回到主循环等待定时器倒计时结束,其中,中断任务的执行...

【专利技术属性】
技术研发人员:孙迎萍胡向宇蔺璟赵振栋崔梧玉李彦廷
申请(专利权)人:兰州空间技术物理研究所
类型:发明
国别省市:甘肃,62

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1