基于稳控策略可视化编程自动生成装置代码的方法、装置及系统与流程

文档序号:32610665发布日期:2022-12-20 19:47阅读:39来源:国知局
基于稳控策略可视化编程自动生成装置代码的方法、装置及系统与流程

1.本发明属于电力系统及其自动化技术领域,具体涉及一种基于稳控策略可视化编程自动生成装置代码的方法、装置及系统。


背景技术:

2.安全稳定控制策略主要采用定制开发的方式,对核心人员的技术依赖性大,可靠性进一步提升受人为影响因素较大,且开发成本、开发周期较高。随着系统保护的不断建设,对装置快速开发、快速部署、快速验证提出了更高的要求,传统的依赖人工代码编程的方式越来越难以适应。面对系统保护测试验证需求,传统稳控系统的设计、开发和验证模式,存在如下不足:
3.1)缺少决策逻辑建模及验证方法。不同区域系统保护控制逻辑随着电网特性、控制对象等呈现差异化;同时在测试过程中,经常面临对控制逻辑的反复迭代修改,针对系统保护控制决策逻辑多样及动态迭代的特点,目前尚无高效的决策逻辑建模方法。同时,对复杂控制策略的逻辑,缺乏有效的逻辑验证和分析方法,如果在实际闭环测试前就发现逻辑上的缺陷,将大大提高测试的效率。
4.2)缺乏稳控策略核心代码的高效、可信开发方法。当前核心控制代码基于人工开发的模式,不仅开发周期长,而且软件代码与控制需求是否一致,这高度依赖程序员个人能力和经验。随着系统保护控制逻辑成倍增加、故障和运行方式的不确定性急剧增大,软件代码与控制需求不一致的风险更加凸显,因此,迫切需要研究一种稳控策略核心控制代码的高效、可信开发方法。


技术实现要素:

5.针对上述问题,本发明提出一种基于稳控策略可视化编程自动生成装置代码的方法、装置及系统,能够有效降低控制系统开发周期,提高可靠性,降低开发人员对装置开发的不利影响,实现装置开发维护成本的降低和可靠性的提高。
6.为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
7.第一方面,本发明提供了一种基于稳控策略可视化编程自动生成装置代码的方法,包括:
8.构建稳控策略统一描述文件,包括稳控策略输入/输出文件及稳控策略逻辑描述文件;
9.利用有限状态机理论构建稳控策略模型;
10.构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系;
11.定义所述稳控策略模型转换为目标代码的转换规则;
12.从所述稳控策略模型提取与目标代码生成相关的信息,并基于所述转换规则采用可视化编程技术自动生成装置代码。
13.可选地,所述稳控策略的输入/输出文件包括若干种元素,每一种元素都对应着一个集合,每一个集合都有对应的操作和变量;
14.所述集合为运行方式集合m、元件集合e、元件测值集合p、故障类型集合f、断面功率集合s、控制措施集合、切机对象集合o、直流对象集合co、远方命令集合cmd或策略表定值集合。
15.可选地,所述策略表定值集合采用行列式描述,包括运行方式集合m、元件集合e、元件测值集合p、故障类型集合f、断面功率集合s、控制措施集合、切机对象集合o、直流对象集合co、远方命令集合cmd对应的id号以及策略表搜索算法。
16.可选地,所述稳控策略逻辑描述文件的构建方法为:向稳控策略的典型策略表和语言类描述策略输入稳控策略中分别输入所述稳控策略输入/输出文件中的数据,获得标准的稳控策略逻辑描述文件;所述稳控策略逻辑描述文件包括以下相互关联的四种类别:
17.触发条件,包括装置状态、运行方式、元件故障、远方命令;
18.策略动作条件,包括断面功率、策略表、远方通道信息、特征量;
19.控制量计算,包括切机及原则、切负荷及原则、控直流及原则、控无功;
20.控制措施,包括策略表执行、远方通道数据发送、对象控制、公式计算。
21.可选地,所述稳控策略模型的构建方法包括:
22.利用有限状态机理论定义稳控策略模型,所述稳控策略模型为七元组{a,s,f,j,t,i,o},所述七元组用于定义识别出稳控策略模型中的各个循环结构、分支结构与同步结构的开始与结束点,划定结构作用域,其中:
23.活动a:{开始活动(a0)、结束活动(ta)、普通活动(na)、复合活动(ca)};
24.状态s:{开始状态(s0)、结束状态(ts)、普通状态(ns)};
25.分支节点f:{异或分支节点};
26.聚合节点j:{异或聚合节点};
27.变迁t:{源节点、目标节点、守卫条件};
28.输入输出集合(i,o):输入输出集合作为变量在稳控策略中进行定义,随后在活动和状态节点中传递。
29.可选地,所述构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系,包括以下步骤:
30.定义策略输入/输出文件中所有的集合元素为所述稳控策略模型的输入输出集合(i,o),
31.策略逻辑描述文件中每一列对应稳控策略模型中活动a和状态s;
32.策略逻辑描述文件中列与列之间关系稳控策略模型的变迁t;
33.策略逻辑描述文件中的行与行之间的关系稳控策略模型的分支节点f和聚合节点j。
34.可选地,所述转换规则包括:
35.稳控策略模型中只能有一个初始活动和一个结束活动,初始活动没有输入事件并且只有一个输出事件,结束活动只有一个输入事件但没有输出事件;
36.稳控策略模型复合活动中只能有一个初始状态和一个结束状态,初始状态没有输入事件并且只有一个输出事件,结束状态只有一个输入事件但没有输出事件;
37.稳控策略模型中出现一个分支时,要有一个对应的聚合将从该分支出去的执行路径合并在一起;
38.稳控策略模型中分支对应的每条路径上的输出事件是互斥的,用于保证每次只执行其中的一条路径;所有路径上输出事件取并的结果是永真的,用于保证每次执行存在对应的路径;
39.稳控策略模型中的活动可以并发运行,复合活动中的状态不可以并发运行;
40.稳控策略模型中如果出现多重循环,内层循环必须在内层结束,外层循环必须在外层结束,不允许出现内外循环交叉的情况,也不允许出现循环重复出现的情况。
41.可选地,所述从所述稳控策略模型提取与目标代码生成相关的信息,包括以下步骤:
42.将稳控策略模型中的每种模型元素都对应一个固定的xmi标签和属性,生成对应的xmi元素,进而获得xmi文件;
43.通过开放源代码插件dom4j解析所述xmi文件,生成ast内存数据。
44.第二方面,本发明提供了一种基于稳控策略可视化编程自动生成装置代码的装置,包括:
45.第一构建模块,用于构建稳控策略统一描述文件,包括稳控策略输入/输出文件及稳控策略逻辑描述文件;
46.第二构建模块,用于利用有限状态机理论构建稳控策略模型;
47.第三构建模块,用于构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系;
48.定义模块,用于定义所述稳控策略模型转换为目标代码的转换规则;
49.代码自动生成模块,用于从所述稳控策略模型提取与目标代码生成相关的信息,并基于所述转换规则采用可视化编程技术自动生成装置代码。
50.第三方面,本发明提供了一种基于稳控策略可视化编程自动生成装置代码的系统,其特征在于,包括存储介质和处理器;
51.所述存储介质用于存储指令;
52.所述处理器用于根据所述指令进行操作以执行根据第一方面中任一项所述方法的步骤。
53.与现有技术相比,本发明的有益效果:
54.本发明基于共性算法和逻辑,研究安全稳定控制系统决策需求的快速重构,实现稳控策略核心代码的自动生成,提升开发的效率,从根本上提升稳控策略可靠性,减轻安全稳定控制系统开发和维护成本。
55.本发明不仅能提升大电网复杂故障场景系统保护方案及其控制策略测试验证水平,更能提升稳控装置整体的工程开发效率,减轻工程开发人员的负担。适应安全稳定控制决策需求的控制系统重构快速建模方法研究能够有效降低控制系统开发周期,提高可靠性,降低开发人员对装置开发的不利影响,实现装置开发维护成本的降低和可靠性的提高。
附图说明
56.为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对
本发明作进一步详细的说明,其中:
57.图1是触发条件、策略动作条件、控制量计算、控制措施关系图;
58.图2是安全稳定控制策略活动图;
59.图3是稳控策略统一描述文件与策略模型之间的映射关系图;
60.图4是xmi元素、模型元素与ast的关系图;
61.图5是顺序结构到代码生成图;
62.图6是分支结构到代码生成图;
63.图7是循环结构到代码生成图;
64.图8是稳控策略可视化编程自动生成装置代码的工具框架图。
具体实施方式
65.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
66.下面结合附图对本发明的应用原理作详细的描述。
67.实施例1
68.本发明实施例中提供了一种基于稳控策略可视化编程自动生成装置代码的方法,包括以下步骤:
69.构建稳控策略统一描述文件,包括稳控策略输入/输出文件及稳控策略逻辑描述文件;
70.利用有限状态机理论构建稳控策略模型;
71.构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系;
72.定义所述稳控策略模型转换为目标代码的转换规则;
73.从所述稳控策略模型提取与目标代码生成相关的信息,并基于所述转换规则采用可视化编程技术自动生成装置代码。
74.在本发明实施例的一种具体实施方式中,所述稳控策略统一描述文件的构建过程包括:
75.1)构建稳控策略输入/输出文件
76.本发明实施例中构建出来的稳控策略的输入/输出文件包括若干种元素,每一种元素都对应着一个集合,每一个集合都有对应的操作和变量;
77.所述集合为运行方式(scsopmode)集合m、元件(sysele)集合e、元件测值(eledef)集合p、故障类型(scsfault)集合f、断面功率(scssection)集合s、控制措施(scsact)集合、切机对象(scsobject)集合o、直流对象(scsobject)集合co、远方命令集合cmd或策略表定值(scsclb)集合;其中,所述策略表定值集合采用行列式描述,包括运行方式集合m、元件集合e、元件测值集合p、故障类型集合f、断面功率集合s、控制措施集合、切机对象集合o、直流对象集合co、远方命令集合cmd对应的id号以及策略表搜索算法。具体参见表1。
78.表1稳控策略输入/输出描述文件(即描述表)
[0079][0080][0081]
2)构建稳控策略逻辑描述文件
[0082]
所述稳控策略逻辑描述文件的构建方法具体包括:向稳控策略的典型策略表和语言类描述策略输入稳控策略中分别输入所述稳控策略输入/输出文件中的数据(若表格中单元格无相关内容,则用-代替),获得标准的稳控策略逻辑描述文件,具体参见表2;所述稳控策略逻辑描述文件包括以下相互关联的四种类别:
[0083]
触发条件,包括装置状态、运行方式、元件故障、远方命令;
[0084]
策略动作条件,包括断面功率、策略表、远方通道信息、特征量;
[0085]
控制量计算,包括切机及原则、切负荷及原则、控直流及原则、控无功;
[0086]
控制措施,包括策略表执行、远方通道数据发送、对象控制、公式计算。
[0087]
表2稳控策略逻辑描述文件
[0088][0089]
注:公式表如下
[0090]
序号属性名称英文名说明1.有功pp(x):x的有功功率2.查表fpfp策略表定值行列式中选定m,e,f后对应的断面功率3.查表fpgqfpgq策略表定值行列式中选定m,e,f后对应的切机容量4.查表fpgqfpdhj策略表定值行列式中选定m,e,f后对应的直流控制容量5.动作actact(控制类型,控制对象)
[0091]
第1条稳控策略(表2中第3行):
[0092]
触发条件:满足集合m、e、f中的任何一组条件,即满足触发条件,这组条件对应稳控策略输入/输出文件中集合元素,如m,e,f(m∈m,e∈e,f∈f)。
[0093]
策略动作条件:p(s)》=fp(e,s,f,grade)表示当前断面功率大于fp查寻值。
[0094]
控制量计算:通过控制计算公式p(o)=fpgq获得本次动作的需要实际切除机组的容量,通过控制计算公式p(co)=fpdhj获得本次动作实际直流控制容量。
[0095]
控制措施:按分配系数k得到切机组功率p(o1),p(o2)。
[0096]
实际出口动作中,通过act(1,o1),act(1,o2)和act(1,co1)切除机组o1容量,切除
机组o2容量和控制直流co1。
[0097]
第2条稳控策略(表2中第4行):
[0098]
触发条件:收到远方切除机组命令cmd1。
[0099]
动作条件判断:p(cmd1)》0,满足切机动作条件。
[0100]
控制措施:按分配获得切机组功率p(o2),p(o3)
[0101]
实际出口动作中,通过act(1,o2),act(1,o3)切除机组o2容量,切除机组o3容量。
[0102]
在本发明实施例的一种具体实施方式中,所述稳控策略模型的构建方法包括:
[0103]
利用有限状态机理论定义稳控策略模型,所述稳控策略模型为七元组{a,s,f,j,t,i,o},所述七元组用于定义识别出稳控策略模型中的各个循环结构、分支结构与同步结构的开始与结束点,划定结构作用域,其中:
[0104]
活动a:{开始活动(a0)、结束活动(ta)、普通活动(na)、复合活动(ca)};
[0105]
状态s:{开始状态(s0)、结束状态(ts)、普通状态(ns)};
[0106]
分支节点f:{异或分支节点};
[0107]
聚合节点j:{异或聚合节点};
[0108]
变迁t:{源节点、目标节点、守卫条件};
[0109]
输入输出集合(i,o):输入输出集合作为变量在稳控策略中进行定义,随后在活动和状态节点中传递。
[0110]
其中,顺序结构表示活动之间的因果关系,如图5所示,a必须在b之前执行,b必须在c之前执行。即先执行活动a的动作,再执行活动b的动作,最后执行活动c的动作。其对应的c语言代码结构是先执行活动a的函数,再执行活动b的函数,最后执行活动c的函数。
[0111]
分支结构如图6所示,活动a完成之后,将控制流划分为两个分支活动d、活动e和活动f,最后都会通过xorjoin汇聚到活动e,生成分支结构对应的代码。
[0112]
循环结构如图7所示,当一个活动执行完成后再次执行这个活动,为一个循环,映射为循环控制语句while语句。
[0113]
在本发明实施例的一种具体实施方式中,安全稳定控制装置的每一次启动都是控制流程的一个实例运行,该稳控策略模型可通过创建若干个简单活动、复杂活动以及活动之间的分叉与聚合构成。如图2所示,示例中安全稳定控制流程包括了运行方式确定活动、元件检测活动、故障检测活动、潮流计算活动、策略表查询活动、控制措施集合查询活动、控制措施查询活动、执行流程控制命令等活动,以及活动之间的变迁(如分支节点4和聚合节点9)。具体地,所述构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系,包括以下步骤:
[0114]
定义策略输入/输出文件中所有的集合元素为所述稳控策略模型的输入输出集合(i,o),如图3所示,这些单元与控制时钟管理按fifo队列模式作为策略逻辑状态机的输入;
[0115]
策略逻辑描述文件中每一列对应稳控策略模型中活动a和状态s;
[0116]
策略逻辑描述文件中列与列之间关系稳控策略模型的变迁t(如满足列p(cmd1)》0,变迁到if(p(p7)》p(cmd1))判断,最后变迁到act(1,o2));
[0117]
策略逻辑描述文件中的行与行之间的关系稳控策略模型的分支节点f和聚合节点j。如图3所示,策略逻辑状态机是2)中策略逻辑描述文件对应策略模型的状态机表述,同时也是6)中模型元素到策略逻辑抽象语法树的中间桥梁。
[0118]
在本发明实施例的一种具体实施方式中,为了方便将模型转换为目标代码,对建模定义如下规则。所述转换规则包括:
[0119]
稳控策略模型中只能有一个初始活动和一个结束活动,初始活动没有输入事件并且只有一个输出事件,结束活动只有一个输入事件但没有输出事件;
[0120]
稳控策略模型复合活动中只能有一个初始状态和一个结束状态,初始状态没有输入事件并且只有一个输出事件,结束状态只有一个输入事件但没有输出事件;
[0121]
稳控策略模型中出现一个分支时,要有一个对应的聚合将从该分支出去的执行路径合并在一起;
[0122]
稳控策略模型中分支对应的每条路径上的输出事件是互斥的,用于保证每次只执行其中的一条路径;所有路径上输出事件取并的结果是永真的,用于保证每次执行存在对应的路径;
[0123]
稳控策略模型中的活动可以并发运行,复合活动中的状态不可以并发运行;
[0124]
稳控策略模型中如果出现多重循环,内层循环必须在内层结束,外层循环必须在外层结束,不允许出现内外循环交叉的情况,也不允许出现循环重复出现的情况。
[0125]
在本发明实施例的一种具体实施方式中,采用xmi作为安全稳定控制策略模型的存储格式,在进行代码生成的时候,需要用到策略模型中的信息。因此,需要对xmi文件进行信息提取,从而来获得代码生成的一些关键信息。由于xmi文件是一个树形结构,采用深度优先遍历来提取与代码生成相关的信息,储存和提取的模型信息如表3所示。
[0126]
表3提取的模型信息
[0127][0128][0129]
具体地,所述从所述稳控策略模型提取与目标代码生成相关的信息,包括以下步骤:
[0130]
将稳控策略模型中的每种模型元素都对应一个固定的xmi标签和属性,生成对应的xmi元素,进而获得xmi文件;
[0131]
通过开放源代码插件dom4j解析所述xmi文件,生成ast内存数据,具体参见图4。
[0132]
在实际应用过程中,本发明实施例中提出的方法在使用之间需要建立稳控策略可
视化编程自动生成装置代码的工具框架,如图8所示,所述工具框架具体包括顺次设置的第一层、第二层、第三层、第四层和第五层;
[0133]
第一层为图形用户界面,基于可视化建模软件之上,为开发人员提供可视化建模的基本操作界面,就是工具的可视化界面,可通过绘图和拖拽完成稳控策略模型的搭建。
[0134]
第二层为稳控策略快速建模工具的功能构成,主要包括模型的可视化编辑、模型验证、模型解析;
[0135]
第三层为支撑可视化建模软件的框架层,包括gef图形化建模框架,dom4库,emf框架,gefruntime框架等。gef图形化建模框架,dom4库,emf框架,gefruntime框架等,这些都是eclipse开源的插件。
[0136]
第四层为eclipse集成开发环境层,提供工具运行环境和基础平台。
[0137]
第五层为操作系统层,底层操作系统仅支持windows。
[0138]
实施例2
[0139]
基于与实施例1相同的发明构思,本发明实施例中提供了一种基于稳控策略可视化编程自动生成装置代码的装置,包括:
[0140]
第一构建模块,用于构建稳控策略统一描述文件,包括稳控策略输入/输出文件及稳控策略逻辑描述文件;
[0141]
第二构建模块,用于利用有限状态机理论构建稳控策略模型;
[0142]
第三构建模块,用于构建所述稳控策略统一描述文件与稳控策略模型之间的映射关系;
[0143]
定义模块,用于定义所述稳控策略模型转换为目标代码的转换规则;
[0144]
代码自动生成模块,用于从所述稳控策略模型提取与目标代码生成相关的信息,并基于所述转换规则采用可视化编程技术自动生成装置代码。
[0145]
其余部分均与实施例1相同。
[0146]
实施例3
[0147]
基于与实施例1相同的发明构思,本发明实施例中提供了一种基于稳控策略可视化编程自动生成装置代码的系统,其特征在于,包括存储介质和处理器;
[0148]
所述存储介质用于存储指令;
[0149]
所述处理器用于根据所述指令进行操作以执行根据实施例1中任一项所述方法的步骤。
[0150]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0151]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0152]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0153]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0154]
以上结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
[0155]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1