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

文档序号:9865306阅读:来源:国知局
tal Signal Processor)或可编程门阵列(FPGA,Field — Programmable Gate Array)实现。
[0113]本发明实施例还提供了一种任务处理方法;图4为本发明实施例的任务处理方法的详细流程示意图;如图4所示,所述任务处理方法包括:
[0114]步骤401:配置任务流程信息。
[0115]本实施例中,所述任务流程信息具体可通过任务流程控制图表示;则本步骤首先配置预设逻辑规则;根据所述预设逻辑规则生成通过流程图表征的任务流程信息;其中,所述预设逻辑规则至少包括:四则运算、逻辑运算、条件语句、跳转语句、循环语句和函数功能块;其中,所述函数功能块至少包括以下函数功能块的至少之一:开关分功能/合功能、档位升功能/降功能/停功能、软压板投功能/退功能、定值修改功能。
[0116]具体的,所述配置预设逻辑规则按照脚本语言要求进行配置,即:按照脚本语言要求配置基本语言要素,所述基本语言要素至少包括:四则运算、逻辑运算、条件语句(语句关键字段如if/else)、跳转语句(语句关键字段如goto)、循环语句(语句关键字段如dowhile),并且按照脚本语言要求配置函数功能块,所述函数功能块至少包括以下函数功能块的至少之一:开关分/合(关键字段相应如cbOpen或cbClose)、档位升/降/停(关键字段相应如tapeUp、tapeDown、tapeStop)、软压板投/退、定值修改;其中,所述四则运算包括:加(+)运算、减㈠运算、乘(*)运算和除(/)运算;所述逻辑运算包括:逻辑与(&&)运算、逻辑或(I I)运算、逻辑非(!)运算、逻辑异或Γ)运算;所述预设逻辑规则配置完成后,基于所述预设逻辑规则按照应用需求配置生成流程图表征的任务流程信息,不同的应用需求可配置生成不同的任务流程信息;因此,本发明实施例中,用户可按不同的应用需求配置生成不同的任务流程信息,从而无需重新编码固件及烧写全部的应用程序。
[0117]步骤402:根据所述任务流程信息生成任务配置文件。
[0118]这里,所述任务配置文件至少包括以下关键字段:
[0119]文件概要字段(GENERAL),所述GENERAL字段描述了文件格式版本、生成时间、智能设备名称(IH) name)、智能设备描述(IED Desc)等属性,用于配置文本的管理;
[0120]文件尺寸字段(SIZE),所述SIZE字段描述了输入数量、输出数量、公式数量及脚本数量,为建立语法关系做概要说明;
[0121 ] 输入变量字段(INPUT_x),所述INPUT_x字段描述输入的属性,包括:信号特征、信号来源、DataRef、短地址、描述等;
[0122]输出变量字段(0UTPUT_x),所述0UTPUT_x字段描述输出的属性,包括:行为特征,信号虚实特征、短地址、描述、参数等;
[0123]公式(F0RMULA_x)字段,所述F0RMULA_x字段描述公式表达式,将输入与输出关联起来;
[0124]脚本(SCRIPT_x)字段,所述SCRIPT_x字段描述脚本规则,采用0UTPUT_x字段等结果作为变量参与脚本,完成顺序流程控制。
[0125]文件校验(FILE_CHECK)字段,所述FILE_CHECK字段描述文件校验和,防止文件损坏或者被篡改。
[0126]步骤403:操作系统将所述任务配置文件加载到共享内存。
[0127]本实施例中所述的任务处理方法可应用于具有共享内存和系统内存的设备中;所述共享内存可以是所述设备中主要针对操作系统的存储空间;所述系统内存可以是所述设备中主要针对实时性操作的存储空间
[0128]步骤404:处理器从所述共享内存中读取所述任务配置文件,对所述任务配置文件进行循环冗余校验码(CRC, Cyclic Redundancy Check)校验。
[0129]这里,所述任务配置文件中的预设字段设置有校验码,所述预设字段如所述任务配置文件中的最后四个字节;所述处理器从所述任务配置文件的文件头中读取二进制信息校验码,按预设算法对所述二进制校验码进行计算,当计算后的二进制校验码与所述任务配置文件中的校验码匹配一致时,说明CRC校验成功,文件未被篡改或破坏,继续执行后续操作流程;当计算后的二进制校验码与所述任务配置文件中的校验码匹配不一致时,说明文件被篡改或破坏,则不执行后续操作流程。
[0130]步骤405:根据所述任务配置文件依次建立概要表项、输入表项、输出表项、公式表项、脚本表项。
[0131]其中,可根据所述任务配置文件中的GENERAL字段和SIZE字段建立概要表项;可根据所述任务配置文件中的INPUT_x字段建立输入表项;可根据所述任务配置文件中的0UTPUT_x字段建立输出表项;可根据所述任务配置文件中的F0RMULA_x字段建立公式表项;可根据所述任务配置文件中的SCRIPT_x字段建立脚本表项。
[0132]步骤406:根据输入表项、输出表项、公式表项、脚本表项等要素,经过词法扫描、语法扫描、语义分析建立符号表、语法树及解释器等数据结构。
[0133]步骤407:将至少一个任务分配到至少两个队列,并行处理所述至少一个任务。
[0134]本步骤中,所述至少两个队列至少包括:需要人机交互的开环队列和无需人机交互的闭环队列。当所述至少一个任务中任一任务的属性参数存在特定参数时,将所述任务分配到需要人机交互的开环队列中;当所述至少一个任务中任一任务的属性参数不存在所述特定参数时,将所述任务分配到无需人机交互的闭环队列中。
[0135]具体的,本实施例中所述的任务通过数据结构生成,因此所述任务也通过所述数据结构表征;这里,所述任务的属性参数具体可以是所述数据结构中语法树中提取的语言特征参数,当所述语言特征参数中包括如发送报告(sendR印ort)、等待用户确认令(waitForUserCmd)等表征人机交互接口的特定参数时,将所述任务分配至分配到需要人机交互的开环队列中,设备中提供开环运行模式,需要人机交互操作决定相应任务之后的行为;当所述语言特征参数中不包括上述特定参数时,将所述任务分配到无需人机交互的闭环队列中,设备中提供闭环运行模式,无需人机交互操作,为相应的应用提供独立出口。无需人为配置所述特定参数。
[0136]本实施例中,所述至少一个任务形成至少一个独立进程,或者形成一个独立进程下的若干个线程;并且,将开环队列和闭环队列实例化为至少一个任务实体,各任务实体之间互不交互,独立执行。
[0137]步骤408:通过库调用,解释执行所述至少一个任务。
[0138]这里,所述至少一个任务实例化为至少一个任务实体,所述任务实体用语法树等数据结构表征,这些数据结构的执行依赖于解释器;系统中提供独立的解释器库,所述解释器库为动态库模式,为所有任务提供独立的代码空间和部分系统数据空间;各任务通过库调用解释执行所述任务。
[0139]步骤409:从触发表项中提取触发行为,触发回调函数,向系统总线发出动作信号;所述动作信号至少包括以下动作信号的至少之一:开关分信号/合信号、档位升信号/降信号/停信号、软压板投信号/退信号、定值修改信号。
[0140]这里,当所述至少一个任务形成至少一个独立进程,或者形成一个独立进程下的若干个线程时,根据所述进程或线程中的解释器的逻辑结果和所述任务中的功能调用属性参数所表征的功能触发回调函数,基于所述回调函数发出动作信号,从而触发相应的触发表,执行所述触发表表征的动作,从而向系统总线发出动作信号,引起控制、顺序控制(SC,Sequence Control)、自动电压控制(AVR, Auto Voltage Regular)、自动发电控制(AGC,Auto Generat1n Control)等动作行为。
[0141]基于上述动作信号,分别执行所述至少一个动作信号表征的动作,所述动作至少包括以下动作的至少之一:开关分/合、档位升/降/停、软压板投/退、定值修改。
[0142]其中,所述“开关分/合”表征开关的分闸/合闸(即线路的断开/连通),所述开关分/合可用于变电站的开关设备,当所述动作为“开关分”时,表征所述开关分闸操作,即输电线路断开;相应的,当所述动作为“开关合”时,表征所述开关合闸操作,即输电线路连通。
[0143]所述“档位升/降/停”可用于变电站的变压器中,当输电电压出现抖动(即输电电压升高或降低)时,变压器需调节输电电压,根据所述输电电压的抖动情况,相应的降低或升高输电电压,则“档位升”表征升高输电电压;“档位降”表征降低输电电压;“档位停”表征停止对输电电压的调整。
[0144]
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1