Professional Documents
Culture Documents
set AllObjs,resSet,setLines,lines,reactors;
int nR,nCR,nCX,harNum,colmn,matRow,matColmn,i,j,k,l,m,n,col,row,error,p,q,MR1tap;
double R, X,rValue,minRValue,Angle;
string path;
impedanceMat.Init(300,100,0.0);
ClearOutput();
MR1:ncapa=q*5;
MR1tap=MR1:ncapa;
printf('Reactor tap position %d ',MR1tap);
printf('Case no tap %d ',l);
q=q+1;
}
Fsweep=GetCaseObject('ComFsweep'); ! run frequency scan
Fsweep.Execute();
1
i=1; ! row number in result object
while(i<nR){
pccFsweep.GetValue(R,i,nCR);
pccFsweep.GetValue(X,i,nCX);
Angle=atan(X/R)*180/pi();
j=i*3;
impedanceMat.Set(l,j-2,R);
impedanceMat.Set(l,j-1,X);
impedanceMat.Set(l,j,Angle);
!printf('harmonic order %d Resistance R %f Reactance X %f',i+1,R,X);
xlSetValue(j-2,l,R);
xlSetValue(j-1,l,X);
xlSetValue(j,l,Angle);
i+=1;
}
pccFsweep.Release();
!----------------------------------------------------------------------------------
l=l+1; ! row number in xlsx
!printf('Case no start %d ',l);
for(oLine=lines.First();oLine;oLine=lines.Next()){
!oLine=setLines.First();
!for(m=0;m<3;m+=1){
!oLine=setLines.First();
!chkOutserv=oLine:outserv;
if(oLine:outserv=1){
k+=1;
}
else{
oLine.ShowFullName();
!lFlow.Execute();
oLine:outserv=1; ! line out of service
Fsweep=GetCaseObject('ComFsweep'); ! run frequency scan
Fsweep.Execute();
printf('Case no %d ',l);
resSet=stdCase.GetContents('Freq.Sweep.ElmRes'); ! frequency scan result obj
pccFsweep=resSet.First(); ! fsweep result objects
pccFsweep.Load(); ! load frequency sweep result object
oLine:outserv=0; ! out of service line put back to service
nR=pccFsweep.GetNumberOfRows(); ! number of rows of res object
nCR = pccFsweep.FindColumn(NaduBus,'m:R'); ! column number of R in res obje
nCX = pccFsweep.FindColumn(NaduBus,'m:X'); ! column number of X in res objec
i=1;
while(i<nR){
pccFsweep.GetValue(R,i,nCR);
pccFsweep.GetValue(X,i,nCX);
Angle=atan(X/R)*180/pi();
j=i*3;
impedanceMat.Set(l,j-2,R);
impedanceMat.Set(l,j-1,X);
impedanceMat.Set(l,j,Angle);
!printf('harmonic order %d Resistance R %f Reactance X %f',i+1,R,X);
xlSetValue(j-2,l,R);
xlSetValue(j-1,l,X);
xlSetValue(j,l,Angle);
2
i+=1;
}
pccFsweep.Release();
}
l+=1;
col=impedanceMat.GetNumberOfColumns();
row=impedanceMat.GetNumberOfRows();