基于Excel及VBA编程的水力自动化计算

第37卷第2期2018年4月红水河HongShui  River
Vol .37 No .2Apr .2018
基于E xcel 及VBA 编程的水力自动化计算
李倩\申忠辉2
(1.广西电力职业技术学院,广西南宁530007; 2.广西水利电力勘测设计研究院,广西南宁530023)
摘要:针对国内各水利水电勘测设计院普遍采用的商业软件、自行编程计算、Excel 普通自带函数链接计算等 方法的优缺点进行了分析,提出了在Excel 软件上基于V B A 编程的水力自动化计算的方法。实现有针对性的个 性化、自动化水力计算。工程实例证明,该方法具有效率高、简单易学等优点,还可利用E xcel 的图表功能使 结果表达得准确直观。
关键词:水力学;计算;编程;软件中图分类号:TP317.3
文献标识码:B
文章编号:1001-408X( 2018) 02-0015-03
1研究背景
水力学计算是水利水电工程设计过程中非常重 要的工作内容。部分水力学计算工作具有过程繁 复、试算及迭代步骤多等特点。在水力学计算与水 工建筑物优化布置相结合时,更是需要进行反复计 算来寻最优化的布置结果。
目前国内各水利水电勘测设计院大多采用以下 方法来进行水力学计算。
1)
方法一:采用专业化的商业软件,如“水
利计算程序集” “理正系列软件”“张东明软件” 等。由于商业软件一般都投人了较多的人力、物力 进行开发,因此购买价格昂贵,且只能按照软件设 定的功能或条件进行计算。但各工程实际情况千差 万别,有些条件不一定吻合,软件也无法根据实际
情况进行修改,灵活性较差。
2) 方法二:利用编程软件自行编程制作水力 计算程序。利用程序语言编程计算往往可以与各工 程的实际情况相适应,但利用这些工具往往需要设 计人员花费许多精力来进行编程学习,而且实际操 作中还要花费大量精力进行程序编写,这使得设计 人员往往力不从心。
3)
方法三:采用Excel 软件的函数功能进行 表格链接计算。利用Excel 软件中的普通函数与表 格链接功能往往能够解决一般的一元函数计算,多 元函数计算往往需要结合手动试算、单变量求解、
手动插值等人工操作。工作难度不高但程序繁复且 容易出错。
2 ExcelVBA  简介
VBA  是 V isual  B a sic  fo r  A pplication  的简称,VBA 是一种程序设计语言,集成在称作宿主应用
程序的具体应用软件中,为有效地利用宿主应用程 序的功能以及拓展宿主应用程序提供了强大的工
具。VBA 与VB (即V isual  Basic )的开发环境相似,
基本的语法原理相同,VB 所支持对象的多数属性 和方法VBA 也支持,只是事件或属性的特定名称 方面稍有差异,因而VBA 具有与V B 编程系统相 同的强大功能。不同之处在于不能使用VBA 创建 独立运行的应用程序,VBA 代码只能与宿主应用 程序一起使用,需要有宿主应用程序的支持。一组 VBA 指令的集合形成了宏。宏能够自动地执行宿 主应用程序的功能,一次性完成宿主应用程序的多 项操作,或者扩展宿主应用程序的现有功能[1]。
3米用Excel  VBA 编程进行水力计算 的优点
1) E xcel  VBA 提供了一组基于VB 开发系统的
高级编程工具,有完整的集成开发环境,功能强
大,不需要应用其他的工具创建解决方案。同时 VBA 与宿主Excel 程序紧密整合,不必从头开始创 建解决方案[1]。在进行多工况重复性的水力学计算
收稿日期:2018-0卜16;修回日期:2018-0卜29
铝制工艺品基金项目:2017年度中青年教师基础能力提升项目(2017KY 1194)
作者简介:李倩(1982),女,广西南宁人,讲师,研究方向为应用软件开发、网页项目开发,E -mail :67063671@qq ;
申忠辉(1983),男,广西桂林人,高级工程师,主要从事水利水电工程设计工作。
15
红水河2018年第2期
时,此优点表现得越发明显,只需要基于已建立好 的计算表格,再充分利用宏及VBA程序编程便可 快速开发完成。
2) E xcel VBA简单易学,易于使用。宿主应 用程序Excel提供的录制宏功能,不仅为用户提供 了一种学习应用程序编程模型的简单方法,而且能 迅速地获得并应用满足要求的VBA代码[1]。
3) E xcel VBA很灵活,根据用户的使用习惯 和对软件的了解程度,同样的目的有多种解决的方 式,使复杂的事情能够得到快速有效的处理[1]。
4表格制作及VBA代码编写
下面以某综合性水利枢纽的潜孔式溢流坝泄流 能力计算为例,进行E xcel VBA操作步骤的分解。
4.1表格建立
利用Excel的公式功能建立计算表格及相关链 接,表格形式如表1、表2。
表1堰流计算表
z上游上游涌高水位m169.000168.000167.000 z下游下游水位m154.218153.753153 .344 z堰顶堰顶高程m148.000148.000148.000上游河床高程m130.000130.000130.000 z河床
下游河床高程m128.000128.000128.000
上游堰高m18 .00018 .00018 .000 P2下游堰高m20.00020.00020.000 "0堰上水深m21.00020.00019.000 ",丨设计定型水头m35.70035.70035.700丨0.5880.5600.532 P,/"d0.5040.5040.504 6单孔宽度m7.0007.0007.000
n孔数  2.000  2.000  2.000
B B= n6m14.00014.00014.000
m 由溢洪道设计规范
表A.2.1-1内插得
0.4560.4550.454
无动力滑翔伞
a00.1000.1000.100边墩形状系数0.7000.7000.700
中墩形状系数0.4500.4500.450
s= 1- 0.2(^2 + (n-1)
0.8850.8850.885
^1)"0 / (n6)
h t下游堰上水位m26.21825.75325.344
A z14.78214.24713. 656 A z/H00.7040.7120.719 (Az+ h) /"01.952  2.000  2.053
(T 查水力计算手册
图 3-3-5
0.9900.9900.995
Q,Q,= T s B m(2g)1/2
m3/s238322092042
"03’2
表2孔流计算表
e开度(孔口高D)m16.0016.0016.00
Z上游上游水位m200.00199.00198.00
Z堰顶堰顶高程m148.00148.00148.00
Z孔口孔口中心高程m156.00156. 00156. 00
Z河床河床高程m130.00130. 00130. 00
P上游堰高m18.0018.0018 .00
Z下游下游水位m162.45162.26162.01
上下游水位差或
(上游水位-孔口
中心高程)
m37.5536.7435.99
f i=0.800.8000.8000.800
6单孔宽度m7.007.007.00
n孔数个  2.00  2.00  2.00
B B= n6m14.0014.0014.00
Q Q,e B(2g"J'/2m3/s486148094759
"0计入流速水头m37.5536.7435.99
Q0Q0= ^eB(2g"0)172m3/s486148094759
"J D  2.3465652  2.2962964  2.2490738
由于下泄流量与下游水位、流量系数这两个需
根据规范及手册查表内插试算的参数相关联,内插
为一维差值,主要用了以下三个Excel的自带函数:
1) O ffset(参照系的引用区域,上(下)偏移的
行数,返回引用区域的列数),函数返回的引用可
于全以是一个单元格或单元格区域。
2) M atch(需在表格中查“位置”的数值,
包含需查的数值的单元格连续区域,数字-1,0
或1),返回在指定方式下与指定数值匹配的数组
中元素的相应位置(竖向的位置)[3-5]。
3) Trend(已知关系;y= m*+6中;y值集合,已
知关系;T=m* + 6中*值集合,为需要函数返回对
应y值的新*值)。
自动内插表格函数应用举例如下:
“=I F(E30>=$A42,$B42,I F(E30<=$A33,$B33,
TREND(OFFSET( $ B32,MATCH(E30, $A33:$A42),,2),
OFFSET ( $A32,MATCH ( E30, $ A33: $ A42 ),,  2 ),
E30)))”
在表格建立完毕后,采用Excel的录制宏的功
能以及采用E xcel VBA对宏的VBA代码进行编辑,
使得宏的VBA代码可以对程序进行自动循环计算,
达到逐步试算逼近得到最终结果的目的。
4.2录制宏
点击Excel菜单中的“视图”—
—“宏”—
“录制宏”,点“确定”后开始进行相应的单变量
求解操作,录制完毕后点击“停止录制,’[3-5]。
4.3采用Excel VBA对宏的VBA代码进行编辑
在宏录制完毕后通过Excel菜单中“视
16
李倩,申忠辉:基于Excel及V B A编程的水力自动化计算
图”——“宏”——“查看宏”——“编辑”,就可以进人VBA的编辑界面,对录制好的宏代码 进行编辑。
对试算下游水位的宏代码编辑如下:
S u b试算下游水位()
'试算下游水位宏提手加不
'试算下游水位
Dim iAs Long
For i = 1To 61
Range( H D24:HZ24H) .Cells( i) .Select
Range( H D24 : HZ24H).Cells(i) .GoalSeekGoal :=0,
ChangingCell:=Range(,'D22:H Z22,').C e lls(i)
Next
End Sub
5应用效果及展望
温湿度控制系统Excel是水利工程设计人员经常使用的计算工 具软件,可以根据具体的设计计算任务进行个性化 计算表格制作,充分利用好Excel的函数及VBA 功能,可以为工作提供很大的便利,极大提高效 率。在不断的实践过程中,还可以有许多技巧需要 我们去挖掘和探索。Excel的函数及VBA功能除了 应用在水力学自动化计算方面,还可以应用在施工 组织设计、建筑物整体稳定计算、设计成果整理等 方面,因此掌握好E xcel VBA可以更好地进行水利 设计工作[2]。
参考文献:
[1] Excel Home. Excel V B A实战技巧精粹[M].北京:人民
邮电出版社,2013.
[2]胡芳筠,金志华,徐炯鹏.Excel V B A在水利工程计算
中的应用[J].中国新技术新产品,2009(19):60.
[3]陈劼,张昕,程建川.基于E x cel的道路设计数据管理
及表格生成[J].交通信息与安全,2011(2):112-116. [4]刘甘华.Excel在大坝监测数据分析中的应用[J].安徽
水利水电职业技术学院学报,2014(2):76-78.
[5]阚宁,翟晓宇.V B A在测量内业工作中的应用[C]//吉
林省土木建筑学会2012年学术年会论文.长春:吉林
省土木建筑学会,2012.
Hydraulic Automation Calculation Based on Excel and VBA Program
L I Qian1, SHEN Zhonghui2玄武岩纤维布
(1. Guangxi College of Water Resources and Electric Power, Nanning, Guangxi, 530007;
2. Guangxi Water and Power Design Institute, Nanning, Guangxi, 530023)
Abstract: This paper studies advantages and disadvantages of commercial software, self-programming calculation, and Excel calculation method with link function widely used in water conservancy and hydropower investigation and design institutes in China, and proposes the method of hydraulic automatic calculation based on VBA programming in Excel to achieve targeted, personalized and automatic hydraulic calculation. Engineering practices show that the method is highly efficient, simple and easy to learn. It can also present the results accurately and intuitively by using the graph function of Excel.
Keywords : hydraulics; calculation; programming; software
(上接第11页)
Application of Wireless Sensor Network in Water Conservancy
and Hydropower Engineering
Q IU Chunhua1,2, G E Shaoyun1, YANG Ting1, XIANG G uoxing2
(1. School of Electrical Engineering and Automation ,Tianjin University ,Tianjin ,300072;
2. Guizhou Survey & Design Research Institute for Water Resources and Hydropower ,Guiyang ,Guizhou ,550002) Abstract: In China, most of the water conservancy and hydropower projects are located in remote mountainous areas with poor environment. For the purpose of unified regulation, it is necessary to place massive sensors to collect hydraulic information such as water level, flow, water quality, gate opening, etc. from reservoirs, power stations, irrigated areas or other parts according to the requirements of water resources informatization construction. However, the traditional sensor network is not only difficult in placement but also expensive in operation and maintenance. Instead, the wireless sensor network ( WSN) has the advantages of fast construction, flexible expansion, low input cost and easy maintenance for its integration of sensor, micro - electro - mechanical system ( MEMS) , wireless communication and distributed information processing technology, which has a wide application prospect in water conservancy and hydropower industry.
Keywords wireless sensor; network; water conservancy and hydropower engineering; application
17

本文发布于:2024-09-22 02:04:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/100972.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:计算   进行   功能   编程   应用   表格   程序
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议