一种单片机的任务调度方法、装置、电子设备及存储介质与流程

未命名 10-21 阅读:56 评论:0


1.本技术涉及单片机技术领域,具体而言,涉及一种单片机的任务调度方法、装置、电子设备及存储介质。


背景技术:

2.单片机(microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
3.目前的单片机中,在任务调度过程中通常使用任务执行命令来执行相应的程序代码,当所需调度的任务较多时,容易出现调度错误及任务调度效率低的问题。


技术实现要素:

4.有鉴于此,本技术的目的在于提供一种单片机的任务调度方法、装置、电子设备及存储介质,以解决现有技术中,任务调度易出错及任务调度效率低的问题。
5.第一方面,本技术实施例提供了一种单片机的任务调度方法,应用于单片机,单片机的内部寄存器包括数据存储区及任务执行区,任务执行区存储数据获取任务、正常执行任务及特殊执行任务,包括:
6.在本轮任务调度中,利用数据获取任务获取多个被控设备的第一采集数据,将第一采集数据与数据存储区中的第二采集数据进行比较,获得比较结果;
7.若比较结果满足数据更新条件,则利用第一采集数据对第二采集数据进行更新,获得更新后的第二采集数据;
8.从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息,根据设备状态信息确定目标设备;
9.从正常执行任务及特殊执行任务中选取与目标参数的警报状态对应的优选任务,利用优选任务对被控设备进行控制;
10.若未满足迭代停止条件,从多个候选参数中选取新的目标参数,返回执行从更新后的第二采集数据中获取与所述目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。
11.可选地,从正常执行任务及特殊执行任务中选取与目标设备的警报状态对应的优选任务,包括:确定目标设备的警报状态,警报状态包括无警报状态及有警报状态,有警报状态包括多个警报级别;若目标设备处于无警报状态或者处于低级警报级别,将目标参数对应的正常执行任务作为优选任务;若目标设备处于低级警报级别以上的警报级别,将目标参数对应的特殊执行任务作为优选任务。
12.可选地,特殊执行任务包括极端执行任务及停机任务;将目标参数对应的特殊执
行任务作为优选任务,包括:确定特殊执行任务中各个执行任务的任务级别;从极端执行任务及停机任务中,选取与警报级别匹配的任务级别所对应的任务作为优选任务。
13.可选地,在若比较结果满足数据更新条件之前,还包括:若第一采集数据中参数的取值与第二采集数据中对应参数的取值的比值处于设定区间内,确定比较结果满足数据更新条件;若第一采集数据中参数的取值与第二采集数据中对应参数的取值的比值未处于设定区间内,确定比较结果不满足数据更新条件。
14.可选地,设备状态信息包括运行状态及在位状态;根据设备状态信息确定目标设备,包括:从目标参数对应的被控设备中,选取运行状态为正常且在位状态为真的被控设备作为目标设备。
15.可选地,内部寄存器还包括主程序区,主程序区存储有主程序,方法还包括:响应于程序更新指令,执行主程序,以检测是否存在符合要求的更新文件,程序更新指令包括更新位置信息;若存在符合要求的更新文件,则主程序利用更新文件对任务执行区中与更新位置信息对应的任务进行更新。
16.可选地,单片机的内部寄存器还包括主程序区,主程序区存储有主程序,任务执行区还存储主程序区更新任务,方法还包括:响应于主程序更新指令,利用主程序区更新任务对主程序区中的主程序进行更新。
17.第二方面,本技术实施例还提供了一种单片机的任务调度装置,应用于单片机,单片机的内部寄存器包括数据存储区及任务执行区,任务执行区存储数据获取任务、正常执行任务及特殊执行任务,任务调度装置包括:
18.数据比较模块,用于在本轮任务调度中,利用数据获取任务获取多个被控设备的第一采集数据,将第一采集数据与数据存储区中的第二采集数据进行比较,获得比较结果;
19.数据更新模块,用于若比较结果满足数据更新条件,则利用第一采集数据对第二采集数据进行更新,获得更新后的第二采集数据;
20.设备选取模块,用于从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息,根据设备状态信息确定目标设备;
21.任务执行模块,用于从正常执行任务及特殊执行任务中选取与目标设备的警报状态对应的优选任务,利用优选任务对被控设备进行控制;
22.循环控制模块,用于若未满足迭代停止条件,从多个候选参数中选取新的目标参数,返回执行从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。
23.第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的单片机的任务调度方法的步骤。
24.第四方面,本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的单片机的任务调度方法的步骤。
25.本技术实施例带来了以下有益效果:
26.本技术实施例提供的一种单片机的任务调度方法、装置、电子设备及存储介质,能
够利用数据获取任务自动获取第一采集数据,并对数据存储区中的第二采集数据进行更新,然后根据目标参数对应的被控设备的设备状态信息对被控设备进行筛选,选取与筛选后的目标设备的警报状态对应的任务作为优选任务,利用优选任务对被控设备进行控制,整个任务调度过程无需输入任务执行指令,自动根据设备状态信息及警报状态进行执行任务的选择,与现有技术中的单片机的任务调度方法相比,解决了任务调度易出错及任务调度效率低的问题。
27.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
28.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
29.图1示出了本技术实施例所提供的单片机的任务调度方法的流程图;
30.图2示出了本技术实施例所提供的单片机的任务调度装置的结构示意图;
31.图3示出了本技术实施例所提供的电子设备的结构示意图。
具体实施方式
32.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本技术保护的范围。
33.值得注意的是,在本技术提出之前,单片机(microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器cpu、随机存储器ram、只读存储器rom、多种i/o口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、a/d转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。目前的单片机中,在任务调度过程中通常使用任务执行命令来执行相应的程序代码,例如:通过查看采集数据中状态信息及警报信息,人为判断需要执行的任务,然后通过手动输入任务执行命令来调度要执行的任务,但是当所需调度的任务较多时,容易出现调度错误及任务调度效率低的问题。
34.基于此,本技术实施例提供了一种单片机的任务调度方法,以提高调度准确性及任务调度效率。
35.请参阅图1,图1为本技术实施例所提供的一种单片机的任务调度方法的流程图。如图1所示,本技术实施例提供的单片机的任务调度方法,应用于单片机,单片机的内部寄存器包括数据存储区及任务执行区,任务执行区存储有数据获取任务、正常执行任务及特
殊执行任务,方法包括:
36.步骤s101,在本轮任务调度中,利用数据获取任务获取多个被控设备的第一采集数据,将第一采集数据与数据存储区中的第二采集数据进行比较,获得比较结果。
37.该步骤中,数据获取任务可指获取传感器数据的任务,数据获取任务是存储在任务执行区中的程序。
38.被控设备可指单片机控制的多个设备,示例性的,被控设备可以是阀门,被控设备也可以是泵。
39.被控设备受任务执行区中各个任务的控制,例如:当选取停机任务为优选任务时,被控设备将根据停机任务停止运行。
40.第一采集数据可指利用数据获取任务获取的被控设备的当前数据,第一采集数据用于与第二采集数据比较,以确定是否对第二采集数据进行更新。
41.第二采集数据可指数据存储区中存储的被控设备的历史数据。
42.在本技术实施例中,单片机的内部寄存器被划分为三个区域,分别是主程序区、数据存储区及任务执行区,其中,主程序区存储有主程序,数据存储区用于存储执行数据获取任务后得到的采集数据,任务执行区存储有多个任务,分别是数据获取任务、正常执行任务、特殊执行任务及主程序更新任务。
43.任务执行区中的每个任务对应的执行程序存储在固定的地址区间内,以便于根据每个任务的执行程序的存储地址对该任务进行更新。例如:数据获取任务的执行程序的存储地址为1001-1005,正常执行任务的执行程序的存储地址为1006-1009。
44.数据获取任务为任务执行区中存储的第一个任务,正常执行任务为任务执行区中存储的第二个任务,极端执行任务为任务执行区中存储的第三个任务,省电执行任务为任务执行区中存储的第四个任务,停机任务为任务执行区中存储的第五个任务,主程序更新任务为任务执行区中存储的第六个任务。
45.在所有设备(单片机及被控设备)上电后,首先执行主程序,主程序检测是否有程序更新指令,如果没有程序更新指令,则跳出主程序,读取数据存储区中是否有警报状态,如果没有警报状态则进入第一轮除更新程序外的任务调度,自动从任务执行区中调取第一个任务进行执行,即执行数据获取任务,数据获取任务读取传感器数据,以获取多个被控设备的第一采集数据,例如:第一采集数据为泵的温度、阀门压力、泵的警报状态、阀门警报状态等,并将第一采集数据与数据存储区中的第二采集数据进行比较,获得采集数据中每项数据的比较结果。如果有警报状态,则根据警报级别从任务执行区中调度对应的任务来执行。
46.步骤s102,若比较结果满足数据更新条件,则利用第一采集数据对第二采集数据进行更新,获得更新后的第二采集数据。
47.该步骤中,数据更新条件可指更新数据存储区中第二采集数据的条件。
48.在本技术实施例中,如果满足数据更新条件,说明需要对数据存储区中存储的第二采集数据进行更新,于是利用第一采集数据替换数据存储区中现有的第二采集数据,实现对第二采集数据的更新。需要说明的是,第一采集数据中包括多个参数的取值,在对第二采集数据进行更新时,需要针对每个参数进行单独判断,以确定是否对该参数进行更新。
49.在一可选实施例中,在若比较结果满足数据更新条件之前,还包括:若第一采集数
据中参数的取值与第二采集数据中对应参数的取值的比值处于设定区间内,确定比较结果满足数据更新条件;若第一采集数据中参数的取值与第二采集数据中对应参数的取值的比值未处于设定区间内,确定比较结果不满足数据更新条件。
50.具体的,为了确定是否满足数据更新条件,需要计算第一采集数据中每项参数的取值与第二采集数据中对应参数取值的比值,例如:计算第一采集数据中温度的取值与第二采集数据中温度的取值的比值,然后确定该比值是否处于[0.95,1.05]的设定区间内,如果比值处于设定区间内,说明第一采集数据中的温度与第二采集数据中的温度之间存在较大差别,需要进行数据更新,于是将第一采集数据中的温度作为新的第二采集数据中的温度。如果比值未处于设定区间内,说明第一采集数据中的温度与第二采集数据的温度之间差别不大,不需要进行数据更新。然后,针对第一采集数据中除温度外的每个参数,也同样将该参数的取值与第二采集数据中对应参数的取值进行比较,确定两者的比值是否处于设定区间内,以决定是否对该参数进行数据更新。其中,本领域技术人员可以根据实际情况选择设定区间的大小,本技术在此不作限定。
[0051]
步骤s103,从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息,根据设备状态信息确定目标设备。
[0052]
该步骤中,候选参数可指传感器采集到的被控设备的参数,示例性的,候选参数可以是温度,可以是压力,还可以是流量。
[0053]
目标参数可指候选参数中的某个参数,示例性的,目标参数为温度。
[0054]
设备状态信息包括被控设备的运行状态及在位状态。
[0055]
在位状态可指设备是否处于正常连接状态。例如:单片机控制板上可能有很多接口,需要对每个接口是否连接有对应的传感器进行检测,比如如果无法读取到一个泵的信息,就表明该泵不在位,或者,因为传感器与设备之间的中间线路出问题,导致传感器信号丢失,也认为该设备丢失不在位。
[0056]
在本技术实施例中,第二采集数据中包括采集到的每个参数的取值、该取值对应的被控设备、该被控设备的设备状态信息、警报状态,例如:被控设备a的温度为20℃,被控设备b的压力为1mpa,因此,如果目标参数为温度,则可从更新后的第二采集数据中获取被采集温度的被控设备a的设备状态信息,根据该设备状态信息确定被控设备a是否为目标设备。
[0057]
需要说明的是,本技术会检测每个设备的温度、压力及流量等多个参数,但是可只将温度作为主要衡量指标,例如:有可能只采集温度,而不采集压力和流量,压力和流量主要用于表征管路的运行状态,检测压力和流量只是为了更准确地展示管路的运行状态,但通过压力和流量的竖直并不能准确地了解管路的运行状态,只能确定管路状态是否不正常,管路的具体状态最终都会反应到温度的传感器上。另外,不同设备的温度功能也不一样,有的作为用于比较的基准温度,有的作为环境监控的参考。不同的温度有不同的使用方法。
[0058]
在一可选实施例中,设备状态信息包括运行状态及在位状态;根据设备状态信息确定目标设备,包括:从目标参数对应的被控设备中,选取运行状态为正常且在位状态为真的被控设备作为目标设备。
[0059]
假设,采集温度的被控设备包括被控设备a、被控设备c及被控设备d,则分别提取
这三个被控设备的设备状态信息,针对每个设备状态信息,判断该设备状态信息中运行状态是否为正常且在位状态是否为真,如果只有被控设备a的运行状态为正常且在位状态为真,则将被控设备a作为目标设备。
[0060]
步骤s104,从正常执行任务及特殊执行任务中选取与目标参数的警报状态对应的优选任务,利用优选任务对被控设备进行控制。
[0061]
该步骤中,正常执行任务可指用于控制设备以正常模式运行的任务。
[0062]
特殊执行任务包括极端执行任务、省电执行任务及停机任务。
[0063]
极端执行任务可指用于控制设备以极端模式运行的任务,省电执行任务可指用于控制设备以省电模式运行的任务,停机任务可指用于控制设备停止运行的任务。其中,正常模式、极端模式是相对来说的,可以根据运行的参数值大小进行区分,不同类型设备的正常模式与极端模式是不同的。
[0064]
以散热泵为例,在需要急速散热时,可控制散热泵按照最大参数值进行运转,此时即为极端模式,如果散热泵以正常参数值运转,则为正常模式。以旋转类设备为例,可控制设备以最大转速旋转,此时为极端模式,如果设备以普通转速旋转,则为正常模式,
[0065]
在本技术实施例中,将不同的警报状态与不同的执行任务相对应,这样可以根据警报状态来自动选取合适的执行任务,以控制被控设备根据警报状态及时调整自身的运行状态,达到提高任务调度效率的目的。
[0066]
在一可选实施例中,从正常执行任务及特殊执行任务中选取与目标设备的警报状态对应的优选任务,包括:确定目标设备的警报状态,警报状态包括无警报状态及有警报状态,有警报状态包括多个警报级别;若目标设备处于无警报状态或者处于低级警报级别,将目标参数对应的正常执行任务作为优选任务;若目标设备处于低级警报级别以上的警报级别,将目标参数对应的特殊执行任务作为优选任务。
[0067]
具体的,从更新后的第二采集数据中获取各个目标设备的警报状态,如果目标设备的警报状态为无警报状态或者低级警报级别,则只需按照正常模式来控制设备即可,此时执行正常执行任务。如果目标设备的警报状态为低级警报级别以上的警报级别,则需按照特殊参数值来控制设备,此时执行特殊执行任务,以实现对警报的快速响应。需要说明的是,不同的参数可对应不同的执行任务,例如:对于温度、压力两个参数来说,可分别具备各自的特殊执行任务,以达到精准控制设备运行的目的。也可以将某个参数作为特殊参数,只针对该特殊参数设置对应的特殊执行任务,对其他参数的警报状态不予以响应,即只以正常执行任务来执行。
[0068]
在一可选实施例中,特殊执行任务包括极端执行任务及停机任务;将目标参数对应的特殊执行任务作为优选任务,包括:确定特殊执行任务中各个执行任务的任务级别;从极端执行任务及停机任务中,选取与警报级别匹配的任务级别所对应的任务作为优选任务。
[0069]
具体的,不同的特殊执行任务对应不同的任务级别,例如:正常执行任务为低级任务,极端执行任务为中级任务,停机任务为高级任务。警报级别分别为低级警报、中级警报及高级警报,由于低级警报级别无需执行特殊执行任务,因此,中级任务与中级警报对应,高级任务与高级警报对应。
[0070]
如果警报级别为中级警报则将极端执行任务作为优选执行任务,如果警报级别为
高级警报则将停机任务作为优选任务。另外,特殊执行任务还包括省电任务,在根据设备状态信息确定目标设备之后,还包括;当目标参数满足设定条件时,将省电任务作为优选任务。以温度参数为例,若测量得到温度低于0℃,则需要执行省电任务,或者,当负载设备被取出时,负载很低,则需要执行省电任务。
[0071]
步骤s105,若未满足迭代停止条件,从多个候选参数中选取新的目标参数,返回执行从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。
[0072]
该步骤中,首先将温度作为第一个目标参数,并根据采集到的各个被控设备的温度进行任务调度,完成本轮任务调度中的第一层控制。然后需要更换目标参数,从多个候选参数中选取除温度外参数作为第二个目标参数,例如:将压力作为新的目标参数,开始针对压力这一新的目标参数进行本轮任务调度中第二层控制。依此类推,直至将所有候选参数均作为目标参数进行了相应的设备控制之后,才算满足迭代停止条件,于是完成本轮任务调度,开启下一轮任务调度。
[0073]
即假设第一采集数据中共有五种类型的参数,那么当这五种类型的参数都被作为目标参数,并根据本轮任务调度中设备状态信息及警报状态进行了相应的任务调度后会开启下一轮任务调度,开启下一轮任务调度后会重新开始执行第一个任务,即重新执行数据获取任务,并执行后续控制步骤。如此不断循环地进行多轮次的任务调度过程,实现对被控设备的循环控制。
[0074]
在一可选实施例中,内部寄存器还包括主程序区,主程序区存储有主程序,方法还包括:响应于程序更新指令,执行主程序,以检测是否存在符合要求的更新文件,程序更新指令包括更新位置信息;若存在符合要求的更新文件,则主程序利用更新文件对任务执行区中与更新位置信息对应的任务进行更新。
[0075]
具体的,本技术提供多种程序更新指令,程序更新指令为网口在线下载指令、网口离线下载指令、串口下载指令、sd卡下载指令中的至少一种。
[0076]
以网口离线下载指令为例,当单片机与携带有更新文件的上位机设备连接时,即为发送程序更新指令,响应于程序更新指令,主程序执行以下处理:主程序会检测是否存在更新文件,如果存在更新文件,则寻找任务执行区中是否存在与更新文件相匹配的任务文件,如果存在匹配的任务文件,则比较两者的版本号大小,如果更新文件的版本号高于任务文件的版本号,则确定符合要求,此时可利用更新文件对任务执行区中的任务文件进行更新。其中,更新文件中携带了待更新文件的地址,根据该地址即可确定与更新文件相匹配的执行任务文件。
[0077]
需要说明的是,当接收到程序更新指令时,会等待当前任务执行区中正在执行的任务执行完毕后,才会执行主程序进而执行程序更新。当程序更新完成之后,根据数据存储区中记录的任务执行的序号,接着之前正在执行的任务继续执行下一个任务。
[0078]
在一可选实施例中,单片机的内部寄存器还包括主程序区,主程序区存储有主程序,任务执行区还存储主程序更新任务;方法还包括:响应于主程序更新指令,利用主程序更新任务对主程序区中的主程序进行更新。
[0079]
具体的,主程序区中存储的主程序也可能出现问题需要修复,或者需要升级更新,因此,在任务执行区还存储主程序更新任务,通过触发主程序更新指令,可以利用该主程序
更新任务对主程序进行更新,例如:主程序更新任务中即携带有主程序代码,可在执行主程序更新任务时直接将该主程序代码替换掉主程序区中的主程序,实现对主程序的更新。
[0080]
与现有技术中单片机的任务调度方法相比,本技术能够利用数据获取任务自动获取第一采集数据,并对数据存储区中的第二采集数据进行更新,然后根据目标参数对应的被控设备的设备状态信息对被控设备进行筛选,选取与筛选后的目标设备的警报状态对应的任务作为优选任务,利用优选任务对被控设备进行控制,整个任务调度过程无需输入任务执行指令,自动根据设备状态信息及警报状态进行执行任务的选择,解决了任务调度易出错及任务调度效率低的问题。
[0081]
基于同一发明构思,本技术实施例中还提供了与单片机的任务调度方法对应的单片机的任务调度装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述单片机的任务调度方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0082]
请参阅图2,图2为本技术实施例所提供的一种单片机的任务调度装置的结构示意图。如图2中所示,所述单片机的任务调度装置200,应用于单片机,单片机的内部寄存器包括数据存储区及任务执行区,任务执行区存储有数据获取任务、正常执行任务及特殊执行任务,单片机的任务调度装置200包括:
[0083]
数据比较模块201,用于在本轮任务调度中,利用数据获取任务获取多个被控设备的第一采集数据,将第一采集数据与数据存储区中的第二采集数据进行比较,获得比较结果;
[0084]
数据更新模块202,用于若比较结果满足数据更新条件,则利用第一采集数据对第二采集数据进行更新,获得更新后的第二采集数据;
[0085]
设备选取模块203,用于从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息,根据设备状态信息确定目标设备;
[0086]
任务执行模块204,用于从正常执行任务及特殊执行任务中选取与目标设备的警报状态对应的优选任务,利用优选任务对被控设备进行控制;
[0087]
循环控制模块205,用于若未满足迭代停止条件,从多个候选参数中选取新的目标参数,返回执行从更新后的第二采集数据中获取与目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。
[0088]
请参阅图3,图3为本技术实施例所提供的一种电子设备的结构示意图。如图3中所示,所述电子设备300包括处理器310、存储器320和总线330。
[0089]
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的单片机的任务调度方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0090]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的单片机的任务调度方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
[0091]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0092]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以
通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0093]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0094]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0095]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0096]
最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种单片机的任务调度方法,其特征在于,应用于单片机,所述单片机的内部寄存器包括数据存储区及任务执行区,所述任务执行区存储数据获取任务、正常执行任务及特殊执行任务,包括:在本轮任务调度中,利用所述数据获取任务获取多个被控设备的第一采集数据,将所述第一采集数据与所述数据存储区中的第二采集数据进行比较,获得比较结果;若所述比较结果满足数据更新条件,则利用所述第一采集数据对所述第二采集数据进行更新,获得更新后的第二采集数据;从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与所述目标参数对应的被控设备的设备状态信息,根据所述设备状态信息确定目标设备;从所述正常执行任务及所述特殊执行任务中选取与所述目标设备的警报状态对应的优选任务,利用所述优选任务对被控设备进行控制;若未满足迭代停止条件,从所述多个候选参数中选取新的目标参数,返回执行所述从更新后的第二采集数据中获取与所述目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。2.根据权利要求1所述的方法,其特征在于,所述从所述正常执行任务及所述特殊执行任务中选取与所述目标设备的警报状态对应的优选任务,包括:确定所述目标设备的警报状态,所述警报状态包括无警报状态及有警报状态,所述有警报状态包括多个警报级别;若所述目标设备处于无警报状态或者处于低级警报级别,将所述目标参数对应的正常执行任务作为优选任务;若所述目标设备处于所述低级警报级别以上的警报级别,将所述目标参数对应的特殊执行任务作为优选任务。3.根据权利要求2所述的方法,其特征在于,所述特殊执行任务包括极端执行任务及停机任务;所述将所述目标参数对应的特殊执行任务作为优选任务,包括:确定所述特殊执行任务中各个执行任务的任务级别;从所述极端执行任务及所述停机任务中,选取与所述警报级别匹配的任务级别所对应的任务作为优选任务。4.根据权利要求1所述的方法,其特征在于,在所述若所述比较结果满足数据更新条件之前,还包括:若所述第一采集数据中参数的取值与所述第二采集数据中对应参数的取值的比值处于设定区间内,确定所述比较结果满足数据更新条件;若所述第一采集数据中参数的取值与所述第二采集数据中对应参数的取值的比值未处于设定区间内,确定所述比较结果不满足数据更新条件。5.根据权利要求1所述的方法,其特征在于,所述设备状态信息包括运行状态及在位状态;所述根据所述设备状态信息确定目标设备,包括:从所述目标参数对应的被控设备中,选取所述运行状态为正常且所述在位状态为真的被控设备作为目标设备。
6.根据权利要求1所述的方法,其特征在于,所述内部寄存器还包括主程序区,所述主程序区存储有主程序,所述方法还包括:响应于程序更新指令,执行所述主程序,以检测是否存在符合要求的更新文件,所述程序更新指令包括更新位置信息;若存在符合要求的更新文件,则所述主程序利用所述更新文件对所述任务执行区中与所述更新位置信息对应的任务进行更新。7.根据权利要求1所述的方法,其特征在于,所述单片机的内部寄存器还包括主程序区,所述主程序区存储有主程序,所述任务执行区还存储主程序区更新任务,所述方法还包括:响应于主程序更新指令,利用所述主程序区更新任务对所述主程序区中的主程序进行更新。8.一种单片机的任务调度装置,其特征在于,应用于单片机,所述单片机的内部寄存器包括数据存储区及任务执行区,所述任务执行区存储数据获取任务、正常执行任务及特殊执行任务,所述任务调度装置包括:数据比较模块,用于在本轮任务调度中,利用所述数据获取任务获取多个被控设备的第一采集数据,将所述第一采集数据与所述数据存储区中的第二采集数据进行比较,获得比较结果;数据更新模块,用于若所述比较结果满足数据更新条件,则利用所述第一采集数据对所述第二采集数据进行更新,获得更新后的第二采集数据;设备选取模块,用于从多个候选参数中选取目标参数,从更新后的第二采集数据中获取与所述目标参数对应的被控设备的设备状态信息,根据所述设备状态信息确定目标设备;任务执行模块,用于从所述正常执行任务及所述特殊执行任务中选取与所述目标设备的警报状态对应的优选任务,利用所述优选任务对被控设备进行控制;循环控制模块,用于若未满足迭代停止条件,从所述多个候选参数中选取新的目标参数,返回执行所述从更新后的第二采集数据中获取与所述目标参数对应的被控设备的设备状态信息的步骤,若满足迭代停止条件,则完成本轮任务调度,开启下一轮任务调度。9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7中任一项所述的单片机的任务调度方法的步骤。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7中任一项所述的单片机的任务调度方法的步骤。

技术总结
本申请提供了一种单片机的任务调度方法、装置、电子设备及存储介质,该方法包括:利用数据获取任务获取第一采集数据,将第一采集数据与第二采集数据进行比较,获得比较结果;若比较结果满足数据更新条件,利用第一采集数据对第二采集数据进行更新;从更新后的第二采集数据中获取与目标参数对应的设备状态信息,根据设备状态信息确定目标设备;从正常执行任务及特殊执行任务中选取与警报状态对应的优选任务,利用优选任务对被控设备进行控制;选取新的目标参数,返回执行利用数据获取任务获取第一采集数据的步骤。通过采用上述单片机的任务调度方法、装置、电子设备及存储介质,解决了现有技术中,任务调度易出错及任务调度效率低的问题。问题。问题。


技术研发人员:沈斌 刘畅 张翔
受保护的技术使用者:杭州云酷智能科技有限公司
技术研发日:2023.08.09
技术公布日:2023/10/15
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐