葉凌+鄭鵬
摘 ?要 ?提出了一種配網(wǎng)故障定位算法及其程序的實現(xiàn),解決線路上各點故障定位,算法的計算量小,計算速度快。根據(jù)饋線終端設備(FTU)獲得的故障過電流信息組成信息矩陣,結(jié)合網(wǎng)絡描述矩陣對信息矩陣進行計算到信息判斷矩陣,由信息判斷矩陣可以直接判別出故障區(qū)域。
關(guān)鍵詞 ?故障過電流;故障定位;配電網(wǎng);算法
中圖分類號:TN948 ? ? ?文獻標識碼:A ? ? ?文章編號:1671-7597(2014)21-0028-02
智能電網(wǎng)項目的展開,在環(huán)網(wǎng)柜內(nèi)、線路柱上開關(guān)安裝了大量的FTU等現(xiàn)場監(jiān)控終端,為提高供電可靠性創(chuàng)造了條件。故障發(fā)生后,利用終端設備FTU提供的短路電流信息,可以對故障實現(xiàn)快速、準確定位。文獻[1]給出了故障定位的矩陣算法,該算法通過網(wǎng)絡描述矩陣和故障信息矩陣相乘,在進行規(guī)格化處理后,才能判定故障點。計算量比較大。文獻[2]提出一種基于網(wǎng)形結(jié)構(gòu)的故障區(qū)段定位算法,該算法判斷原理簡單、直觀、可滿足實時性要求,但不能診斷饋線末端故障的問題。
綜上述,本文提出了一種饋線故障定位算法。該算法不僅能很好地解決饋線各點故障定位問題,而且計算量小,處理速度快。
1 ?算法基本原理
首先獲得當前運行方式的網(wǎng)絡描述矩陣;在發(fā)生故障時,根據(jù)故障電流信息生成一個故障信息矩陣;通過矩陣運算得到故障判定矩陣,應用故障判據(jù)就可判斷出故障區(qū)段。
對饋線上的設備作為節(jié)點進行編號,編號無規(guī)則,順序可任取。
①網(wǎng)形結(jié)構(gòu)矩陣D形成規(guī)則。N節(jié)點網(wǎng)絡,則D對應為矩陣。定義如下:如果節(jié)點i有子節(jié)點j,則Dij=1,否則Dij=0。若i和j之間有一條饋線且正方向是由i指向j,則對應Dij=1否則Dij=0。②故障信息矩陣G。假定i有故障電流,且方向和正方向相同,則將G中的元素置1,其余均置0。③故障區(qū)間判斷矩陣P=D+G。
故障區(qū)間是判斷P中元素是否滿足2個條件:
①Pii=1;②、對所有的Pii=1的j(j≠i),都有Pij=0。
它的物理意義為:當i有故障電流,j在i的下方,j沒有故障電流或反方向故障電流,這時可判定i,j之間發(fā)生了
故障。
當故障發(fā)生在末端i時,其判別條件是:若有Pii=1,且對于所有的Pij=0(j≠i)。
它的物理意義是:當某點i 流過故障電流,且i不存在子節(jié)點,那么末端i必然發(fā)生故障。
2 ?應用舉例
如圖所示,假設由A供電,則網(wǎng)絡描述矩陣D為:D13、D27、D36、D49、D62、D68、D75、D712、D810、D811、D104元素為1,其余均為0。
假設在圖示f1,f2,f3三點發(fā)生故障
G=[1 1 1 1 0 1 1 1 0 1 1 0]。
P=D+G得出:
P11、P13、P22、P27、P33、P36、P44、P49、P62、P66、P68、P75、P77、P712、P88、P810、P811、P1010、P114、P1111為1,其余元素均為0。
從P中可以看出:
P44=1,P49=1,P99=0,滿足判定條件,故區(qū)段4-9為故障區(qū)段。
P77=1,P75=1,P712=1,P55=0,P1212=0,滿足判定條件,故區(qū)段7-5、7-12為故障區(qū)段。
第10行除了P1010=1,其余都為0,滿足末端故障判定條件,所以節(jié)點10末端饋線發(fā)生故障。
其余均不滿足判斷條件,為非故障區(qū)段。
3 ?算法實現(xiàn)
程序?qū)崿F(xiàn)如下。
讀文件程序:
int n;
char filename1[100]; ?filename1[100]用來存讀文件的文件路徑
FILE *fp; ? ? ? ? ? ? ? ? ? 文件指針變量
printf(“Enter the file name1:\n”);
gets(filename1); ? ? ? ? ? ? ? ? ? ? ? 從鍵盤獲得讀文件的文件路徑
if((fp=fopen(filename1,”r”))==NULL) ? ? ?打開文件
{ printf(“Cannot open infilep.dat\n”);
exit(0); ? ? ? ? ? ? ? ? ? ? ? 退出
節(jié)點編號程序:
for(i=1;i<=L;i++) ? ? ? ? ? ? ? ? 行掃描,L為網(wǎng)
絡層數(shù)
{ f=pow(2,i-1); ? ? ? ? ? ? ? ? ? f表示每層的編號數(shù)目個
for(j=1;j<=f;j++) ? ? ? ? ? ? ? 列掃描endprint
{zan=fscanf(fp,”%2d”,&n); ? ?每次從文件中讀取2個字節(jié),并將其存于&n中
a[i][j]=n;
}
}
網(wǎng)絡描述矩陣:
for(i=1;i { for(j=1;j<=f;j++) { if((a[i][j]!=0)&&(a[i+1][2*j-1]!=0)) 判斷(父節(jié)點的)左子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j-1]; ? ? ? ? ? ? ? 提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ?確定父節(jié)點與左子節(jié)點的正向連接關(guān)系 } if((a[i][j]!=0)&&(a[i+1][2*j]!=0)) ? 判斷(父節(jié)點的)右子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j]; ? ? ? ? ? ? ? ? ?提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ? 確定父節(jié)點與右子節(jié)點的正向連接關(guān)系 } } } 故障判斷程序 for(i=1;i<=num;i++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { ? x=y=f=0; ? ? ? ? ? ? ? ? ? ? x,y,f用來計數(shù) for(j=1;j<=num;j++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { if(i==j) ?continue; ? ? 如果i==j,跳出去執(zhí)行j++ if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==0)) x=x+1; ? ? ? ? ? ? ? ? ?滿足條件的元素個數(shù) else if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==1)) y=y+1; ? ? ? ? ? ? ? ? 對角元素為1,但不滿足條件的元素個數(shù) else if(p[i][i]==0) f=f+1;} ? ? ? ? ? ? ? ? ? 對角元素為0即完全不滿足條件的 if((x==0)&&(y==0)&&(f==0)) ? ? ? ? 符合末端判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d之后的末端饋線上\n",i); if((x>0)&&(y==0)) for(k=1;k<=num;k++) { if(k==i) continue; if((p[i][i]==1)&&(p[i][k]==1)&&(p[k][k]==0)) ? ?符合區(qū)段故障判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d和節(jié)點%d之間的饋線上\n",i,k); } } 將程序運行后內(nèi)容如下: 所得結(jié)果與實際故障情況相吻合,體現(xiàn)了所編程序的正確性、可行性。 參考文獻 [1]劉健,倪健立,杜宇.配電網(wǎng)故障區(qū)段判斷和隔離的統(tǒng)一矩陣算法[J].電力系統(tǒng)自動化,1999,23(1):31-33. [2]衛(wèi)志農(nóng),何樺,鄭玉平.配電網(wǎng)故障區(qū)段定位的一種新算法[J].電力系統(tǒng)自動化,2001,2(14):46-50. [3]蔣秀潔,熊信銀,等.改進矩陣算法及其在配電網(wǎng)故障區(qū)段定位中的應用[J].電網(wǎng)技術(shù),2004,28(19):60-63. [4]楊俊起,陳滟濤,楊凌霄,王福忠.配電網(wǎng)故障區(qū)段定位的改進矩陣算法研究[J].南京理工大學學報,2007,33(5):135-138.endprint {zan=fscanf(fp,”%2d”,&n); ? ?每次從文件中讀取2個字節(jié),并將其存于&n中 a[i][j]=n; } } 網(wǎng)絡描述矩陣: for(i=1;i { for(j=1;j<=f;j++) { if((a[i][j]!=0)&&(a[i+1][2*j-1]!=0)) 判斷(父節(jié)點的)左子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j-1]; ? ? ? ? ? ? ? 提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ?確定父節(jié)點與左子節(jié)點的正向連接關(guān)系 } if((a[i][j]!=0)&&(a[i+1][2*j]!=0)) ? 判斷(父節(jié)點的)右子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j]; ? ? ? ? ? ? ? ? ?提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ? 確定父節(jié)點與右子節(jié)點的正向連接關(guān)系 } } } 故障判斷程序 for(i=1;i<=num;i++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { ? x=y=f=0; ? ? ? ? ? ? ? ? ? ? x,y,f用來計數(shù) for(j=1;j<=num;j++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { if(i==j) ?continue; ? ? 如果i==j,跳出去執(zhí)行j++ if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==0)) x=x+1; ? ? ? ? ? ? ? ? ?滿足條件的元素個數(shù) else if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==1)) y=y+1; ? ? ? ? ? ? ? ? 對角元素為1,但不滿足條件的元素個數(shù) else if(p[i][i]==0) f=f+1;} ? ? ? ? ? ? ? ? ? 對角元素為0即完全不滿足條件的 if((x==0)&&(y==0)&&(f==0)) ? ? ? ? 符合末端判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d之后的末端饋線上\n",i); if((x>0)&&(y==0)) for(k=1;k<=num;k++) { if(k==i) continue; if((p[i][i]==1)&&(p[i][k]==1)&&(p[k][k]==0)) ? ?符合區(qū)段故障判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d和節(jié)點%d之間的饋線上\n",i,k); } } 將程序運行后內(nèi)容如下: 所得結(jié)果與實際故障情況相吻合,體現(xiàn)了所編程序的正確性、可行性。 參考文獻 [1]劉健,倪健立,杜宇.配電網(wǎng)故障區(qū)段判斷和隔離的統(tǒng)一矩陣算法[J].電力系統(tǒng)自動化,1999,23(1):31-33. [2]衛(wèi)志農(nóng),何樺,鄭玉平.配電網(wǎng)故障區(qū)段定位的一種新算法[J].電力系統(tǒng)自動化,2001,2(14):46-50. [3]蔣秀潔,熊信銀,等.改進矩陣算法及其在配電網(wǎng)故障區(qū)段定位中的應用[J].電網(wǎng)技術(shù),2004,28(19):60-63. [4]楊俊起,陳滟濤,楊凌霄,王福忠.配電網(wǎng)故障區(qū)段定位的改進矩陣算法研究[J].南京理工大學學報,2007,33(5):135-138.endprint {zan=fscanf(fp,”%2d”,&n); ? ?每次從文件中讀取2個字節(jié),并將其存于&n中 a[i][j]=n; } } 網(wǎng)絡描述矩陣: for(i=1;i { for(j=1;j<=f;j++) { if((a[i][j]!=0)&&(a[i+1][2*j-1]!=0)) 判斷(父節(jié)點的)左子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j-1]; ? ? ? ? ? ? ? 提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ?確定父節(jié)點與左子節(jié)點的正向連接關(guān)系 } if((a[i][j]!=0)&&(a[i+1][2*j]!=0)) ? 判斷(父節(jié)點的)右子節(jié)點是否存在 {m=a[i][j]; n=a[i+1][2*j]; ? ? ? ? ? ? ? ? ?提取行、列號 c[m][n]=1; ? ? ? ? ? ? ? ? ? ? 確定父節(jié)點與右子節(jié)點的正向連接關(guān)系 } } } 故障判斷程序 for(i=1;i<=num;i++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { ? x=y=f=0; ? ? ? ? ? ? ? ? ? ? x,y,f用來計數(shù) for(j=1;j<=num;j++) ? ? ? ? ? ? 行掃描,num為編號數(shù)目 { if(i==j) ?continue; ? ? 如果i==j,跳出去執(zhí)行j++ if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==0)) x=x+1; ? ? ? ? ? ? ? ? ?滿足條件的元素個數(shù) else if((p[i][i]==1)&&(p[i][j]==1)&&(p[j][j]==1)) y=y+1; ? ? ? ? ? ? ? ? 對角元素為1,但不滿足條件的元素個數(shù) else if(p[i][i]==0) f=f+1;} ? ? ? ? ? ? ? ? ? 對角元素為0即完全不滿足條件的 if((x==0)&&(y==0)&&(f==0)) ? ? ? ? 符合末端判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d之后的末端饋線上\n",i); if((x>0)&&(y==0)) for(k=1;k<=num;k++) { if(k==i) continue; if((p[i][i]==1)&&(p[i][k]==1)&&(p[k][k]==0)) ? ?符合區(qū)段故障判據(jù)要求 fprintf(fp1,"有故障發(fā)生在節(jié)點%d和節(jié)點%d之間的饋線上\n",i,k); } } 將程序運行后內(nèi)容如下: 所得結(jié)果與實際故障情況相吻合,體現(xiàn)了所編程序的正確性、可行性。 參考文獻 [1]劉健,倪健立,杜宇.配電網(wǎng)故障區(qū)段判斷和隔離的統(tǒng)一矩陣算法[J].電力系統(tǒng)自動化,1999,23(1):31-33. [2]衛(wèi)志農(nóng),何樺,鄭玉平.配電網(wǎng)故障區(qū)段定位的一種新算法[J].電力系統(tǒng)自動化,2001,2(14):46-50. [3]蔣秀潔,熊信銀,等.改進矩陣算法及其在配電網(wǎng)故障區(qū)段定位中的應用[J].電網(wǎng)技術(shù),2004,28(19):60-63. [4]楊俊起,陳滟濤,楊凌霄,王福忠.配電網(wǎng)故障區(qū)段定位的改進矩陣算法研究[J].南京理工大學學報,2007,33(5):135-138.endprint