CN102750183B - 电力系统数值仿真开放式应用程序接口 - Google Patents

电力系统数值仿真开放式应用程序接口 Download PDF

Info

Publication number
CN102750183B
CN102750183B CN201210229022.6A CN201210229022A CN102750183B CN 102750183 B CN102750183 B CN 102750183B CN 201210229022 A CN201210229022 A CN 201210229022A CN 102750183 B CN102750183 B CN 102750183B
Authority
CN
China
Prior art keywords
message
function
client
parameters
server end
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.)
Active
Application number
CN201210229022.6A
Other languages
English (en)
Other versions
CN102750183A (zh
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.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Priority to CN201210229022.6A priority Critical patent/CN102750183B/zh
Publication of CN102750183A publication Critical patent/CN102750183A/zh
Application granted granted Critical
Publication of CN102750183B publication Critical patent/CN102750183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种电力系统数值仿真开放式应用程序接口,即基于C/S模式的网络架构,通过在客户端与服务器端设置的消息打包单元、消息传输单元、消息分析单元实现两端的交互;其中,消息打包单元负责将需要发送的信息按照规定的统一格式进行整理和打包;消息传输单元负责将已打包的消息通过TCP/IP传送到接收端;消息分析单元设有一张规范化的函数表,用于对接收到的消息进行查表、确定函数,从而处理消息中的参数或者返回值,其中函数表的结构为:函数名|参数个数|各参数类型|返回值个数|各返回值类型。本发明基于C/S模式的网络架构实现了用户和软件的职能分离,使用户(客户端)能更专注于高级分析功能的开发,软件计算引擎(服务器端)也能得到更高效的应用和简便的维护、更新,因此,这种开放式的架构能大大提高开发电力系统高级分析功能的效率和灵活性。

Description

电力系统数值仿真开放式应用程序接口
技术领域
本发明涉及一种电力系统数值仿真开放式应用程序接口。
背景技术
数值仿真在电力系统规划、运行以及安全防御等方面发挥着不可替代的作用。完备的模型、可接受的计算精度和效率是对电力系统数值仿真程序的基本要求。随着电力系统规模不断增大、用户分析需求多样,为使用户能快速、灵活地分析和解决各种问题,提供具有良好开放性的电力系统仿真程序具有十分重要的意义。
软件开放性本质上为一种符合规范的接口,该规范可能是软件本身定义并独有,也可能是一种公共采用的标准。就电力系统分析软件而言,用户自定义建模(User-Defined Modeling,UDM)、应用程序接口(Application Program Interface,API)、不同分析软件数据格式的转换以及计算结果按规定格式的导入\导出等功能都是开放性的表现。其中,前二者是软件与用户之间的接口,其余的为软件与软件之间的接口。
在这些接口中,最为体现开放性的就是UDM功能和API功能,因为两者对于用户而言都是强大的二次开发工具。对于UDM,已有文献研究了其描述形式和求解算法,并以电厂和电力系统数字仿真软件为例,分析了不同建模技术的优缺点,还介绍了UDM技术的具体应用,从而呈现了UDM技术实现原理的整体架构。对于API,在电力系统分析中已有诸多的应用或者类似功能的应用,例如PSAT/command line usage、PSASP/UPI、PSSE/API,从应用结果可知,基于API的二次开发功能在电力系统仿真分析中发挥着重要作用,它对于实验各种新算法、处理各种分析问题都有极大的帮助,其好坏是衡量软件开放性的一个重要标准,然而,尽管在电力系统分析中已有诸多应用,但其技术的具体实现原理往往作为商业机密,并未见公开报道。
基于API的二次开发功能的本质是通过函数命令对计算引擎进行调用,传递参数并处理返回结果,因此其基本架构如图1,折线表示语句、函数接口、功能函数之间的对应关系,一个用户程序的语句对应一个函数接口,但函数接口所实现的某个功能可能需调用软件计算引擎的一个或多个功能函数(图中为两个)。
这样,用户就可以通过编写程序调用软件的接口函数,实现与软件计算引擎的交互,从而快速、方便地进行二次开发,完成特定的高级分析任务。
上述基本架构十分简单,按此架构进行开发,可以实现具有类似PSSE/API功能的电力系统分析软件,这种传统式的软件完全安装于用户端,具有两个明显的缺点,一是受限于用户的设备条件,无法达到最佳计算速度和精度,无法应用一些基于硬件的前沿技术(如需要运行在NVIDIA专门显卡上的GPU并行计算技术);二是不便于计算引擎的升级,每次都需要用户更新软件,如果计算引擎改变较大,可能导致软件更新十分繁琐甚至发生不兼容的情况。
发明内容
为解决上述问题,本发明引入了客户端/服务器(C/S)模式,图2和图3分别是基于C/S模式架构的网络结构图和应用程序接口架构图,其基本工作原理为用户在各种硬件设备上,包括个人计算机、笔记本、PDA、智能手机等,通过网络将计算命令发送给服务器,服务器收到消息后,分析语句并调用对应的计算引擎函数接口从而完成计算,最后将计算结果返回。
显然,此架构将计算引擎完全放在服务器端,具有两个优点:首先,使计算引擎独立于用户的硬件设备,解决了上述因客户端硬件设备水平参差不齐而带来的问题;其次,使得计算引擎的升级维护独立于用户,只要函数接口不变,当软件的计算引擎需要改进时,只需更新服务器端的分析软件,或是改动内部代码重新生成可执行程序EXE,或是更为简单地替换一个动态链接库(Dynamic Link Library,DLL),即完成了更新,使用户从计算引擎的升级管理中解脱出来。
因此,此接口方案基于C/S模式将原本的基本架构在物理上进行分割,实现了用户和软件职能的分离,使用户能更专注于高级分析功能的开发,而软件计算引擎也能得到的更高效的应用和简便的维护、更新。
为实现上述目的,本发明采用如下技术方案:
一种电力系统数值仿真开放式应用程序接口,基于C/S模式的网络架构,在客户端与服务器端之间设置消息打包单元、消息传输单元、消息分析单元,实现两端的交互;其中,消息打包单元负责将需要发送的信息按照规定的统一格式进行整理和打包;消息传输单元负责将已打包的消息通过TCP/IP传送到接收端;消息分析单元设有一张规范化的函数表,用于对接收到的消息进行查表、确定函数,从而处理消息中的参数或者返回值,其中函数表的结构为:函数名|参数个数|各参数类型|返回值个数|各返回值类型。
对于客户端而言,所述消息打包单元负责分析不同语言编写的语句,提炼出函数名、参数个数和具体参数,再按此顺序打包发送;对于服务器端而言,此单元负责整理计算结果,按照函数名、参数个数、具体返回值的顺序打包发送;不论客户端还是服务器端,打包消息的开头都是函数名和参数个数,它们是消息接收端查表的依据,因为只有函数名和其参数个数同时给定才能唯一确定一个函数。
所述消息分析单元首先提取消息的前两个信息即函数名和参数个数用于查表确定函数,再根据查表结果正确地提取出消息的其他内容;就客户端而言,此单元负责根据查表所确定的各返回值的类型读入计算结果;就服务器端而言,此单元负责根据查表所确定的各参数值的类型读入所有参数,为函数的调用做好准备。
本发明提出了一种电力系统仿真计算程序开放式应用程序接口实现方案:基于C/S模式,在客户端和服务器端建立相同的制定结构的数据库(一张规范化的函数表),通过查表实现开放式应用程序接口;基于TCP/IP,实现两端的通讯。
在客户端,开发了全新的客户端二次开发平台以及基于C++、Matlab和Python环境的接口软件包;在服务器端,开发了具有牛拉法潮流计算、动态潮流计算、暂态稳定计算等功能的计算引擎及其接口。
最后,基于开发的电力系统分析软件,通过实例演示了进行二次开发的思路和方法,证明此架构方案具有很好的开放性和灵活性,增强了仿真程序的综合计算分析功能。
本发明的有益效果是:本发明基于C/S模式的开放式应用程序接口架构实现了用户和软件的职能分离。对于客户端而言,使用户能更专注于高级分析功能的开发,且这种二次开发独立于用户所使用的计算机语言,即面向使用不同编程语言的用户,具有很好的灵活性和推广性;对于服务器端而言,软件计算引擎的修改或者升级独立于客户端,与传统的将软件完全安装于用户的方式相比,不仅使用户从软件的维护和更新中解脱出来,更使计算引擎能基于服务器端在最优配置的条件下,利用服务器端各种普通用户不具备的软硬件资源高效运行;对于电力系统高级分析而言,此种架构有利于快速、灵活地实验各种新算法、处理各种分析问题,其强大的开放性能很好地适应电力系统日益庞大的电网和日新月异的电力技术。
附图说明
图1为应用程序接口的基本架构;
图2为基于C/S模式的网络结构;
图3为基于C/S模式的应用程序接口架构;
图4为函数表的格式;
图5为假定的函数表;
图6为命令执行过程;
图7为基于C/S模式的架构方案实现原理;
图8为软件的整体架构图;
图9为算例的示意图;
图10为程序编写流程图。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
基于C/S模式的API架构方案关键在于实现客户端与服务器端之间的交互,通过建立制定结构的数据库(一张规范化的函数表),要求客户端、服务器端在发送和接收消息时都“依表查表”,可以方便地实现两者之间的交互。因此,客户端、服务器端都有一张相同的函数表,其格式如图4所示。
基于此表,客户端和服务器端之间的交互过程可以分为三步:消息打包、消息传输和消息分析,其实现对应于消息分析单元、消息传输单元和消息分析单元。
“消息打包”单元按照规定的统一格式整理好需要发送的内容,以便接收端查表并处理。就客户端而言,此环节负责分析不同语言编写的语句,提炼出函数名、参数个数和具体参数,再按此顺序打包发送;就服务器端而言,此环节负责整理计算结果,按照函数名、参数个数、具体返回值的顺序打包发送。不论客户端还是服务器端,打包消息的开头都是函数名和参数个数,它们是消息接收端查表的依据,因为只有函数名和其参数个数同时给定才能唯一确定一个函数。
“消息传输”单元可以利用客户端和服务器端各自开发平台的Socket模块实现基于TCP/IP的通讯。
“消息分析”单元首先提取消息的前两个信息(函数名和参数个数)用于查表确定函数,再根据查表结果正确地提取出消息的其他内容。就客户端而言,此环节负责根据查表所确定的各返回值的类型读入计算结果;就服务器端而言,此环节负责根据查表所确定的各参数值的类型读入所有参数,为函数的调用做好准备。
为清晰地描述上述消息打包、消息传输和消息分析的具体执行过程,假定现要执行一条命令Fun(1,2.3),已知对应的函数表如图5所示,计算结果返回值为9.85、7、‘y’,则执行此命令的过程如图6所示。
显然,这种基于查表的执行机制具有规范化和易扩展的优点,而且易应用于各种不同的语言环境,所以整体的基于C/S模式的架构方案实现原理如图7所示。
就服务器端而言,此架构将计算引擎完全放在服务器,优点如前所述。
就客户端而言,此架构不限于客户端具体的语言实现形式,面向使用不同语言的用户。假使每种编程语言或主流编程语言都实现了对应的客户端开发平台,那么对于计算引擎而言,这种资源利用将独立于客户端语言,使得对于软件整体而言,拥有了强大的开放性优势。
需要指出的是,架构的核心是图7中的函数表,实际使用按此架构开发的软件时,客户端需要及时更新数据库(函数表),才可以使用服务器端新添的接口函数。
上述架构基于规范化的函数表,将C/S模式配合应用程序接口,充分结合并利用了各自的优势,使软件整体不论对客户端还是服务器端都具有很好的开放性和独立性。值得一提的是,这种基于C/S模式的应用程序接口方案可以升级成基于“云计算”模式的方案,即将C/S模式中的服务器扩展为云,可由通过网络连接的具有计算分析功能的各种硬件设备构成,从而拥有更加丰富、强大的资源,通过把计算任务放在云上,利用云上的各种资源,完成分析计算任务,而客户端仍然只起到调用、通信的作用。
根据本发明的接口方式,对于客户端,可以开发全新的编程平台,也可以基于现有的编程平台开发专用软件包。软件包需要实现图7中①⑥的功能,而全新开发的编程平台除了这些功能外,还要实现用户编程界面。对于服务器端,可以开发全新的计算引擎,也可以基于现有的分析程序进行修改和封装,但软件的接口部分都需实现图7中③④的功能,而且软件的计算引擎应模块化,一个模块对应于一个DLL,譬如潮流计算模块就对应于潮流计算DLL,其中包含所有潮流计算需要用到的函数,便于计算引擎的维护、修改和扩充。
软件的整体架构如图8所示,不论客户端是基于现有平台开发软件包,还是开发的全新客户端编程平台,其接口实现方法都完全对应于图7的基于C/S模式的架构实现原理。
实施例1:
测试如图9的输电线路极限功率,原理为不断增加母线2处的负荷,然后求解潮流,一旦母线2处电压低于0.9(p.u)时,就进行电容补偿,使电压满足要求,重复这一过程,直到潮流不再收敛,那么最后一次潮流收敛时的负荷功率就是此线路的传输极限(受端)。
在C++、Matlab和Python的开发环境下,按图10流程图编写代码,其中Matlab平台下代码如下:
虽然各平台环境下函数调用代码不尽相同,但都可求得此线路传输极限(受端)为1.4642(p.u)。
由此可见,这种基于C/S模式的应用程序接口架构的确可以使用户通过利用服务器端的强大资源,开发各种高级应用分析程序,并且极大地缩短了开发时间,具有方便、快捷、高效的特点。

Claims (1)

1.一种电力系统数值仿真开放式应用程序接口,其特征是:基于C/S模式的网络架构,在客户端与服务器端之间设置消息打包单元、消息传输单元、消息分析单元,实现两端的交互;其中,消息打包单元负责将需要发送的信息按照规定的统一格式进行整理和打包;消息传输单元负责将已打包的消息通过TCP/IP传送到接收端;消息分析单元设有一张规范化的函数表,用于对接收到的消息进行查表、确定函数,从而处理消息中的参数或者返回值,其中函数表的结构为:函数名|参数个数|各参数类型|返回值个数|各返回值类型;
在客户端,开发了全新的客户端二次开发平台以及基于C++、Matlab和Python环境的接口软件包;在服务器端,开发了具有牛拉法潮流计算、动态潮流计算、暂态稳定计算功能的计算引擎及其接口;
对于客户端而言,所述消息打包单元负责分析不同语言编写的语句,提炼出函数名、参数个数和具体参数,再按此顺序打包发送;对于服务器端而言,消息打包单元负责整理计算结果,按照函数名、参数个数、具体返回值的顺序打包发送;不论客户端还是服务器端,打包消息的开头都是函数名和参数个数,它们是消息接收端查表的依据,因为只有函数名和其参数个数同时给定才能唯一确定一个函数;
所述消息分析单元首先提取消息的前两个信息即函数名和参数个数用于查表确定函数,再根据查表结果正确地提取出消息的其他内容;就客户端而言,消息分析单元负责根据查表所确定的各返回值的类型读入计算结果;就服务器端而言,消息分析单元负责根据查表所确定的各参数值的类型读入所有参数,为函数的调用做好准备;
基于C/S模式的应用程序接口方案能够升级成基于“云计算”模式的方案,即将C/S模式中的服务器扩展为云,由通过网络连接的具有计算分析功能的各种硬件设备构成,从而拥有更加丰富、强大的资源,通过把计算任务放在云上,利用云上的各种资源,完成分析计算任务,客户端起调用、通信的作用;
对于客户端,可以开发全新的编程平台,也可以基于现有的编程平台开发专用软件包;对于服务器端,可以开发全新的计算引擎,也可以基于现有的分析程序进行修改和封装,软件的计算引擎应模块化,一个模块对应于一个DLL,包含牛拉法潮流计算、动态潮流计算和暂态稳定计算所需要用到的函数,便于计算引擎的维护、修改和扩充。
CN201210229022.6A 2012-07-03 2012-07-03 电力系统数值仿真开放式应用程序接口 Active CN102750183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210229022.6A CN102750183B (zh) 2012-07-03 2012-07-03 电力系统数值仿真开放式应用程序接口

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210229022.6A CN102750183B (zh) 2012-07-03 2012-07-03 电力系统数值仿真开放式应用程序接口

Publications (2)

Publication Number Publication Date
CN102750183A CN102750183A (zh) 2012-10-24
CN102750183B true CN102750183B (zh) 2015-02-25

Family

ID=47030402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210229022.6A Active CN102750183B (zh) 2012-07-03 2012-07-03 电力系统数值仿真开放式应用程序接口

Country Status (1)

Country Link
CN (1) CN102750183B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110221926B (zh) * 2019-05-27 2021-11-16 中国电建集团华东勘测设计研究院有限公司 一种高拱坝浇筑进度仿真的隔离计算管理方法
CN110112742A (zh) * 2019-06-19 2019-08-09 武汉华飞智能电气科技有限公司 一种基于matpower的电网自动化潮流分析方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114937A (zh) * 2007-08-02 2008-01-30 上海交通大学 电力计算网格应用系统
CN101504688A (zh) * 2009-03-24 2009-08-12 北京理工大学 一种基于hla的仿真软件交互方法
CN101996271A (zh) * 2010-08-12 2011-03-30 武汉大学 实现pscad电力系统仿真计算模型自动生成的软件接口

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10030525A1 (de) * 2000-06-28 2002-01-24 Harman Becker Automotive Sys Verfahren zur Kommunikation zwischen zwei Netzwerken sowie Netzwerk
KR20030080443A (ko) * 2002-04-08 2003-10-17 (주) 위즈네트 하드웨어 프로토콜 프로세싱 로직으로 구현된 인터넷 통신프로토콜 장치 및 상기 장치를 통한 데이터 병렬 처리 방법
CN101599869A (zh) * 2008-06-05 2009-12-09 国网南京自动化研究院 一种基于网络的仿真测试远程控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114937A (zh) * 2007-08-02 2008-01-30 上海交通大学 电力计算网格应用系统
CN101504688A (zh) * 2009-03-24 2009-08-12 北京理工大学 一种基于hla的仿真软件交互方法
CN101996271A (zh) * 2010-08-12 2011-03-30 武汉大学 实现pscad电力系统仿真计算模型自动生成的软件接口

Also Published As

Publication number Publication date
CN102750183A (zh) 2012-10-24

Similar Documents

Publication Publication Date Title
CN111767031B (zh) 一种基于仿真的核电工业互联网实验床
CN106168993B (zh) 电网实时仿真分析系统
CN107862103B (zh) 一种基于adpss的仿真模型生成方法及系统
CN106921702B (zh) 一种基于面向服务的配电网信息物理系统
CN105224753A (zh) 非能动核电厂多专业设计验证平台
CN111460620B (zh) 一种试验评估模型构建方法及系统
CN110769002A (zh) 基于LabVIEW的报文解析方法、系统、电子设备和介质
CN102750183B (zh) 电力系统数值仿真开放式应用程序接口
Huang et al. Feasibility study on online DSA through distributed time domain simulations in WAN
CN101404040B (zh) 基于子图同构的对电力系统实时仿真的计算资源划分方法
Cheng et al. ECS-grid: Data-oriented real-time simulation platform for cyber-physical power systems
CN105406996A (zh) 一种智能变电站站控层mms通信仿真的方法
CN109062552A (zh) 一种断路器试验多维度信息查询app的设计方法
CN113590217B (zh) 基于引擎的函数管理方法、装置、电子设备及存储介质
Balasubramaniam et al. Co-simulation of transmission and distribution systems—from modeling to software development
Kannan et al. Enhanced data communication models for real‐time power system monitoring in a distributed platform
CN114095492A (zh) 一种电力系统主子站数据传输方法、系统及电子设备
CN105279351A (zh) 基于电磁暂态与机电暂态的混合仿真方法及系统
Zhang et al. Large-scale Power Grid Digital Parallel Simulation System based on Supercomputing Technology
Liu et al. Real-time data analysis and processing based on UDP communication platform based on LabVIEW
Guddanti et al. Better data structures for co-simulation of distribution system with gridlab-d and python
Khaitan et al. TDPSS: a scalable time domain power system simulator for dynamic security assessment
Barros et al. Efficient application of parallel processing with standard tools for electromagnetic transients simulation
CN104574200A (zh) 电网校核系统和方法
Mahseredjian et al. Computation of power system transients: Modeling portability

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant