顧海榮, 張雅倩, 葉 敏, 蘇燕芹, 郭項偉
(長安大學公路養護裝備國家工程實驗室,西安710064)
采礦事故的頻繁發生造成了嚴重的經濟損失和人員傷亡[1]。鉆孔救援是近年來出現的一種新型快速救援方式,通過地面大直徑鉆孔,配合提升裝備實現被困人員的快速救援[2]。由于救援提升過程大多是在裝有套管的井筒內進行,套管在地層壓力等因素的作用下可能會發生變形破壞,對救援工作造成不利影響。
現有的井筒變形監測技術多數局限于對局部變形的監測。常見的監測方法是在垂直方向設置基準,然后測量不同深度井筒與基準距離,對井筒變形情況進行分析。郭同江等[3]在井筒內部罐籠的灌道外側懸掛4 根鋼絲,選擇成對角狀態的2 根鋼絲與井筒交點作為監測點,測量不同深度監測點至鋼絲的距離,獲取不同深度中心坐標,完成井筒變形監測。劉尚國等[4]針對井筒深度過大的情況,提出長距離情況下激光作為基準的監測方法,達到減小誤差的效果。這些方法可以有效監測井筒局部變形,但是對井筒的變形監測局限于部分深度,監測范圍覆蓋不全面。在救援過程中,救援設備在井筒內上下移動,增加了井筒變形監測的難度。
房華光[5]從變形監測點位置的布設等角度進行分析變形情況,并以MATLAB為編程環境構建井筒模型。段友祥等[6]在模型基礎上對其進行光滑處理并對井壁加以渲染,很好地實現立體效果。蔣必辭等[7]采用坐標旋轉法構建了井壁外殼。本文提出了井筒變形動態監測試驗方案以及基于Windows窗體應用程序和OpenGL類庫(SharpGL)的軟件實現方案,最終通過LabVIEW調用界面完成了井筒變形動態監測軟件設計,實時顯示井筒變形情況。
搭建實驗平臺模擬礦井環境,采用非接觸式井徑測量裝置模擬救生艙,電動機帶動控制測量裝置上下移動。將6 個激光位移傳感器呈60°均勻布置在井徑測量裝置水平面上,保證傳感器的測量射線共面且射線反向延長線相交于一點。在測量裝置上下移動過程中,使用激光位移傳感器采集傳感器到井壁的距離數據,將采集的距離數據轉化為電信號后傳輸至模數轉換模塊,模數轉換模塊將電信號轉化為數字信號后經信號傳輸通道傳送至上位機用于處理及顯示。
6個激光位移傳感器在井壁上形成6 個光點,每3個光點構造1 個以井壁為外接圓的三角形,通過解析三角形模型確定對應高度的井筒直徑。在同一深度,取20 組直徑數據的最小值作為這個截面的通過直徑。如圖1 所示為井筒直徑解析原理圖,圖中:P1、P2、P3為激光傳感器的激光輸出端口;A、B、C 為井壁上的對應光點。
根據余弦公式,有:


圖1 井筒直徑解析原理圖

設三角形ABC面積為S,根據海倫公式,有:

采用三角形外接圓法計算井筒直徑,井筒半徑R為

同一截面上,通過O1點坐標以及O1到井壁上6個點的距離可以獲得井壁上6 點坐標,進而利用6 點坐標采用最小二乘法擬合圓,獲得東西方向偏移量和南北方向偏移量。通過計算鋼絲繩的移動距離獲得井深數據。
監測方案很好地解決了豎直方向監測范圍覆蓋不全面的情形,能實時獲得不同深度井筒截面數據。
井筒變形分為橫向和縱向。橫向變形的主要表現形式為水平位移,包括水平面東西方向偏移量、南北方向偏移量、井筒半徑變化;縱向變形表現為垂深變化[8]。井筒模型可以看作由多個不同深度的圓截面拼接而成,基于動態監測時所獲截面的井筒半徑以及圓心坐標可以構建井筒模型。
首先建立坐標系,如圖2 所示,取井筒井口位置為坐標原點O,從上至下為Y軸正方向,正東方向為X軸正方向,正南方向為Z軸正方向。

圖2 O-XYZ坐標系
在三維直角坐標系中繪圖時需要將井深轉換為垂深[9]。理論計算基本參數為:測段長度ΔL,mm;東西向增量ΔE,mm;南北向增量ΔN,mm;水平方向位移變化矢量和ΔS,mm;垂深增量ΔH,mm;井斜角α;方位角φ。如圖3 所示為井筒模型構建基本參數示意圖。

圖3 井筒模型構建基本參數示意圖
計算公式為:


如表1 所示為試驗和計算所得的井筒變形監測數據。

表1 井筒變形監測試驗相關數據
OpenGL作為編程接口,通常用于視覺圖形和3D游戲開發中[10]。它可以應用在不同的平臺,而且調用非常方便[11]。Windows窗體應用程序作為一個平臺,可以很方便地實現圖像更新[12]。SharpGL 是一個OpenGL被封裝后的C#類庫集合,將C#和SharpGL聯合,開發圖形程序可以提高效率[13]。相比于MFC 框架,在Windows窗體應用程序中使用SharpGL 有更強的可掌控性。因此,本文在VisualC#下建立Windows窗體應用程序,結合OpenGL類庫(SharpGL)構建井筒模型。通過Access數據庫[14]鏈接Excel表格,在編程中獲取數據庫路徑,最終通過LabVIEW調用窗體應用程序實現Excel 表格中數據改變,窗體圖形隨之相應變化的效果,即實現動態變化。如圖4 所示為軟件關系示意圖。

圖4 軟件關系示意圖
(1)為了方便在救援過程中及時地觀察到井筒變形是否超限,對于圓心坐標偏差較大以及所測直徑過小的部分用不同顏色標記。圓心坐標偏差包括東西方向偏差值和南北方向偏差值,偏差值過大或直徑過小用紅色顯示。井筒變形在安全界限以內用青色顯示。豎井井筒底部相對穩定,所以以最底部截面半徑以及圓心坐標建立井筒模型,作為參考模型觀察垂直方向變形情況。
如圖5 所示為水平偏差對井筒變形范圍影響示意圖。本示例將東西方向和南北方向偏差值的最大范圍控制在10 mm以內,即水平面內的總偏差值安全范圍在mm(約14.14 mm)以內。本示例井筒內徑為606 mm,救生艙艙體外徑為560 mm,井筒直徑的變化范圍在31.86 mm 以內,即在救生艙總偏移值不超過14.14 mm 時,井筒內徑只要大于591.86 mm 就在安全范圍內。

圖5 水平偏差對井筒變形范圍影響示意圖(mm)
(2)井筒變形圖不僅要求滿足監測作用,在圖形界面也應具有良好的視覺效果。在監測過程中,為了將已監測部分全部顯示在窗體中,不論監測裝置運行到什么位置,已經監測部分井筒的變形圖可以根據長度自動伸縮比例。
(3)在救援過程中,救生艙是持續運行的,因此相關數據實時變化。當到達某一深度,若井筒變形超出安全界限,用戶可以對危險部分進行縮放、平移及旋轉。
LabVIEW是一種圖形化編程語言,使用簡單、便捷[15]。動態鏈接庫(DLL)是Windows 操作系統的基礎[16],它獨立于編程語言,因此大多數語言編寫的DLL都可為LabVIEW 所用[17-18]。在Visual Studio 中顯示井筒變形界面需要點擊“運行”,改變表格中數據需要重新點擊“運行”方可觀察到界面變化。但是在LabVIEW中調用DLL 文件則不同,Excel 表格中數據改變,Access 數據庫中數據隨之改變,LabVIEW 中的圖形界面也隨之改變,實現了動態監測。
將Visual Studio中編好的程序打包為DLL 文件。調用C#編程的DLL文件需要選擇構造器節點。利用屬性節點、構造器節點以及調用節點調用DLL 文件,最終實現直接在LabVIEW中顯示窗體應用程序界面。這樣不僅可以觀察到井筒變形動態圖,也可以節省電腦空間內存。如圖6 所示為根據試驗數據所獲得的井筒變形動態監測界面。

圖6 井筒變形動態監測界面(mm)
井筒變形示例圖中整體框架使圖形顯得更有立體感。當變形圖中出現紅色時,用戶收到信號及時停止提升救援裝置(本示例圖中未出現紅色表示截面圓心坐標偏移量以及井筒半徑變化值滿足要求)。用戶可以根據實際要求設置偏差值安全界限、直徑安全界限以及自動伸縮比例,直徑大于安全界限并且偏移量小于安全界限時,救援提升裝備正常運行。若兩者有一個不滿足,則需要停止提升救援裝置。
本項目在LabVIEW中建立相關界面,井筒運行過程中,可實時顯示井深數據、半徑大小等相關數據。用戶可根據實例自行標注刻度。
本文基于Visual C#和LabVIEW 軟件并結合OpenGL類庫實現井筒變形動態監測,很大程度提高安全系數以及救援效率:用電動機控制井徑測量裝置上下移動實時獲得不同深度井筒截面數據,擴大豎直方向井筒變形監測范圍,提高救援工作的安全性。基于Visual C#編程環境,創建Windows窗體應用程序并將C#語言與SharpGL 聯合開發程序構建井筒變形模型,程序簡潔且方便調用。調用窗體應用程序界面可以通過直接改變Excel表格中數據改變窗體應用程序界面顯示圖形,實現井筒變形動態監測,而且可以節省內存,加快軟件運行速度。整套軟件的開發具有普遍適用性,為后續對救援井實施動態監測提供一定的參考價值。用戶可以根據自身需求增加救援裝置提升速度、穩定性監測等實用性功能。