一种任务处理方法、设备及计算机存储介质的制作方法_2

文档序号:9865306阅读:来源:国知局
[0053]具体的,所述配置预设逻辑规则按照脚本语言要求进行配置,即:按照脚本语言要求配置基本语言要素,所述基本语言要素至少包括:四则运算、逻辑运算、条件语句(语句关键字段如if/else)、跳转语句(语句关键字段如goto)、循环语句(语句关键字段如dowhile),并且按照脚本语言要求配置函数功能块,所述函数功能块至少包括以下函数功能块的至少之一:开关分/合(关键字段相应如cbOpen或cbClose)、档位升/降/停(关键字段相应如tapeUp、tapeDown、tapeStop)、软压板投/退、定值修改;其中,所述四则运算包括:加(+)运算、减㈠运算、乘(*)运算和除(/)运算;所述逻辑运算包括:逻辑与(&&)运算、逻辑或(I I)运算、逻辑非(!)运算、逻辑异或Γ)运算;所述预设逻辑规则配置完成后,基于所述预设逻辑规则按照应用需求配置生成流程图表征的任务流程信息,不同的应用需求可配置生成不同的任务流程信息;因此,本发明实施例中,用户可按不同的应用需求配置生成不同的任务流程信息,从而无需重新编码固件及烧写全部的应用程序。
[0054]步骤102:根据所述任务流程信息生成通过脚本语言表征的任务配置文件。
[0055]这里,所述任务配置文件至少包括以下关键字段:
[0056]文件概要字段(GENERAL),所述GENERAL字段描述了文件格式版本、生成时间、智能设备名称(IH) name)、智能设备描述(IED Desc)等属性,用于配置文本的管理;
[0057]文件尺寸字段(SIZE),所述SIZE字段描述了输入数量、输出数量、公式数量及脚本数量,为建立语法关系做概要说明;
[0058]输入变量字段(INPUT_x),所述INPUT_x字段描述输入的属性,包括:信号特征、信号来源、数据引用(DataRef)、短地址、描述等;
[0059]输出变量字段(0UTPUT_x),所述0UTPUT_x字段描述输出的属性,包括:行为特征,信号虚实特征、短地址、描述、参数等;
[0060]公式(F0RMULA_x)字段,所述F0RMULA_x字段描述公式表达式,将输入与输出关联起来;
[0061]脚本(SCRIPT_x)字段,所述SCRIPT_x字段描述脚本规则,采用所述0UTPUT_x字段等结果作为变量参与脚本,完成顺序流程控制。
[0062]文件校验(FILE_CHECK)字段,所述FILE_CHECK字段描述文件校验和,防止文件损坏或者被篡改。
[0063]步骤103:扫描所述任务配置文件,根据所述任务配置文件生成数据结构,基于所述数据结构生成至少一个任务。
[0064]本实施例中所述的任务处理方法可应用于具有共享内存和系统内存的设备中;所述共享内存可以是所述设备中主要针对操作系统的存储空间;所述系统内存可以是所述设备中主要针对实时性操作的存储空间;则步骤102所述的根据所述任务流程信息生成通过脚本语言表征的任务配置文件之后,所述方法还包括:
[0065]将所述任务配置文件存储在共享内存中;
[0066]相应的,本步骤中所述的扫描所述任务配置文件,根据所述任务配置文件生成数据结构,包括:从所述共享内存中读取所述任务配置文件,将所述任务配置文件加载至系统内存;在所述系统内存中按预设解析方式解析所述任务配置文件,生成至少包括符号表、语法树和解释器的数据结构。
[0067]具体的,将所述任务配置文件加载至系统内存,解析所述任务配置文件,所述解析方式包括词法扫描、语法扫描、语义分析等过程,基于所述任务配置文件中的各个字段,具体为:根据输入变量字段(INPUT_x)、输出变量字段(0UTPUT_x)、公式(F0RMULA_x)字段和脚本(SCRIPT_x)字段形成关联关系,基于所述关联关系生成符号表、表达树和解释器等数据结构。
[0068]依据本发明实施例的另一实施例中,所述基于所述数据结构生成至少一个任务之后,所述方法还包括:根据所述至少一个任务的属性参数将所述至少一个任务分配到至少两个队列中;其中,所述至少两个队列至少包括:需要人机交互的开环队列和无需人机交互的闭环队列。
[0069]所述基于所述至少一个任务的属性参数将所述至少一个任务分配到至少两个队列中,包括:当所述至少一个任务中任一任务的属性参数存在特定参数时,将所述任务分配到需要人机交互的开环队列中;当所述至少一个任务中任一任务的属性参数不存在所述特定参数时,将所述任务分配到无需人机交互的闭环队列中。
[0070]具体的,本实施例中所述的任务通过数据结构生成,因此所述任务也通过所述数据结构表征;这里,所述任务的属性参数具体可以是所述数据结构中语法树中提取的语言特征参数,当所述语言特征参数中包括如发送报告(sendR印ort)、等待用户确认令(waitForUserCmd)等表征人机交互接口的特定参数时,将所述任务分配至需要人机交互的开环队列中,设备中提供开环运行模式,需要人机交互操作决定相应任务之后的行为;当所述语言特征参数中不包括上述特定参数时,将所述任务分配到无需人机交互的闭环队列中,设备中提供闭环运行模式,无需人机交互操作,为相应的应用提供独立出口。
[0071]本实施例中,所述至少一个任务形成至少一个独立进程,或者形成一个独立进程下的若干个线程。
[0072]步骤104:分别根据所述至少一个任务发出至少一个动作信号,分别执行所述至少一个动作信号表征的动作。
[0073]这里,所述分别根据所述至少一个任务发出动作信号,包括:根据任务中的解释器的逻辑结果和所述任务中的功能调用属性参数所表征的功能触发回调函数,基于所述回调函数发出动作信号;其中,所述动作信号至少包括以下动作信号的至少之一:开关分信号/合信号、档位升信号/降信号/停信号、软压板投信号/退信号、定值修改信号。
[0074]基于上述回调函数发出动作信号分别执行所述至少一个动作信号表征的动作,所述动作至少包括以下动作的至少之一:开关分/合、档位升/降/停、软压板投/退、定值修改。
[0075]其中,所述“开关分/合”表征开关的分闸/合闸(即线路的断开/连通),所述开关分/合可用于变电站的开关设备,当所述动作为“开关分”时,表征所述开关分闸操作,即输电线路断开;相应的,当所述动作为“开关合”时,表征所述开关合闸操作,即输电线路连通。
[0076]所述“档位升/降/停”可用于变电站的变压器中,当输电电压出现抖动(即输电电压升高或降低)时,变压器需调节输电电压,根据所述输电电压的抖动情况,相应的降低或升高输电电压,则“档位升”表征升高输电电压;“档位降”表征降低输电电压;“档位停”表征停止对输电电压的调整。
[0077]所述“软压板投/退”可以是变电站的任意功能开关,所述“软压板投”表征所述功能开关的开启;所述“软压板退”表征所述功能开关的关闭。具体的,所述功能开关为通过软件程序编写的开关,即虚拟开关。所述功能开关可通过赋值“O”或“I”表征所述功能开关的关闭或开启。
[0078]所述“定值修改”可以是变电站中的任意可设定的数值,例如分闸脉宽500毫秒。
[0079]具体的,当所述至少一个任务形成至少一个独立进程,或者形成一个独立进程下的若干个线程时,根据所述进程或线程中的解释器的逻辑结果和所述任务中的功能调用属性参数所表征的功能触发回调函数,基于所述回调函数发出动作信号,从而触发相应的触发表,执行所述触发表表征的动作。这里,所述至少一个任务实例化为至少一个任务实体,所述任务实体用语法树等数据结构表征,这些数据结构的执行依赖于解释器;系统中提供独立的解释器库,所述解释器库为动态库模式,为所有任务提供独立的代码空间和部分系统数据空间;各任务通过库调用解释执行所述任务,最终获得一系列的动作,例如开关的开/合。
[0080]本实施例中采用并行机制,将开环队列和闭环队列实例化为至少一个任务实体,各任务实体之间互不交互,独立执行;图2为本发明实施例中任务处理的示意图;如图2所示,任务集合中实例化为N个任务,如图中所示的任务1、任务2至任务N ;各任务实体由解释器解释执行;根据所述解释器的逻辑结果和所述任务中的功能调用属性参数所表征的功能触发回调函数,同步触发回调函数,从而触发相应的触发表,向系统总线发出动作信号,引起控制、顺序控制(SC, Sequence Control)、自动电压控制(AVR, Auto VoltageRegular)、自动发电控制(AGC, Auto Generat1n Control)等动作行为。
[0081]依据本发明实施例的另一实施例中,每个任务的数据结构中都包括动作执行的次数,所述动作执行的次数表征相应任务的生命周期
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1