潮流计算
5.1 电力系统潮流计算
Section titled “5.1 电力系统潮流计算”1、案例概况
Section titled “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、设备配置
Section titled “2、设备配置”在mems界面设备中配置bus、branch、gen3个矩阵对应信息,包括设备属性定义、设备定义和设备实例构建。
(1)设备属性定义
Section titled “(1)设备属性定义”将bus、branch、gen矩阵的列属性定义为设备属性。在设备-设备定义-属性仓库页面导入设备属性定义文件,文件内容如下图所示:

(2)设备定义
Section titled “(2)设备定义”在设备-设备定义页面导入设备定义文件,文件内容如下图所示:

(3)设备实例构建
Section titled “(3)设备实例构建”在设备-设备维护页面导入设备实例文件,文件内容如下图所示:

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

4、潮流计算配置
Section titled “4、潮流计算配置”在设置项-报表配置实现潮流计算的DataFrame流,包括获取网络设备信息、潮流计算,以下说明具体配置步骤。
(1)获取设备信息
Section titled “(1)获取设备信息”在报表配置文件中,从设备表中获取各类设备参数,对应matpower的bus、branch、gen输入参数,配置如下图所示:

以节点1获取母线信息为例,该节点类型为SOURCE_DEV,表示获取设备表信息,参数为如下sql语句:
select `101`,`102`,`103`,`104`,`105`,`106`,`107`,`108`,`109`,`110`,`111`,`112`,`113`from Busorder by `101`其中,Bus为母线表,列名为母线属性id。这里写出所有需要的列名,保证查询结果中属性顺序与matpower的bus矩阵属性顺序一致,同时按照母线编号进行行排序,以便与matpower比较计算结果。
(2)获取系统基准容量
Section titled “(2)获取系统基准容量”系统基准容量信息通过测点获取,配置如下图所示。

该节点类型为SOURCE_POINT,表示获取测点表信息,配置参数为如下sql语句:
select value from points where id=500001其中,points为测点表,id为测点id列名,value为测点值列名。
(3)输入数据传给潮流计算节点
Section titled “(3)输入数据传给潮流计算节点”通过边将上述数据传给潮流计算节点,配置如下图所示:

(4)进行潮流计算
Section titled “(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.txtr = runpf(); //执行潮流计算return r; //返回计算结果上述配置中,由于从边获取的数据baseMVA_mat为张量,通过get函数取出其中元素获取标量值。通过#include_url关键字从URL引入需用到的外部RustScript程序,使配置文件中的程序结构更清晰。
5. 潮流计算结果查看
Section titled “5. 潮流计算结果查看”运行潮流计算的DataFrame流,在仪表盘-报表页面可查询计算结果,选择表格展示形式,如下图所示:

其中复数的实部为节点电压幅值、虚部为电压相角。
以下附件中提供了上述潮流计算DataFrame流的配置文件,以及matpower 5节点系统案例对应的的设备、测点配置文件,可参考使用。
注:本案例中的URL由于为github,链接不稳定,附件中另提供本地数据版本。