Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

5.1 电力系统潮流计算

1、案例概况

本案例介绍利用mems实现matpower中的潮流计算,包括网络设备信息配置与查询、潮流计算。

matpower潮流计算功能包含以下主要函数:

  • idx_gen: 生成gen矩阵列索引
  • idx_bus: 生成bus矩阵列索引
  • idx_brch:生成branch矩阵列索引
  • make_y_bus:生成节点导纳矩阵
  • dsbus_dv:计算功率注入相对于电压的偏导数。
  • make_sdzip:构建ZIP负载的复功率向量
  • make_sbus:构建母线注入复功率向量
  • newtonpf:牛顿法求解潮流
  • runpf:执行潮流计算

上述函数均已通过RustScript语言实现,并在github中上传,可在mems中直接调用,URL如下:

  • idx_gen: https://shufengdong.github.io/sparrowzz/rspower/lib/idx_gen.txt
  • idx_bus:https://shufengdong.github.io/sparrowzz/rspower/lib/idx_bus.txt
  • idx_brch:https://shufengdong.github.io/sparrowzz/rspower/lib/idx_brch.txt
  • make_y_bus:https://shufengdong.github.io/sparrowzz/rspower/lib/make_y_bus.txt
  • dsbus_dv:https://shufengdong.github.io/sparrowzz/rspower/lib/dsbus_dv.txt
  • make_sdzip:https://shufengdong.github.io/sparrowzz/rspower/lib/make_sdzip.txt
  • make_sbus:https://shufengdong.github.io/sparrowzz/rspower/lib/make_sbus.txt
  • newtonpf:https://shufengdong.github.io/sparrowzz/rspower/lib/newtonpf.txt
  • runpf:https://shufengdong.github.io/sparrowzz/rspower/lib/runpf.txt

潮流计算输入数据主要包含母线、支路、发电机对应的bus、branch、gen3个矩阵。

2、设备配置

在mems界面设备中配置bus、branch、gen3个矩阵对应信息,包括设备属性定义、设备定义和设备实例构建。

(1)设备属性定义

bus、branch、gen矩阵的列属性定义为设备属性。在设备-设备定义-属性仓库页面导入设备属性定义文件,文件内容如下图所示:

设备属性定义配置文件

(2)设备定义

设备-设备定义页面导入设备定义文件,文件内容如下图所示:

设备定义配置文件

(3)设备实例构建

设备-设备维护页面导入设备实例文件,文件内容如下图所示:

设备定义配置文件

3、测点配置

matpower中的系统基准容量baseMVA作为测点数据进行配置,后续计算从测点中获取。在设置项-测点中导入对应测点,设置其默认值为系统基准容量,如下图所示:

基准容量测点配置文件

4、潮流计算配置

设置项-报表配置实现潮流计算的DataFrame流,包括获取网络设备信息、潮流计算,以下说明具体配置步骤。

(1)获取设备信息

在报表配置文件中,从设备表中获取各类设备参数,对应matpower的bus、branch、gen输入参数,配置如下图所示:

获取设备信息

以节点1获取母线信息为例,该节点类型为SOURCE_DEV,表示获取设备表信息,参数为如下sql语句:

select 
    `101`,`102`,`103`,`104`,`105`,`106`,`107`,`108`,`109`,`110`,`111`,`112`,`113` 
from Bus 
order by `101`

其中,Bus为母线表,列名为母线属性id。这里写出所有需要的列名,保证查询结果中属性顺序与matpower的bus矩阵属性顺序一致,同时按照母线编号进行行排序,以便与matpower比较计算结果。

(2)获取系统基准容量

系统基准容量信息通过测点获取,配置如下图所示。

获取系统基准容量

该节点类型为SOURCE_POINT,表示获取测点表信息,配置参数为如下sql语句:

select value from points where id=500001

其中,points为测点表,id为测点id列名,value为测点值列名。

(3)输入数据传给潮流计算节点

通过边将上述数据传给潮流计算节点,配置如下图所示:

输入数据传给潮流计算节点

(4)进行潮流计算

在节点5中进行潮流计算,该节点类型为TensorEval,参数2为3,表示进行复数张量运算,参数1配置及说明如下:

baseMVA=get(baseMVA_mat,0,0);   //获取系统基准容量标量值
//通过URL导入潮流计算所需函数
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/idx_gen.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/idx_bus.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/idx_brch.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/make_y_bus.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/dsbus_dv.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/make_sdzip.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/make_sbus.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/newtonpf.txt
#include_url https://shufengdong.github.io/sparrowzz/rspower/lib/runpf.txt
r = runpf(); //执行潮流计算
return r;   //返回计算结果

上述配置中,由于从边获取的数据baseMVA_mat为张量,通过get函数取出其中元素获取标量值。通过#include_url关键字从URL引入需用到的外部RustScript程序,使配置文件中的程序结构更清晰。

5. 潮流计算结果查看

运行潮流计算的DataFrame流,在仪表盘-报表页面可查询计算结果,选择表格展示形式,如下图所示:

潮流计算结果

其中复数的实部为节点电压幅值、虚部为电压相角。

以下附件中提供了上述潮流计算DataFrame流的配置文件,以及matpower 5节点系统案例对应的的设备、测点配置文件,可参考使用。

附件:电力系统潮流计算案例.zip