董振忠
摘 要:該文主要介紹了使用EXCEL VBA編寫回彈法數據處理程序的計算流程、編寫思路,以及程序在快速編寫檢測報告中的作用。重點介紹了程序所采用的自定義函數,主要包括平均回彈值函數、檢測角度修正函數、檢測面修正函數、非泵送混凝土換算值函數、泵送混凝土換算值函數、插值函數等自定義函數和工作表函數。簡要介紹了與手算結果和其他回彈儀自帶軟件計算結果的對比,結果完全一致。程序降低了回彈法數據處理難度,給編寫報告帶來了極大的便利。
關鍵詞:回彈法 EXCEL VBA 測面修正 測角修正 強度換算 強度推定
中圖分類號:TV331 文獻標識碼:A 文章編號:1674-098X(2015)01(a)-0069-01
公路和城市橋梁都需按照規(guī)范要求進行常規(guī)檢測和結構檢測,而在檢測中通常要對構件的材質劣化程度作出評定,分析對結構安全和耐久性的影響,為后續(xù)維護和加固提供依據。由于混凝土強度是體現(xiàn)混凝土力學性能的重要指標,而回彈法是無損檢測中測定混凝土抗壓強度最廣泛采用的方法,所以經常要對回彈法數據進行分析計算評定?;貜梼x自帶軟件可以進行基本的計算,并將數據輸出到EXCEL,但與編寫檢測報告所需要的格式和內容有差異,所以,利用EXCEL VBA對會回彈法數據進行計算、分析、評定形成編寫報告所需表格,然后將表格復制到WORD中,這樣就極大地方便了報告的編寫。
1 計算流程
程序依據的規(guī)范分別為《回彈法檢測混凝土抗壓強度技術規(guī)程》JGJ/T 23-2011和《公路橋梁承載能力檢測評定規(guī)程》JTG/T J21-2011。程序對數據進行計算、分析、判定,與手算過程完全相同,計算分析的基本流程為:測區(qū)范圍識別→計算平均回彈值→進行角度修正→進行澆筑面修正→計算混凝土強度換算值→計算混凝土強度推定值→計算平均強度勻質系數→計算推定強度勻質系數→判定標度→耐久性評價。
程序主要定義了平均回彈值函數、測角修正函數、測面修正函數、非泵送混凝土換算值函數、泵送混凝土換算值函數、插值函數,最終對表格進行數據計算并填寫子程序。對于程序中需要的EXCEL中包含的函數,都采用工作表函數(WorksheetFunction.函數)的方式引用。
程序首先根據用戶在數據區(qū)選擇的數據范圍來獲得測區(qū)數、各測區(qū)碳化深度、澆筑面、檢測角度和設計強度信息,然后主要是運用定義好的函數進行計算。如果測區(qū)數小于10個,那么最后的推定值就會取最小值,如果測區(qū)數大于等于10個,那么最后的推定值就會按照統(tǒng)計的方法計算。同時填寫標準差、推定強度勻質系數和平均強度勻質系數,判斷其標度,并對混凝土強度狀況作出評價。
2 主要函數
2.1 插值函數CZ(ByVal X1,Y1,X2,Y2,x)
規(guī)范中所有能夠查表的,程序全部采用了查表法確定相應數值,根據傳遞的變量X1,Y1,X2,Y2,x值采用線性內插法計算出CZ值,即x對應的y值。
'插值計算
Public Function CZ(ByVal X1,Y1,X2,Y2,x)
CZ=(Y2-Y1)*x/(X2-X1)+Y2-(Y2 -Y1)*X2/(X2-X1)
End Function
2.2 平均回彈值函數PJHTZ(ByVal Areas As Range)
程序根據選擇區(qū)域分別處理區(qū)域內每一列的數據,主要是應用了選擇區(qū)域的列屬性、WorksheetFunction.Large、WorksheetFunction.Small函數來去除三個最大值和三個最小值,然后求出平均值。關鍵性的語句如下:
Cells(ROWN+ROWC+ 3, COLN +i-1)=PJHTZ(Selection.Areas(1).Columns(i))
larg1=WorksheetFunction.Large(Areas,1)
上面的語句是為了獲得選擇區(qū)域某一列的數據,可作為一個區(qū)域進行數據的傳遞。
2.3 測角修正函數CJXZ(ByVal x,JD)
測面修正函數包含兩個參數,x為平均回彈值,JD為檢測角度,把非水平方向檢測時的修正值定義為數組,確定x所在的相鄰的整數回彈值區(qū)間,對強度進行第一次線性內插計算,然后依據角度進行第二次線性內插,也就是計算任意強度任意角度時的修正值。查詢數據主要使用了WorksheetFunction.Lookup方法。
2.4 測面修正函數CMXZ(ByVal QD,JZM)
測面修正函數包含兩個參數,QD是進行了角度修正后的回彈值,JZM是澆筑面參數,分別用BM代表表面,DM代表底面,CM代表側面。程序將不同澆筑面的回彈值修正值表中數據定義成三個數組,分別為Rm對應的ArrQD數組,表面修正值對應的ArrCMB數組和底面修正值對應的ArrCMD數組,這樣便可以使用WorksheetFunction.Lookup方法任意來查找所需數據。對于判斷是表面、底面還是側面,是在啟動對話框按下確定按鈕時,程序查找每一列的澆筑面信息,然后將變量再傳遞到側面修正函數中,通過傳遞的參數判斷澆筑面屬性。
2.5 混凝土強度換算函數
程序定義了非泵送混凝土強度換算函數THXZFBS(ByVal QD,THZ)和泵送混凝土強度換算函數THXZBS(ByVal QD,THZ),兩個函數采用相同的算法,都包含兩個參數,一個是修正后的回彈值QD,另一個是碳化深度值THZ。程序采用動態(tài)數組儲存測區(qū)混凝土強度換算表中的數據,每一個數組存儲一行數據,當需要某個數值時,采用指定數組行號和列號的方法取用數據,即采用y=arr(行號)(列號)的形式。程序根據碳化值查到此碳化值在測區(qū)混凝土強度換算表中的列號,然后程序再計算出與平均回彈值上下相鄰的Rm值所在的行號,最后程序在數組中取出數據,進行線性內插后得到最后的強度換算值。
3 結語
把使用EXCEL VBA編寫的回彈法混凝土強度計算程序與多家數顯回彈儀所帶軟件的計算結果進行了比較,結果完全吻合。在對多人回彈法手算測試中,對手算結果進行了驗證,結果與手算法完全一致?;貜椃ɑ炷翉姸扔嬎愠绦蛞言跈z測工作中使用了兩年,在相關檢測報告中得到了大量使用,給回彈數據處理帶來了很大的方便。由于程序完成了全部需要計算的過程,剩下的只是數據輸入,這大大降低了數據處理的難度,使編寫回彈法檢測混凝土強度報告變得特別簡單。
參考文獻
[1] 中華人民共和國建設部.養(yǎng)護技術規(guī)范(CJJ99-2003)[S].中國建筑工業(yè)出版社,2003.
[2] 中華人民共和國住房和城鄉(xiāng)建設部.回彈法檢測混凝土抗壓強度技術規(guī)程(JGJ/T 23-2011)[S].中國建筑工業(yè)出版社,2011.
[3] 中華人民共和國交通運輸部.公路橋梁承載能力檢測評定規(guī)程(JTG/T J21-2011)[S].人民交通出版社,2011.