邢同超,馬桂君,王令司,石振華,聶蘭兆
(海洋石油工程(青島)有限公司質量管理中心,青島 266520)
石油化工行業的管線多數都是以焊接的形式連接,焊縫質量的優劣直接影響整個系統的質量。檢驗焊縫質量最主要、最廣泛的方法就是對管線進行試壓,使其在規定的時間范圍內承受規定的壓力而不發生破壞,試壓工作在管線加工制造過程中具有舉足輕重的作用[1-2]。浮式液化天然氣生產儲卸裝置(FPSO)管道多、系統多,管線錯綜復雜,試壓包數量多,試壓包狀態跟蹤統計工作量繁重且難度高,如何快速高效地對試壓包狀態進行實時跟蹤統計是項目管理人員和現場檢驗人員關注的重點。基于以上需求,本文提出了一種解決方案,基于Django 建立了一套管線試壓包狀態跟蹤系統,通過在某FPSO 項目的實際運行,應用效果良好,其中的應用經驗可供其他類似項目參考。
管線試壓一般工作步驟:管線預制及檢驗完成→試壓包批復→查線及A類尾項整改完成→沖洗/吹掃→壓力試驗→清潔干燥→管線復位→最終檢查,從查線及A 類尾項整改完成至最終檢查的步驟均為檢驗節點。根據項目要求,試壓包檢驗節點狀態和A 類尾項的整改狀態均須進行跟蹤。在以往此類項目中,統計工作一般利用Excel 完成,相關數據離散地保存在個人電腦上,不便于數據共享及實時查詢。某FPSO 項目管線試壓包共計1200 多個,尾項達數萬條,統計跟蹤工作量非常大。為解決這些問題,本文基于Django 建立了一套管線試壓包狀態跟蹤系統,該系統實現了試壓包數據的上傳下載、試壓包過程數據錄入、各檢驗節點狀態及尾項狀態的實時統計。
系統主要功能包括配置模塊、試壓包基礎信息模塊、試壓包狀態跟蹤表錄入模塊、試壓包狀態查詢統計模塊。
配置模塊用來管理字段的顯示、顯示位置、模板文件導入導出、導出位置、表頭默認值。
根據項目需要,試壓包狀態表中的過程數據錄入完成后,需要導出到Excel 格式的模板中。為此,用戶需要將模板文件上傳至系統后臺,并設置每個字段的導出位置。對于表頭區域的字段,只需要明確單元格地址即可,如“A3”。對于表格區域的字段,需要填寫第一行的地址。
表頭中的部分字段的填寫內容是固定的,如項目名稱,系統需要具備填表頭默認值的功能,在后續用戶每次填寫一個新的試壓狀態跟蹤表時,用戶設置的默認值將自動填寫至相應的字段內容中,減少用戶的輸入,提高錄入信息的準確度。
試壓包基礎數據模塊包含每一個試壓包的基礎信息,這些信息項包括:模塊號、試壓包號、試驗壓力、試驗介質、圖紙號等。
該模塊用來管理試壓包狀態跟蹤表的新增、修改、刪除、報告導出。
每一個試壓包對應一個狀態跟蹤表,報告號可以根據項目要求設定報告前綴,在第一份跟蹤表創建完成后,后續的編號采用流水號的方式自增即可。
狀態跟蹤表表頭區域的信息項包括:項目名稱、模塊號、場地、施工單位、試壓包號、各方檢驗人員查線日期、查線結果、試壓前清潔日期、試壓日期、清潔干燥日期、管線恢復完成日期等。
表格區域的信息項包括:尾項中英文描述、圖紙號、尾項類別、提出人、責任方、尾項關閉人、關閉日期等。
填寫人在錄入模塊號、試壓包號時,系統自動從試壓包基礎數據表中讀取相應信息,并支持模糊匹配,這樣可以減少用戶的輸入量,同時能夠保證信息的準確性。
在導出報告時,用戶可以根據關鍵字段進行篩選,如報告號、試壓包號、模塊號等,以便于迅速找到所需的報告。在選擇多個報告時需支持批量導出。
查線統計模塊包括試壓包狀態統計和試壓包尾項查詢統計。
試壓包狀態統計主要功能是對試壓包狀態進行查詢并統計,包括已查線數量、查線合格數量、試壓前清潔完成數量、試壓完成數量、清潔干燥完成數量、恢復完成數量。管理人員會對不同的模塊查詢相應周期內容的統計數據,這些統計信息會對項目的施工管理提供數據支持。
試壓包尾項統計用于對試壓前管線查線尾項進行統計,包括A/B 尾項總數、A/B 尾項累計關閉數量、A/B 尾項累計剩余數量、當日新增A項/B 項數量、當日關閉A 項/B 項數量等。除了統計匯總數據,還要生成每一個試壓包的狀態統計表。該狀態統計表表頭信息項如表1所示。

表1 狀態統計表表頭信息項
本系統利用Django 框架進行開發。Django是用Python 語言開發的一個免費開源的Web 框架,遵循MVC(models views controller)開發模式,用于開發基于B/S 架構的各類應用。由于Django 開發應用活動主要是在models.py、templates 文件夾里的各類模板和views.py 里進行的,因此Django 的開發模式也被稱為MTV(models templates views)模式。Django 的MVC 流程架構示意圖如圖1 所示。

圖1 Django的MVC流程架構示意圖
本系統采用的Django 的版本為2.2,Python版本為3.8。系統前端使用了AdminLTE,Admin-LTE 是一款基于Bootstrap 的開源免費的模板主題工具,它提供了一系列響應的、可重復使用的組件,并內置了多個模板頁面,同時自適應多種屏幕分辨率,兼容PC 和移動端。后端數據庫采用開源的MySQL 數據庫,Django 通過內置的MySQL適配器訪問MySQL數據庫。
Django 的ORM 操作本質上會根據對接的數據庫引擎,翻譯成對應的SQL 語句,所有使用Django 開發的項目無需關心程序底層使用的是MySQL、Oracle、SQLite,如果數據庫遷移,只需要更換Django的數據庫引擎即可。
試壓包狀態跟蹤表對應的ORM 模型中包含的部分核心字段及字段類型見表2。

表2 試壓包狀態跟蹤表對應的ORM模型中包含的部分核心字段
系統操作人員將技術人員提供的管線試壓包基礎數據上傳至系統后臺數據庫。隨著試壓工作的進行,現場檢驗人員根據每天的實際檢驗情況在系統中錄入查線尾項和各節點檢驗信息。試壓包狀態跟蹤列表如圖2所示。

圖2 試壓包狀態跟蹤列表
項目管理人員最關心的數據是每個工藝步驟的試壓包數量有多少,如查線完成了多少,查線合格數量,試壓完成多少,恢復釋放數量有多少。利用本系統,項目管理人員可以登錄系統,選擇所需的模塊號、日期等篩選條件,系統后臺將自動生成試壓包狀態統計數據、尾項狀態統計數據。試壓包狀態匯總數據見圖3,同時可以根據需要生成每一個試壓包的狀態跟蹤數據表,試壓包狀態跟蹤數據表見圖4。

圖3 試壓包狀態匯總數據

圖4 試壓包狀態跟蹤數據表
管線試壓包管理系統應用前后對比見表3。

表3 管線試壓包管理系統應用前后對比
管線試壓工作是一項技術含量高且危險性極強的工作[3],在FPSO 建造過程中,試壓工作須嚴格按照管線試壓程序執行,并對管線試壓包的節點和查線尾項做好管理工作。按以往項目模式,需要大量人力參與試壓包的數據整理、錄入和統計匯總工作,過程繁雜且容易出錯,因此亟需一套系統化的在線協作平臺進行管理。本文從實際項目出發,介紹了一套管線試壓包狀態跟蹤系統,經過項目的運行,提高了工作效率,提升了數據準確性,值得在管線試壓工作中推廣。