本申请属于工业控制,具体涉及一种工业操作系统多任务确定性调度方法、装置及电子介质。
背景技术:
1、在工业控制系统中,特别是针对混合关键多任务、多控制周期的控制系统中,实时操作系统多任务并发执行,无法满足输入/输出等顺序逻辑处理;顺序逻辑处理的前后台系统由于无法中途退出,无法满足实时性要求;均不满足同时需要实时任务和顺序执行任务等多任务确定性调度混合部署的场景。且多任务混合部署资源属于同一内存空间,当一个任务异常时将会扩散到整个系统,导致系统异常或宕机等问题;多任务控制周期内每幅程序执行时间差异较大,会导致多任务控制周期负荷波动大的问题。
2、针对工业控制系统的多任务确定性调度主要分为两种方法:基于前后台系统的多任务确定性调度技术、基于实时操作系统的多任务确定性调度技术。
3、基于前后台系统的多任务确定性调度技术:目前主要的方法如cn104678820b《嵌入式前后台系统及其的控制方法》,控制周期由后台主循环实现多任务确定性调度;这种技术由具体的顺序执行,适合输入/输出等顺序逻辑的处理场景,具有实现方法难点低、执行顺序高确定性等优点,但也具备较为明显的缺点:顺序执行的前后台工业控制系统无法中途切换,当用户程序需要多任务及时响应时,存在无法满足多任务并发执行的问题;其次,多任务执行时每幅程序的执行时间由用户业务逻辑决定的,当用户程序的业务执行时间过大,会导致本次控制周期的整体执行时间超过上限阈值;当用户程序的业务执行时间过小时,又会导致本次控制周期的整体执行时间过小。且前后台系统为顺序调度执行不能中途退出,用户业务程序执行时间的差异较大时,会导致控制周期负荷波动大,造成负载不均衡的问题。由于前后系统资源属于同一内存空间,当单一任务执行异常或内存溢出等问题时整个系统异常。
4、基于实时操作系统的多任务确定性调度技术:目前主要的方法如cn116048783a《一种混合安全关键系统的确定性调度方法》,通过实时操作系统创建多个任务实现。这种多任务调度方法的最小执行时间颗粒度为实时操作系统的时间片,当工业控制系统调度用户程序时,按照时间片进行调度切换。该技术的优点是通过实时操作系统可以有效保障用户多任务的实时性和并发性;但是这种多任务并发执行无法保证输入/输出等顺序逻辑的用户程序处理要求,对用户任务的执行顺序具有不确定性。同上,实时操作系统内存空间未独立管理,当单个实时任务存在资源异常时,如任务堆栈溢出问题将导致整个系统异常或宕机。
技术实现思路
1、鉴于现有技术的上述缺点、不足,本申请提供一种工业操作系统多任务确定性调度方法、装置及电子介质,采用独立进程窗资源隔离的方式,解决多任务在用户空间域的资源隔离问题,任意用户调度任务进程的资源异常不会影响其他用户进程窗资源;采用用户多进程梯度划分设计,在不同的用户进程窗内可按需要部署实时任务或非实时任务,执行实时任务的进程按任务优先级或时间片调度方式,执行非实时任务的进程按顺序逻辑执行方式,同时保证了多任务确定性调度的顺序性和实时性;采用通过多级时间窗管理策略,进程窗在每控制周期内划定的定时时间范围内执行,当调度任务执行时间超范围时立即切换到进程窗,即解决多任务执行负荷不均衡问题,又解决了多任务混合部署实时性问题,以及多任务确定性调度的时间域隔离问题,满足工业控制系统多任务确定性调度的稳定性、确定性和系统安全性等需求。
2、为达到上述目的,本申请采用如下技术方案,一种工业操作系统多任务确定性调度方法,包括:
3、获取控制周期内所有调度任务;
4、识别所述调度任务的配置信息,并根据配置信息,分配执行调度任务的进程窗;
5、根据调度任务的进程窗,分配用于控制进程窗切换的时间窗。
6、优选的,所述调度任务的配置信息包括调度任务的优先级、执行相位、任务时长以及周期属性等。
7、优选的,根据所述执行相位和执行时长,将所述时间窗分为固定时间窗和非固定时间窗,具体方法包括:
8、获取调度任务的执行相位和任务时长;
9、判断执行相位和任务时长是否均为0;
10、若是,则时间窗为非固定时间窗;
11、若否,则时间窗为固定时间窗。
12、优选的,非固定时间窗模式下,所述调度任务执行相位不固定,且调度任务根据优先级依次执行。
13、优选的,固定时间窗模式下,所述调度任务配置固定执行相位,且通过进程窗和时间窗,控制调度任务的执行与切换。
14、优选的,所述非固定时间窗模式下,控制周期具备周期矫正,具体方法包括:
15、获取上一控制周期结束时的执行时刻t1和当前周期结束时的执行时刻t2,
16、若t2-t1大于控制周期t,则缩短下一控制周期的时长;
17、若t2-t1小于控制周期t,则延长下一控制周期的时长。
18、优选的,所述固定时间窗模式下,进程窗内配置有用于时间窗运行的空转线程。
19、优选的,所述进程窗用于执行实时任务或非实时任务,
20、当进程窗执行实时任务时,进程窗内调度任务按照优先级执行;
21、当进程窗执行非实时任务时,进程窗内调度任务按顺序逻辑执行。
22、本发明还提供了另一种实施例,一种工业操作系统多任务确定性调度装置,包括至少一个处理器,与存储器耦合;
23、所述存储器用于存储程序或指令;
24、所述至少一个处理器用于执行所述程序或指令,以使所述装置实现如权利要求1至8中任一项所述的方法。
25、本发明还提供了第三种实施例,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任一项所述的一种工业操作系统多任务确定性调度方法的步骤。
26、本申请的有益效果是:本申请公开了一种工业操作系统多任务确定性调度方法,采用独立进程窗资源隔离的方式,解决多任务在用户空间域的资源隔离问题,同时,通过多级时间窗管理策略,进程窗在每控制周期内划定的定时时间范围内执行,当调度任务执行时间超范围时立即切换到进程窗,即解决多任务执行负荷不均衡问题,又解决了多任务确定性调度的时间域隔离问题,满足工业控制系统多任务确定性调度的稳定性、确定性和系统安全性等需求。
1.一种工业操作系统多任务确定性调度方法,其特征在于,
2.根据权利要求1所述的调度方法,其特征在于,所述调度任务的配置信息包括调度任务的优先级、执行相位、任务时长以及周期属性等。
3.根据权利要求2所述的调度方法,其特征在于,根据所述执行相位和执行时长,将所述时间窗分为固定时间窗和非固定时间窗,具体方法包括:
4.根据权利要求3所述的调度方法,其特征在于,非固定时间窗模式下,所述调度任务执行相位不固定,且调度任务根据优先级依次执行。
5.根据权利要求3所述的调度方法,其特征在于,固定时间窗模式下,所述调度任务配置固定执行相位,且通过进程窗和时间窗,控制调度任务的执行与切换。
6.根据权利要求3所述的调度方法,其特征在于,所述非固定时间窗模式下,控制周期具备周期矫正,具体方法包括:
7.根据权利要求3所述的调度方法,其特征在于,所述固定时间窗模式下,进程窗内配置有用于时间窗运行的空转线程。
8.根据权利要求1所述的调度方法,其特征在于,所述进程窗用于执行实时任务或非实时任务,
9.一种工业操作系统多任务确定性调度装置,其特征在于,包括至少一个处理器,与存储器耦合;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的一种工业操作系统多任务确定性调度方法的步骤。
