龐 達,溫家銘,武延鑫,杜 彬,馬 遙
[1.海洋石油工程股份有限公司設計院 天津 300457;2.海洋石油工程(青島)有限公司 山東青島 266400]
甲板片的主結構包含節點及組合梁,是甲板片的“骨架”和主要承力結構,在預制中最先開始施工;次級結構主要為梁等,其作為局部結構支撐及傳導應力作用存在;三級結構作為最小單位,主要作為支架、板等結構。甲板片建造過程的第一階段為節點組合梁預制階段,在該階段,節點及組合梁單獨預制。完成后,將其運送至開片場地,并開始甲板片預制。甲板片預制時,首先將場地清理完畢,擺放并預處理開片墊墩,用于墊高相應節點。所有桿件經過下料—運輸—組對—焊接—報檢—釋放6 項處理過程,按照先主結構、再次結構、最后三級結構的順序依次組合,最終形成甲板片。
在第一階段,單個節點、組合梁的形式均不同,每個部件又需要由不用板材等經過預制、組對、焊接、NDT等過程才能完成。據經驗,甲板片的全部節點組合梁預制周期約為2 個月,且一般節點預制梁在外場較多,不便于管理人員及時了解情況。甲板片預制階段,可能存在由于材料排產問題導致的桿件不能及時下料、鉚工不足導致桿件不能及時組對等一系列問題。以上問題均需要通過數據進行判斷甲板片預制過程的進度和制約條件等,并有針對性地安排相應工作。
當前的管理方式主要是通過分包商日報和PCMS 系統進行分析。由于日報表格格式不統一且重復使用易出現偏差,經常導致匯總信息混亂且分散,管理人員不能及時獲取全部有用信息,不能滿足目前數據化需求;PCMS 基于系統數據目前制作的信息數據平臺,直接可用性較差,不能滿足項目管理人員對于數據實用性和管理便捷性的要求。開發的平臺只是滿足了簡單的數據顯示功能,沒有信息處理、分析及BI 界面,不能更好地貼合管理人員的需求。
若要做到使管理人員足不出戶了解建造情況,則需要滿足以下幾點:①定期采集項目進度數據,并將其記錄在項目管理軟件中;②進度數據需要進行分析和實時報告,以便于項目管理人員對項目進展情況實時掌握,且最好生成圖表報告,包括甘特圖、時間軸、資源分配等,幫助項目管理人員了解項目的進展情況,發現問題并及時進行調整;③進度數據需要得到項目團隊和利益相關者的認可和支持,項目管理人員可以通過項目管理軟件或其他工具將進度數據共享給項目團隊及利益相關者,共享進度數據可以幫助團隊成員了解項目的實時進展情況,協調任務分配和資源分配,以確保項目的進展符合計劃。
在系統設計層面,使用PCMS系統進行數據收集,將其作為底層數據存儲至MySQL中,使用Python中Pandas處理包進行數據的清洗和篩選,利用Django框架來實現。主要采用Django中應用MVC模式,其中模型(Model)負責管理數據,模板(Template)負責定義用戶界面,視圖(View)則負責協調模型、模板之間的交互和響應用戶請求。這種分層結構可以使應用程序更加易于維護和擴展。模型(Model)層通常與數據庫打交道,負責處理數據的存儲、讀取和數據之間的關系;模板(Template)層負責定義應用程序的用戶界面,通過將動態數據插入到靜態模板中,生成動態網頁;視圖(View)層負責處理用戶請求和響應,以及調用模型和模板完成數據和界面的展示。業務邏輯與用戶界面分離,使代碼更加清晰簡潔。該模式作為項目整體骨架,擴展性強,易于進行代碼整體重構,且維護成本低[1]。系統總體分為訪問層、UI層、展示層、業務層及數據庫,展示層通過提供頁面、使用Ajax交互請求完成相應動作,前端UI使用Bootstrap框架進行編寫,以保證整體功能性和美觀性。最上層為HTTP,為用戶提供實時響應[2]。
在本項目中,數據以規定格式上傳至PCMS系統中,用來統計每根桿件對應的方案號、桿件號、所屬高度、所屬甲板片編號、總面積、重量等信息,同時對應每個完成的工步及其完成時間。
數據匯總至MySQL 服務器后,使用Pandas 模塊進行讀取。首先進行數據清洗,篩除雜亂數據(如焊接時間在組對時間之前、桿件重量不符合桿件定義等),再根據需求對數據進行篩選分析,分別對ALIMENTSTA、WEDSTA、WEDFIN、NTDFIN 等參數進行篩選,并針對DATETIME/DATETIME32 等格式進行處理[3]。為減少數據篩選量和提高系統反饋效率,將清洗完成的數據分不同模塊進行重新存儲。根據管理人員需求,對目前完成工作的桿件重量、完成情況進行綜合計算,按周、月、天等格式進行篩選分類,使用基于Python語言設計的全自動進度算法進行計算,精確得到管理人員需求的進度數據,并對后續工藝時間進行智能化預測。
為解決因數據總量過大、數據較為復雜而產生的加載速度慢等問題,在系統設計階段共采用3 種方法:①將總體數據根據模塊、甲板片等進行分區,并分別建立索引,以優化MySQL 數據庫的查詢速度;②在對數據集分析過程中,只通過Sample 方式選取需要的部分數據進行加載處理,對于多個數據塊的處理,使用迭代方式進行逐個加載,以避免一次性加載大文件導致的性能問題;③所有數據使用Memcached分布式存儲技術,將數據緩存至內存中,以加快數據訪問速度。
數據展示模塊根據管理人員需求,集中展示了預制完成總量、預制完成平均值、上周完成總量等,每個顯示板分別對應一個算法,基于該板塊,管理人員可在第一時間內對甲板片預制進度進行掌握,同時判斷預制工作進度,及時對現場發布相應指令,如圖1 所示。其中本周及上周完成進度總量數據根據對PCMS中輸入數據進行篩選分類,對完成數據進行提取,之后根據桿件大小、重量進行劃分,對不同大小、不同形狀桿件賦予固定系數,以修正現場施工難度,隨后進行匯總。預測數據根據焊工人數、桿件重量、施工難度等進行綜合統計,對之前輸入項目進行分析,并引入插值計算的方式,從而實現綜合預測。該數據與現場數據符合度較高。

圖1 管理數據展示模塊Fig.1 Management data display module
該模塊使用表格形式對甲板片桿件的具體信息進行逐一顯示,每一個桿件的工步完成信息時間均顯示在表格中,以方便模塊負責人對單個桿件進行篩選[4]、查找。在實際使用中,可通過該模塊查找關鍵桿件狀態與SQ等結合的最短時間進行判斷,如圖2 所示。

圖2 桿件狀態展示模塊Fig.2 Member status display module
該模塊使用插件制作預制進度折線圖,根據周分類對各工步每周完成重量進行統計,繪制圖表,每5 周為一個X軸坐標。該圖表可以查看目前預制數據,同時,根據陰影區域的顏色及大小判斷每個工步對應進度及人力的需求問題。如圖3 所示,區域在2020 年5 月24 日左右有大量桿件焊接完成,但未進行NDT測試,可就此判斷NDT測試人力不足,需補充NDT人力。

圖3 預制進度圖表板塊Fig.3 Prefabrication progress chart section
信息化在海洋工程項目中的重要性日益突出,同時,海洋工程這種傳統類型行業,對于信息化及科技化改造不足,現場管理仍然很大一部分依賴管理人員的經驗。針對數據的利用度、收集度不夠,管理人員因日常的管理工作不能夠隨時在現場對狀況進行查看和判斷,故對管理人員素質要求較高。而使用信息化對數據進行處理和過濾顯示后,使得管理人員“足不出戶”也能及時了解現場相關信息。該系統采用Web端對數據進行顯示,擴展性較強。后期開發可根據現場情況拓展管線模塊、試壓模塊、總裝模塊、計劃模塊等。
目前,該系統正在試用于海洋工程建造項目中。通過該系統的數據收集及數據分析功能,管理人員可以直觀地掌握現場施工狀態,轉變現場“詢問式”溝通為“針對式”溝通,為合理安排工作提供良好的數據參考。該功能可以提升管理人員的工作效率,同時可以節省管理人力及進度數據分析人力。相較于之前純粹依賴于分包商發送的表格日報,該系統將信息系統化、集成化、規范化,可以推廣至其他項目中進行使用。
但隨著系統的使用,也發現存在一部分問題,如數據準確度不足、收集數據的過程太過于煩瑣等。通過本文提出的思路可以看出,只要數據量充足且準確,通過簡單的分析方法就足可以完成數據篩選、進度計算等,可解放管理人力。所以筆者認為,下一步的工作重點主要為探究在不增加甚至減少現場數據錄入人力的基礎上提高數據的準確性。可借鑒物流庫存管理中的方法,如利用二維碼掃碼進行桿件的公布錄入或將數據采集與報檢相結合,在報檢的同時進行數據錄入,以提高數據錄入的準確性,最終提升工程質量。■