日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATPOWER工具本质原理解析

發布時間:2023/12/31 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATPOWER工具本质原理解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • 前言
  • case14文件
    • system MVA base
    • busdata(總線參數)
    • generator data(發電機參數)
    • branch data(支路參數)
    • generator cost data(發電機耗損參數)
    • bus name(總線名稱)
    • 總結
  • runopf文件
    • 輸入值(可選)
    • 返回值(可選)
    • 調用方式
    • 代碼內容
  • 總結
    • 文件功能
    • 如何用來做安全估計的仿真
  • 問題

前言

我們以最優潮流的計算來研究MATPOWER工具本質原理,為了后續做電網攻擊檢測仿真做技術鋪墊。
我們知道運行IEEE標準14電網模型的最優潮流計算的方法為:

runopf('case14')

這條語句在Matlab中涉及兩個文件:

  • runopf.m
  • case14.m

我們來分別來考察文件內容。

case14文件

該文件為IEEE 14總線潮流數據測試用例。猜想是給出了IEEE標準14總線電網的所有參數,文件內的參數矩陣如下。

system MVA base

據說電力中的MVA是變壓器容量單位或者是功率的單位或者發電機發電功率單位等。baseMVA是一個標量,用來設置基準容量。這個數值保持默認100即可。

busdata(總線參數)

包含參數以及其含義:

  • bus_i用來設置母線編號,范圍為1~29997。
  • type用來設置母線類型,1為PQ節點,2為PV節點,3為平衡節點;
  • Pd用來設置母線注入負荷的有功功率
  • Qd用來設置母線注入負荷的無功功率
  • Gs用來設置與母線并聯的電導
  • Bs用來設置與母線并聯的電納
  • area 用來設置電網斷面號,可設置范圍為1~100,一般設置為1
  • Vm用來設置母線電壓的幅值初值
  • Va用來設置母線電壓的相角初值
  • baseKV用來設置該母線的基準電壓
  • zone用來設置省耗分區號,可設置范圍為1~999,一般設置為1
  • Vmax用來設置工作時母線電壓最高幅值
  • Vmin用來設置工作時母線電壓最低幅值

所以這些都是標準IEEE電網的總線參數,是一定的。 在動態估計的應用里應該是動態的(隨時間變化)

generator data(發電機參數)

  • bus用來設置接入發電機的母線編號
  • Pg用來設置接入發電機的有功功率,注意功率輸入的是有名值
  • Qg用來設置接入發電機的無功功率
  • Qmax用來設置接入發電機的無功功率的最大允許值
  • Qmin用來設置接入發電機的無功功率的最小允許值
  • Vg用來設置接入發電機的工作電壓,注意輸入的是標幺值
  • mBase用來設置接入發電機的功率基準
  • status用來設置發電機的工作狀態,1表示投入運行,2表示投出運行
  • Pmax用來設置接入發電機的無功功率的最大允許值
  • Pmin用來設置接入發電機的無功功率的最小允許值
  • 其余的Pc1,Pc2,Qc1min,Qc1max,Qc2min,Qc2max,ramp_agc,ramp_10,ramp_30,ramp_q,apf均表示發電機其他特征量,在實際計算中可以設置為0

所以這些都是標準IEEE電網的發電機參數,是一定的。 (待商榷)

branch data(支路參數)

  • fbus用來設置支路起始節點編號
  • tbus用來設置支路終止節點編號
  • r用來設置該支路電阻,注意阻抗導納等參數輸入的都是標幺值
  • x用來設置該支路電抗
  • b用來設置該支路電納
  • rateA用來設置該支路長期允許功率
  • rateB用來設置該支路短期允許功率
  • rateC用來設置該支路緊急允許功率
  • ratio用來設置該支路變比,若該支路僅僅為導線則設置為0,若含有變壓器,則該變比為fbus側母線基準電壓與tbus側基準變壓之比
  • angle用來設置支路的相位角度,如果支路元件為變壓器,則就是變壓器的轉角,如果支路元件不是變壓器,則相位角度為0度
  • status用來設置支路工作狀態,1表示投入運行,0表示退出運行

所以這些都是標準IEEE電網的支路參數,是一定的。 在動態估計的應用里應該是動態的(隨時間變化)

generator cost data(發電機耗損參數)

注意:如果generator cost有n個generator行,那么cost矩陣的前n個generator行包含相應發電機產生的有功功率的成本。
如果generator cost有2n個generator行,那么行ng+1到2ng包含相同格式的無功成本
以下按照順序:

  • model 1-分段線性 2-多項式;
  • startup 以美元計算的啟動成本;
  • shutdown 以美元計算的關閉成本;
  • N(=n+1)定義n段分段線性代價函數所遵循的數據點的個數,或定義n階多項式代價函數的代價系數的個數;
  • 后面的參數是損耗函數的細節。

以上的內容保持默認不必更改。

bus name(總線名稱)

顧名思義

總結

所以各種case文件只是包含了IEEE標準的電網的參數,可以說是一種模型例。MATPOWER的核心還是在于runopf文件。
備注:如果需要查看數據格式意義請在matlab命令行輸入

help caseformat

runopf文件

調用形式為:

[RESULTS, SUCCESS] = RUNOPF(CASEDATA, MPOPT, FNAME, SOLVEDCASE)

輸入值(可選)

參數輸入
CASEDATAcase結構或包含文件名稱和case數據的字符串(默認為’case9’)
MPOPT用于指定解決方案算法、輸出選項終止容限等
FNAME將輸出寫入文件,文件名
SOLVEDCASE將以MATPOWER大小寫格式保存的文件名

返回值(可選)

參數返回
RESULTS結構包含以下字段:Order - 內外數據轉換; et-時間,單位為秒;success標志,1 =成功,0 =失敗
SUCCESS成功標志,可以在第二個參數單獨返回

調用方式

results = runopf; results = runopf(casedata); results = runopf(casedata, mpopt); results = runopf(casedata, mpopt, fname); results = runopf(casedata, mpopt, fname, solvedcase); [results, success] = runopf(...);

同時,為了與以前的MATPOWER版本兼容,一些結果可以作為單獨的輸出參數返回:

[baseMVA, bus, gen, gencost, branch, f, success, et] = runopf(...);

舉例如

results = runopf('case30');

代碼內容

主要是做一些“外圍工作”,比如默認參數預設、輸出、輸出寫入文件等。
核心是調用了另一個文件opf.m,而文件opf.m又調用了opf_args.m文件。事實上整個軟件的程序包基本上是嵌套關系(指的是進行運算的函數文件),頂層文件通過調用函數文件來完成各個模塊的運算工作,然后將結果整合輸出。

總結

文件功能

就目前我的理解來說,軟件程序做的是利用已知的系統參數,來求解當前各個節點的電壓等參數。而系統參數就來自諸如case14等參數文件。

如何用來做安全估計的仿真

因此對于安全估計的仿真應用來說,需要的節點參數數據是隨時間動態變化的(才能做估計),因此需要設置系統參數是隨時間動態變化。

具體而言,應該是通過編寫case文件中的參數矩陣,使得矩陣中的某些參數隨著時間動態變化(目前還沒確定是哪些矩陣中的哪些參數會動態變化,經過初步的思考和搜索,考慮到動態變化主要是由于用戶端的用電波動產生,因此動態變化的參數應該在bus總線端和branch分支端的矩陣中)。

依據網友所述,為了用matpower做24小時的最優潮流調度,使用腳本動態修改case9.m中的bus矩陣數據,腳本代碼可以實現如下:

load=xlsread('D:\opf\data.xlsx','sheet1','a1:i24'); mpc=loadcase('case9'); for i=1:24 mpc.bus(:,3)=load(i,:); result=runopf(mpc) end

關于負荷數據的獲取:

24小時負荷數據可以下載網上共享的新英格蘭電力數據,里面有好多年的數據集。

一句話總結:后續應當是要在case上做文章體現動態,利用matpower計算得到節點動態參數。利用估計方法對節點進行量測和估計。

問題

現在相當于是產生了動態變化的各節點數據(屬于量測數據),但是系統模型是怎樣的?

總結

以上是生活随笔為你收集整理的MATPOWER工具本质原理解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。