一种电力系统仿真软件输入数据转换方法
技术领域
本发明涉及电气行业,尤其涉及用于我国电力系统的PSS/E软件仿真研究的一种PSASP程序格式的输入数据文件转换为PSS/E程序格式的输入数据文件的电力系统仿真软件输入数据转换方法。
背景技术
随着我国“西电东送、南北互供、全国联网”的电网格局的逐渐形成,电网间的联系更加紧密,系统故障的波及范围将会扩大。因此急需一款大电网仿真分析建模工具,以指导系统规划设计和运行。PSS/E是美国PTI公司开发的一款功能非常强大的电力系统仿真分析程序,非常适合于大系统的常规动态分析和中长期动态仿真分析,而且提供了比较精确的直流模型和可再生能源发电模型,因此,用其指导我国的电力系统运行将具有十分重要的意义。
大电网包含非常多的电气设备,一个省级电网所辖的220kV以上系统就包含几千条母线、上千个负荷、上千个并联电容电抗器、几千条交流线、几百台发电机、几百台两绕组变压器、上千台三绕组变压器,在PSS/E软件中对如此多的电气元件建模是一件工作量非常大的工作。
PSASP是我国自主研发的电力系统综合分析程序,在我国各级电网公司中均有应用,为指导我国的电力规划和运行做出了重要贡献,但其存在着部分模型如直流模型和风机模型等过于简单、分析功能有限,难以仿真中长期动态过程等不足。由于在我国各级电网公司都具有PSASP格式的电网模型数据,因此可以考虑将PSASP格式的输入数据文件转换为PSS/E程序格式的输入数据文件,但该转换存在以下技术难点:
1)PSASP的输入数据是foxpro数据库格式的,PSS/E的输入数据为ASCII文档格式,两者存储的数据类型存在差异;
2)PSASP中数据管理是以母线名为索引的,未涉及到母线编号,而PSS/E的数据管理则是以母线编号为索引,母线名仅作为母线的标识;
3)我国在线的发电机及其调节器(包括调压器、调速器以及PSS)是符合国标的,其与符合国际标准的PSS/E模型库不一致,因此无法使用PSS/E模型库中的发电机及其调节器模型;
4)PSASP中的发电机调节器(包括调压器、调速器以及PSS)模型与PSS/E中不对应;鉴于以上四个难点,目前尚无一种有效的用于我国电力系统的PSS/E软件仿真的建模方法,更无一种将PSASP程序格式的输入数据文件转换为PSS/E程序格式的输入数据文件的方法。
发明内容
本发明的目的就是为解决上述问题,提供一种PSASP程序格式的输入数据文件转换为PSS/E格式的输入数据文件的方法,以解决用于我国电力系统的PSS/E软件仿真研究的建模难、建模工作量大等问题。
为了实现上述目的,本发明采用如下技术方案:
一种电力系统仿真软件输入数据转换方法,它将PSASP程序格式的母线数据、负荷数据、并联电容电抗器数据、发电机数据、交流线数据、两绕组变压器数据和三绕组变压器数据,经数据类型转换后,按照母线编号顺序写入到PSS/E程序格式的潮流计算输入数据文件,以及将PSASP程序格式的发电机及其调节器数据,经数据类型转换后,按照PSS/E自定义模型的格式写入到PSS/E程序格式的动态分析输入数据文件。
所述数据类型转换是指将逻辑型、浮动型、字符型和数值型的数据转换为含义相同或一致的字符型数据;所述母线编号包括按PSASP程序中母线数据的存储顺序或任意顺序给定母线编号,然后将其直接或经母线编号优化后的母线编号作为PSS/E项目中的母线索引,所述母线优化编号是静态母线优化编号、半动态母线优化编号和动态母线优化编号的一种、两种或三种的组合;所述自定义模型是指根据发电机调节器包括调压器、调速器以及PSS等电气元件的逻辑,按照PSS/E自定义模型的格式创建相应的元件模型。
为便于表述,本文用M[k][″s″]表示PSASP项目中M.dbf数据库中第k条记录的″s″字段的值,如generat[2][″Pmax″]表述generat.dbf数据库中第2条记录对应的发电机的有功出力上限;本文用M.count表示M.dbf数据库中总记录数。
本发明的具体步骤为:
步骤301:获取PSASP项目路径,设置PSS/E输入文件路径,创建以raw为后缀的PSS/E潮流计算输入数据文件;
步骤302:在PSS/E潮流计算输入数据文件中添加算例标识数据和标题行数据;
步骤303:读取PSASP项目路径下bus.dbf、generat.dbf和trans_3w.dbf,获取母线数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤304:读取PSASP项目路径下load.dbf和bus.dbf,获取负荷数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤305:读取PSASP项目路径下acline.dbf,获取并联电容电抗器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤306:读取PSASP项目路径下generat.dbf,sb.dbf和lib.dbf,获取发电机数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤307:读取PSASP项目路径下acline.dbf,获取交流线数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤308:读取PSASP项目路径下trans_2w.dbf和bus.dbf,获取两绕组变压器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤309:读取PSASP项目路径下trans_3w.dbf和bus.dbf,获取三绕组变压器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤310:在PSS/E潮流计算输入数据文件添加以0开头的11个空行,保存PSS/E潮流计算输入数据文件;
步骤311:判断是否进行动态分析输入数据转换,若是则创建以dyr为后缀的PSS/E动态分析输入数据文件,否则结束;
步骤312:读取PSASP项目路径下generat.dbf,获取generat.count,并令计数器变量k=1;
步骤313:根据generat[k][″gen_model″],确定该发电机在PSS/E中对应的模型型号,并根据该模型参数格式和gen_lib.dbf中第generat[k][″gen_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的模型数据;
步骤314:根据generat[k][″avr_model″]型调压器在PSS/E中的自定义格式和该型数据库中第generat[k][″avr_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的调压器模型数据;
步骤315:根据generat[k][″gov_model″]型调速器在PSS/E中的自定义格式和该型数据库中第generat[k][″gov_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的调速器模型数据;
步骤316:根据generat[k][″pss_model″]型PSS在PSS/E中的自定义格式和该型数据库中第generat[k][″pss_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的PSS模型数据;
步骤317:判断k是否等于generat.count,若是则保存PSS/E动态分析输入数据文件,否则令k=k+1返到步骤313。
所述步骤303的流程为:
步骤3031:获取bus.dbf中记录数bus.count,初始化母线数据转换中保存母线数据的数组(以下简称母线数据数组),并令计数器变量k=1,m=1;
步骤3032:遍历trans_3w.dbf,判断第k条母线记录对应母线是否为三绕组变压器中心母线,若是则跳至步骤3036,否则进行下一步;
步骤3033:保存该母线相应字段至母线数据数组,按保存顺序给定母线编号m,并m=m+1;给母线电压幅值赋初值1,母线电压相角赋初值0,母线类型设为PQ型;
步骤3034:遍历generat.dbf,判断该母线是否为发电机母线,若是则进行下一步,否则跳至步骤3036;
步骤3035:根据generat.dbf中该发电机对应记录,修改该母线电压和母线类型,并保存至母线数据数组;
步骤3036:判断k是否等于bus.count,若是则进行下一步,否则令k=k+1返到步骤3032;
步骤3037:根据母线数据数组形成母线编号和母线名对照表;
步骤3038:选择是否进行母线优化编号,若是则进行下一步,否则跳至步骤3040;
步骤3039:母线优化编号,更新母线编号和母线名对照表;
步骤3040:逐条添加母线数据。
所述步骤304的流程为:
步骤3041:获取load.dbf中记录数load.count,初始化负荷数据转换中保存负荷数据的数组(以下简称负荷数据数组),并令计数器变量k=1;
步骤3042:保存第k条记录对应负荷相应字段至负荷数据数组,遍历bus.dbf,寻找load[k][″bus_name″]对应的记录,并将该记录中的area_no字段值作为负荷的区域号;
步骤3043:逐条添加母线数据;
步骤3044:判断k是否等于load.count,若是则结束,否则令k=k+1返到步骤3042。
所述步骤305流程为:
步骤3051:获取acline.dbf中记录数acline.count,初始化并联电容电抗器数据转换中保存并联电容电抗器数据的数组(以下简称并联电容电抗器数据数组),并令计数器变量k=1;
步骤3052:判断第k条交流线记录中acline[k][″i_name″]和acline[k][″j_name″]是否相等,若是则进行下一步,否则跳至步骤3057;
步骤3053:将acline.dbf中第k条记录的有用字段值保存至并联电容电抗器数据数组;
步骤3054:判断acline[k][″i_name″]是否在第k条记录之前的记录中出现过,若是则进行下一步,否则跳至步骤3057;
步骤3055:修改该电容电抗器标识值;
步骤3056:添加该电容电抗器数据;
步骤3057:判断k是否等于acline.count,若是则结束,否则令k=k+1返到步骤3052。
所述步骤306的流程为:
步骤3061:获取generat.dbf中记录数generat.count,读取sb.dbf,获取系统基准容量,初始化发电机数据转换中保存发电机数据的数组(以下简称发电机数据数组),并令计数器变量k=1;
步骤3062:将generat[k][″pg″]和generat[k][″qg″]结合系统基准容量转换为有名值后同generat.dbf中第k条记录的其它有用字段值保存至相应发电机数组;
步骤3063:判断generat[k][″gen_model″]是否为0,若是则跳至3065,否则进行下一步;
步骤3064:根据gen.lib中与generat[k][″gen_par″]相对应的记录修改保存该发电机的次暂态电抗的发电机数据数组;
步骤3065:添加该发电机数据;
步骤3066:判断k是否等于generat.count,若是则结束,否则令k=k+1返到步骤3062。
所述步骤307的流程为:
步骤3071:获取acline.dbf中记录数acline.count,初始化交流线数据转换中保存交流线数据的数组(以下简称交流线数据数组),并令计数器变量k=1;
步骤3072:判断第k条交流线记录中acline[k][″i_name″]和acline[k][″j_name″]是否相等,若是则跳至步骤3057,否则进行下一步;
步骤3073:将acline.dbf中第k条记录的有用字段值保存至交流线数据数组;
步骤3074:判断acline[k][″i_name″]和acline[k][″j_name″]是否在第k条记录之前的记录中出现过,若是则进行下一步,否则跳至步骤3076;
步骤3075:修改该交流线标识值;
步骤3076:添加该三绕组变压器数据;
步骤3077:判断k是否等于acline.count,若是则结束,否则令k=k+1返到步骤3072。
所述步骤308的流程为:
步骤3081:获取trans_2w.dbf中记录数trans_2w.count,初始化两绕组变压器数据转换中保存双绕组变压器数据的数组(以下简称双绕组变压器数据数组),并令计数器变量k=1;
步骤3082:将trans_2w.dbf中第k条记录的有用字段值保存至双绕组变压器数据数组;
步骤3083:判断trans_2w[k][″i_name″]和trans_2w[k][″j_name″]是否在第k条记录之前的记录中同时出现过,若是则进行下一步,否则跳至步骤3085;
步骤3084:修改该变压器标识值;
步骤3085:添加该两绕组变压器数据;
步骤3086:判断k是否等于trans_2w.count,若是则结束,否则令k=k+1返到步骤3082。
所述步骤309的流程:
步骤3091:获取trans_3w.dbf中记录数trans_3w.count,初始化三绕组变压器数据转换中保存三绕组变压器数据的数组(以下简称三绕组变压器数据数组),并令计数器变量k=1;
步骤3092:将trans_3w.dbf中第k条记录的有用字段值保存至三绕组变压器数据数组;
步骤3093:判断trans_3w[k][″name_1″]、trans_3w[k][″name_2″]和trans_3w[k][″name_3″]是否在第k条记录之前的记录中同时出现过,若是则进行下一步,否则跳至步骤3095;
步骤3094:修改该三绕组变压器标识值;
步骤3095:添加该三绕组变压器数据;
步骤3096:判断k是否等于trans_3w.count,若是则结束,否则令k=k+1返到步骤3092。
本发明的有益效果:
1.本发明提到的母线编号为PSASP软件和PSS/E软件间的输入数据文件的转换创造了条件,尤其是母线优化编号方法将为PSS/E软件的仿真计算降低对存储空间的需求,并可减少运算量。
2.本发明提到的发电机调节器(包括调压器、调速器以及PSS)的PSS/E软件自定义模型方法,不仅使用PSS/E软件分析我国电力系统的动态行为成为了可能,还可为我国国标所列的所有的发电机调节器自定义模型,若将这些自定义模型封装成软件发布,可为我国电力系统工程实践的仿真验证和电气工程学科的科研教学打造一个非常有创造性的基础平台。
本发明提供的电力系统仿真软件输入数据转换方法不仅使我国电力系统的PSS/E软件仿真建模成为了可能,还为大电网的PSS/E仿真建模基础数据的准备提供了一种快捷的途径,节省了大量的数据输入工作。
附图说明
图1A是PSASP项目数据的管理和存储层次示意图。
图1B是数据转换时所需的PSASP数据库的有效字段示意图。
图2A是PSS/E潮流计算输入数据源文件格式示意图。
图2B是PSS/E动态分析输入数据文件格式示意图。
图3A是本发明的将PSASP程序格式的输入数据文件转换为PSS/E程序格式的输入数据文件的方法流程图。
图3B是图3A中步骤303的流程图。
图3C是图3A中步骤304的流程图。
图3D是图3A中步骤305的流程图。
图3E是图3A中步骤306的流程图。
图3F是图3A中步骤307的流程图。
图3G是图3A中步骤308的流程图。
图3H是图3A中步骤309的流程图。
图4A是1型调速器的传递函数框图。
其中,201~算例标识数据;202~标题行;203~母线数据;204~负荷数据;205~并联电容电抗器数据;206~发电机数据;207~交流线数据;208~两绕组变压器数据;209~三绕组变压器数据;210~其它11项数据(其转换不在本发明范围内,设为空);211~同步机数据;212~调压器数据;213~调速器数据;214~PSS数据;401~量测环节;402~放大环节;403~励磁机;404~限幅环节;405~反馈环节。
同时为便于表述,本文用M[k][″s″]表示PSASP项目中M.dbf数据库中第k条记录的″s″字段的值,如generat[2][″Pmax″]表述generat.dbf数据库中第2条记录对应的发电机的有功出力上限;本文用M.count表示M.dbf数据库中总记录数。
具体实施方式
下面结合附图与实施例对本发明做进一步说明。
本发明提供一种电力系统仿真软件输入数据转换方法,可将PSASP程序格式的输入数据文件转换为PSS/E程序格式的输入数据文件,以下将结合流程图说明具体实施方式。
首先分析PSASP项目数据的管理方式和存储层次。请参考图1A,PSASP项目数据的管理分为基础数据库和公用参数库两部分,分别对应于存储路径下的DATA_IN文件夹和Lib文件夹;其中基础数据库包括系统基准容量、母线、负荷、并联电容电抗器和交流线、发电机、两绕组变压器以及三绕组变压器,分别对应于DATA_IN文件夹中的sb.dbf、bus.dbf、load.dbf、acline.dbf、generat.dbf、trans_2w.dbf、trans_3w.dbf等数据库;公用参数库包括同步机、1型调压器、2型调压器、3-10型调压器、11-12型调压器、13型调压器、14型调压器、1型调速器、2型调速器、3型调速器、4型调速器、5型调速器、PSS、2型PSS、3型PSS、4型PSS、5型PSS,分别对应Lib文件夹下的gen_lib.dbf、avr1_lib.dbf、avr2_lib.dbf、avr310_lib.dbf、avr1112_lib.dbf、avr13_lib.dbf、avr14_lib.dbf、gov.dbf、gov2.dbf、gov3.dbf、gov4.dbf、gov5.dbf、pss.dbf、pss2.dbf、pss3.dbf、pss4.dbf、pss5.dbf等数据库。
数据转换时所需的PSASP数据库的有效字段请参考图1B:母线数据库的有效字段有bus_name、base_kv和area_no;负荷数据库的有效字段有Valid、bus_name、P和Q;交流线数据库的有效字段有Valib、i_break、j_break、i_name、j_name、r1、x1和b1_half;两绕组变压器数据库的有效字段有Valid、i_break、j_break、i_name、j_name、R1、X1、TK、Gm和Bm;发电机数据库的有效字段有Valid、bus_name、Pg、Qg、V0、angle、Qmax、Qmin、Pmax、Pmin、gen_model、gen_par、rate_mva、xd’、xd”和Bm;三绕组变压器数据库的有效字段有Valid、break_1、break_2、break_3、name_1、name_2、name_3、R1、X1、R2、X2、R3、X3、TK1、TK2、TK3、Gm和Bm;同步机数据库的有效字段需根据同步机模型对应的PSS/E模型确定;由于在PSS/E软件中仿真我国的电力系统,发电机调节器需自定义模型,因此,调压器、调速器、PSS数据库中所有字段均要用。
接下来结合图2A分析PSS/E潮流计算输入数据文件格式。PSS/E潮流输入数据源文件中各项数据的顺序依次为算例标识数据、标题行、母线数据、负荷数据、并联电容电抗器数据、发电机数据、交流线数据、两绕组变压器数据、三绕组变压器数据和其它11项电气元件数据(其转换不在本发明范围内,设为空);相应参数可参考PSS/E的POM(Program OperationManual);算例标识数据独占一行;标题行占两行;每条母线记录占一行,且母线数据以编号为0的母线记录结束;所谓编号为0的母线记录是指该行开头元素为‘0’,其余为空;每条负荷记录占一行,且负荷数据以编号为0的母线记录结束;每条并联电容电抗器记录占一行,且并联电容电抗器数据以编号为0的母线记录结束;每条发电机记录占一行,且发电机数据以编号为0的母线记录结束;每条交流线记录占一行,且交流线数据以编号为0的母线记录结束;每条两绕组变压器记录占四行,且两绕组变压器数据以编号为0的母线记录结束;每条三绕组变压器记录占五行,且三绕组变压器数据以编号为0的母线记录结束;其它11项电气元件数据的转换不在本发明范围内,转换时将其视为不存在,每项电气元件数据直接以编号为0的母线记录结束。
接下来结合图2B分析PSS/E动态分析输入数据文件格式。PSS/E动态分析输入数据文件中同步机记录格式因同步机模型而异,具体可参考PSS/E的POM;发电机调节器的自定义模型的dyr文件格式可表示如下:
IBUS,’USRMDL’,IM,’DINGYI’,ID IC N1 N2 N3 N4 ICON(I)…ICON(I+N1-1),CON(J)…CON(J+N2-1)/
各符号说明如下:ID~设备类型;N1~占用ICON数组元素个数;N2~占用CON数组元素个数;N3~占用STATE数组元素个数;N4~占用VAR数组元素个数。IBUS~发电机母线,IM~发电机标识,’DINGYI’~自定义模型名,为六字符组合;IC~CONET类型标识。
因此本发明的数据转换方法包含下列步骤,请同时参考图3A,其是本发明的将PSASP程序格式的输入数据文件转换为PSS/E程序格式的输入数据文件的方法流程图:
步骤301:获取PSASP项目路径,设置PSS/E输入文件路径,创建以raw为后缀的PSS/E潮流计算输入数据文件;
步骤302:在PSS/E潮流计算输入数据文件中添加算例标识数据和标题行数据;
步骤303:读取PSASP项目路径下bus.dbf、generat.dbf和trans_3w.dbf,获取母线数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤304:读取PSASP项目路径下load.dbf和bus.dbf,获取负荷数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤305:读取PSASP项目路径下acline.dbf,获取并联电容电抗器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤306:读取PSASP项目路径下generat.dbf,sb.dbf和lib.dbf,获取发电机数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤307:读取PSASP项目路径下acline.dbf,获取交流线数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤308:读取PSASP项目路径下trans_2w.dbf和bus.dbf,获取两绕组变压器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤309:读取PSASP项目路径下trans_3w.dbf和bus.dbf,获取三绕组变压器数据,经处理后写入PSS/E潮流计算输入数据文件;
步骤310:按图2A中210所示,在PSS/E潮流计算输入数据文件添加以0开头的11个空行,保存PSS/E潮流计算输入数据文件;
步骤311:判断是否进行动态分析输入数据转换,若是则创建以dyr为后缀的PSS/E动态分析输入数据文件,否则结束;
步骤312:读取PSASP项目路径下generat.dbf,获取generat.count,并令计数器变量k=1;
步骤313:根据generat[k][″gen_model″],确定该发电机在PSS/E中对应的模型型号,并根据该模型参数格式和gen_lib.dbf中第generat[k][″gen_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的模型数据;
步骤314:根据generat[k][″avr_model″]型调压器在PSS/E中的自定义格式和该型数据库中第generat[k][″avr_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的调压器模型数据;
步骤315:根据generat[k][″gov_model″]型调速器在PSS/E中的自定义格式和该型数据库中第generat[k][″gov_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的调速器模型数据;
步骤316:根据generat[k][″pss_model″]型PSS在PSS/E中的自定义格式和该型数据库中第generat[k][″pss_par″]条记录在PSS/E动态分析输入数据文件中添加该发电机的PSS模型数据;
步骤317:判断k是否等于generat.count,若是则保存PSS/E动态分析输入数据文件,否则令k=k+1返到步骤313。
其中步骤303又可分为步骤3031~3040,请同时参考图3B,其是步骤303的流程图:
步骤3031:获取bus.dbf中记录数bus.count,初始化母线数据转换中保存母线数据的数组(以下简称母线数据数组),并令计数器变量k=1,m=1;
步骤3032:遍历trans_3w.dbf,判断第k条母线记录对应母线是否为三绕组变压器中心母线,若是则跳至步骤3036,否则进行下一步;
步骤3033:按图1B保存该母线相应字段至母线数据数组,按保存顺序给定母线编号m,并m=m+1;给母线电压幅值赋初值1,母线电压相角赋初值0,母线类型设为PQ型;
步骤3034:遍历generat.dbf,判断该母线是否为发电机母线,若是则进行下一步,否则跳至步骤3036;
步骤3035:根据generat.dbf中该发电机对应记录,修改该母线电压和母线类型,并保存至母线数据数组;
步骤3036:判断k是否等于bus.count,若是则进行下一步,否则令k=k+1返到步骤3032;
步骤3037:根据母线数据数组形成母线编号和母线名对照表;
步骤3038:选择是否进行母线优化编号,若是则进行下一步,否则跳至步骤3040;
步骤3039:母线优化编号,更新母线编号和母线名对照表;
步骤3040:按图2A所示格式逐条添加母线数据。
步骤304又可分为步骤3041~3044,请同时参考图3C,其是步骤304的流程图:
步骤3041:获取load.dbf中记录数load.count,初始化负荷数据转换中保存负荷数据的数组(以下简称负荷数据数组),并令计数器变量k=1;
步骤3042:按图1B保存第k条记录对应负荷相应字段至负荷数据数组,遍历bus.dbf,寻找load[k][″bus_name″]对应的记录,并将该记录中的area_no字段值作为负荷的区域号;
步骤3043:按图2A所示格式逐条添加母线数据;
步骤3044:判断k是否等于load.count,若是则结束,否则令k=k+1返到步骤3042。
其中步骤305又可分为步骤3051~3057,请同时参考图3D,其是步骤305的流程图:
步骤3051:获取acline.dbf中记录数acline.count,初始化并联电容电抗器数据转换中保存并联电容电抗器数据的数组(以下简称并联电容电抗器数据数组),并令计数器变量k=1;
步骤3052:判断第k条交流线记录中acline[k][″i_name″]和acline[k][″j_name″]是否相等,若是则进行下一步,否则跳至步骤3057;
步骤3053:根据图1B,将acline.dbf中第k条记录的有用字段值保存至并联电容电抗器数据数组;
步骤3054:判断acline[k][″i_name″]是否在第k条记录之前的记录中出现过,若是则进行下一步,否则跳至步骤3057;
步骤3055:修改该电容电抗器标识值;
步骤3056:按图2A所示格式添加该电容电抗器数据;
步骤3057:判断k是否等于acline.count,若是则结束,否则令k=k+1返到步骤3052。
其中步骤306又可分为步骤3061~3066,请同时参考图3E,其是步骤306的流程图:
步骤3061:获取generat.dbf中记录数generat.count,读取sb.dbf,获取系统基准容量,初始化发电机数据转换中保存发电机数据的数组(以下简称发电机数据数组),并令计数器变量k=1;
步骤3062:根据图1B,将generat[k][″pg″]和generat[k][″qg″]结合系统基准容量转换为有名值后同generat.dbf中第k条记录的其它有用字段值保存至相应发电机数组;
步骤3063:判断generat[k][″gen_model″]是否为0,若是则跳至3065,否则进行下一步;
步骤3064:根据gen.lib中与generat[k][″gen_par″]相对应的记录修改保存该发电机的次暂态电抗的发电机数组;
步骤3065:按图2A所示格式添加该发电机数据;
步骤3066:判断k是否等于generat.count,若是则结束,否则令k=k+1返到步骤3062。
其中步骤307又可分为步骤3071~3077,请同时参考图3F,其是步骤307的流程图:
步骤3071:获取acline.dbf中记录数acline.count,初始化交流线数据转换中保存交流线数据的数组(以下简称交流线数据数组),并令计数器变量k=1;
步骤3072:判断第k条交流线记录中acline[k][″i_name″]和acline[k][″j_name″]是否相等,若是则跳至步骤3057,否则进行下一步;
步骤3073:根据图1B,将acline.dbf中第k条记录的有用字段值保存至交流线数据数组;
步骤3074:判断acline[k][″i_name″]和acline[k][″j_name″]是否在第k条记录之前的记录中出现过,若是则进行下一步,否则跳至步骤3076;
步骤3075:修改该交流线标识值;
步骤3076:按图2A所示格式添加该三绕组变压器数据;
步骤3077:判断k是否等于acline.count,若是则结束,否则令k=k+1返到步骤3072。
其中步骤308又可分为步骤3081~3086,请同时参考图3G,其是步骤308的流程图:
步骤3081:获取trans_2w.dbf中记录数trans_2w.count,初始化两绕组变压器数据转换中保存双绕组变压器数据的数组(以下简称双绕组变压器数据数组),并令计数器变量k=1;
步骤3082:根据图1B,将trans_2w.dbf中第k条记录的有用字段值保存至双绕组变压器数据数组;
步骤3083:判断trans_2w[k][″i_name″]和trans_2w[k][″j_name″]是否在第k条记录之前的记录中同时出现过,若是则进行下一步,否则跳至步骤3085;
步骤3084:修改该变压器标识值;
步骤3085:按图2A所示格式添加该两绕组变压器数据;
步骤3086:判断k是否等于trans_2w.count,若是则结束,否则令k=k+1返到步骤3082。
步骤309又可分为步骤3091至3096,请同时参考图3H,其是步骤309的流程图:
步骤3091:获取trans_3w.dbf中记录数trans_3w.count,初始化三绕组变压器数据转换中保存三绕组变压器数据的数组(以下简称三绕组变压器数据数组),并令计数器变量k=1;
步骤3092:根据图1B,将trans_3w.dbf中第k条记录的有用字段值保存至三绕组变压器数据数组;
步骤3093:判断trans_3w[k][″name_1″]、trans_3w[k][″name_2″]和trans_3w[k][″name_3″]是否在第k条记录之前的记录中同时出现过,若是则进行下一步,否则跳至步骤3095;
步骤3094:修改该三绕组变压器标识值;
步骤3095:按图2A所示格式添加该三绕组变压器数据;
步骤3096:判断k是否等于trans_3w.count,若是则结束,否则令k=k+1返到步骤3092。
步骤313的实现流程与步骤306的实现流程大致是一样,这里不再赘述。步骤314至步骤316的实现流程,以下结合1型调压器数据的转换说明其实现过程。参考图4A所示1型调压器传递函数框图,并按照PSS/E自定义模型的格式,可知励磁1型的自定义模型包括9个CON参数,4个STATE参数和1个VAR参数,分别定义如下:CON(J)~Kr;CON(J+1)~Tr;CON(J+2)~Ka;CON(J+3)~Ta;CON(J+4)~Te;CON(J+5)~Kf;CON(J+6)~Tf;CON(J+7)~EfdMax;CON(J+8)~EfdMin;STATE(K)~量测环节状态;STATE(K+1)~放大环节状态;STATE(K+2)~励磁机状态;STATE(K+3)~反馈环节状态;VAR(L)~Efd0,励磁电压初值。若所定义模型名为“TIAOYA”,则1型调压器的dyr文件格式如下:
IBUS,’USRMDL’,IM,’TIAOYA’,4 0 0 9 4 1
Kr,Tr,Ka,Ta,Te,Kf,Tf,Efdmax,Efdmin/
上述虽然结合附图对本发明的具体实施流程进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。