电力自动化任务调度及触发机制的方法、系统和处理器的制造方法

文档序号:8412397阅读:324来源:国知局
电力自动化任务调度及触发机制的方法、系统和处理器的制造方法
【技术领域】
[0001] 本发明属于电力自动化领域,尤其涉及一种电力自动化任务调度及触发技术。
【背景技术】
[0002] 近年来,电网建设面临空前增长,从而带动电力系统内二次设备的快速增长。微机 保护测控装置的广泛应用,也对任务调度及触发机制提出了更为广泛、更为灵活的要求。传 统的保护测控任务调度及触发机制实现方式如图1所示,采用循环扫描的方式,无任务调 度机制,实时性不高,效率低下;不区分实变量和虚变量,造成时序错乱;没有动作行为触 发特性,只实现一些诸如联锁的特性,不具扩展性。为解决此问题,有必要根据保护测控装 置特点,结合工程实际,提出实现任务调度及触发机制的新技术。

【发明内容】

[0003] 针对现有技术存在的缺陷和不足,本发明旨在提出一种任务调度及触发机制的实 现方法、系统和处理器,可有效提高可编程逻辑的执行效率,确保时序一致性,触发不同动 作行为。
[0004] 为达到上述目的,本发明的解决方案如下:
[0005] 本发明实施例提供了一种电力自动化任务调度及触发机制的方法,包括步骤:处 理器扫描输入信息,将所述输入信息表达的任务,根据所述任务的属性将所述任务划分到 至少一个队列;所述处理器根据所述队列中任务的排列顺序,发出动作信号,触发所述队列 中任务的执行。
[0006] 上述方案中,所述处理器扫描输入信息之前还包括:所述处理器从共享内存中读 取配置信息,并加载至系统内存,解析逻辑配置文件,建立概要表项、输入表项、输出表项、 公式表项;根据输入、输出、公式三要素,经语法分析生成数据结构。
[0007] 上述方案中,将所述任务划分到至少一个队列,具体分为两个排队阶段,其中第一 阶段根据所述输入信息现值与原值的变化程度,将所述信息表达的任务分入不同优先级别 的第一队列;第二阶段根据每个所述第一队列中的所述任务中的计算任务的计算先后要 求,将所述计算任务排列成第二队列。
[0008] 上述方案中,将所述任务划分到至少一个队列,具体分为两个排队阶段,其中第一 阶段根据所述输入信息现值与原值的变化程度,将所述信息表达的任务分入不同优先级别 的第一队列;第二阶段中,根据所述数据结构,将每个所述第一队列中的所述任务中的计算 任务采用自顶向下法进行优先级排序,排列成第二队列。
[0009] 上述方案中,所述第一阶段具体包括:依据周期循环和突变触发机制,将突发信息 表达的任务放入高优先级的第一队列,周期信息表达的任务放入低优先级的第一队列。
[0010] 上述方案中,对于第一阶段分为的所述不同的优先级别的第一队列,若上次所述 中断尚未执行完所述高优先级的第一队列任务,则继续执行所述高优先级第一队列任务。 [0011] 上述方案中,对于第一阶段分为的所述不同的优先级别的第一队列,若高优先级 任务连续执行时间超过阀值,则优先级反转,将低优先级的第一队列级别提升,使用CPU。
[0012] 上述方案中,第二阶段中将所述计算任务排序具体指,所述数据结构为表达式树, 从根节点向叶子节点迭代,对于需要优先执行的计算任务归为第二变量类型,需要根据第 二变量执行结果而执行的计算任务归为第一变量类型,按照所述第一变量和所述第二变 量,排列出第二队列。
[0013] 上述方案中,所述发出动作信号,从而触发所述队列中任务的执行具体指:将所述 队列中的任务依次从队列中出列,计算逻辑结果;根据所述逻辑结果和注册属性,同步触发 回调函数,向系统总线发出动作信号,引起联锁、控制、AVR、AGC动作行为。
[0014] 本发明实施例还提供了一种电力自动化任务调度及触发机制的系统,包括共享内 存、系统内存、处理器、系统总线,其中,所述处理器与所述共享内存、所述系统内存、所述系 统总线相连接;
[0015] 所述处理器用于从所述共享内存中读取配置信息并建立数据结构并加载至所述 系统内存;所述处理器扫描输入信息,将所述输入信息表达的任务,根据所述数据结构排成 至少一个队列;所述处理器向所述系统总线发送动作信号,触发所述队列中任务的执行。
[0016] 上述方案中,所述触发所述队列中任务的执行,包括联锁、控制、AVR、AGC动作行为 的执行。
[0017] 上述方案中,所述处理器扫描输入信息;将所述输入信息表达的任务,根据所述任 务的属性将所述任务划分到至少一个队列;所述处理器根据所述队列中任务的排列顺序, 发出动作信号,触发所述队列中任务的执行。
[0018] 本发明的有益效果是:通过这样的任务调度及触发机制实现方法、系统和处理器, 提高任务的执行效率,解决了时序错乱的问题,灵活的触发动作特性,解决了传统逻辑行为 单一的弊端。
【附图说明】
[0019] 图1为传统电力系统的任务调度及触发方法示意图;
[0020] 图2为该专利所采用的任务调度及触发方法示意图。
【具体实施方式】
[0021] 本发明提供一种用于电力系统的任务调度及触发机制的方法,具体步骤包括:处 理器扫描输入信息,将所述输入信息表达的任务,根据所述任务的属性将所述任务划分到 至少一个队列;所述处理器根据所述队列中任务的排列顺序,发出动作信号,从而触发所述 队列中任务的执行。
[0022] 其中,在处理器进行扫描之前,该方法还可以包括步骤:处理器从共享内存中读取 配置信息并建立数据结构。该数据结构可以为表达式树。
[0023] 建立表达式树具体可以为:在操作系统侧加载配置文件到共享内存,处理器侧从 共享内存中读取配置信息,根据输入、输出和公式三要素形成关联关系,建立表达式树。举 例说明,加载配置文件至系统内存,解析逻辑配置文件,建立概要表项、输入表项、输出表 项、公式表项,根据输入、输出、公式三要素,经语法分析生成基于父子兄节点的表达式树。
[0024] 举例说明,本发明使用了的配置文本可以包括以下关键字段:
[0025] >文件概要GENERAL :描述了文件格式版本、生成时间、IED name、IED Desc等属 性,用于配置文本的管理;
[0026] >文件尺寸SIZE :描述了输入数量、输出数量及公式数量,为建立关联关系做概要 说明;
[0027] >输入变量INPUT_x :描述输入的属性,包括信号特征、信号来源、DataRef、短地 址、描述等;
[0028] >输出变量0UTPUT_x:描述输出的属性,包括行为特征,信号虚实特征、短地址、描 述、参数等;
[0029] >公式F0RMULA_x :描述公式表达式,将输入与输出关联起来;
[0030] >文件校验FILE_CHECK :描述文件校验和,防止文件损坏或者被篡改;
[0031] 排队可以分为两个阶段。第一阶段的排队,由处理器根据扫描输入信息,例如扫描 输入当前数据。将这些数据所表达的任务压入不同的优先级队列。在此以高、低两个优先 级队列为例。例如,可以将某个数据的输入的值与该数据的原值比较确定变化量,当变化量 超过一个门槛值时,认为存在较大变化,将这个数据所表达的任务压入高优先级队列。相 反,如果该变化量没有超过该门槛值时,认为变化较小,则将这个数据所表达的任务压入低 优先级队列。
[0032] 另外,也可以依据周期循环和突变触发机制,将突发数据所表达的任务压入高优 先级队列,周期数据所表达的任务压入低优先级队列。举例说明:依据周期循环和突变触发 机制,将突发数据标注高优先级标签,周期数据标注低优先级标签。举例:输入为X1、X2,输 出为Y1=X1+X2, Y2=X1 - X2, Y3=X2+3,若Xl突发,则触发Yl、Y2变化,将Yl、Y2标注高优先 级标签,Υ3为低优先级标签;
[0033] 进一步的,还可以设置对高优先级任务和低优先级任务的反转功能。若高优先级 任务占用中断时间过长,及时提升低优先级队列中任务的优先级,避免低优先级任务无法 使用CPU。这样形成优先级反转,以此实现剥夺式策略,即,当任务正在处理器上运行时,系 统可根据所规定的原则剥夺分配给此任务的处理器,选择其他任务运行。
[0034] 第二阶段的排队指,在第一阶段排队后的不同优先级队列中,有多个待执行的任 务。对于每个队列中任务的执行先后顺序,可以根据所建立的表达式树,并使用不同的变量 来区分任务执行的顺序,从而保证任务执行有序,不发生计算冲突。
[0035] 在此以两个变量类型举例。使用第一变量和第二变量,对表达式树进行分析,从上 而下依次从父亲节点、孩子节点迭代直到叶子节点。
[0036] 举例说明排队过程:第一变量可以称为实变量,第二变量可以称为虚变量,使用两 个变量类型采用自顶向下法迭代计算优先级并排序,确保其时序一致性,避免时序错乱。举 例:Υ1=Υ2+Χ2,Υ2=Χ1+5。经语法分析:Yl应为Y2的父亲节点,计算优先级从Yl向下迭代至 Υ2。这里Υ2属于虚变量应先进行计算,Yl属于实变量应后计算。依次类推,若存
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1