国网山东省电力公司经济技术研究院 山东济南 250021
在变电站过电压分析中,对于侵入波过电压计算是一个重要的研究方面,尤其对于超、特高压变电站,一般均需要通过仿真计算确定设备上的过电压水平[1],选择合适的防护措施。由H. W.Dommel创建的电磁暂态计算程序(EMTP)为准确计算电力系统过电压提供了可能性[2],其中ATP版本在国际上得到最广泛的使用,程序的计算精度也得到了普遍认可[3.4]。
但是ATP-EMTP作为一种通用电磁暂态分析程序,针对过电压计算中的一些特殊需求无法得到满足,重复性的工作占用了研究人员大量的时间,不利于将主要精力投入计算方案改进和工程设计优化。Matlab作为一种功能强大的工程计算软件[5],具有很好的文件操作、数据分析存储、函数设计、软件交互的能力。
本文通过Matlab与ATP-EMTP的交互,针对变电站过电压仿真中大量重复手工进行的模型修改、输入计算、结果统计等工作进行研究,利用Matlab读取并识别ATP-EMTP仿真计算的中间文件及结果文件,调用ATP-EMTP实现对多个模型的批量计算,实现雷电侵入波过电压仿真的自动化。
采用ATP-EMTP进行过电压计算的流程可分为三个阶段,分别为前期计算、模型建立及执行、统计结果分析。计算经验表明,侵入波过电压计算中,最为耗时的工作集中在模型建立阶段的反复修改落雷点以及数据统计阶段每个模型执行后的数据统计分析。
(1)模型文件批量修改的可行性分析。一般来说,运用ATP-EMTP进行过电压仿真计算时,首先需要ATPDraw窗口中搭建需要研究的传输线路及设备模型。事实上ATPDraw仅仅是一个图形界面,在执行计算时,第一步会将搭建的模型文件转换成符合ATP规则的文本输入文件(.atp)。文本输入文件(.atp)中以卡片的形式包含了电路的全部信息,每一行代表一条支路的信息,包括支路的连接关系、设备类型、设备参数等。在雷电侵入波过电压计算中,逐次调整落雷点位置、对模型文件逐一修改的过程实际上就是调整雷电流支路接入整个网络节点的过程。因此,在过电压计算中,可以首先利用ATPDraw搭建一个符合要求的可视化模型文件,将其编译生成纯文本的输入文件(.atp),然后通过修改该文件达到对整个电路修改的目的。换而言之,如果可以通过Matlab的文件处理功能查找到需要修改的支路,批量对ATP-EMTP的输入文本文件进行修改,也就达到了批量对电路修改的目的,从而大大降低模型修改环节的时间消耗。
(2)批量数据统计功能的可行性分析。通过在ATP文件中设置相关控制字后,可在结果文件(.lis文件)中以纯文本型式(ASCII)提供各个设备上的电压值。但是,与其他的仿真计算不同,侵入波过电压计算的目的是从多个运行方式、落雷点的ATP模型中找出最大的过电压值,然后针对性的考虑绝缘水平,这就涉及对大量结果文件中数据的提取、分析工作。但是结果文件作为ATP-EMTP的计算结果报告是按照固定格式生成的,各个设备上的电压值按照规则列在文件固定位置。可通过Matlab软件的底层文件读写命令读取各个设备名称及对应的电压值,通过循环计算获取设备的电压值统计结果,这样就实现了批量数据统计的功能,大大降低数据统计阶段的工作量。
综上所述,在过电压计算中无论是模型文件的批量修改还是统计结果的批量生成,都可以通过对文本文件的批量操作来实现,可通过Matlab对这些文本文件进行处理,从而大幅降低人工工作的目的。
根据以上分析,对落雷点批量修改可转化为对输入文件(atp文件)的操作。为使Matlab软件可以找到修改的支路位置,必须固定需要修改支路的节点代号。如下图所示,为了使落雷点从#1号塔顶依次改变到#2—#6号塔顶,设置雷电流支路末端节点的代号为ZTH和导线上落雷点的代号为L1~L6。
首先以雷电流绕击第一基杆塔作为模板,该文件命名为RJ-1.atp,在ATPDraw中将该文件编译成输入文件RJ-1.atp。利用Matlab程序文件读写函数,从文本文件中找到与落雷点相关的参数信息。通过Matlab文件处理函数循环读取RJ-1.atp文件,在读取中查找L1A字段位置,将RJ-1.atp中的L1A逐一修改为L2A~L6A,将原RJ-1.atp文件依次另存为RJ-2.atp~RJ-6.atp文件。
与绕击模型批量修改类似,在研究反击模型批量修改时,也需要固定需要修改的雷电流回路节点号及杆塔节点号,但是反击模型更复杂,需要调整的支路更多。将雷电流支路末端节点号命名为ZTH,导线上雷电流侵入点一次命名为L1~L6,#1~#6塔顶落雷点命名为TW1~TW6。仍以雷电流反击第一基杆塔作为模板,该文件命名为FJ-1.atp,与绕击雷电流模型批量修改类似,利用Matlab找到对应的节点位置共计4处,类似的逐次修改并另存为FJ-2.atp~FJ-6.atp文件,这样实现了建模过程的批量化,
正常运行ATP文件的方式是采用ATP-EMTP的ATP Launcher工具进行处理。通过ATP Launcher的Open按钮逐一选择需要计算的输入文件(.atp文件),点击RunATP按钮调用ATP程序进行计算。对于大量ATP文件来说,这种“逐一运行”的方式工作效率很低。
事实上,可通过Matlab程序system("path unATP.exe""atpfile_name ")调用path目录下ATP-EMTP的runATP.exe程序,实现对名为atpfile_name输入文件的计算。在Matlab中,通过指定一组需要计算的输入文件(.atp文件),通过循环调用runATP.exe软件,即可实现对多个输入文件的计算。
仿真计算数据批量处理利用Matlab的文件循环读取功能将某一运行方式下雷击各个杆塔的计算结果文件(lis文件),根据设定的设备类别规则,自动将设备归类;而后查找各个雷击点对应过电压的最大值,通过归类确定某一设备类中的最大过电压值,形成EXCEL报表输出。
采用Matlab GUI工具将以上程序功能集成到一个图形用户界面中,同时增加了仿真计算中前期建模需要的数据计算功能模块及模型修改、电压观测点批量指定功能,形成统一的“变电站过电压仿真计算平台”。通过侵入波过电压计算者指定参数,点击鼠标即可实现批量修改、统计、运行工作,大大降低了仿真计算中的工作量。
本文针对在ATP-EMTP变电站侵入波过电压仿真计算中因大量重复手工进行模型修改、输入计算、结果统计而占用研究人员大量精力、耗费大量时间的问题,提出了将Matlab与ATP-EMTP进行联合仿真分析,将大量手工重复计算的工作由计算机进行批量处理,将人员从繁复的手工处理中解脱出来。本研究具有以下特点:(1)开发出模型文件批处理功能,根据用户指定的规则自动批量实现相应的功能,实现建模及计算过程的批量化、自动化。(2)针对仿真计算模型多、后期数据处理繁琐问题,开发出仿真计算数据分析模块,实现对大量仿真计算数据的迅速挖掘、整理,生成过电压计算需要的报告文件。该文件以Excel格式提供,方便专业人员对仿真计算结果分析、应用。(3)利用Matlab GUI工具开发出基于图形用户界面的一体化“变电站过电压仿真计算平台”软件,界面友好、功能灵活,在实际应用中很容易掌握,有利于在相关专业人员中进行推广。