基于Excel VBA 10kV配变三相负荷不平衡调整管理平台的技术开发
2019-09-10韦双双
韦双双
:Office软件使用的普遍性及其组件之间数据良好的交互性和共享性,Excel在数据处理与相应报告的生成等方面更具优势。该文以10kV配变三相负荷不平衡调整管理平台为实例,简要论述了Excel VBA 对10kV配变三相负荷不平衡调整的设计思路、技术要点和方法。
:VBA、三相负荷不平衡调整、损耗
1 引言
随着人民群众的生活质量和社会经济水平的不断提高,客户对供电可靠性及负荷量也越来越高,对客户三相负荷平衡要求越来越准确。自然灾害、外力破坏、设备等原因引起电网配变三相负荷不平衡现象时常发生。由于用户数量逐年递增,用户负荷量多样性,光靠人工调整很难达到理想的不平衡度。笔者认为Excel VBA编程可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计、金融等众多领域。我们通过“基于Excel VBA的三相负荷不平衡调整管理平台”为重要调节手段,将三相不平衡状态调整至理想的配变供电状态。
2 程序开发的主要技术
2.1 VBA基本语句
宏程序语句用来运行后可以完成一个功能。例如:
Sub test() '开始语句
Range(“A1”).ClearContents '清除活动工作表上单元格A1中的内容
End Sub '结束语句
2.2 VBA对象
VBA中的对象其实就是我们操作的具有方法、属性的excel中支持的个体,Excel中的几个常用对象表示方法:
工作簿:
Workbook.Fullname属性:返回对象的名称(以字符串表示),包括其磁盘路径
Workbooks. Sheets属性:返回一个Sheets集合,它代表指定工作簿中所有工作表;
工作表:Sheets("工作表名称") 表示某个工作表;
Sheets(n) 表示按排列顺序,第n个工作表;
ActiveSheet 表示活动工作表,光标所在工作表;
2.3 VBA方法
是作用于VBA對象上的动作,表示用某个方法作用于VBA的对象上,可以用下面的格式:对象.方法参数值名称:=参数值
Workbooks. Add方法:新建工作簿,新建的工作簿将成为活动工作簿;
Workbooks. Open方法:打开一个工作簿;
3 软件设计目标
3.1 10kV配变三相负荷不平衡度的概念
《架空配电线路及设备运行规程》规定:变压器的三相负荷应力求平衡,不平衡度不应大于15%,并规定变压器中性点电流不能超过其额定电流的25%,不符合上述的规定时,应将负荷进行调整,不平衡度的计算式为:
不平衡度=(最大电流一最小电流)/最大电流×100% (3-1)
注意《架空配电线路及设备运行规程》规定是变压器不平衡度低于15%是配变低压出线,不是某一支线不平衡度。在三相四相低压网络,当三相负荷完全平衡时,零线电流为零,是最理想的状态。
3.2 调整10kV配变三相负荷不平衡方法
3.2.1 思路:电量平均分配法
根据2016年6月份公司下发《三相不平衡调整方法工作指引》开展,依据计量自动化系统取数该台区所有用户的电量,电量均衡的分配到A、B、C相上。因我所台区未实现集抄,所以台区各用户的电量是三公开电量。
3.2.2负荷调整步骤
a、导出三公开明细。核查前、后两个月总电量波动情况,电量波动不大,任取某月的电量。
b、现场核查三公开用户明细的线变户关系和分布相别,并绘制用户负荷分布图。
c、根据现场核实的三相电量,计算平均电量和各相所需分配的电量。
d、根据需分配的电量,在用户负荷分布图对调整的用户进行定相。
我们以老南村台区A相用户70户、B用户48户、C相用户37以及用电量,数量悬殊,电量差距大。在实测中得出老南村三相负荷不平衡率远大于15%。根据原始数据,利用Excel VBA各种数据的处理、统计分析和辅助决策操作,自动计算平均电量和各相所需分配的电量,并将调整用户相别达到三相负荷不平衡低于15%,满足供电稳定性要求。
4 软件实现
4.1三相负荷调整管理平台
本软件需要对Microsoft Office Excel进行宏设置,并启用宏。
1)各台区三相负荷不平衡调整界面功能实现及代码分析如下:
不平衡度自动调整功能,“不平衡度调整”按钮事件代码:
Sub A1不平衡度()
With ActiveSheet
Q1 = .[B6] '最大系数
Do While .[B2] > Q1 And A < 6000 '如果系数大于Q1继续调整,并且调整总次数<6000次
调整最大负荷 (Int(A / 1000)) '每一级调整1000次,否则换下一级
A = A + 1 '调整次数+1
Loop
T1 = .UsedRange.Rows.Count '使用行數
.[A12].Resize(T1,6).Sort Key1:=.[D12], Order1:=xlDescending, Key2:=.[C12], Order2:=xlDescending '调整完排序
.[G12].Resize(T1,6).Sort Key1:=.[J12], Order1:=xlDescending, Key2:=.[I12], Order2:=xlDescending '调整完排序
.[M12].Resize(T1,6).Sort Key1:=.[P12], Order1:=xlDescending, Key2:=.[O12], Order2:=xlDescending '调整完排序
End With
ActiveWindow.ScrollRow = 1 '滑动到第一行
MsgBox "调整完毕!"
End Sub
通过改变B6单元格中的数值,设定最大系数Q1。如果B2单元格“三相不平衡度”的系数大于B6单元格中的数值,将继续调整,并且调整总次数小于6000次。
为了尽可能减少用户相别的调整次数,从而减轻现场电力工作人员的工作量,我们在程序代码中先对每相用户由大到小进行排序,设定优先级别,优先调整相对应相最大负荷的用户,直至满足不平衡度达到要求。
经过测试,A、B、C任意一相中添加用户,无论用户数量和电量多少,本软件都能将不平衡率调整至小于5%,大大满足了《架空配电线路及设备运行规程》中的规定,达到了设计目标。
五、结束语
Excel VBA 编程通过对Excel 自身功能的集成和扩展可以较为快捷高效地处理大配网台区多用户的三相负荷不平衡率问题。Excel具有使用方便、结构简单、界面友好、维护方便的特点。日前,在南方电网新一轮农改项目严格要求三相负荷不平衡率的新形势下,本软件作为一款辅助工具将为新农网的改造带来实质性的帮助。
参考文献:
[1]张军翔 杨红会.Excel VBA范例与应用技巧查询宝典 [M].北京:希望电子出版社,2013.10.
[2]黄朝阳.Excel2013VBA编程与实践 [M].北京:电子工业出版社,2015.08.
[3]何非 叶萃娟.电子Excel VBA高效办公从精通到入门 [M].北京:中国青年出版社,2006.12.