李永波
(遼寧省交通規劃設計院有限責任公司,遼寧 沈陽 110001)
JTG/T H21—2011《公路橋梁技術狀況評定標準》(下簡稱《標準》)[1]規定了公路橋梁技術狀況評定方法和計算過程,該計算過程比較煩瑣,重復性工作較多,當橋梁規模較大、產生病害的構件較多時,由人來完成此項工作會十分費時、費力,且容易出錯,而計算機最擅長重復計算工作,所以編寫相關的程序,借助計算機來計算就成為一種必然趨勢。
2012 年,劉國金[2]基于ExcelVBA 編制了一種初步的計算程序,但該程序在計算效率等方面依然存在如下不足:①計算前需要人工統計全橋各部件產生病害的構件數量。②通過程序生成構件編號后,需要根據病害類型逐一地對每個構件的病害評定標度進行填寫,構件較多時,實際操作過程比較煩瑣。可見,該程序并未實現由病害到評分的完全自動化計算。③該程序沒有給出針對構件層的中間評定結果,不容易校核計算結果的準確性。
2016 年,姚偉等[3]引入矩陣運算法,將橋梁技術狀況評分計算的每個步驟都轉化為矩陣之間的簡單運算,使得整個計算過程更加直觀易懂。但該文未給出實際應用層面的計算程序。
2016 年,吳圣賢[4]針對《標準》應用問題進行研究,對《標準》在實施過程中遇到的橋梁結構構件如何合理劃分、重要病害構件數量影響的定量分析、構件重要病害數量影響的定量分析這3 個方面的問題,通過計算對比,得出了相關的結論,提出了相關技術問題的解決辦法,并基于VB 語言開發了相應的管理系統橋梁技術狀況評定軟件。但該軟件進行計算的前提是,需要將現場采集的一條條病害記錄人工輸入該軟件,錄入過程較煩瑣,且計算完成后,不能輸出評定計算的中間過程,不容易校核計算過程的正確與否。
本文基于VBA 編程語言,將橋梁技術狀況評定計算過程轉化為ExcelVBA 程序,實現了公路橋梁技術狀況評定計算的自動化,且計算表格能呈現中間計算過程,方便操作者對計算結果進行核對。
該程序包含3 個參數表和2 個計算表:參數表分為病害類型表、t值表及檢測指標扣分值表。病害類型表是依據《標準》第5 章,確定各部件的病害類型及每種病害類型的最大標度;t值表是依據《標準》中表4.1.2 及各部件的構件總數,確定各部件的t值;檢測指標扣分值表是依據《標準》中表4.1.1,確定某構件各檢測指標扣分值。計算表分為病害表和評分表,病害表用于錄入病害記錄和呈現評分計算的中間過程,評分表用于匯總最終計算結果。
準備工作主要包括兩方面內容:①將橋梁病害統計表錄入到病害表內,通過便攜式手持電子設備進行現場檢測,檢測完成后自動導出病害記錄;②統計橋梁各部件的構件總數,并將其填入計算表內。
橋梁技術狀況評定過程主要包含以下幾個方面。
病害記錄梳理及排序。采用VBA 自定義函數,從病害記錄表中提取構件編號,并對所有病害依次按缺損位置(部件類型)、構件編號、缺損類型以及評定標度大小進行排序,一是為后續進行扣分排序做準備,二是使全橋病害更具條理性,易于進行中間計算過程的校核。鑒于篇幅有限,文中不再給出“提取構件編號”和“病害排序”的相應代碼。
逐條病害扣分及扣分排序。采用循環結構,逐條讀取各構件病害,根據各條病害評定標度及病害類型,確定各條病害扣分,然后對各構件按各病害類型的扣分值從大到小排序,并統計各部件中缺損構件數量。單條病害扣分程序主要代碼如下(鑒于篇幅有限,文中未給出扣分排序代碼):


橋梁構件、部件及總體技術狀況評定。根據《標準》第4.1.1~4.1.4 條,對橋梁各構件、部件及總體技術狀況逐級進行評定計算。構件評分計算程序主要代碼如下(鑒于篇幅有限,文中未給出部件評分計算代碼):


最后,將上述計算結果通過Excel公式整理匯總到評分表。
該程序基于ExcelVBA 編程環境,構建了針對《標準》中技術狀況評定方法的計算表格,可一步式實現由病害到評定結果的計算,能準確、高效地進行橋梁技術狀況評定計算,極大地提高了橋梁檢測評定工作的效率,同時能呈現中間計算過程,方便操作者對計算結果進行核對。