CN110427185A - 一种基于电力脚本语言实现人机浏览器功能的方法 - Google Patents

一种基于电力脚本语言实现人机浏览器功能的方法 Download PDF

Info

Publication number
CN110427185A
CN110427185A CN201910465447.9A CN201910465447A CN110427185A CN 110427185 A CN110427185 A CN 110427185A CN 201910465447 A CN201910465447 A CN 201910465447A CN 110427185 A CN110427185 A CN 110427185A
Authority
CN
China
Prior art keywords
script
electric power
man
machine
scripting language
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910465447.9A
Other languages
English (en)
Inventor
尚学伟
张亮
仇春光
田国辉
张令涛
孙湃
杨建平
王治华
谢恒�
李渝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guo Wang Xinjiang Power Co
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
State Grid Shanghai Electric Power Co Ltd
Original Assignee
Guo Wang Xinjiang Power Co
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
State Grid Shanghai Electric Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guo Wang Xinjiang Power Co, State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, Beijing Kedong Electric Power Control System Co Ltd, State Grid Shanghai Electric Power Co Ltd filed Critical Guo Wang Xinjiang Power Co
Priority to CN201910465447.9A priority Critical patent/CN110427185A/zh
Publication of CN110427185A publication Critical patent/CN110427185A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于电力脚本语言实现人机浏览器功能的方法,该方法包括以下步骤:步骤1):电力调控系统脚本的接口规范定义;步骤2):脚本的编辑与执行;步骤3):脚本更新组件UI效果;步骤4):脚本获取电力调控系统的数据源;步骤5):基于脚本的画面间消息交互。本发明实现无需修改人机浏览器的编程程序,仅仅通过在CIM/G中定义电力脚本语言实现画面组件展现、组件数据获取以及画面间信息交互,从而满足当调度人员对人机浏览器有新功能需求时,可以通过简单的脚本编辑就能实现所需功能,大幅提升了调控系统的开发效率。

Description

一种基于电力脚本语言实现人机浏览器功能的方法
技术领域
本发明涉及电力系统领域,更具体地说,涉及一种基于电力脚本语言实现人机浏览器功能的方法。
背景技术
目前人机浏览器对画面组件的展示、组件数据的获取以及画面间信息交互等都是通过编程实现的,无法通过类似JavaScript的前端脚本语言实现免编程方式的画面组件展示、组件数据获取以及画面间信息交互等前端操作,由于通过编程方式需要研发人员重新定制开发,周期较长,不利于调控人员的使用。
发明内容
(一)要解决的技术问题
为了解决现有技术的上述问题,本发明提出了一种基于电力脚本语言实现人机浏览器功能的方法,该方法实现无需修改人机浏览器的编程程序,仅仅通过在CIM/G中定义电力脚本语言实现画面组件展现、组件数据获取以及画面间信息交互,从而满足当调度人员对人机浏览器有新功能需求时,可以通过简单的脚本编辑就能实现所需功能,大幅提升了调控系统的开发效率。
(二)技术方案
为了达到上述目的,本发明采用的主要技术方案包括:
设计一种基于电力脚本语言实现人机浏览器功能的方法,该方法包括以下步骤:
步骤1):电力调控系统脚本的接口规范定义;
步骤2):脚本的编辑与执行;
步骤3):脚本更新组件UI效果;
步骤4):脚本获取电力调控系统的数据源;
步骤5):基于脚本的画面间消息交互。
在上述方案中,在所述步骤1)中,以CIM/G规范、GUI组件规范和电力脚本规范三个规范文档为基础支撑,封装电力调控系统的脚本语法,实现电力脚本引擎。
在上述方案中,在所述步骤2)中,编辑器对脚本进行编写、修改并将编辑完毕的G文件保存到文件服务器上,浏览器从文件服务器上获取编辑器生成后的G文件并对G文件中的脚本进行解析、初始化脚本并响应脚本事件。
在上述方案中,所述步骤3)包括以下步骤:修改脚本控制组件的所有属性值,以及触发按钮事件。
在上述方案中,所述步骤3)包括以下具体步骤:
步骤3.1):GUI组件的数据初始化;
步骤3.2):画面的结束加载;
步骤3.3):图形的操作事件定义。
在上述方案中,在所述步骤3.1)中,GUI组件的初始化包括外观样式的初始化及数据初始化,GUI组件的数据初始化是在CIM/G画面所有元素解析后,在画面的结束加载属性对应的脚本中以脚本方式对所有组件进行数据初始化。
在上述方案中,在所述步骤3.2)中,当人机系统打开一幅包含有 GUI组件的画面/界面,在画面中所有的GUI组件元素属性初始化完毕后,画面的结束加载以脚本的形式对初始化后的GUI组件元素的部分属性进行的赋值及其它事件的定义;新人机在画面/界面对应的CIM/G文本中,对<G>标签增加画面加载结束on End Load Action属性,on End LoadAction属性对应一段脚本。
在上述方案中,在所述步骤3.3)中,人机通过定义包括基本图形、电气图元、可视化图元、GUI组件在内的元素属性实现图形的操作事件,每个属性均对应一段执行脚本,其元素属性含义即为该事件触发的条件。
在上述方案中,在所述步骤4)中,电力调控系统的数据源包括实时库数据和关系库数据;关系库支持以标准SQL语句进行数据库的操作;先对实时数据操作进行解析,提供统一的SQL标准语句,关系库数据直接使用SQL进行操作。
在上述方案中,在所述步骤5)中,人机消息中心将接收到的不同类型消息事件分别发送给注册为指定事件的元素。
(三)有益效果
本发明的有益效果是:与现有技术相比,本发明实现无需修改人机浏览器的编程程序,仅仅通过在CIM/G中定义电力脚本语言实现画面组件展现、组件数据获取以及画面间信息交互,从而满足当调度人员对人机浏览器有新功能需求时,可以通过简单的脚本编辑就能实现所需功能,大幅提升了调控系统的开发效率。
附图说明
图1为一种基于电力脚本语言实现人机浏览器功能的方法的示意图;
图2为本发明实施例中人机浏览器的事件处理流程示意图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
本发明提供一种基于电力脚本语言实现人机浏览器功能的方法,如图1所示,该方法基于CIM/G规范、GUI组件规范和电力脚本规范三个规范文档,实现了电力脚本语言的核心部分脚本引擎,脚本引擎支持对脚本的动态编译、解析、执行、结果返回等功能,根据规范文档封装了电力调控系统专用的对象模型,使用者可以根据使用场景在CIM/G文件中声明和引用电力脚本,并将包含电力脚本的CIM/G文件保存到文件服务器,当人机浏览器打开CIM/G文件时,脚本引擎会解析和执行CIM/G 文件中的电力脚本,通过电力脚本完成件组件展示、数据的获取、画面中组件间的交互以及画面与后台的交互等等操作。
该方法具体包括以下步骤:
步骤1):电力调控系统脚本的接口规范定义。
为提高电力脚本语言的通用性,电力脚本语言符合ECMA Script (Europeancomputer manufacturers associationscript)规范,根据ECMA Script 规范扩展封装了电力调控系统专用的对象,封装了D5000平台所特有的脚本语法,包括人机层级、浏览器层级、画面层级、画面中元素组件层级以及基础工具层级,如表1所示。脚本语言中不仅支持变量定义、注释(单行、多行)、算术操作、比较操作、逻辑操作、流程控制等基础操作;支持使用数字、布尔、字符串、数组、数学对象、日期、Vector、List、Color等基础对象;而且还可以直接调用电力调控系统专用的对象。
表1脚本层级说明
步骤2):脚本的编辑与执行。
基于CIM/G规范和电力脚本规范实现了电力脚本引擎,电力脚本引擎主要功能包括:脚本动态编译、解析、执行以及执行结果返回。编辑器支持对脚本进行编写、修改并支持将编辑完毕的G文件保存到文件服务器上,浏览器支持从文件服务器上获取编辑器生成后的G文件并对G文件中的脚本进行解析、初始化脚本并响应脚本事件。
步骤3):脚本更新组件UI效果。
包括脚本控制组件的所有属性值的修改,以及按钮事件的触发。
GUI组件的数据初始化:GUI组件的初始化包括外观样式的初始化及数据初始化,GUI组件的数据初始化主要流程是在CIM/G画面所有元素解析后,在画面的结束加载属性对应的脚本中以脚本方式对所有组件进行数据初始化。
画面的结束加载:主要是当人机系统打开一幅包含有GUI组件的画面/ 界面,在画面中所有的GUI组件元素属性初始化完毕后,画面的结束加载会以脚本的形式对初始化后的GUI组件元素的某些属性进行的赋值及其它事件的定义。新人机在画面/界面对应的CIM/G文本中,对<G>标签增加了画面加载结束onEndLoadAction属性,onEndLoadAction属性对应一段脚本。
图形的操作事件定义:在人机中,主要通过定义以下元素(主要为基本图形、电气图元、可视化图元,GUI组件)属性实现图形的操作事件,以下每一个属性均对应一段执行脚本,其元素属性含义即为该事件触发的条件。对于画面中的元素,不提供右键单击的事件方法,右键菜单事件固定为鼠标右键菜单的触发。
步骤4):脚本获取电力系统数据源。
电力调控系统的数据主要来源是实时库数据和关系库数据。关系库工具都支持以标准SQL(结构化查询语言,Structured Query Language)语句进行数据库的操作。由于电力调控系统对一些数据要求的实时性较高,因此将数据是直接放在内存中,相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。实时库的读取没有提供标准的SQL接口。为了对历史数据和实时数据对外提供统一的符合标准SQL的增删改查语句,脚本对实时数据操作进行解析,对外提供统一的SQL标准语句,如果是实时数据查询,将解析SQL语句后,获取数据返回,关系库数据直接使用SQL进行操作。
步骤5):基于脚本的画面间消息交互。
人机浏览器的事件处理流程如图2所示。人机系统中,满足CIM/G规范的元素均认为是注册到人机消息中心的对象。人机消息中心根据接收到的消息事件类型的不同,将消息分别发送给注册为指定事件的元素。
现在的人机主要是根据画面中元素的人机交互接口,比如鼠标的左右键单击双击事件来进行消息事件的触发。
在GUI组件规范中,基本图形包含on Mouse Left One Click、on Mouse LeftDouble Click等人机交互事件触发属性,可以在该属性对应的脚本中执行某一消息的发送。
例如,某图形元素其对应的CIM/G文件内容如表2所示。定义该母线对象,在鼠标左键单击时,将自己的Key ID发送给当前画面内的母线对应的电压动态文本。当母线电压动态文本接收到该消息时,动态文本闪烁。其中每个元素可以注册接收多个类型的事件(多个事件在元素的event Register 属性中用逗号分隔)。
表2某图形操作发送事件的CIM/G文本内容
附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于,包括以下步骤:
步骤1):电力调控系统脚本的接口规范定义;
步骤2):脚本的编辑与执行;
步骤3):脚本更新组件UI效果;
步骤4):脚本获取电力调控系统的数据源;
步骤5):基于脚本的画面间消息交互。
2.如权利要求1所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤1)中,以CIM/G规范、GUI组件规范和电力脚本规范三个规范文档为基础支撑,封装电力调控系统的脚本语法,实现电力脚本引擎。
3.如权利要求1所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤2)中,编辑器对脚本进行编写、修改并将编辑完毕的G文件保存到文件服务器上,浏览器从文件服务器上获取编辑器生成后的G文件并对G文件中的脚本进行解析、初始化脚本并响应脚本事件。
4.如权利要求1所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:所述步骤3)包括以下步骤:修改脚本控制组件的所有属性值,以及触发按钮事件。
5.如权利要求4所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:所述步骤3)包括以下具体步骤:
步骤3.1):GUI组件的数据初始化;
步骤3.2):画面的结束加载;
步骤3.3):图形的操作事件定义。
6.如权利要求5所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤3.1)中,GUI组件的初始化包括外观样式的初始化及数据初始化,GUI组件的数据初始化是在CIM/G画面所有元素解析后,在画面的结束加载属性对应的脚本中以脚本方式对所有组件进行数据初始化。
7.如权利要求5所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤3.2)中,当人机系统打开一幅包含有GUI组件的画面/界面,在画面中所有的GUI组件元素属性初始化完毕后,画面的结束加载以脚本的形式对初始化后的GUI组件元素的部分属性进行的赋值及其它事件的定义;新人机在画面/界面对应的CIM/G文本中,对<G>标签增加画面加载结束on End Load Action属性,on End Load Action属性对应一段脚本。
8.如权利要求5所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤3.3)中,人机通过定义包括基本图形、电气图元、可视化图元、GUI组件在内的元素属性实现图形的操作事件,每个属性均对应一段执行脚本,其元素属性含义即为该事件触发的条件。
9.如权利要求1所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤4)中,电力调控系统的数据源包括实时库数据和关系库数据;关系库支持以标准SQL语句进行数据库的操作;先对实时数据操作进行解析,提供统一的SQL标准语句,关系库数据直接使用SQL进行操作。
10.如权利要求1所述的一种基于电力脚本语言实现人机浏览器功能的方法,其特征在于:在所述步骤5)中,人机消息中心将接收到的不同类型消息事件分别发送给注册为指定事件的元素。
CN201910465447.9A 2019-05-30 2019-05-30 一种基于电力脚本语言实现人机浏览器功能的方法 Pending CN110427185A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910465447.9A CN110427185A (zh) 2019-05-30 2019-05-30 一种基于电力脚本语言实现人机浏览器功能的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910465447.9A CN110427185A (zh) 2019-05-30 2019-05-30 一种基于电力脚本语言实现人机浏览器功能的方法

Publications (1)

Publication Number Publication Date
CN110427185A true CN110427185A (zh) 2019-11-08

Family

ID=68408422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910465447.9A Pending CN110427185A (zh) 2019-05-30 2019-05-30 一种基于电力脚本语言实现人机浏览器功能的方法

Country Status (1)

Country Link
CN (1) CN110427185A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061466A (zh) * 2019-11-28 2020-04-24 南京崔斯特文化创意有限公司 行为控制脚本语言的自动化转化方法、系统、终端及介质
CN111080244A (zh) * 2019-12-05 2020-04-28 北京科东电力控制系统有限责任公司 一种电力调控系统云终端画面描述方法
CN113727160A (zh) * 2021-08-31 2021-11-30 杭州国芯科技股份有限公司 一种支持机顶盒多语言开机画面的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020310A (zh) * 2013-01-08 2013-04-03 中国南方电网有限责任公司调峰调频发电公司 一种基于脚本实现电力监控系统功能扩展和定制的方法
US20160132368A1 (en) * 2014-11-06 2016-05-12 Microsoft Technology Licensing, Llc Event processing development environment
CN109445776A (zh) * 2018-10-25 2019-03-08 北京科东电力控制系统有限责任公司 混排画面方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103020310A (zh) * 2013-01-08 2013-04-03 中国南方电网有限责任公司调峰调频发电公司 一种基于脚本实现电力监控系统功能扩展和定制的方法
US20160132368A1 (en) * 2014-11-06 2016-05-12 Microsoft Technology Licensing, Llc Event processing development environment
CN109445776A (zh) * 2018-10-25 2019-03-08 北京科东电力控制系统有限责任公司 混排画面方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061466A (zh) * 2019-11-28 2020-04-24 南京崔斯特文化创意有限公司 行为控制脚本语言的自动化转化方法、系统、终端及介质
CN111080244A (zh) * 2019-12-05 2020-04-28 北京科东电力控制系统有限责任公司 一种电力调控系统云终端画面描述方法
CN113727160A (zh) * 2021-08-31 2021-11-30 杭州国芯科技股份有限公司 一种支持机顶盒多语言开机画面的方法

Similar Documents

Publication Publication Date Title
CN106528129B (zh) 一种Web应用界面生成系统及方法
CN104731584B (zh) 一种开放式数控系统人机界面可定制的组态设计方法
CN103441900B (zh) 集中式跨平台自动化测试系统及其控制方法
CN105843630B (zh) 一种基于机器人图形化编程开发的方法
US5509116A (en) Graphical user interface management system
CN105653644B (zh) 一种页面构造器及页面构造方法
US7636895B2 (en) Modeling system for graphic user interface
CN110427185A (zh) 一种基于电力脚本语言实现人机浏览器功能的方法
CN109933760A (zh) 表单生成方法、装置、计算机设备及计算机可读存储介质
Williams et al. The state of the art of visual languages for visualization
CN102662651A (zh) 可视化组件的生成方法和生成模块
CN110442510A (zh) 一种页面属性获取方法、装置及计算机设备、存储介质
CN107122185B (zh) 一种针对配电网参数类信息可视化展现系统
CN110968294A (zh) 一种业务领域模型建立系统及方法
CN112631584A (zh) 一种元数据动态表单生成方法与系统
Aoyama et al. Design specification in Japan: Tree-structured charts
US9047168B2 (en) Automatically generating documentation for a diagram including a plurality of states and transitions
Goldman et al. The ISI visual design editor generator
CN104834715A (zh) 一种基于部件和容器的网站生成方法及系统
US20040205612A1 (en) Programmatically generating a presentation style for legacy host data
CN117075893A (zh) 一种基于vue的移动端页面生成方法及系统
CN102393820A (zh) 一种楼宇监控系统控制逻辑的实现方法
CN115203162A (zh) 一种所见即所得图数据构建方法
CN103135986B (zh) 一种操作采集方法及系统
Droegehorn et al. Front-End Development for Home Automation Systems using JavaScript Frameworks

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20191108