资源简介

本资源包括两个matlab程序,用于将PSS/E RAW文件转为IEEE COMMON FORMAT,两个文件对数据列的理解不大一致,raw2cfd-psasp代码转换的数据比较确定可被综合程序导入,raw2cfd文件则可额外生成pst使用的bus line数据。 本资源处理的RAW格式比较老,但是也可以作为蓝本,修改后用于导入新的RAW文件。附件PSSE实验指导教程.pdf里面有pss/e和ieee的数据格式说明,可以参考。 此外有一个建议,如果为了研究,需要使用自定义模型,则最好不要使用综合程序。综合程序的UD功能问题很多,出了问题还很难排查,相比之下,PST和PSAT作为开源项目,有问题也容易处理的多。

资源截图

代码片段和文件信息

%author: wood wei 201706

%输入参数为RAW文件和标题行个数
%无功上下限等数据未读入也未写入,需要额外增加代码
function raw2cfd(rawfiletitlelines)
fid=fopen(rawfile);
for i=1:titlelines
    tline= fgetl(fid);
end

for i=1:99999
    tline = fgetl(fid);
    if tline(1)==‘0‘
        break;
    end
    %  101‘1_HPSGEN    ‘  15.00002   1   1   11.00000 -19.5131 1.10000 0.90000 1.10000 0.90000
    BUSID(i)=sscanf(tline(1:5)‘%d‘);    
    %A=sscanf(tline(8:19)‘%s‘);
    BUSNAME(i:)=tline(8:19);
    %bname=mat2str(tline(8:19));
    A=sscanf(tline(22:end)‘%f%d%d%*d%*d%f%f‘);
    BUSVOLTB(i)=A(1);
    BUSTYPE(i)=A(2);
    BUSAREA(i)=A(3);
    BUSVOLT(i)=A(4);
    BUSDEG(i)=A(5);
    busmap(BUSID(i))=i;
end
NG=i-1;
%负荷
for i=1:99999
    tline = fgetl(fid);
    if tline(1)==‘0‘
        break;
    end
    %  102‘1 ‘1   1   1   450.000    45.000     0.000     0.000     0.000     0.000   11
    id=sscanf(tline(1:5)‘%d‘);    
    A=sscanf(tline(24:end)‘%f%f‘);
    p=A(1);
    q=A(2);    
    BUSPL(busmap(id))=p;
    BUSQL(busmap(id))=q;
end

%电容器
for i=1:99999
    tline = fgetl(fid);
    if tline(1)==‘0‘
        break;
    end
    %    212‘ 1‘ 1     0.000   400.000
    id=sscanf(tline(1:6)‘%d‘);    
    A=sscanf(tline(16:end)‘%f%f‘);
    p=A(1);
    q=A(2);    
    %BUSPL(busmap(id))=BUSPL(busmap(id))+p;
    BUSQL(busmap(id))=BUSQL(busmap(id))-q;
end

%发电机  电压认为上面已经给了,这里不再读,也没有读无功上下限和额定容量
for i=1:99999
    tline = fgetl(fid);
    if tline(1)==‘0‘
        break;
    end
    %   101‘1 ‘   300.860   311.475   581.128  -581.1281.00000    0  1333.200   0.00000   0.25000   0.00000   0.000001.000001  100.0  1200.000     0.000   11.0000   01.0000   01.0000   01.00000 1.0000
    id=sscanf(tline(1:5)‘%d‘);    
    A=sscanf(tline(12:end)‘%f%f‘);
    p=A(1);
    q=A(2);    
    BUSPG(busmap(id))=p;
    BUSQG(busmap(id))=q;
end

%线路
for i=1:99999
    tline = fgetl(fid);
    if tline(1)==‘0‘
        break;
    end
    % 102   217‘1 ‘ 0.00840 0.066700.81700   0.00   0.00   0.00  0.00000  0.00000  0.00000  0.0000011   0.0   11.0000   01.0000   01.0000   01.0000
    lineI(i)=busmap(sscanf(tline(1:5)‘%d‘));    
    lineJ(i)=busmap(sscanf(tline(7:13)‘%d‘));   
    A=sscanf(tline(19:end)‘%f%f%f‘);
    lineR(i)=A(1);
    lineX(i)=A(2);    
    lineB(i)=A(3);    
end
NL=i-1;
%变压器
for i=i:99999
    tline = fgetl(fid);
    if tline(3)==‘/‘
        break;
    end
    %   101  102    0‘1 ‘111  0.00000  0.000002‘            ‘1   11.0000   01.0000   01.0000   01.0000
    lineI(i)=busmap(sscanf(tline(1:6)‘%d‘));    
    lineJ(i)=busmap(sscanf(tline(7:12)‘%d‘));  
    % 0.00000 0.00900 100.00
    tline = fgetl(fid);
    A=sscanf(tline‘%f%f‘);
    lineR(i)=A(1);
    lineX(i)=A(2);    
    lineB(i)=0;
    % 0.93900 15.000   0.000   0.00   0.00   0.000     0 1.10000 0.90000 1.10000 0.90000 33 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件     1020958  2017-06-11 20:04  PSSE实验指导教程(试用版).pdf
     文件     5889386  2017-06-15 10:28  PSSE_Controllers_Standard-1(励磁).pdf
     文件       73257  2017-06-15 11:15  PSSE动态数据说明(隐极和PSS).png
     文件        5173  2017-06-18 23:42  raw2cfd - psasp.m
     文件        6695  2017-06-24 16:59  raw2cfd.m
     文件         526  2017-07-14 12:26  说明.txt

评论

共有 条评论