• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    DLL技術(shù)在水文預(yù)報系統(tǒng)中的應(yīng)用

    2012-04-30 01:57:00孫永紅狄艷艷
    水利信息化 2012年4期
    關(guān)鍵詞:調(diào)用水文計算結(jié)果

    孫永紅 ,陳 明 ,狄艷艷

    (1. 國電南自 南京河海南自水電自動化有限公司,江蘇 南京 210061;2. 黃河水利委員會水文局,河南 鄭州 450004)

    0 引言

    Library,DLL)是比較合適的方法。

    水文預(yù)報系統(tǒng)通過建立數(shù)據(jù)庫、知識庫、方法庫、模型庫、圖形庫及綜合推理機,對未來一定預(yù)見期內(nèi)的水文狀況做出預(yù)測,對防洪減災(zāi)和水資源的優(yōu)化調(diào)度都具有積極的意義。

    近年來,水文預(yù)報系統(tǒng)越來越廣泛地被應(yīng)用到許多領(lǐng)域,如城市防洪、水庫調(diào)度等。水文預(yù)報是相當復(fù)雜的過程,受地理、氣候的影響比較大,且隨著氣候和地形地貌的變化,常常需要采用幾個模型進行預(yù)報并比較。這就要求預(yù)報系統(tǒng)具有兼容性和可擴展性。

    現(xiàn)行的水文預(yù)報模型屬于以物理成因為基礎(chǔ),具有一定經(jīng)驗性的范疇[1]。水文預(yù)報系統(tǒng)涉及的內(nèi)容較多,從數(shù)據(jù)采集傳輸、解析存儲、運用水文模型進行計算到最終顯示發(fā)布,這些過程若采用同一種程序設(shè)計語言,難以發(fā)揮各自的優(yōu)勢。如 VB 易學(xué)易用,開發(fā)出來的軟件體積?。籚C 在底層功能和指針方面的支持較好;C# 適用于面向網(wǎng)絡(luò)的顯示和發(fā)布。

    目前,VB 主要用于模型構(gòu)建和計算,計算結(jié)果通過 ASP.Net 進行信息發(fā)布和與客戶端交互。要在整個系統(tǒng)中充分發(fā)揮各種語言的優(yōu)勢,充分利用現(xiàn)有的程序資源,使用動態(tài)鏈接庫(Dynamic Linking

    1 DLL 技術(shù)的優(yōu)越性

    DLL 一般以函數(shù)庫的形式供應(yīng)用程序調(diào)用,其應(yīng)用于水文預(yù)報系統(tǒng)的優(yōu)越性主要表現(xiàn)在以下幾個方面:

    1)便于不同專業(yè)模塊的集成。不同專業(yè)集成系統(tǒng)往往涉及很多專業(yè)應(yīng)用,不同的專業(yè)適合的語言可能不同, DLL 技術(shù)通過接口交互,使得不同專業(yè)模塊的集成成為可能。如:大壩安全評估、水文預(yù)報、水庫調(diào)度分屬不同專業(yè)模塊,但相互之間關(guān)系密切,水庫調(diào)度以水文預(yù)報結(jié)果為基礎(chǔ),調(diào)度決策又要考慮到大壩安全,這些不同專業(yè)之間的相互調(diào)用可通過 DLL 完成。

    2)便于系統(tǒng)升級。只需在程序升級時,替換庫函數(shù),不會影響系統(tǒng)其他部分。如:流域氣候或下墊面等因素發(fā)生變化,水文預(yù)報模型可能會跟著改變,此時只要將水文預(yù)報部分通過 DLL 替換掉,與之相關(guān)聯(lián)的其他專業(yè)模塊不受影響。

    3)提高工作效率。不同語言編寫的應(yīng)用程序都可以使用同一個 DLL,且 DLL 可與其他程序部分同時進行編程,可以縮短工期,提高效率。如:水文預(yù)報模塊只需提供給水庫調(diào)度模塊 DLL 函數(shù),使其得到洪水過程線即可,模塊內(nèi)部程序不影響調(diào)用結(jié)構(gòu)。因此各模塊可同步進行編程調(diào)試。

    4)節(jié)約內(nèi)存,提高系統(tǒng)運行速度。DLL 只有在被調(diào)用時才裝入內(nèi)存運行,且多個程序使用相同的 DLL 時,只需在內(nèi)存中裝載 1 次,這樣就節(jié)省數(shù)百兆甚至上千兆的內(nèi)存開銷。

    2 用 VB 創(chuàng)建及測試水文預(yù)報模型 .DLL

    水文預(yù)報模型有多種,基本上都是由模型參數(shù)、輸入數(shù)據(jù)、計算流程、輸出數(shù)據(jù)等幾部分組成。

    下面以水文預(yù)報系統(tǒng)的三水源新安江水文預(yù)報模型為例編寫 DLL。

    在這個 DLL 中,包含了新安江模型水文預(yù)報的各個流程,從設(shè)置模型參數(shù)、讀取實測值到按時段計算,以及輸出計算結(jié)果。這些參數(shù)值和實測值以虛參數(shù)組的形式體現(xiàn),調(diào)用時,讀取數(shù)據(jù)庫中實際值或用戶輸入值作為實參數(shù)組進行調(diào)用,最后得到計算結(jié)果,這里應(yīng)用的是洪水流量過程線。

    1)步驟 1。啟動 VB6.0,新建工程,選擇ActiveX DLL,打開,工程名改為 XAJ,類模塊命名為 xinanjiang.dll,然后定義參數(shù),并計算:

    Public Sub XAJ(xaj_p(15) As float, xaj_i(8) As float, xaj_c(3) As float, p( ) As float, ep( ) As float, qq( )As float, QR( ) As float, RR0 As float,N as integer)

    其中:xaj_p(15)——設(shè)置模型參數(shù)名稱;

    xaj_i(8)——設(shè)置模型參數(shù)值,可針對地理氣候條件交互設(shè)置,針對某個地區(qū)一般為常量;

    xaj_c(3)——設(shè)置模型啟動時起始值,如根據(jù)前期天氣情況設(shè)置土壤墑情等值;

    p( )——實時降雨量,模擬降雨量;

    ep( )——實時蒸發(fā)量,模擬蒸發(fā)量;

    qq( )——實時區(qū)間來水量,模擬區(qū)間來水量;

    QR( )——計算出的流量;

    RR0——初始流量;

    N——實時數(shù)據(jù)數(shù)組的個數(shù)

    Dim I as integer——設(shè)置 I 為循環(huán)變量(整數(shù)型)。

    以下是計算過程,求出 QR( )數(shù)據(jù),返回

    完成保存工作后,選擇“文件-生成 XAJ.dll”,確定。

    2)步驟 2。文件-添加工程,選擇標準 EXE,打開,生成窗體 form1,改名為“測試窗口”,保存。添加測試窗體的目的是為了修改和調(diào)試 DLL。

    3)步驟 3。工程-引用,在對話框中勾選“XAJ”,確定。

    4)步驟 4。在 form1 的代碼窗口輸入:

    5)步驟 5。將測試窗口工程設(shè)置為啟動工程。運行-啟動,程序自動將計算結(jié)果寫到相應(yīng)數(shù)據(jù)文件中。這里計算結(jié)果是寫到 1 個 TXT 文件里,如果要寫到其他類型的數(shù)據(jù)庫中,只要在 DLL 中寫數(shù)據(jù)部分連接不同的數(shù)據(jù)庫,并按照相應(yīng)字段寫入即可。

    6)步驟 6。文件-保存工程組,組名改為XAJ。下次修改 DLL 時,打開 XAJ.vbg,修改后重新編譯生成 XAJ.dll,代替原來的 DLL 文件。調(diào)用時,重復(fù)步驟 3~5 即可。

    3 在 ASP.Net 中調(diào)用 VB 創(chuàng)建的 DLL

    ASP.Net 可以與傳統(tǒng) ASP 并行運行,但編程速度遠非 ASP 可比,用于創(chuàng)建更快、更強大和功能更全的 Web 應(yīng)用程序[2]。

    1)步驟 1。在開始-運行中輸入 regsvr32 C:WINDOWSsystem32 XAJ.dll,進行注冊。

    2)步驟 2。在 Calculation.asp 中編寫代碼:

    讀取數(shù)據(jù)庫:

    數(shù)據(jù)表內(nèi)容在界面上以表格形式顯示,如表1所示。

    表1 數(shù)據(jù)表內(nèi)容

    計算時,可以直接采用默認值,也可以輸入?yún)?shù)值, 進行參數(shù)設(shè)置,

    其他水文模型的創(chuàng)建和調(diào)用過程類似,核心就是通過函數(shù)調(diào)用進行數(shù)據(jù)的傳遞,實現(xiàn)水文預(yù)報計算、發(fā)布等多個過程的集成,使之成為一個有機的整體。

    4 結(jié)語

    以上水文預(yù)報模型 .DLL 程序編寫和在 ASP.Net中的調(diào)用實例證明,使用 DLL 技術(shù)實現(xiàn)水文預(yù)報的方法是切實有效的。使用 DLL 技術(shù)不僅可以利用多種語言各自的優(yōu)勢,加快系統(tǒng)開發(fā)和運行速度,還能對程序的核心代碼進行封裝保護,使得系統(tǒng)更安全[3]、更易于維護和擴展。例如,在桃山水庫洪水預(yù)報系統(tǒng)中,一期工程采用大伙房產(chǎn)流模型和瞬時單位線作為水庫流域的產(chǎn)流預(yù)報和匯流模型,后來由于干流入庫控制水文站搬遷重建、河道漫灘嚴重,因此,二期工程中,洪水預(yù)報軟件進行了升級,增加了新安江模型和分段分層河道演算模型 .DLL。經(jīng)過對照預(yù)報,發(fā)現(xiàn)降雨量大于 100 mm時,大伙房模型比新安江模型合格率高一些;反之,降雨量小于 100 mm 時,大伙房模型比新安江模型合格率低一些。通過總結(jié)經(jīng)驗,提高了水文預(yù)報精度。使用了 DLL 技術(shù)后,系統(tǒng)沒有因為增加了模型而變得臃腫耗時,可見 DLL 技術(shù)對于多模型系統(tǒng)是比較有效的。

    [1]林三益. 水文預(yù)報[M]. 2 版. 北京:中國水利水電出版社,2001: 4.

    [2][美]G.Andrew Duthie. ASP.Net 程序設(shè)計[M]. 李萬倫,何蕾,趙海,譯. 北京:清華大學(xué)出版社,2002: 11-12.

    [3]李明剛,肖健. ASP.Net Web 站點高級編程范例[M]. 北京:清華大學(xué)出版社,2004: 1-2.

    猜你喜歡
    調(diào)用水文計算結(jié)果
    2022年《中國水文年報》發(fā)布
    水文
    水文水資源管理
    不等高軟橫跨橫向承力索計算及計算結(jié)果判斷研究
    甘肅科技(2020年20期)2020-04-13 00:30:40
    核電項目物項調(diào)用管理的應(yīng)用研究
    LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
    水文
    基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
    超壓測試方法對炸藥TNT當量計算結(jié)果的影響
    噪聲對介質(zhì)損耗角正切計算結(jié)果的影響
    深圳市| 陆川县| 辽阳市| 从化市| 东兴市| 浮梁县| 阜平县| 抚远县| 息烽县| 高青县| 勐海县| 靖州| 五指山市| 东乌| 贵南县| 定西市| 昭通市| 蓬安县| 宝兴县| 信阳市| 宣汉县| 安陆市| 咸丰县| 保康县| 兴宁市| 嘉黎县| 布拖县| 三明市| 潢川县| 普定县| 灵璧县| 濮阳市| 阜阳市| 桃江县| 会理县| 德保县| 仁怀市| 许昌县| 宜城市| 洛川县| 屏东县|