999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Excel+VBA平臺流量計算程序的研建

2020-06-12 08:11:48王昌平鄒文安
海河水利 2020年3期
關鍵詞:程序信息

王昌平,鄒文安

(1.江蘇省水文水資源勘測局鹽城分局,江蘇 鹽城 224000;2.吉林省水文水資源局,吉林 長春 130022)

1 引言

流量是指單位時間內通過某一過水斷面的水體體積,是水文部門主要監測項目之一。流量測驗作業主要包括起點距、水深、流速、水位等水文要素測量。在流量施測過程中,由于河床和水流的不確定性,導致各要素監測時具有很大的隨機性,同一水文站點各次流量計算會有較大的差異性,會出現陡岸邊、測深不測速、多點法、多臺儀器施測等特殊情況,存在流量計算易出錯、重復性高、耗時耗力等諸多問題。流量計算是對現場實測流量數據信息進行整理、分析,依據相關公式,通過測點流速計算、垂線平均流速計算、部分面積計算、垂線間流量計算和數據有效位數取舍等步驟進行的。近些年來,隨著計算機的廣泛應用,水文基層站隊均配置了計算機等設備,以計算機為平臺研發流量計算程序已勢在必行。

基于上述原因,本文結合生產單位需求,以Ex?cel+VBA 為技術平臺,開發了流量計算程序。該程序集數據錄入與計算、成果顯示與輸出為一體,解決了陡岸邊、測深不測速、多點法等特殊情況下流量計算問題,具有計算成果表標準格式打印輸出和存儲功能,大大地提高了工作效率和技術含量,降低了工作成本,解決了多年來困擾水文基層站隊的一項技術難題。

2 流量計算方法

通常情況下,流量計算主要包括水面寬、水深、流速、面積和流量計算等幾個部分。其中,水面寬為相鄰測深垂線的間距,等于相鄰測深垂線對應的起點距差值;水深是指測深垂線間的平均水深,等于相鄰垂線水深的均值;測點流速等于流速儀轉數除以測速歷時,垂線平均流速等于各測點流速均值;部分面積等于相鄰測深垂線間水面寬與平均水深的乘積;部分流量等于相鄰測速垂線間面積與平均流速的乘積。

由于流量計算公式較多,本文僅列出流量計算基本公式[1],見式(1)—(6)。

式中:ΔBi為相鄰測深垂線間的水面寬(m);Bi+1,Bi分別為第i+1 條,第i條測深垂線對應的起點距(m);為相鄰測深垂線間的平均水深(m);Hi+1,Hi分別為第i+1條,第i條測深垂線對應的實測水深(m);i為測深垂線序列號;Vi為測點流速(m/s);N為流速儀轉速,用轉數表示;T為流速儀測速歷時(s);C為常數;V為垂線平均流速(m/s);n為垂線測點流速個數;F為測深垂線間面積(m2);Q為測速垂線間流量(m3/s)。

3 程序架構

3.1 技術平臺

本程序兼容Windows XP/Win7/Win10 計算機操作系統,支持Microsoft Office 2003 及以上版本辦公軟件。在Excel+VBA平臺下進行開發,利用Excel工作表的輸入、輸出在同一工作簿的特點,最大限度地利用Excel 工作表數據錄入、定位、鏈接和表格制作等功能,提高程序開發效率,減少VBA程序代碼的耦合度[2]。

3.2 程序設計

3.2.1 設計思路

依托Excel工作表,完成原始信息錄入和成果表制作,利用單元格和內置函數完成信息鏈接、數據處理和顯示,采用VBA 編程完成數據處理、判斷、計算、有效位數取舍、存儲、成果輸出和打印[2-4]。

3.2.2 程序結構

按照原始信息錄入、計算控制(代碼編程)、計算結果顯示、成果輸出等界面結構進行軟件編程。本程序根據流量計算、輸出需要,在1 個“流量程序.xls”工作簿中完成全部計算、存儲和輸出任務。程序設置了5 個Excel 工作表和5 個命令按鈕,其功能與作用詳見表1。

表1 流量計算程序架構

3.2.3 信息錄入

以Excel工作表單元格定位形式錄入,分別錄入站名、流量編號、水位等流量基本信息以及起點距、水深、測速等實測信息。

3.2.4 計算控制

計算控制是本程序的核心內容,通過VBA代碼編程來實現。其主要內容包括水面寬、水深、流速、面積和流量計算,不同要素有效位數自動取舍,陡岸邊、測深不測速、多點法等特殊情況的判斷、數據處理和計算,特征值挑選、統計以及階段計算結果轉存、賦值、顯示等。

3.2.5 存儲

將流量錄入信息、計算成果等以工作簿形式整體轉存至指定的計算機硬盤目錄下。

3.2.6 顯示與輸出

首先是流量計算中部分結果顯示與瀏覽;其次是水文資料整編標準格式下的流量計算成果表顯示與打?。?]。

3.3 流程設計

首先是基本信息和監測數據錄入,其次是信息鏈接和流量計算,最后是計算結果顯示。

4 實現方法

4.1 信息錄入

信息錄入就是對程序的賦值,以文字、數據為主。錄入的信息主要包括流量實測基本信息和監測數據兩部分,是實測流量必備的基礎信息。其中,基本信息主要有站名、施測時間、水位等,監測數據信息主要有起點距、水深、測速等。

錄入方法如下:利用Excel 工作表編輯功能,對單元格進行定位賦值;再利用Excel 工作表鏈接功能,實現錄入信息在不同工作表中的單元格定位鏈接。本程序是將“基本信息錄入表”和“監測數據錄入表”錄入的信息分別定位鏈接“站測深、測速及流量計算校對表(計算表)”和“站流量、懸移質輸沙率測驗記載計算表(成果表)”,供流量計算、顯示和成果輸出使用。

4.2 流量計算

4.2.1 水面寬計算

水面寬是通過起點距來計算的,即利用Excel工作表同一列單元格相減(后單元格減前單元格)來完成的,參見式(1)。

最后一個起點距,也就是施測河道的另一側水岸邊,單元格相減結果為負值,實際上該值應等于0。通過VBA 代碼判斷其小于0,對應指令為If Val(Range("h6").Text)<0;然后令其等于0來實現,對應VBA 編程代碼為"=RC[-6]-RC[-6]",其他垂線依此類推。

4.2.2 水深計算

水深計算是指測深垂線間的平均水深計算,等于同一列單元格相鄰垂線水深的均值(相鄰單元格和的1/2),參見式(2)。

水深計算完成后,需要對其有效位數進行處理。由于水深有效位數是統一的、固定的,可采用一個模塊編程,集中在一個單元格進行有效位數取舍,即將待處理的水深逐個代換到該單元格,處理后再代換到原來單元格。

調用子程序代碼為:Application.Run "流量程序.xls!水深取舍運算"。

4.2.3 流速計算

流速計算是流量計算核心內容之一,要考慮一條垂線一點測速、兩點測速,測深不測速、岸邊系數、流速儀型號以及流速有效位數取舍等多種情況,計算復雜而繁瑣。

VBA 代碼是通過起點距信息和流速儀測點信息綜合判斷屬于哪一種情況。如果一條垂線一點測速,在“yslr”工作表中“相對位置”欄填寫0.6 或 0.5;如果是兩點、三點測速,在“相對位置”欄填寫33或3(該數字用于邏輯判斷,可自定);如果測深不測速,“相對位置”“轉速”“歷時”欄均為空白。流速有效位數取舍程序設計思路與水深取舍處理方法基本相同。

以單元格z14為例,流速計算代碼為:

4.2.4 面積計算

面積計算分為測深垂線間面積計算和測速垂線間面積計算兩種情況。如果測深垂線均測速,那么這兩部分面積是相等的;當有測深不測速(通過有無流速判斷)時,測速垂線間面積應等于測深垂線間面積相加。

面積有效位數取舍程序設計思路與水深取舍處理方法基本相同。

4.2.5 流量計算

流量計算等于測速垂線間面積乘以垂線平均流速。以單元格ac13為例,流量計算部分代碼如下:

流量有效位數取舍程序設計思路與水深取舍處理方法基本相同。

4.3 數據存儲

數據存儲是將各次流量計算成果以完整的工作簿形式整體保存。事先在計算機硬盤下建立存儲文件夾,以各次流量編號加年份(即站名+編號+年份)進行文件命名,如“泉太27—2018.xls”。其中,“站名”“編號”“年份”均為 Excel 工作表“yslr”錄入信息。這樣命名文件好處是具有唯一性,避免文件重復命名、存儲時成果覆蓋。數據存儲VBA代碼編程事件為:

4.4 成果打印

流量計算應以表格形式輸出,以便存檔保管。按照水文資料整編技術要求,本軟件直接利用Excel工作表制作了標準格式的流量計算成果表,表格大小、填寫內容等均符合水文資料整編要求。

成果表打印分為表格正面打印和表格反面打印兩部分。其中,表格正面為基本信息和計算成果,表格反面為監測數據和計算結果。打印是通過單擊命令按鈕形式進行的,VBA代碼編程事件為:

Private Sub CommandButton4_Click()

MsgBox"請用打印表(1)背面打印,表頭朝左側放置,單擊“確定”,再打?。?

Sheets("dyb2").Select

ActiveWindow.SelectedSheets.PrintOutCopies:=1,

Collate:=True,IgnorePrintAreas:=False

End Sub

4.5 清屏處理

流量每計算一次都會在Excel 工作表上留下許多信息,這些信息會影響下一次流量計算。為此,每次流量計算完畢、存儲后,應及時清除這些信息(即清屏),確保下次流量計算不受影響。清屏是通過單擊命令按鈕形式進行的,通過調用一個程序模塊,實現清屏任務。以工作表“scb”為例,VBA代碼編程事件為:

5 幾種特殊情況的處理方法

本程序實現了陡岸邊、測深不測速、多點法等特殊情況下的流量計算,流量計算具有一定的兼容性。其中,陡岸邊是采用第一條和最后一條測深垂線對應的實測水深均參加垂線平均水深計算方式來解決的;測深不測速是通過是否有流速信息來判斷的,若錄入信息無測速記錄(如空白),則認定該條測深垂線為只測深不測速;多點法是通過相鄰起點距是否相同進行判斷,若錄入信息中的相鄰測深垂線對應的起點距相同,則認定為多點法測速(二點法、三點法);更換流速儀是通過錄入表中測速垂線前的特定單元格有無流速儀信息(如設定數字2)進行判斷的,若有流速儀信息,則采用其他公式計算流速(流速計算公式需要事先錄入)。

計算成果表輸出格式、有效位數、信息填充等是采用預先制定好表格、利用Excel單元格鏈接和內置函數分析判斷處理的,應符合水文資料整編要求。

6 結論

(1)本程序適合基層水文部門河道流量計算,已在吉林省部分水文站進行了生產應用。結果表明,流量計算精度準確可靠,輸出的成果表滿足水文資料整編要求;使用該程序計算流量提高了工作效率和工作質量,收到了良好的效果,有進一步推廣應用價值。

(2)本程序實現了陡岸邊、兩點法、三點法、測深不測速、兩部儀器測流等特殊情況下的流量計算,基本上滿足了現階段水文站河道流量計算要求。

(3)采用Excel+VBA編程適用于數據錄入、統計計算、表格制作等條件下的程序開發設計,具有錄入界面直觀、數據可視性好、表格制作簡單、部分代碼可逆向操作進行錄制等優勢[4],不足之處是部分單元格需要進行定位編程。

(4)本程序基于Excel 工作表平臺設計,操作程序簡便,人機交互性能好,不需要任何商用軟件或進行專門的模型軟件開發,只需在常規電腦上基于Microsoft Office辦公軟件即可操作使用,既節約了模型開發成本,也方便了用戶推廣使用。

猜你喜歡
程序信息
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
恐怖犯罪刑事訴訟程序的完善
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚洲欧美日韩精品专区| 老汉色老汉首页a亚洲| 亚洲欧美激情小说另类| 国产第八页| 久久婷婷六月| 精品视频91| 99精品免费在线| 天堂成人av| 亚洲色图欧美视频| 5388国产亚洲欧美在线观看| 老色鬼欧美精品| 国产精品综合色区在线观看| 久久国产精品麻豆系列| 91九色视频网| 成年av福利永久免费观看| 精品成人一区二区三区电影| 国产精品深爱在线| a欧美在线| 曰AV在线无码| 91人妻在线视频| 国产又黄又硬又粗| 国产日本欧美在线观看| 成人午夜网址| 婷婷亚洲视频| 中文成人无码国产亚洲| 国产黄网永久免费| 亚洲人免费视频| 国产成人亚洲精品色欲AV| 天天色天天综合| 国产va免费精品| 四虎成人精品在永久免费| 国产欧美日韩视频一区二区三区| 亚洲精品综合一二三区在线| 亚洲欧洲免费视频| 久久99精品国产麻豆宅宅| 成人在线天堂| 午夜不卡视频| 国产精品夜夜嗨视频免费视频| 操国产美女| 九九热精品视频在线| 亚洲黄色成人| 亚洲精品片911| 手机在线国产精品| 女人一级毛片| 制服丝袜 91视频| 欧美日韩北条麻妃一区二区| 亚洲综合精品第一页| 九九热精品免费视频| 亚洲爱婷婷色69堂| 精品国产免费观看| 伊人无码视屏| aⅴ免费在线观看| 精品福利网| 97色婷婷成人综合在线观看| 国产一区二区三区日韩精品| 夜夜拍夜夜爽| 中文字幕人成乱码熟女免费| 免费看黄片一区二区三区| 亚洲中文字幕无码爆乳| 亚洲国产精品一区二区第一页免| 欧美色丁香| 亚洲AV无码一区二区三区牲色| 国产www网站| 在线网站18禁| 91久久大香线蕉| 午夜电影在线观看国产1区| 欧美午夜视频| 中文字幕第1页在线播| 亚洲综合色区在线播放2019| 国产黄色片在线看| 久久综合亚洲色一区二区三区| 国产精品偷伦在线观看| 又爽又大又黄a级毛片在线视频| 国产拍在线| 91精品最新国内在线播放| 女人18毛片水真多国产| 亚洲精品第一页不卡| 最新精品久久精品| 国产美女一级毛片| 无码免费的亚洲视频| 亚洲AV一二三区无码AV蜜桃| 黄色网址免费在线|