?? distinguish.m
字號:
%識別程序:
%輸入作為識別參數時,則將電壓幅值化成標么值的形式,而且諧波的幅值一般均設為1;
%X數組的第一行為基波a相的測量值,第二行為b相的測量值,第三行為c相的測量值(如果沒有三相數據,則第二行和第三行為諧波數值),以后幾行均為諧波數值;
%倒數第二行為電壓波動數值,輸入格式為【0 0 d(電壓波動值)】,最后一行為三相不平衡數值,輸入格式為【e(三相不平衡度) 0 0】;
clear;
clc;
X=[49.5 0.6 0.9;148.5 0.6 0.9];
handles.X=X;
HH=[];
[a,b]=size(handles.X);
X=handles.X;
for j=2:a
if X(j,1)/X(1,1)>1.04|X(j,1)/X(1,1)<0.96
G=X(j,1)/X(1,1);
G=round(G*10)/10;
if G>1|G<1&G>0|G<0
Faulttype=[num2str(G),'次諧波//'];
HH=[HH Faulttype];
end
end
end
for i=1:a
if X(i,2)<=0.6&X(i,2)>=0.01
if X(i,3)<=0.9&X(i,3)>=0.1
if i==1
Faulttype='基波分量瞬時電壓暫降//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相瞬時電壓暫降//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相瞬時電壓暫降//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量瞬時電壓暫降//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=0.6&X(i,2)>=0.01
if X(i,3)<=1.8&X(i,3)>=1.1
if i==1
Faulttype='基波分量瞬時電壓暫升//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相瞬時電壓暫升//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相瞬時電壓暫升//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量瞬時電壓暫升//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=3&X(i,2)>=0.01
if X(i,3)<=0.1
if i==1
Faulttype='基波分量暫時電壓中斷//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相暫時電壓中斷//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相暫時電壓中斷//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量暫時電壓中斷//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=3&X(i,2)>0.6
if X(i,3)<=0.9&X(i,3)>=0.1
if i==1
Faulttype='基波分量暫時電壓暫降//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相暫時電壓暫降//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相暫時電壓暫降//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量暫時電壓暫降//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=3&X(i,2)>0.6
if X(i,3)<=1.4&X(i,3)>=1.1
if i==1
Faulttype='基波分量暫時電壓暫升//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相暫時電壓暫升//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相暫時電壓暫升//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量暫時電壓暫升//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=60&X(i,2)>3
if X(i,3)<=0.1
if i==1
Faulttype='基波分量短時電壓中斷//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相短時電壓中斷//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相短時電壓中斷//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量短時電壓中斷//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=60&X(i,2)>3
if X(i,3)<=0.9&X(i,3)>=0.1
if i==1
Faulttype='基波分量短時電壓暫降//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相短時電壓暫降//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相短時電壓暫降//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量短時電壓暫降//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)<=60&X(i,2)>3
if X(i,3)<=1.2&X(i,3)>=1.1
if i==1
Faulttype='基波分量短時電壓暫升//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相短時電壓暫升//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相短時電壓暫升//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量短時電壓暫升//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)>=60
if X(i,3)==0
if i==1
Faulttype='基波分量持續中斷//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相持續中斷//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相持續中斷//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量持續中斷//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)>=60
if X(i,3)<=0.9&X(i,3)>=0.8
if i==1
Faulttype='基波分量欠電壓//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相欠電壓//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相欠電壓//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量欠電壓//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,2)>=60
if X(i,3)<=1.2&X(i,3)>=1.1
if i==1
Faulttype='基波分量過電壓//';
HH=[HH Faulttype];
else
G=X(i,1)/X(1,1);
G=round(G*10)/10;
if G==1
if i==2
Faulttype=['b相過電壓//'];
HH=[HH Faulttype];
elseif i==3
Faulttype=['c相過電壓//'];
HH=[HH Faulttype];
end
else
Faulttype=[num2str(G),'次諧波分量過電壓//'];
HH=[HH Faulttype];
end
end
end
end
if X(i,1)==0
if X(i,2)==0
if X(i,3)<=0.3&X(i,3)>=0.05 %對于電壓波動,輸入的幅值為波動的最大值;
Faulttype='電壓波動//';
HH=[HH Faulttype];
end
end
end
if X(i,3)==0
if X(i,2)==0
if X(i,1)>0|X(i,1)<0
Faulttype='三相不平衡//';
HH=[HH Faulttype];
end
end
end
end
if X(1,1)/50<1.04&X(1,1)/50>1.0016
Faulttype='頻率波動//';
HH=[HH Faulttype];
elseif X(1,1)/50<0.9984&X(1,1)/50>0.96
Faulttype='頻率波動//';
HH=[HH Faulttype];
end
HH
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -