基于pscad接口c语言的mmc暂态仿真方法

文档序号:8942902阅读:947来源:国知局
基于pscad接口c语言的mmc暂态仿真方法
【技术领域】
[0001] 本发明涉及一种基于PSCAD接口 C语言的MMC暂态仿真方法,具体涉及一种基于 PSCAD/EMTDC接口 C语言实现MMC电磁暂态仿真方法,属于电力系统自动化领域。
【背景技术】
[0002] 随着高压大功率全控型电力电子器件(IGBT)的发展,柔性交流和柔性直流输电 技术被广泛应用于输配电领域,它是智能电网领域最具代表性的技术,在国内外的工程应 用越来越多。与常规直流输电技术相比,柔性直流输电技术具有良好的控制性能,是最新一 代的直流输电技术。柔性交流输电技术(Flexible AC Transmission System,FACTs)应 用电力电子技术实现对输电网的快速控制,提高电网输送能力和安全稳定水平、增强电网 运行灵活性,其中统一潮流控制器(Unified Power Flow Controller,UPFC)代表了目前 FACTs技术的最高水平,通过将换流器控制实现线路有功和无功功率的准确调节,提高输送 能力及阻尼系统振荡。
[0003] 随着技术发展,换流器技术从两电平、三电平技术发展到模块化多电平换流器技 术(Modular Multilevel Converter,MMC)。MMC拓扑的提出促进了柔性直流输电技术的发 展,其使用模块级联来实现高电压,MMC结构如图1所示。相比于传统2电平、3电平的结构, MMC的模块化结构使其可扩展性强、输出电平数高,克服了传统电压源换流器存在开关频率 高、输出电压谐波大、电压等级低、动态均压困难等缺点。然而MMC的半导体器件数量较多, 且每个子模块SM需要单独控制。MMC拓扑中直流侧没有专门的电容,而是将电容分配到各 个子模块中,直流电压由处于导通状态子模块的电容共同承担,为了保证MMC能够正常运 行子模块电容电压平衡控制至关重要。目前,MMC换流阀控制通常采用最近电平逼近调制 NLM技术,其能有效降低器件开关频率低、输电电压电流谐波含量低等优点,有助于柔性输 电技术向高电压大功率输电领域的应用推广。MMC换流器的控制采用分层原则实现,如图2 所示,一般由系统层、换流器层及阀控层实现。换流器层控制主要是根据功率/电压指令, 通过功率外环和电流内环的解耦控制产生换流器输出交流电压侧参考值作为调制波,阀层 控根据该电压调制波采用最近电平逼近调制策略产生各桥臂投入子模块的数量,进而子模 块电容平衡控制确定投入的子模块,并基于此产生触发信号控制子模块的投入和退出。以 上这些技术特点,给基于MMC的柔性交直流输电电磁暂态仿真带来了很大挑战。
[0004] 电磁暂态仿真软件 PSCAD/EMTDC (Power Systems Computer Aided Design/ Electromagnetic Transients including DC)是使用最广泛的电磁暂态仿真工具之一,能 实现电力电子器件微秒级工作状态的离线仿真,利用其元件库中元件模型能够开展换流阀 及相关一次系统的建模,并能实现一般控制逻辑的搭建。为了提高MMC及其控制功能完成、 灵活仿真,以及兼顾仿真建模简单易用性,利用PSCAD/EMTDC提供用户自定义模型及接口 功能,开展MMC及其控制逻辑建模具有重要意义。
[0005] PSCAD/EMTDC的用户自定义元件提供了与用户子程序的接口,可以弥补PSCAD中 自带的模型元件相对单一的不足。目前,PSCAD/EMTDC可与FortranX和Matlab三种语言 编写的程序代码进行接口,通过建立用户自定义元件实现其与外部程序接口的载体。用户 自定义代码加入EMTDC中有两种方法:1)直接在用户自定义元件中编写Fortran代码实现 元件功能,即把用户代码直接作为子程序直接嵌入到EMTDC主程序中;2)通过在自定义元 件中添加对外部子程序(Fortran、C或Matlab)的调用声明,间接调用外部子程序,元件的 核心功能由外部子程序实现。
[0006] 采用Fortran编写源代码的自定义元件一般采用直接嵌入的方式,由于PSCAD/ EMTDC是在Fortran语言上实现的,无需对外部子程序进行编译及频繁的调用,因而其内嵌 性能好,运行效率高。基于C语言和Matlab构建的自定义元件同属间接调用的范畴,但两 者又有所区别。前者是PSCAD/EMTDC与C程序设计语言的接口,外部的集成开发环境(如 Microsoft visual C++等)在运行中仅充当编译的角色,不参与具体运算,由PSCAD/EMTDC 直接调用经编译后的C语言代码进行运算;后者是PSCAD/EMTDC与Matlab软件的接口,由 PSCAD/EMTDC直接调用MATLAB进行运算,除了两者本身所固有的运算速度上的差异以外, 两者间的通信也很大程度上影响了整个仿真的效率,因而其运行效率要较前者低。
[0007] PSCAD软件自带的控制逻辑相关元件模型种类和功能有限,不足以实现基于MMC 技术的柔性交直流输电系统及其控制功能的完整仿真,难于真实而准确的反应MMC的运行 及故障暂态特性,因此本发明采用PSCAD/EMTDC提供用户自定义模型及接口功能,开展MMC 及其控制逻辑建模。在实际应用中,Matlab使用方便,编程简单,但与PSCAD/EMTDC接口代 码执行效率低,运算速度慢;C语言编程功能丰富、使用较广泛、表达能力强,目标程序效率 高、可移植性好,专业技术人员基本掌握其编程技巧;Fortran语言数值计算效率高,但编 程复杂,格式限制较多,一般工程技术人员较少使用。

【发明内容】

[0008] 为了解决上述技术问题,本发明提供了基于PSCAD/EMTDC接口的MMC暂态仿真方 法。
[0009] 为了达到上述目的,本发明所采用的技术方案是:
[0010] 基于PSCAD接口 C语言的MMC暂态仿真方法,包括以下步骤,
[0011] 步骤一,利用PSCAD/EMTDC进行MMC相关一次系统建模,进行MMC换流器控制逻辑 建模,并设置电压电流测量点;
[0012] 步骤二,利用PSCAD/EMTDC自带的模型元件,根据最近电平逼近调制原理,由基于 dq解耦的内环电流控制器产生电压调制信号Vraf,确定MMC各相单元中上下桥臂触发投入 的子模块数量;
[0013] 步骤三,利用C语言构建子模块电容电压平衡控制函数;
[0014] 所述电容电压平衡控制函数实现MMC-个相单元中一个桥臂子模块电容电压平 衡控制;
[0015] 所述电容电压平衡控制函数的输入参数包括:
[0016] MMC 一个相单兀中一个桥臂子模块总数;
[0017] MMC -个相单元中一个桥臂电流;
[0018] MMC -个相单元中一个桥臂子模块的电容电压;
[0019] MMC-个相单元中一个桥臂触发投入的子模块数量;
[0020] 步骤四,利用Fortran语言编写PSCAD/EMTDC接口程序,接口程序输入参数,调用 电容电压平衡控制函数,实现MMC暂态仿真;
[0021] 所述接口程序的输入参数与子模块电容电压平衡控制函数的输入参数一致。
[0022] 确定MMC各相单元中上下桥臂触发投入的子模块数量计算公式为,
[0023]
[0024]
[0025] 其中,np表示MMC -个相单元中上桥臂触发子模块数量,n ^表示MMC -个相单元中 下桥臂触发子模块数量,表不MMC-个相单元一个桥臂子模块的数量,□表不取四舍五入。
[0026] 电容电压平衡控制函数实现MMC -个相单元中一个桥臂子模块电容电压平衡控 制的过程如下,
[0027] Al)对该桥臂的所有子模块进行编号,初始化各子模块触发信号数组元素为0 ;
[0028] A2)采用冒泡排序法对,对子模块的电容电压按从高到低进行排序,同时按子模块 电容电压从低到高的顺序存储对应的子模块编号;
[0029] A3)根据该桥臂电流的方向判断子模块触发导通后电容的充放电状态;
[0030] 当桥臂电流流入子模块时,子模块触发后为电容充电,子模块触发信号数组元素 变为1,按子模块电容电压从低到高的顺序选择η个子模块;
[0031] 当桥臂电流流出子模块时(即桥臂电流小于零),子模块触发后为电容放电,子模 块触发信号数组元素变为1,按子模块电容电压从高到低的顺序选择η个子模块;
[0032] η为该桥臂触发投入的子模块数量。
[0033] 在调用电容电压平衡控制函数之前需要进行以下设置,
[0034] 在PSCAD/EMTDC添加两个File Reference元件,实现电容电压平衡控制函数的C 语言
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1