CN109947015B - 任务的执行方法及主控制器 - Google Patents
任务的执行方法及主控制器 Download PDFInfo
- Publication number
- CN109947015B CN109947015B CN201910198021.1A CN201910198021A CN109947015B CN 109947015 B CN109947015 B CN 109947015B CN 201910198021 A CN201910198021 A CN 201910198021A CN 109947015 B CN109947015 B CN 109947015B
- Authority
- CN
- China
- Prior art keywords
- time
- real
- task
- tasks
- main controller
- 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
Landscapes
- Debugging And Monitoring (AREA)
- Control By Computers (AREA)
Abstract
本申请提供了一种任务的执行方法及主控制器,其中,所述任务的执行方法,包括:主控制器调度控制周期中的实时任务,并执行所述实时任务;所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间;若所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务,其中,所述非实时任务队列中含有任意个所述非实时任务。
Description
技术领域
本发明涉及工业控制系统领域,具体涉及一种任务的执行方法及主控制器。
背景技术
在信息化和全球化的背景下,我国的工业化发展越来越迅速。据数据统计,中国已经连续20余年保持快速的工业化进程,中国工业化取得了巨大的成就,中国已经整体步入工业化的中期阶段。而在我国工业化不断推进的过程中,衍生了一系列的阻碍我国工业化推进的问题,尤其是工业控制系统中的主控制器调度机制中无法保证实时任务独立性执行的问题。
当前,我国的工业控制系统中主控制器用于执行调度实时任务和非实时任务,但是在主控制器在执行调度实时任务并执行实时任务的过程中,现有的主控制器调度机制无法保证实时任务的独立性的执行过程,这就导致了工业控制系统中主控制器在周期任务的确定性上无法满足较高精度的使用要求,而且现有的工业控制系统中主控制器也无法满足有效的对非实时任务进行调度和执行。
故此,使工业控制系统中主控制器在调度和执行实时任务时的可以满足独立性要求,以保证工业控制系统对控制周期中任务调度和执行的较高精度,以及使工业控制系统中主控制器能有效的调度和执行非实时任务,是本领域技术人员急需解决的难题。
发明内容
有鉴于此,本发明的主要目的在于提供一种任务的执行方法及主控制器,以满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以及满足工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
为实现上述目的,本发明实施例提供如下技术方案:
本发明第一方面公开了一种任务的执行方法,包括:
主控制器调度控制周期中的实时任务,并执行所述实时任务;
所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间;
若所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务;其中,所述非实时任务队列中含有任意个所述非实时任务。
可选地,在上述任务的执行方法中,所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务,包括:
所述主控制器从非实时任务队列中调度所述非实时任务,并执行所述非实时任务,返回判断所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出所述控制周期中的周期间隙小于所述非实时任务的时间颗粒为止。
可选地,在上述任务的执行方法中,所述主控制器调度控制周期中的实时任务,并执行所述实时任务之后,还包括:
监控所述实时任务的执行时间是否大于所设定的阈值;
若监控出所述实时任务的执行时间大于所设定的所述阈值,则所述主控制器发送中断指令给应用业务。
可选地,在上述任务的执行方法中,所述主控制器从非实时任务调度队列中依次调度所述非实时任务,并执行所述非实时任务,包括:
所述主控制器从所述非时实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务。
可选地,在上述任务的执行方法中,所述实时任务为所述主控制器中的主体业务,包括对数据的采集、逻辑的运算以及安全处理;
所述非实时任务为所述主控制器的非主体业务,包括诊断、事件记录以及非实时业务。
本发明第二方面公开了一种主控制器,包括:
第一调度单元,用于调度控制周期中的实时任务,并执行所述实时任务;
第一判断单元,用于判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间;
第二调度单元,用于当所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并依次执行所述非实时任务;其中,所述非实时任务队列中含有任意个所述非实时任务。
可选地,在上述主控制器中,所述第二调度单元,包括:
第二判断单元,用于当所述主控制器从非实时任务队列中调度所述非实时任务,并执行所述非实时任务后,返回判断所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出所述控制周期中的周期间隙小于所述非实时任务的时间颗粒为止。
可选地,在上述主控制器中,还包括:
监控单元,用于监控所述实时任务的执行时间是否大于所设定的阈值;
指令发送单元,用于当监控出所述实时任务的执行时间大于所设定的所述阈值,则所述主控制器发送中断指令给应用业务。
可选地,在上述主控制器中,所述第二调度单元,包括:
第二调度子单元,用于对所述主控制器从所述非时实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务。
可选地,在上述主控制器中,所述实时任务为所述主控制器中的主体业务,包括对数据的采集、逻辑的运算以及安全处理;
所述非实时任务为所述主控制器的非主体业务,包括诊断、事件记录以及非实时业务。
与现有技术相比,本发明包括以下优点:
本发明公开了一种任务的执行方法及主控制器,本发明所提供的任务执行的方法包括:主控制器调度控制周期中的实时任务,并执行所述实时任务;所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间;若所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务,其中,所述非实时任务队列中含有任意个所述非实时任务。通过主控制器首先对控制周期中的实时任务进行调度并执行,当控制周期中的周期间隙不小于非实时任务执行的时间颗粒时,从非实时任务队列中依次调度实时任务,并执行非实时任务,应用本发明提供的任务调度的方法及主控制器,能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度,以及满足工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种任务的执行方法的流程图;
图2为本申请实施例公开的另一种任务的执行方法的流程图;
图3为本申请实施例公开的一种监控实时任务执行的示意图;
图4为本申请实施例公开的一种主控制器结构的示意图;
图5为本申请实施例公开的一种第二调度单元的结构示意图;
图6为本申请实施例公开的另一种主控制器的结构示意图;
图7为本申请实施例公开的另一种第二调度单元的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请文件实施例公开了一种任务的执行方法,参见图1,包括:
S101、主控制器调度控制周期中的实时任务,并执行实时任务。
需要说明的是,步骤S101中的主控制器是工业控制系统中的主控制单元,可用于控制工业控制系统中数据的采集、数据的处理等。
主控制器中的控制周期是工业控制系统内主控制器的软件运行的时间单元,在工业控制系统中,以主控制器周期为时间单元循环执行,实现主控制器的软件功能。主控制器中的控制周期的数量不是唯一的,而是任意个数均可。其中,每一个控制周期运行时间的长短是由组态软件决定的。
还需要说明的是,每一个控制周期中,均含有一个实时任务,该实时任务是该周期中首要进行调度并执行的任务,该实时任务是一个确定任务。仍需说明的是,步骤S101中的实时任务为主控制器的主体业务逻辑,用于执行工业控制系统中的IO采集、工业逻辑的运算、IO输出,甚至是安全处理的程序等。例如,安全处理的程序中的数据表决。其中,实时任务在控制周期中执行时间的长短也是由组态软件决定。
S102、主控制器判断控制周期中的周期间隙是否小于非实时任务执行的时间颗粒。
其中,周期间隙为执行当前控制周期中的任务结束之后到下一个控制周期到来之前的时间段,时间颗粒为每一非实时任务单次的执行时间。
需要说明的是,主控制器在对控制周期中的周期间隙与非实时任务执行的时间颗粒之间的大小进行判断的过程中,可以是对当前控制周期执行结束实时任务之后到下一个控制周期到来之前的时间与非实时任务执行的时间颗粒之间的大小进行判断,也可以是当前控制周期执行任意个非实时任务之后到下一个控制周期到来之前的时间与非实时任务执行的时间颗粒之间的大小进行判断。
还需要说明的是,同一个工业控制系统中的非实时任务的时间颗粒是一个约定的固定值,非实时任务实际的执行时间小于这一约定的固定值。
S103、若主控制器判断出控制周期中的周期间隙不小于非实时任务的时间颗粒,则主控制器从非实时任务队列中依次调度非实时任务,并在周期间隙中执行所述非实时任务。
其中,非实时任务队列中含有任意个非实时任务。
需要说明的是,当控制周期中的周期间隙不小于非实时任务执行的时间颗粒,就意味着在该控制周期中,执行实时任务结束之后所剩的空余时间,能够执行非实时任务队列中至少一个非实时任务。
需要进一步说明的是,非实时任务队列是对工业控制系统中,所要执行的非实时任务按照执行顺序进行排序之后,得到的具有先后执行关系的非实时任务以队列形式的反映。其中,非实时任务为主控制器的非主体任务群,任务内容包括了诊断、事件记录、非实时业务等,主控制器在执行非实时任务时,非实时任务对时间、执行顺序的要求性并不高。
本实施例中,主控制器首先对控制周期中的实时任务进行调度并执行,当控制周期中的周期间隙不小于非实时任务执行的时间颗粒时,从非实时任务队列中依次调度实时任务,并执行非实时任务,通过主控制器对实时任务和非实时任务调度并执行能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度,以及满足了工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
可选地,在本申请的另一实施例中,步骤S103的一种实施方式,包括:
主控制器从非实时任务队列中调度非实时任务,并执行非实时任务,返回判断主控制器判断控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出控制周期中的周期间隙小于非实时任务的时间颗粒为止。
需要说明的是,主控制器的控制周期在执行结束非实时任务之后,返回执行判断主控制器判断控制周期中的周期间隙是否小于非实时任务执行的时间颗粒的步骤,若判断结果是控制周期中的周期间隙不小于非实时任务执行的时间颗粒,则主控制器就会继续从非实时任务队列中,继续调度非实时任务然后执行,其中,所调度的非实时任务是非实时任务队列中,排列顺序紧跟在已经执行结束的非实时任务后面的任务。
在本实施例中,通过对主控制器的控制周期执行结束非实时任务之后,继续判断控制周期中所剩的周期间隙是否还满足下一个非实时任务的执行条件,若条件满足,则继续对非实时任务进行调度并执行,若不满足则结束该控制周期中对非实时任务的调度,使得主控制器对非实时任务调度更加灵活,保证了非实时任务执行时间的均匀分配,满足了工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
可选地,本申请的另一实施例中,步骤S101、主控制器调度控制周期中的实时任务,并执行所述实时任务步骤之后,参见图2,该任务的执行方法,还包括:
S201、监控实时任务的执行时间是否大于所设定的阈值。
需要说明的是,在步骤S201中,可以采用启动定时器的监控方式,监控实时任务的执行时间是否大于所设定的阈值。即在实时任务开始执行的同时,启动定时器的定时功能,当实时任务执行结束时定时器未达到所设定的时间时,意味着所监控到的实时任务的执行时间不大于定时器所设定的时间,即等同于,实时任务的执行时间不大于所设定的阈值。当实时任务执行未结束时,定时器已经达到所设定的时间时,意味着所监控到的实时任务的执行时间大于定时器所设定的时间,即等同于,实时任务的执行时间大于所设定的阈值。
还需要进一步进行说明的是,步骤S201中监控实时任务的执行时间是否大于所设定的阈值,其中的阈值也可以是占比门限值。其中,占比门限值为系统设定的实时任务的执行时间与控制周期之间的比值。当所设定的阈值为实时任务的执行时间与控制周期之间的比值时,此时,步骤S201应该执行的是监控实时的执行时间与控制周期之间的比值是否大于占比门限值。因为,占比门限值的设定为实时任务的执行时间与一个控制周期所耗时之间的比值,所以比值越大,意味着在一个控制周期中实时任务的执行时间越长。其中,占比门限值的大小,可以根据用户需要以及系统要求,自行设定。
S202、若监控出实时任务的执行时间大于所设定的阈值,则主控制器发送中断指令给应用业务。
需要说明的是,步骤S202中,当监控出实时任务的执行时间大于所设定的阈值,即意味着,控制周期所执行的实时任务的时间大于阈值所设定的时间,也同时意味着控制周期所执行实时任务的占比门限值,大于用户或者工业控制系统所设定的占比门限值在一个控制周期中所占的时间,此时,工业控制系统一个控制周期中剩余的时间已经无法满足实时任务继续执行,或者,在该周期内继续执行实时任务会威胁到工业控制系统的安全运行,此时,需要主控制器发送中断指令给应用业务,告知该实时任务执行异常,需要应用业务处理异常工作。
通过对实时任务执行过程的监控,能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度。
结合以上描述,参见图3,对如何监控实时任务的执行时间是否大于所设定的阈值,以一个具体的案例作进一步描述:
S301、当实时任务开始执行时,同步启动定时器,监控实时任务的执行时间是否大于定时器所设定的时间。
其中,定时器所设定的时间为系统设定阈值的时间,也可以是系统设定的占比门限值在控制周期中所占据的时间。
需要说明的是,当一个控制周期开始运行时,启动定时器的定时功能。
S302、若监控得到的实时任务的执行时间不大于定时器所设定的时间,则定时器的定时功能未被启用,可以正常关闭定时器的定时功能。
S303、若监控得到的实时任务的执行时间大于定时器所设定的时间,则定时器的定时功能被启用,主控制器发送中断指令给应用业务。
需要说明的是,在步骤S303中监控得到的实时任务执行时间大于定时器所设定的时间,即说明了所执行实时任务中的业务逻辑与控制周期之间的比值未能达到系统配置的合理要求,导致实时任务执行耗时超过所设定的时间。
可选地,本申请的另一实施例中,步骤S103中,主控制器从非实时任务调度队列中依次调度所述非实时任务,并执行所述非实时任务中的一种实施方式,包括:
主控制器从所述非时实时任务队列中的队头,依次调度所述非实时任务,并执行非实时任务。
需要说明的是,非实时任务队列中非实时任务的排序方式由非实时任务管理队列管理,主控制器在对非实时任务进行调度并执行非实时任务的过程中,用户可以设置非实时任务的执行顺序。在向非实时任务管理队列中插入非实时任务时,非实时任务管理队列默认插入非实时任务在非实时任务队列中的位置是队尾,但是,也可以根据用户设定,把所要插入运行的非实时任务插入非实时任务队列的队头或者非实时任务队列中任意位置。当非实时任务插入非实时任务队列的队头时,非实时任务在周期间隙大于非实时任务执行的时间颗粒时立刻执行位于队头的非实时任务,提高了非实时任务的灵活性。
还需要说明的是,非实时任务除了支持上述的触发性任务,还支持周期型任务,在执行周期型任务时,在周期型任务的内部维护一个计数器,并把所有属于同一类型的非实时任务链接在一个非实时周期任务队列中,此时的工业控制系统提供一个接口,以实现应用业务要求的频率,来更新周期型任务运作的行为。其中,工业控制系统所提供的接口,实现了对非实时周期任务队列的查询并比较其计数器是否到时,若到时,则把该非实时任务插入到全局调度队列中。
通过主控制器从所述非时实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务,实现了单项顺序管理,保证非实时任务执行时间的均匀分配,满足了工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
本发明另一实施例还公开了一种主控制器,如图4所示,包括:
第一调度单元401,用于调度控制周期中的实时任务,并执行实时任务。
第一判断单元402,用于判断控制周期中的周期间隙是否小于非实时任务执行的时间颗粒。
其中,周期间隙为执行当前控制周期中的任务结束之后到下一个控制周期到来之前的时间段,时间颗粒为每一非实时任务单次的执行时间。
第二调度单元403,用于当主控制器判断出控制周期中的周期间隙不小于非实时任务的时间颗粒,则主控制器从非实时任务队列中依次调度非实时任务,并依次执行非实时任务。
其中,非实时任务队列中含有任意个非实时任务。
需要说明的是,主控制器在对实时任务调度或者非实时任务调度的过程中,可以采用前后台系统,在本实施例中,把主控制器中用于调度并执行的前后台系统分为前台单元和后台单元,前台单元对应前后台系统中的前台所执行的功能,后台单元对应前后台系统中的后台所执行的功能。
其中,前后台系统中的后台主要为周期性顺序调度的各种任务程序。上述的第一调度单元401、第一判断单元402、第二调度单元403均包含在在前后台系统中后台单元。
还需要说明的是,前后台系统中的前台主要用于处理各种中断处理,前台所处理的各种中断处理包括了后台程序在运行过程中的出现的异常工作,此类异常工作通常需要操作人员对其进行处理。这时,前后台的系统的前台就会对需要进行处理的异常工作进行提示,告知操作人员需要处理各种异常工作,其中就包括了中断处理。前台单元所提示的各种中断为处理CPU的异常、硬件资源中断信号,其中,包括了IO数据采集信号、主控制器数据通信的网口信号、内部硬件定时中断等。
在本实施例中,通过后台单元中第一调度单元401、第一判断单元402、第二调度单元403对实时任务和非实时任务的调度并执行,能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度,以及满足工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
本实施例中公开的各个单元的具体工作过程,可参见对应图1的方法实施例的内容,此处不再赘述。
可选地,本申请的另一实施例中,参见图5,第二调度单元501,包括:
第二判断单元502,用于当主控制器从非实时任务队列中调度非实时任务,并执行非实时任务后,返回判断主控制器判断控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出控制周期中的周期间隙小于非实时任务的时间颗粒为止。
在本实施例中,通过第二判断单元502对主控制器的控制周期执行结束非实时任务之后,继续判断控制周期中所剩的周期间隙是否还满足下一个非实时任务的执行条件,若条件满足,则继续对非实时任务进行调度并执行,若不满足则结束该控制周期中对非实时任务的调度,使得主控制器对非实时任务调度更加灵活,保证了非实时任务执行时间的均匀分配,满足了工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
本实施例中公开的各个单元的具体工作过程,可参见对应的方法实施例的内容,此处不再赘述。
可选地,本申请的另一实施例中,参见图6,主控制器,还包括:
监控单元601,用于监控实时任务的执行时间是否大于所设定的阈值。
指令发送单元602,用于当监控出实时任务的执行时间大于所设定的阈值,则主控制器发送中断指令给应用业务。
其中,应用业务可以用于显示前后台系统的后台中任务的执行情况,并在后台在执行任务过程中出现异常时,会通过前台显示告知的方式,通知操作人员,对异常进行处理。
在本实施例中,监控单元601对实时任务执行过程的监控,以及指令发送单元602当监控单元601监控出实时任务的执行时间大于所设定的阈值时,主控制器发送中断指令给应用业务,能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度。
本实施例中公开的各个单元的具体工作过程,可参见对应的方法实施例的内容,此处不再赘述。
可选地,本申请的另一实施例中,参见图7,第二调度单元701,包括:
第二调度子单元702,用于对主控制器从非时实时任务队列中的队头,依次调度非实时任务,并执行非实时任务。
在本实施例中,通过第二调度子单元702对主控制器从所述非时实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务,实现了对非实时任务的单项顺序管理,保证非实时任务执行时间的均匀分配,满足了工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
本实施例中公开的各个单元的具体工作过程,可参见对应的方法实施例的内容,此处不再赘述。
可选地,本申请的另一实施例中,实时任务单元,用于对数据的采集、逻辑的运算以及安全处理。
其中,实时任务单元是用于执行主控制器主体业务中对的数据的采集、逻辑的运算以及安全处理。
非实时任务单元,用于诊断、时间记录以及执行非实时业务。
其中,非实时任务单元是用于执行主控制器非主体业务中的诊断、时间记录以及非实时业务。
在本实施例中,通过对实时任务单元中的任务以及非实时任务单元中的任务进行调度并执行,完成了工业控制系统中对实时任务和非实时任务的调度和执行工作。在对工业控制系统中的实时任务中的任务和非实时任务中的任务的调度并执行的过程中,能够满足工业控制系统中主控制器在调度和执行实时任务时的独立性要求,以保证工业控制系统对控制周期中的任务调度和执行的较高精度,以及满足工业控制系统中主控制器能有效的调度和执行非实时任务的要求。
本实施例中公开的各个单元的具体工作过程,可参见对应的方法实施例的内容,此处不再赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种任务的执行方法,其特征在于,包括:
主控制器调度控制周期中的实时任务,并执行所述实时任务;
所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间,实时任务在控制周期中执行时间的长短由组态软件决定;
若所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务;其中,所述非实时任务队列中含有任意个所述非实时任务;
其中,所述主控制器从非实时任务队列中依次调度所述非实时任务,并在所述周期间隙中执行所述非实时任务,包括:
所述主控制器从非实时任务队列中调度所述非实时任务,并执行所述非实时任务,返回判断所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出所述控制周期中的周期间隙小于所述非实时任务的时间颗粒为止。
2.根据权利要求1所述的方法,其特征在于,所述主控制器调度控制周期中的实时任务,并执行所述实时任务之后,还包括:
监控所述实时任务的执行时间是否大于所设定的阈值;
若监控出所述实时任务的执行时间大于所设定的所述阈值,则所述主控制器发送中断指令给应用业务。
3.根据权利要求1所述的方法,其特征在于,所述主控制器从非实时任务调度队列中依次调度所述非实时任务,并执行所述非实时任务,包括:
所述主控制器从所述非实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务。
4.根据权利要求1所述的方法,其特征在于,所述实时任务为所述主控制器中的主体业务,包括对数据的采集、逻辑的运算以及安全处理;
所述非实时任务为所述主控制器的非主体业务,包括诊断、事件记录以及非实时业务。
5.一种主控制器,其特征在于,包括:
第一调度单元,用于调度控制周期中的实时任务,并执行所述实时任务;
第一判断单元,用于判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒;其中,所述周期间隙为执行当前所述控制周期中的任务结束之后到下一个控制周期到来之前的时间段,所述时间颗粒为每一所述非实时任务单次的执行时间,实时任务在控制周期中执行时间的长短由组态软件决定;
第二调度单元,用于当所述主控制器判断出所述控制周期中的周期间隙不小于所述非实时任务的时间颗粒,则所述主控制器从非实时任务队列中依次调度所述非实时任务,并依次执行所述非实时任务;其中,所述非实时任务队列中含有任意个所述非实时任务;
其中,所述第二调度单元,包括:
第二判断单元,用于当所述主控制器从非实时任务队列中调度所述非实时任务,并执行所述非实时任务后,返回判断所述主控制器判断所述控制周期中的周期间隙是否小于非实时任务执行的时间颗粒,直至判断出所述控制周期中的周期间隙小于所述非实时任务的时间颗粒为止。
6.根据权利要求5所述的主控制器,其特征在于,所述主控制器,还包括:
监控单元,用于监控所述实时任务的执行时间是否大于所设定的阈值;
指令发送单元,用于当监控出所述实时任务的执行时间大于所设定的所述阈值,则所述主控制器发送中断指令给应用业务。
7.根据权利要求5所述的主控制器,其特征在于,所述第二调度单元,包括:
第二调度子单元,用于对所述主控制器从所述非实时任务队列中的队头,依次调度所述非实时任务,并执行所述非实时任务。
8.根据权利要求5所述的主控制器,其特征在于,实时任务单元为所述主控制器中的主体业务,包括对数据的采集、逻辑的运算以及安全处理;
非实时任务单元为所述主控制器的非主体业务,包括诊断、事件记录以及非实时业务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198021.1A CN109947015B (zh) | 2019-03-15 | 2019-03-15 | 任务的执行方法及主控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910198021.1A CN109947015B (zh) | 2019-03-15 | 2019-03-15 | 任务的执行方法及主控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947015A CN109947015A (zh) | 2019-06-28 |
CN109947015B true CN109947015B (zh) | 2020-08-28 |
Family
ID=67008924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910198021.1A Active CN109947015B (zh) | 2019-03-15 | 2019-03-15 | 任务的执行方法及主控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947015B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112068940A (zh) * | 2020-09-02 | 2020-12-11 | 微医云(杭州)控股有限公司 | 实时任务调度方法、装置、调度系统及存储介质 |
CN114661449B (zh) * | 2022-05-19 | 2022-08-19 | 四川傲势科技有限公司 | 任务调度方法、嵌入式系统及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052127A (zh) * | 2012-12-28 | 2013-04-17 | 浙江中控技术股份有限公司 | 一种工业无线传感网络中调度通信的方法及装置 |
CN104331327A (zh) * | 2014-12-02 | 2015-02-04 | 山东乾云启创信息科技有限公司 | 大规模虚拟化环境中任务调度的优化方法及优化系统 |
CN104837205A (zh) * | 2015-04-16 | 2015-08-12 | 长安大学 | 一种车路通信下行无线资源分配算法 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN107577185A (zh) * | 2017-09-14 | 2018-01-12 | 浙江国自机器人技术有限公司 | 一种任务执行方法及基于多核处理器的控制器 |
CN108768888A (zh) * | 2018-04-20 | 2018-11-06 | 北京国电通网络技术有限公司 | 一种电力系统量子加密业务的队列调度方法 |
CN108874946A (zh) * | 2018-06-05 | 2018-11-23 | 政采云有限公司 | 一种id管理方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101325B (zh) * | 2017-06-21 | 2020-12-18 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置、系统及电子设备 |
CN109213578A (zh) * | 2017-07-05 | 2019-01-15 | 武汉安天信息技术有限责任公司 | 一种任务的调度方法和调度系统 |
CN107656813A (zh) * | 2017-09-29 | 2018-02-02 | 上海联影医疗科技有限公司 | 一种负载调度的方法、装置及终端 |
CN108829519A (zh) * | 2018-05-31 | 2018-11-16 | 深圳市零度智控科技有限公司 | 基于云平台的任务调度方法、云平台及计算机可读存储介质 |
CN109086128B (zh) * | 2018-08-28 | 2021-06-18 | 迈普通信技术股份有限公司 | 任务调度方法及装置 |
-
2019
- 2019-03-15 CN CN201910198021.1A patent/CN109947015B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052127A (zh) * | 2012-12-28 | 2013-04-17 | 浙江中控技术股份有限公司 | 一种工业无线传感网络中调度通信的方法及装置 |
CN104331327A (zh) * | 2014-12-02 | 2015-02-04 | 山东乾云启创信息科技有限公司 | 大规模虚拟化环境中任务调度的优化方法及优化系统 |
CN104837205A (zh) * | 2015-04-16 | 2015-08-12 | 长安大学 | 一种车路通信下行无线资源分配算法 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN107577185A (zh) * | 2017-09-14 | 2018-01-12 | 浙江国自机器人技术有限公司 | 一种任务执行方法及基于多核处理器的控制器 |
CN108768888A (zh) * | 2018-04-20 | 2018-11-06 | 北京国电通网络技术有限公司 | 一种电力系统量子加密业务的队列调度方法 |
CN108874946A (zh) * | 2018-06-05 | 2018-11-23 | 政采云有限公司 | 一种id管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109947015A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106293919B (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
CN107291547B (zh) | 一种任务调度处理方法、装置及系统 | |
Buttazzo et al. | Limited preemptive scheduling for real-time systems. a survey | |
Bril et al. | Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption | |
CN104838359B (zh) | 等待时间敏感的软件中断和线程调度 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
CN106326066B (zh) | 一种嵌入式系统任务响应性能的监测调整的方法及其系统 | |
CN109656782A (zh) | 可视化调度监控方法、装置及服务器 | |
CN107092521B (zh) | 一种分布式任务调度方法、装置及系统 | |
CN109947015B (zh) | 任务的执行方法及主控制器 | |
CN103365708A (zh) | 任务调度方法和装置 | |
CN109558227B (zh) | 一种基于任务执行预算的单调速率任务调度方法 | |
CN111897637B (zh) | 作业调度方法、装置、主机及存储介质 | |
CN110611707A (zh) | 一种任务调度的方法及装置 | |
Wang et al. | Adaptive data replication in real-time reliable edge computing for internet of things | |
CN108536531A (zh) | 一种基于单片机的任务调度和电源管理方法 | |
CN114625108A (zh) | 一种仿真测试方法及装置 | |
CN110794759B (zh) | 一种plc任务调度方法和装置 | |
CN102222036A (zh) | 一种自动化测试方法和设备 | |
CN109656693A (zh) | 任务调度方法、装置、服务器及存储介质 | |
JP5387083B2 (ja) | ジョブ管理システムおよび方法 | |
CN114721791A (zh) | 任务调度方法、电子设备及计算机可读存储介质 | |
CN110018906B (zh) | 调度方法、服务器及调度系统 | |
CN111367702A (zh) | 一种多任务软件看门狗处理方法及装置 | |
KR101399758B1 (ko) | 다수의 슬레이브 장치에서 실행되는 태스크의 주기 스케쥴링 장치 및 방법 |
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 |