一种电力保护测控装置遥控指令操作方法与流程

文档序号:30493811发布日期:2022-06-22 03:02阅读:323来源:国知局
一种电力保护测控装置遥控指令操作方法与流程

1.本发明涉及遥控管理技术领域,具体涉及一种电力保护测控装置遥控指令操作方法。


背景技术:

2.最初的电力保护测控装置的遥控操作是针对开关、刀闸等有外部实际控制设备的远方操作,由于初期操控对象单一,遥控操作基本都采用一步到底的设计方式,即:任一上位机遥控命令下发后都要在接收遥控命令任务内将命令接收、逻辑判断、实际出口的触发等步骤进行处理并完成。对于单一类型遥控,这种操作方法实现起来相对简单。但随着电力系统需求的提升,出现了goose、软压板等类型的遥控,测控装置内对应进行遥信、参数的修改,如图1所示,传统的遥控操作方法势必造成每个接收遥控命令任务都要进行遥控对象的类型识别,并按照各自类型分发不同的操作指令,实现逻辑较为繁杂,不能保证遥控操作的一致性,且在代码实现上会出现大量的重复工作,工作效率低下。当出现新增任务或遥控类型,或者修改某种遥控功能要求时,需要对涉及到的各通讯任务模块作增删修改,工作量非常大。


技术实现要素:

3.本发明提出了一种电力保护测控装置遥控指令操作方法,其目的是:改进传统的遥控操作方法,保证遥控操作的一致性,提高遥控操作的工作效率。
4.本发明技术方案如下:一种电力保护测控装置遥控指令操作方法,包括如下步骤:s1:对外任务接收新的遥控指令,并传递至遥控管理任务;s2:遥控管理任务对所述遥控指令进行合法性判断,若满足合法性判断条件则根据当前遥控指令操作任务的执行状态和遥控指令的不同类型分别进行处理;s3:遥控管理任务通知底层出口任务,等待底层出口任务返回底层执行结果;s4:底层出口任务进行出口控制或参数操作,执行完毕将底层执行结果返回至遥控管理任务;s5:遥控管理任务接收到底层执行结果,根据遥控指令的不同类型进行相应处理;s6:遥控管理任务将指令执行结果传递至对外任务,完成当前遥控指令操作。
5.进一步地,所述遥控指令操作方法还包括遥控管理任务初始化,所述遥控管理任务初始化包括建立相互对应的实际参数库和逻辑库,在实际参数库中定义需要对外提供的遥控,用于使遥控指令操作任务从所述实际参数库中引用相关的遥控信息。
6.在实际参数库和逻辑库之间制定映射规则,根据所述映射规则生成逻辑库引用操作对象至实际参数库的映射表。
7.在逻辑库中索引遥控功能的实现模块,用于使遥控指令操作任务从所述逻辑库中引用实际的操作对象。
8.进一步地,步骤s3所述通知底层出口任务的实现方式为:遥控管理任务通过实际参数库和逻辑库之间的映射表找到操作对象的实现模块,以消息或函数调用的方式将遥控指令传递至底层出口任务。
9.进一步地,所述步骤s4通过底层出口函数实现,若出现新的遥控类型,在所述逻辑库中索引新的出口参数,在所述实际参数库中新增对应的出口,将新增的出口添加至所述映射表内,在所述底层出口函数中新增对应的出口类型。
10.进一步地,步骤s2所述合法性判断通过合法性检查函数实现,若对于遥控功能有新的要求,在所述合法性检查函数中增加相应的功能模块。
11.进一步地,所述遥控指令操作方法还包括遥控指令操作任务初始化,所述遥控指令操作任务初始化将遥控指令操作任务的执行状态划分为空闲状态、忙碌状态和等待执行状态,并将初始执行状态设置为空闲状态。
12.进一步地,步骤s2所述根据当前遥控指令操作任务的执行状态和遥控指令的不同类型分别进行处理具体包括如下步骤:s2-1:判断当前遥控指令操作任务的执行状态,若处于空闲状态,则执行步骤s2-2-1,若处于等待执行状态,则执行步骤s2-2-2,若不处于空闲状态或等待执行状态,则判定当前遥控指令操作任务处于忙碌状态,转至步骤s2-2-3;s2-2-1:判断当前遥控指令的类型是否为预置指令或直控指令,是则保存当前遥控指令信息,并转至步骤s2-3-1,否则转至步骤s2-3-2;s2-2-2:判断当前遥控指令的类型是否为执行指令或撤销指令,否则直接转至步骤s2-3-2,是则检查已保存的遥控指令信息和当前遥控指令信息是否一致,是则转至步骤s2-3-1,否则转至步骤s2-3-2;s2-2-3:拒绝所有类型的遥控指令,等待当前遥控指令操作完成,返回步骤s2-1;s2-3-1:将当前遥控指令操作任务的执行状态转换为忙碌状态,转至步骤s3;s2-3-2:将当前遥控指令操作任务的执行状态转换为空闲状态,清除保存的遥控指令信息,标记指令执行失败,转至步骤s6。
13.进一步地,步骤s5所述根据遥控指令的不同类型进行相应处理具体为:若当前遥控指令为预置指令,则将当前遥控指令操作任务的执行状态转换为等待执行状态,标记指令执行成功,转至步骤s6;若当前遥控指令为执行指令、撤销指令或直控指令,则将当前遥控指令操作任务的执行状态转换为空闲状态,标记指令执行成功,转至步骤s6。
14.进一步地,步骤s2所述合法性判断包括远方就地状态判断和操作对象合法性判断,若装置遥控指令操作处于远方状态且操作对象合法,则认为所述遥控指令满足合法性判断条件。
15.进一步地,所述步骤s5还包括,若遥控管理任务在预置时间段内未接收到底层执行结果,则将当前遥控指令操作任务的执行状态转换为空闲状态,清除保存的遥控指令信息,标记指令执行失败,转至步骤s6。
16.相对于现有技术,本发明具有以下有益效果:(1)将遥控指令操作划分为对外任务、遥控管理任务和底层出口任务,对外任务只负责接收遥控指令,各类遥控操作判断由遥控管理任务统一实现,底层出口任务只负责出
口控制或操作参数,相对于传统方法,本方法使得遥控操作的逻辑性更加明晰,保证了遥控操作的一致性,简化了装置内的遥控操作流程,提高了遥控操作的工作效率;(2)遥控指令操作过程中,通过实际参数库和逻辑库之间的映射关系快速找到操作对象的实现模块,完成遥控指令从遥控管理任务至底层出口任务的传递,进一步提高了遥控操作的效率;(3)对外任务、遥控管理任务和底层出口任务的分工,实现了规约任务和操控对象的解耦,提高了遥控操作的兼容性及扩展性,极大地减少了后续新增任务、遥控类型、功能改动时的维护工作量;(4)对外任务、遥控管理任务和底层出口任务的分工,实现了代码的解耦,避免了遥控操作在代码实现上大量的重复工作。
附图说明
17.图1为传统方法的逻辑示意图;图2为本方法的逻辑示意图;图3为本方法的映射关系图;图4为本方法的流程图。
具体实施方式
18.下面结合附图详细说明本发明的技术方案:首先进行遥控指令操作任务初始化和遥控管理任务初始化。
19.所述遥控指令操作任务初始化将遥控指令操作任务的执行状态划分为空闲状态co_null、忙碌状态co_busy和等待执行状态co_waitoper,并将初始执行状态设置为空闲状态co_null,等待新的遥控指令出现。
20.如图2及图3所示,所述遥控管理任务初始化包括建立相互对应的实际参数库ykreal和逻辑库yklog,在实际参数库中定义需要对外提供的遥控,对各遥控的出口时间、返校位置、逻辑闭锁进行配置,用于使遥控指令操作任务从所述实际参数库ykreal中引用相关的遥控信息,对外转发任务(串口103、网络103、面板通讯等)、短地址关联任务(61850等)都从该实际参数库ykreal引用相关的遥控信息,保证遥控索引的一致性。
21.在实际参数库ykreal和逻辑库yklog之间制定映射规则,根据所述映射规则生成逻辑库引用操作对象至实际参数库ykreal的映射表,包括操作对象的设备编号、出口类型、出口偏移。
22.在逻辑库yklog中索引遥控功能的实现模块,用于使遥控指令操作任务从所述逻辑库yklog中引用实际的操作对象。遥控指令任务操作过程中,依据所述映射规则从can出口、cpu的i/o、goose出口、软压板、核间或子cpu板等引用实际的操作对象。
23.如图4,所述电力保护测控装置遥控指令操作方法包括如下步骤:s1:对外任务接收遥控指令,并传递至遥控管理任务。
24.s2:在遥控管理任务中定义合法性检查函数,通过合法性检查函数对所述遥控指令进行合法性判断,包括远方就地状态判断和操作对象合法性判断,若装置遥控指令操作处于远方状态且操作对象合法,则认为所述遥控指令满足合法性判断条件。
25.若满足合法性判断条件则根据当前遥控指令操作任务的执行状态和遥控指令的不同类型分别进行处理,具体包括如下步骤:s2-1:判断当前遥控指令操作任务的执行状态,若处于空闲状态co_null,则执行步骤s2-2-1,若处于等待执行状态co_waitoper,则执行步骤s2-2-2,若不处于空闲状态co_null或等待执行状态co_waitoper,则判定当前遥控指令操作任务处于忙碌状态co_busy,转至步骤s2-2-3;s2-2-1:判断当前遥控指令的类型是否为预置指令或直控指令,是则保存当前遥控指令信息,包括当前指令的操作对象及操作值,并转至步骤s2-3-1,否则转至步骤s2-3-2;s2-2-2:判断当前遥控指令的类型是否为执行指令或撤销指令,否则直接转至步骤s2-3-2,是则检查已保存的遥控指令信息和当前遥控指令信息是否一致,是则转至步骤s2-3-1,否则转至步骤s2-3-2;s2-2-3:拒绝所有类型的遥控指令,以保证当前遥控指令操作的唯一性,等待当前遥控指令操作完成,返回步骤s2-1;s2-3-1:将当前遥控指令操作任务的执行状态转换为忙碌状态co_busy,转至步骤s3;s2-3-2:拒绝执行遥控,将当前遥控指令操作任务的执行状态转换为空闲状态co_null,清除保存的遥控指令信息,标记指令执行失败,转至步骤s6。
26.若所述遥控指令不满足合法性判断条件,则拒绝执行遥控,并将当前遥控指令操作任务的执行状态转换为空闲状态co_null,清除保存的遥控指令信息,标记指令执行失败,转至步骤s6。
27.s3:遥控管理任务通知底层出口任务,等待底层出口任务返回底层执行结果。
28.具体地,通知底层出口任务的实现方式为:遥控管理任务通过实际参数库ykreal和逻辑库yklog之间的映射表找到操作对象的实现模块,以消息或函数调用的方式将遥控指令传递至底层出口任务。如,定义一个逻辑库索引实际操作对象的类型判断及指令分发函数,完成指令到底层的接口功能。
29.s4:在底层出口任务中定义底层出口函数,进行出口控制或参数操作,执行完毕将底层执行结果返回至遥控管理任务。
30.s5:在遥控管理任务中定义一个指令执行超时及结果接收函数,无论执行超时还是接收到失败或成功的执行结果,都结束本次遥控,以等待新的指令。
31.具体地,遥控管理任务接收到底层执行结果时,根据遥控指令的不同类型进行相应处理:若当前遥控指令为预置指令,则将当前遥控指令操作任务的执行状态转换为等待执行状态co_waitoper,标记指令执行成功,转至步骤s6;若当前遥控指令为执行指令、撤销指令或直控指令,则将当前遥控指令操作任务的执行状态转换为空闲状态co_null,标记指令执行成功,转至步骤s6。
32.若遥控管理任务在预置时间段内未接收到底层执行结果,则将当前遥控指令操作任务的执行状态转换为空闲状态co_null,清除保存的遥控指令信息,标记指令执行失败,转至步骤s6。
33.s6:遥控管理任务将指令执行结果传递至对外任务,完成当前遥控指令操作。
34.等待新的遥控指令出现,重复执行步骤s1-s6。
35.通过以上步骤的实施,对外通讯的规约任务遥控功能的实现,仅需要完成指令到实际参数库ykrealykreal的消息传递,不再需要其他的判断、实际出口调用。底层i/o、goose或参数修改也可以实现模块设计,各自独立。遥控管理任务内,因为映射表的存在,操作流程也更为明晰,操作步骤也大大减少。
36.以装置接收到一个61850任务的遥控指令为例,具体的执行逻辑如下:对外任务接收到遥控指令时,进行报文解码后,通过其关联的短地址解析出对应设备编号、遥控偏移,将相应的遥控指令(控分或控合)、设备编号、遥控偏移等数据,发送至遥控管理任务。
37.遥控管理任务被新的遥控指令唤醒后,进行合法性判断,满足合法性判断条件则根据当前遥控指令操作任务的执行状态和遥控指令的不同类型分别进行处理,通过映射表快速找到被操作对象的实际实现模块或任务,以消息或事件等方式快速将遥控指令传递至底层出口任务,遥控管理任务下发指令后进入结果等待及超时判断状态。
38.底层出口任务完成遥控指令并返回底层执行结果,遥控管理任务再次被唤醒,接收底层执行结果并上送至对外任务,完成本次遥控指令操作,更改当前遥控指令操作任务的执行状态。若超过预置时间段未收到底层执行结果,则主动发送撤销命令并结束本次遥控,通知对外任务遥控失败,将当前遥控指令操作任务的执行状态置为空闲状态co_null。
39.进一步地,若出现新的遥控类型,在所述逻辑库yklog中索引新的出口参数,在所述实际参数库ykreal中新增对应的出口,将新增的出口添加至所述映射表内,在所述底层出口函数中新增对应的出口类型,即可实现新的出口类型。例如,新的遥控类型为测控板出口(子cpu板上),底层出口函数的伪代码如下:底层出口函数{
ꢀꢀ
遥控指令查找映射表,找到指令对应的设备编号、遥控类型、遥控编号;
ꢀꢀ
switch (遥控类型)
ꢀꢀ
{
ꢀꢀ
case
ꢀꢀ
can出口:区分指令类别(预置、执行、撤销、直控);针对不同类别做不同处理;消息通知can网出口;
ꢀꢀꢀꢀꢀꢀꢀꢀ
break;
……ꢀꢀ
case 测控板出口:区分指令类别(预置、执行、撤销、直控);针对不同类别做不同处理;通过板卡间通讯下发测控板遥控指令;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
break;
ꢀꢀ
default break;
ꢀꢀ
}
ꢀꢀ
do something;}进一步地,若对于遥控功能有新的要求,仅需要修改遥控管理任务内的合法性检查函数,在所述合法性检查函数中增加相应的功能模块,满足需求即可。例如,需要增加位置判断时,在合法性检查函数内增加位置判断,定义被控对象分位时只接收控合指令,被控对象合位时只接收控分指令。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1