APP下载

基于PSCAD/EMTDC与C语言接口技术的直流输电仿真系统的研制的直流输电仿真系统的研制

2015-05-04董富德程汉湘冼冀朱贵辽刘康广东工业大学广东广州510006

电气自动化 2015年5期
关键词:C语言调用元件

董富德, 程汉湘, 冼冀, 朱贵辽, 刘康(广东工业大学,广东 广州 510006)

基于PSCAD/EMTDC与C语言接口技术的直流输电仿真系统的研制的直流输电仿真系统的研制

董富德, 程汉湘, 冼冀, 朱贵辽, 刘康
(广东工业大学,广东 广州 510006)

以糯扎渡-鹤山±800 kV特高压直流输电系统及江门电网为研究对象,利用PSCAD/EMTDC作为后台计算工具,建立特高压直流输电系统和受端交流系统模型,运用C#语言开发接口软件,构建仿真系统。通过PSCAD/EMTDC与C语言接口技术实现两者的数据传输,并提出C#、C和PSCAD之间通过PSCAD自定义模型实现数据传输的方法。通过实例仿真验证了接口实现方法的可行性和准确性,仿真结果表明系统能正确完成各项仿真要求,得到很好的仿真效果。

PSCAD/EMTDC;UHVDC;C语言接口;自定义模型;C#

0 引 言

为了评估糯扎渡-鹤山±800 kV特高压直流输电工程对江门电网运行产生的系列影响,故采用有较为完善的元件模型库的PSCAD/EMTDC电磁暂态仿真软件建立特高压直流输电系统和江门电网仿真模型。EMTDC为用户提供了自定义元件模型功能,并提供了Fortran、C和MATLAB三种语言给用户进行自定义模型功能程序的编程,从而增强了仿真的灵活性。由于该仿真模型包含大量的子页面,元件,自定义模块,存在仿真参数设置繁琐,波形观看不够直观,不了解模型结构的人员可能误操作破坏模型完整性等问题。为了方便用户操作,系统采用C#编程语言开发接口软件作为前端操作界面,以PSCAD/EMTDC为后台。接口软件与PSCAD的数据交换通过在PSCAD/EMTDC的自定义模块中使用C语言编程实现。通过接口软件用户不需要了解PSCAD的操作原理和模型原理,可以设置模型的参数,如故障位置、故障类型、故障时间、运行方式等,并且可以直观地显示模型中线路和设备的电压电流,有功功率和无功功率等波形数据。

1 UHVDC系统的建模

PSCAD/EMTDC是目前世界上广泛采用电力系统仿真软件之一,具有精确的直流元件模型,其中的高压直流输电(HVDC)及灵活交流输电(FACTS)模型库,可模拟仿真FACTS元件和HVDC的特性[1]。

本文基于CIGRE提供的HVDC模型的控制系统建立了以糯扎渡-鹤山±800 kV特高压直流输电工程为对象的仿真模型。该工程主要由两个直流换流站、直流输电线路和基本阀控制系统组成,两端分别通过两个500 kV的变电站与两个交流电力系统相连,输电线路全长1 451 km,传输线按6分裂导线材料,单位长度电阻为0.046 33 Ω/km,单极输电线全长电阻约67.225 Ω,沿线大地电阻率平均值为1 000 Ohm/m。其中系统额定输送容量5 000 MW,直流线路额定电压、额定电流分别为±800 kV、3.125 kA。两端交流系统额定电压均为500 kV,短路比均为2.5。直流输电系统采用双12脉动换流器,两个12脉动的换流器单元用串联的接线方式连接,串联电压按±(400+400) kV分配。这种接线方式可以很好地提高系统运行的灵活性和可靠性。整流侧和逆变侧换流变压器均采用三相双绕组变压器,接线型式为Y/Δ及Y/Y两种。整流侧和逆变侧都配置4大组交流滤波器,同时配置4组直流滤波器,用以滤除谐波成分和满足系统无功补偿需要。两侧换流站每极按母线和中性母线各装设一台150 mH的干式平波电抗器[2]。江门电网仿真模型主要包括220 kV及以上电压等级变电站,其中3个500 kV变电站模型和21个220 kV变电站模型、与电网连接的发电厂和负荷等效模型及输电线路模型等。模型参数根据江门电力系统实际参数进行设置。

2 接口软件的设计与实现

2.1 PSCAD/EMTDC与C语言接口的原理

PSCAD/EMTDC软件由EMTDC和PSCAD两部分组成[3-4]。 其中,EMTDC主程序由三个主部分组成:系统动态程序模块,包括数字仿真动态子程序和数字仿真输出子程序(DSOUT),电力网络求解模块。这三部分程序在每个时间步长被循环调用。系统动态程序模块的两个子程序可以由用户自定义,用户在自定义模块中编写的代码将被加载到DSDYN中,运行后得到的结果在DSOUT中输出。通过Fortran语句和PSCAD脚本的结合使用,或者从元件定义中直接调用子程序,用户可以访问大多数EMTDC功能和程序。EMTDC良好的开放性结构允许用户构建自定义模块,支持Fortran、C和MATLAB语言编程。用户有两种方法在EMTDC主程序中加入自己编写的代码:一是直接在元件模型定义的程序中编写Fortran代码作为DSDYN和DSOUT子程序的一部分供主程序调用运行;二是在外部源文件中编写C或MATLAB函数或子程序,在元件定义中添加声明代码由自定义模块中的Fortran、DSDYN或DSOUT子程序调用[5]。由于C语言开发高效灵活、兼容性强、程序运行效率高,且考虑到接口软件采用C#语言开发与C语言的兼容性,故采用方法二选择C语言作为PSCAD/EMTDC用户自定义模块的编程语言。

2.2 PSCAD/EMTDC与C语言接口的实现方法

本文采用Compaq Visual Fortran 6.6编译器,其支持无限节点网络的编译,该编译器不支持直接调用C程序,必须编写一个对应的Fortran函数去连接C函数,再由主程序调用该Fortran函数。PSCAD/EMTDC V4.2.0版本在Compaq Visual Fortran 6.6编译环境下调用C程序,可以在C文件编译前调用,也可以在C文件编译后调用,具体的操作方法在文献[4]中有详细的说明。编译后调用是指先将C文件编译生成Lib或者Obj文件,调用C函数时,可以在PSCAD工程主页点右键选择Project Settings =>Link在页面路径框中输入包含该C函数的Lib或者Obj文件所在的路径,再在自定义模块中调用即可[6]。这样节省了编译的时间,提高工作效率,但这种方法调试困难,不易查找问题,而且不允许修改C源代码。编译前调用则比较容易理解和简单,当要调用一个C函数时,可以在PSCAD工程主页点右键选择Add Component => File reference在File reference 的properties中填写包含该C函数的C文件(*.c)所在的路径,再按同样方法添加该C文件对应该的Fortran文件(*. f),再在自定义模块中的Script页面编写代码调用该函数。当PSCAD项目编译时,Script代码被转换成标准格式化Fortran代码嵌入到DSDYN子程序中。这种方法允许修改C源代码,方便后面模型参数的传递。因此,本文采编译前调用的方法在自定义模块中调用C程序,PSCAD/EMTDC在自定义模块中调用C函数的原理图如图1所示。

图1 PSCAD/EMTDC 在自定义模块中调用C函数的原理图

2.3 接口软件的设计

图2 接口软件系统框图

本文采用Microsoft Visual Studio 2008开发工具及C#语言的Winform类库开发接口软件。其中,Winform类库的控件类和文档类开发主界面,文件类实现接口软件与PSCAD程序的数据交换包括模型参数的设置和波形数据的读取,数据库操作类实现向数据库存取数据。系统以模块化标准设计,由数据库操作模块、与PSCAD/EMTDC通信模块、数据显示模块、模型管理模块构成。系统采用分层结构,分后台数据计算引擎和前台操作界面,且前台操作界面又由主界面和子界面组成,其中接口软件主界面包含参数设置、换流站、电能质量、变压器等四个子界面。参数设置界面包含变电站连接图可设置换流站的运行方式、故障类型、故障时间、故障位置等参数,也可以独立设置各变电站的故障参数及查看相应数据波形;换流站界面可查看分析换流站关键位置的数据波形;电能质量界面可查看分析换流站产生的谐波情况及电压稳定性;变压器界面可以设置偏磁电压的大小来仿真分析直流馈入对中性点接地变压器的影响。运行接口软件打开所建立的特高压直流输电系统模型,使接口软件与模型构成一对一连接关系,再设置系统的仿真参数,且程序会自动打开PSCAD程序模型,手动运行模型,运行结束后系统会自动加载生成的仿真数据。最后,通过接口软件观察换流站和变电站的波形,系统参数等,并对仿真结果进行详细分析。系统框图如图2所示。

接口软件与PSCAD/EMTDC交换数据的关键点是如何向PSCAD/EMTDC模型传递参数。目前PSCAD/EMTDC与C语言的接口技术,主要用于在自定义元件中调用C函数实现逻辑运算或系统控制功能,未涉及同第三方软件通信,如PSCAD主库中的定时故障逻辑(Timed fault logic)可以设置故障开始时间和持续时间来控制故障仿真过程,但这只能在PSCAD程序界面上手动设置,不支持接口软件自动设置。由于PSCAD/EMTDC元件库自带的元件没有接口可直接接收接口软件传递的参数,用户也无法自行修改其内核程序,功能受限制,而自定义元件的功能完成由用户编程实现不受已有元件功能制约。因此,可通过自定义元件调用C函数与接口软件实现参数传递。本文提出一种简单高效的方法,即接口软件在C文件中直接修改C函数的代码如“TF=0.00;”修改为“TF=0.50;”,再由自定义元件调用C函数从函数的形参中获得参数传给PSCAD主程序。这样函数中只需编写赋值语句,实现简单运行效率高。模型中需要设置参数的元件通过自定义元件编写Script代码实现该元件的逻辑控制功能,同时编写C函数添加参数传递功能替换库中已有元件实现,作为接口软件与PSCAD/EMTDC参数传递接口。

图3 自定义元件与C函数之间的调用关系图

每一个自定义元件都相当一个被调用的子函数,如果同一个功能的元件在同一工程同一步长被多次调用会导致内存调用冲突。为了保证接口软件中设置的参数与工程中的自定义元件一一对应。工程中每个被调用的自定义元件只对应一个C函数,工程中需要设置N个自定义元件则编写N个对应C函数,所有C函数保存于一个C文件中[7]。在接口软件设置某个元件参数时,将数据写入到对应的C函数中即可。自定义元件与C函数之间的调用关系图如图3所示。

图4 PSCAD、C语言和C#语言接口意示图

PSCAD/EMTDC模型运行结果输出的波形数据以.out为后缀的文件格式保存在结果数据文件夹(.emt)中,(.out)文件中数据都以列的形式保存,每个文件包含11个通道,每个文件中的第一列通道都是EMTDC的仿真时间,所有波形数据从第2列开始按顺序排列,如果波形超过10个,则从第二个文件的第2列开始依次排列,依此类推。所有数据通道的标号等信息保存在同名字下的.inf文件里[8]。由于数据被格式化成列状分隔格式,可容易地导入到大多数图形或数据分析程序。本接口软件在数据库中定义每列通道数据对应的表,并根据(.inf)文件信息将输出(.out)文件中的波形数据读取并保存到数据库中,再从数据库中映射到界面上显示供用户查看分析。C#语言、C语言与PSCAD程序的数据交换原理,如图4所示。

3 仿真结果

对由接口软件作为前端界面,HVDC模型作为后台组成的高压直流输电仿真系统进行仿真试验。该系统可设置多种换流站及变电站的故障类型和运行方式,文中以逆变侧交流系统三相接地短路故障为例进行仿真。HVDC模型设置运行时间为2 s,时间步长为0.05 s。在接口软件界面设置逆变侧交流系统三相接地短路进行仿真,故障类型为ABC三相接地,故障开始时间为0.5 s,持续时间为0.3 s。高压直流输电仿真系统的仿真结果如图5所示。

图5 逆变侧交流系统三相接地短路故障仿真结果图

由图5可见,特高压直流输电系统运行到0.2 s时,双极系统开始保持稳定,各项指标均达到额定值。当0.5 s故障发生时,逆变侧交流母线三相接地短路致使母线电压急剧下降,同时,双极直流电压迅速下降至接近零,直流电流故障初期急剧增加,产生短暂尖峰峰值,达到额定值的2倍。随着故障在持续0.8 s后结束,在控制系统的作用下,直流电压电流缓慢恢复,双极直流电压电流经过振荡后恢复到额定值。

模型仿真的结果与所设置的参数相对应,可见接口软件设置的参数能正确传递到PSCAD程序。而且接口软件显示的波形图与PSCAD的一致,说明接口软件能准确读取PSCAD的仿真结果数据并且准确显示。通过仿真试验其他自定义元件都能正常传递数据,系统所有功能均正常运行。

4 结束语

由仿真结果可知,本文建立的UHVDC模型已逼近真实系统并能正确进行系统故障仿真,并证明所提出的通过建立自定义元件实现PSCAD/EMTDC与C#语言开发的接口软件数据传递的方法的可行性和准确性。本文所开发的接口软件界面简洁美观,操作简单方便,实验员不需要了解PSCAD的操作原理和系统模型的建立思想就能通过接口软件进行仿真实验。PSCAD/EMTDC和C语言接口技术的运用,有效地将上述两者的优点结合起来,组成了具有针对性强和实用性好的高压直流输电仿真系统。上述仿真软件已通过广东电网公司的验收,达到设计要求。

[1] 吴娜,张杰.基于PSCAD/EMTDC软件的直流输电系统故障仿真研究[J].云南电力技术,2005,33(2):9-12.

[2] 陈仕龙,束洪春,叶波,等.云广±800 kV特高压直流输电系统精确建模及仿真[J].昆明理工大学学报,2012,37(2):43-60.

[3] EMTDC User’s Guide[K].Winnipeng: Manitoba HVDC Research Centre Inc,2002.

[4] PSCAD User’s Guide[K].Manitoba: Manitoba HVDC Research Centre Inc,2003.

[5] 袁涛,郑建勇,曾伟,等.PSCAD/EMTDC中自定义模型研究及其在有源滤器控制算法仿真中的应用[J] .电气应用,2006,25(11):71-73.[6] 肖异,尹项根,张哲,等.PSCAD/EMTDC程序与继电保护仿真模型接口技术及应用[J] .电力自动化设备,2006,26(11):67-70.

[7] 刘永浩,蔡泽祥,李爱民. PSCAD_EMTDC自定义建模及在直流线路保护仿真中的应用[J] .电力系统保护与控制,2011,39(9):119-124.

[8] 王朕,朱琳,温渤婴.基于PSCAD的继电保护电压电流发生器的研制[J] .电力自动化设备,2010,30(8):121-124.

Development of an HVDC Simulation System Based on PSCAD/EMTDC and C Language Interface

DONG Fu-de, CHENG Han-xiang, XIAN Ji, ZHU Gui-liao, LIU Kang
(Guangdong University of Technology, Guangzhou Guangdong 510006, China)

In this paper, based on Nuozhadu-Heshan ±800 kV UHVDC transmission system and Jiangmen power grid as the research object, a model is established for the UHVDC transmission system and the receiving end AC system by using PSCAD/EMTDC as a background calculation tool, and a simulation system is built up by using C # language to develop the interface software. Data transmission is realized between the two of them through the interface technique between PSCAD/EMTDC and C language. Furthermore, a method is presented for data transmission among C#, C and PSCAD through a PSCAD user-defined model. Example simulation verifies the feasibility and accuracy of the interface implementation method. Simulation results show that the system can meet all simulation requirements and obtain an excellent simulation effect.

PSCAD/EMTDC; UHVDC;C language interface; user-defined model; C#

广东省自然科学基金项目(S2011010004950);广东省电网公司科技项目(K-GD2012-457)

10.3969/j.issn.1000-3886.2015.05.008

TM7

A

1000-3886(2015)05-0022-03

董富德(1989-),男,广东茂名人,硕士生,研究方向为电力系统及其自动化。 程汉湘(1957-),男,湖北武汉人,教授,硕士生导师,主要从事电力等相关领域的科研工作。

定稿日期: 2014-10-24

猜你喜欢

C语言调用元件
承压类特种设备受压元件壁厚测定问题的探讨
基于Visual Studio Code的C语言程序设计实践教学探索
核电项目物项调用管理的应用研究
51单片机C语言入门方法
LabWindows/CVI下基于ActiveX技术的Excel调用
基于C语言的计算机软件编程
基于系统调用的恶意软件检测技术研究
高职高专院校C语言程序设计教学改革探索
QFN元件的返工指南
宝马i3高电压元件介绍(上)