CN109784647B - 一种用于空间站的主动电位控制系统的任务调度方法 - Google Patents
一种用于空间站的主动电位控制系统的任务调度方法 Download PDFInfo
- Publication number
- CN109784647B CN109784647B CN201811536373.5A CN201811536373A CN109784647B CN 109784647 B CN109784647 B CN 109784647B CN 201811536373 A CN201811536373 A CN 201811536373A CN 109784647 B CN109784647 B CN 109784647B
- Authority
- CN
- China
- Prior art keywords
- task
- executed
- global variable
- time
- main
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种用于空间站的主动电位控制系统的任务调度方法,将通常执行时间较长的主任务分割为两个以上的子任务,各子任务之间设置有不同时长的等待时间;本发明每执行完主任务的一个子任务,就会跳出该主任务,回到主循环,查询是否有待执行的中断任务,若有就执行,执行完毕后再通过读取工作模式全局变量回到主任务;由此可见,本发明通过对耗时较长的预设主任务进行时间分片,将其分割为若干个子任务,在执行子任务的期间穿插执行中断任务,充分利用了各子任务之间的等待时间,同时能够通过访问各个全局变量,对整个任务执行过程进行实时监控,解决了预设主任务耗时长而导致其他任务无法实时执行的问题。
Description
技术领域
本发明属于系统控制技术领域,尤其涉及一种用于空间站的主动电位控制系统的任务调度方法。
背景技术
主动电位控制系统用于我国空间站,系统内包含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:执行1553B通讯任务,再执行工作模式任务的选择部分,同时将工作模式任务的执行部分划分为n个子任务;
S3:主循环中查询工作模式任务的执行部分的所有子任务是否已全部执行完毕,若已完毕,则将完成标识全局变量设置为已完成,并重新选择下一个执行时间较长的工作模式任务来执行,若查询到有未完成的执行部分,则继续执行当前工作模式任务的剩余部分;
S4:在将任意一个子任务执行完毕后,跳出该子任务,回到主循环,执行定时器中断任务,然后定时器以所述时间间隔为起点,启动倒计时;在定时器启动倒计时的同时,主循环查询是否有待执行的中断任务,即AD采集任务,如有,则将AD采集任务执行完毕后,回到主循环,等待定时器倒计时结束;
S5:定时器倒计时结束后,等待时间全局变量为0,读取作为任务入口的工作模式全局变量和运行步骤全局变量,然后执行下一个子任务;以此类推,直到主任务执行完毕。
需要说明的是,每个子任务执行完成后,要更改运行步骤全局变量和等待时间全局变量中的信息,并设置跳出语句,保证中断任务执行完毕后,按照全局变量中设置的关键信息,回到主循环并进入相应的子任务中继续执行。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当然可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (2)
1.一种用于空间站的主动电位控制系统的任务调度方法,其特征在于,包括以下步骤:
S1:将任务执行时长超过设定阈值的工作模式任务作为主动电位控制系统中主循环的主任务;
S2:将所述主任务按实际需求分割为两个以上的子任务,其中,所述子任务的执行时长不完全相同,但均短于中断任务的执行周期;
S3:将主循环中的工作模式全局变量设置为当前执行的主任务的工作模式;
S4:主循环调用一个子任务作为初始任务并执行完毕后,在初始任务中将运行步骤全局变量设置为下一个待执行的子任务的序号,将等待时间全局变量设置为当前执行的子任务执行完毕后,执行下一个子任务之前的时间间隔,然后跳出初始任务,回到主循环;
S5:主循环中的定时器中断任务读取所述等待时间全局变量,然后主动电位控制系统中的定时器以所述时间间隔为起点,启动倒计时;
其中,在定时器启动倒计时的同时,主循环查询主动电位控制系统中是否还有待执行的中断任务,若有,则执行中断任务,若无,则回到主循环等待定时器倒计时结束,其中,中断任务的执行时间小于所述时间间隔;
S6:定时器倒计时每减小设定步长时间,等待时间全局变量也减小设定步长时间,同时主循环也读取一次工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,再读取运行步骤全局变量中的序号,进入下一个待执行的子任务,然后在该子任务中判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则进入步骤S8;
S7:将该子任务取代步骤S4中的初始任务,并重复步骤S4~S6,直到所有子任务均执行完毕;
S8:跳出该子任务,回到主循环,当定时器再次减小设定步长时间后,主循环再次读取工作模式全局变量,然后跳转到工作模式全局变量对应的主任务,根据运行步骤全局变量中的序号,进入下一个待执行的子任务,再次判断等待时间全局变量是否为0,若为0,则进入步骤S7,若不为0,则重复步骤S8,直到定时器倒计时结束,等待时间全局变量为0后,进入步骤S7。
2.如权利要求1所述的一种用于空间站的主动电位控制系统的任务调度方法,其特征在于,所述子任务的执行时长不超过200ms。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536373.5A CN109784647B (zh) | 2018-12-14 | 2018-12-14 | 一种用于空间站的主动电位控制系统的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811536373.5A CN109784647B (zh) | 2018-12-14 | 2018-12-14 | 一种用于空间站的主动电位控制系统的任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109784647A CN109784647A (zh) | 2019-05-21 |
CN109784647B true CN109784647B (zh) | 2023-04-18 |
Family
ID=66497003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811536373.5A Active CN109784647B (zh) | 2018-12-14 | 2018-12-14 | 一种用于空间站的主动电位控制系统的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109784647B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110297703B (zh) * | 2019-06-11 | 2021-11-05 | 国网江苏省电力有限公司 | 一种在实时仿真系统中模拟硬件任务调度的方法及装置 |
CN112130979B (zh) * | 2020-09-29 | 2022-08-09 | 展讯通信(上海)有限公司 | 调度任务及训练神经网络模型的方法、装置、终端和介质 |
CN112286097B (zh) * | 2020-10-28 | 2022-07-26 | 湖南汽车工程职业学院 | 智能驾驶单片机控制方法、系统及计算机存储介质 |
CN114325041A (zh) * | 2021-12-09 | 2022-04-12 | 兰州空间技术物理研究所 | 一种空间站主动电位控制系统及其地面模拟试验方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100485605C (zh) * | 2001-09-24 | 2009-05-06 | 中兴通讯股份有限公司 | 一种多任务实时操作系统的实现方法 |
JP2003263364A (ja) * | 2002-03-07 | 2003-09-19 | Mitsubishi Electric Corp | キャッシュ割り当て方式 |
JP5245390B2 (ja) * | 2007-12-19 | 2013-07-24 | 富士ゼロックス株式会社 | 業務実行支援装置及び業務実行支援プログラム |
CN101599663B (zh) * | 2009-07-07 | 2012-01-25 | 厦门士林电机有限公司 | 一种智能控制器的实时控制系统 |
CN104026744B (zh) * | 2013-03-05 | 2018-12-18 | 惠州市吉瑞科技有限公司 | 电子烟微控制器的多任务执行方法及装置 |
CN105204857B (zh) * | 2015-09-21 | 2018-08-07 | 中国船舶重工集团公司第七〇五研究所 | 一种基于“轮询式”多时间片精确调度的嵌入式控制系统设计方法 |
CN106126612A (zh) * | 2016-06-22 | 2016-11-16 | 重庆秒银科技有限公司 | 一种大数据etl动态划分时间片的数据抽取方法 |
CN106054723B (zh) * | 2016-06-28 | 2019-03-08 | 厦门宏发开关设备有限公司 | 一种智能综合保护开关任务调度系统 |
CN108536531B (zh) * | 2018-04-03 | 2021-08-06 | 广州技象科技有限公司 | 一种基于单片机的任务调度和电源管理方法 |
CN108920261B (zh) * | 2018-05-23 | 2020-03-24 | 中国航天系统科学与工程研究院 | 一种适于大规模并行数据处理任务的两级自适应调度方法 |
-
2018
- 2018-12-14 CN CN201811536373.5A patent/CN109784647B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109784647A (zh) | 2019-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109784647B (zh) | 一种用于空间站的主动电位控制系统的任务调度方法 | |
EP2672348B1 (en) | Control device, control system, tool device, and collection instruction program | |
CN104750510A (zh) | 一种芯片启动方法及多核处理器芯片 | |
CN104932329B (zh) | 变频器控制方法及系统、变频器 | |
US10025281B2 (en) | Control device and system program, and recording medium | |
CN108377484B (zh) | 一种蓝牙控制器功耗控制方法和装置 | |
CN102073572A (zh) | 用于多核处理器的监控方法及系统 | |
CN103744730B (zh) | 一种任务调度方法和装置 | |
EP2733613B1 (en) | Controller and program | |
CN109388552B (zh) | 启动应用程序的时长的确定方法、装置及存储介质 | |
CN104516780A (zh) | 数据处理装置 | |
JP2020061055A (ja) | 制御システム、制御装置および制御方法 | |
CN104049577A (zh) | 用于运行工业控制系统的方法以及工业控制系统 | |
CN104427133A (zh) | 通信终端待机省电的控制方法和控制装置 | |
CN102573073B (zh) | 一种终端物理层资源分配方法及系统 | |
CN113424154A (zh) | 边缘侧模型处理的方法、边缘计算设备和计算机可读介质 | |
CN106843890B (zh) | 基于智能决策的传感器网络、节点及其运行方法 | |
CN109947015B (zh) | 任务的执行方法及主控制器 | |
CN112650566A (zh) | 定时任务处理方法、装置、计算机设备和存储介质 | |
CN113032128B (zh) | 一种多任务的控制方法、装置、电子设备及存储介质 | |
CN116880986A (zh) | 任务调度方法、装置、车载控制器、电子设备和存储介质 | |
CN115309507B (zh) | 一种cpu资源占用率的计算方法、装置、设备及介质 | |
CN116126491A (zh) | 一种嵌入式软件任务分时调度方法 | |
CN110794759A (zh) | 一种plc任务调度方法和装置 | |
CN111367702B (zh) | 一种多任务软件看门狗处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |