譚志強 肖斯宇 唐凱 任國輝 趙昕迪



摘? 要:作為信息傳輸和信息處理的平臺,交互控制系統扮演著十分重要的角色,廣泛應用于自動化控制等相關領域。現如今的油氣開發仍舊通過人工進行射孔器的深度判別和射孔控制,存在深度判斷有誤、效率低等問題。嵌入式人工智能的興起,為射孔技術的發展提供新的方向,同時也對數據的處理、傳輸、存儲等提出新的要求。針對這些問題,基于STM32嵌入式平臺和PyQt5設計開發一套應用于人工智能無線射孔器的交互控制系統,以高效的狀態機控制決策實現人工智能無線射孔器的功能控制和調試,上位機通過921 600波特率實現與嵌入式平臺的數據通信,同時實現板載Flash閃存的讀寫控制,以及接箍信號識別標記,經試驗結果論證,該交互控制系統滿足設計要求。
關鍵詞:無線射孔;控制系統;嵌入式;乒乓緩存;數據處理;數據存儲
中圖分類號:C37? ? ? 文獻標志碼:A? ? ? ? ? 文章編號:2095-2945(2024)19-0031-04
Abstract: As a platform for information transmission and information processing, interactive control system plays a very important role and is widely used in automatic control and other related fields. Nowadays, the oil and gas development still carries on the depth discrimination and perforation control of the perforator manually, which has some problems such as wrong depth judgment, low efficiency and so on. The rise of embedded artificial intelligence not only provides a new direction for the development of perforation technology, but also puts forward new requirements for data processing, transmission and storage. To solve these problems, a set of interactive control system for artificial intelligence wireless perforator is designed and developed based on STM32 embedded platform and PyQt5. The function control and debugging of artificial intelligence wireless perforator are realized by efficient state machine control decision. The upper computer communicates with embedded platform through baud rate of 921 600. At the same time, it realizes the read and write control of on-board Flash flash memory and the identification and marking of coupling signal. The test results show that the interactive control system meets the design requirements.
Keywords: wireless perforation; control system; embedded; ping-pong cache; data processing; data storage
射孔,即用專用射孔彈射穿套管及水泥環,在巖體內產生孔道,建立地層與井筒之間的連接通道,以促使儲層流體進入井筒的工藝過程[1-2]。傳統的射孔槍通過電纜線與地面設備相連,實現地下數據的傳輸、地面信號的發送以及射孔槍的點火操作。而無線射孔則是運用嵌入式、人工智能等技術,去除電纜的限制,提高傳統射孔器材的智能化程度,實現射孔設備輕量化,降低射孔成本,提高射孔效率。
人工智能無線射孔器的交互控制系統(以下簡稱“交互控制系統”)是基于嵌入式平臺(以下簡稱“從機”)和PC平臺(以下簡稱“上位機”)搭建的控制系統,專用于人工智能無線射孔器的控制決策、數據導出處理、調試測試、數據導入及接箍識別。本文采用C語言和Python分別設計了一套獨立于人工智能無線射孔系統(以下簡稱“射孔系統”)的控制系統和上位機控制系統,在保證數據可靠性的前提下,實現了高效的數據傳輸和通信控制。
1? 交互控制邏輯
1.1? 從機通信狀態機設計
圖1為從機通信狀態機,其與從機的射孔系統平臺無關,由串口接收到的字符驅動,狀態機有2個變量,分別用于記錄當前的握手協議狀態和功能狀態。當串口有數據傳入時,狀態機根據傳入的字符依次進行握手處理、狀態切換、狀態機參數重置及功能狀態確認,如果是帶有參數的功能命令,則會根據協議約定參數長度進行參數接收,然后回復上位機ACK,再執行功能控制,反之則會直接回復ACK,然后調用對應的控制程序,最后對握手狀態進行復位,進而接收下一次命令控制。若接收到請求控制并握手成功后,收到了未定義的字符命令,狀態機則會提交一個ErrorCode,同時回復上位機NAK,中斷傳輸,直到獲取到正確的控制字符。而上位機可以對該ErrorCode進行解析報告,為調試提供依據。
這種設計有利地保障了功能控制的穩定性和可靠性,也提高了交互控制系統的可移植性和拓展性。
1.2? 數據傳輸格式及存儲設計
為提高主機和從機在高波特率的串口傳輸下數據的可靠性,同時保證數據的規范性,設計采用如圖2所示的數據包格式,數據包有從機數據包和主機配置包兩部分。其中從機數據包是以標識符為包頭,主要包含了程序版本號、用戶數據、時間戳和系統數據;而主機數據包則是以校驗位為包頭,主要包含了射孔表的字節數、接箍表的字節數、延遲距離和時間、自毀時間、射孔表和接箍表。
射孔系統啟動之前,需通過上位機對其進行數據下載,進而配置射孔所需的必要信息,這些數據將會保存在射孔系統的板載Flash指定區域,如圖3所示,將Flash第一塊中的第一個4K扇區空間劃分成三部分,前512 字節的空間用于儲存配置表,后512 字節用于儲存射孔表,剩余的3×1 024字節用于存儲接箍表,而第一塊0x1000h及之后的地址空間用于存儲從機采集的數據日志,生成必要的數據集,由于射孔系統以1 kHz的采樣頻率進行數據采集,且Flash的寫入和擦除需要消耗一定的時間,為防止采集過程中的數據丟失同時保證數據傳輸效率,采用PingPongCache的內存算法[3],用A、B 2塊內存區循環存儲Dataframe(圖2所示的從機數據包),采集到的數據先寫入A塊區域,當A塊寫滿后由直接存儲器訪問(Direct Memory Access,DMA)搬運至串行外設接口(Serial Peripheral Interface,SPI)的數據寄存器,再由SPI寫入到Flash的數據日志區域,與此同時交互控制系統控制切換數據存至B區,存滿后再以同樣的方式寫入Flash,以此實現數據采集和傳輸同步,防止數據丟失,同時保證數據傳輸的可靠性。
2? 交互控制系統的架構
交互控制系統分為從機交互控制系統和上位機交互控制系統,二者完全遵循前文所提及到的交互控制邏輯,從機主要負責接收來自上位機的控制字符,并根據字符進行決策控制和回復,而上位機主要負責向從機發送控制字符。依靠硬件系統和軟件系統,用戶可以實現和射孔系統的有效連接[4]。
2.1? 從機交互控制系統架構
從機交互控制架構圖如圖4所示,主要由系統層、業務層及硬件層組成,其中系統層包含通信、識別、儲存任務,由UCOSIII實時操作系統以時間片輪轉調度的方式控制執行,以此達到多任務并行的效果,進而提高微控制單元(Microcontroller Unit, MCU)利用率。在任務運行時,交互控制系統主要通過通信控制部分來實現和上位機的數據通信、功能控制,為保證串口數據不丟失,由主控核心的嵌套向量中斷控制器(Nested Vectored Interrupt Controller,NVIC)中的串口中斷向量實現,當串口接收到字符數據時,系統進入中斷服務函數,將數據字符壓入串口緩沖區,然后由通信任務函數讀出傳入至通信控制模塊,即前文提及的從機通信狀態機,經過命令解析、應答回復、超時處理和參數接收等操作,最后由控制執行模塊對主控核心的外設,如通用型輸入輸出(General-purpose input/output, GPIO)、SPI、DMA等發出控制指令,實現采樣啟停控制、復位控制、數據導入、數據傳輸以及Flash讀寫擦除等相關操作。
2.2? 上位機交互控制系統架構
上位機交互控制系統主要用于射孔系統的調試測試、數據導出、數據下載和數據處理。其主要分為應用層、業務層和驅動層,如圖5所示,用戶通過應用層的控制欄和顯示界面可以實現對從機的控制和信息查看,而上位機通過業務層的服務函數,如串口識別、采樣啟停、錯誤處理、參數校驗、塊輸出和狀態詢問等,發送特定的控制字符與從機的通信狀態機進行數據交換,實現控制功能。除此之外,上位機包含數據分析功能,可將從機返回的數據包進行整合解析,對接箍信號進行表示處理,并且生成相關曲線。
3? 數據處理
上位機具備數據處理功能,即專用于處理從機采集到的數據,其可以將從機運行過程中記錄的數據進行分析處理,并通過可視化的方式直觀地展示。如圖6所示,從機記錄的數據由上位機導出后會以“.bin”格式的文件打包,然后由數據處理模塊進行數據拆包,經數據分類重組后,數據包被分別拆分重組成不同的數據幀。通過對重組數據進行統計變換和分析處理[5],將套管接箍定位器(Casing Collar Locator, CCL)信號中的接箍信號進行識別標記,同時輸出生成數據集,最后通過數據集生成圖表。
4? 結果及分析
交互控制系統由上位機和從機2套控制系統組成,分別基于C和Python語言開發,可以實現921 600波特率的數據傳輸。如圖7所示,經測試,上位機交互控制系統可以實現諸如從機硬件復位、射孔參數導入、采樣啟停控制、數據導出及存儲控制等功能,根據從機反饋的數據信息也可以看出,從機在交互控制系統的控制下未出現漏采數據的情況。
此外,運用上位機的數據處理功能,可將導出打包好的數據進行數據拆包、重組以及計算處理,可以得到如圖8所示的結果,可以看出數據被分解為電壓-時間、深度-時間、速度-時間和加速度-時間關系圖,其中電壓-時間關系圖可以看出所得的接箍信號具備明顯的雙峰特征,同時實現了對CCL信號中接箍信號的識別與標記。
5? 結束語
本文基于嵌入式平臺和PC平臺,開發了一套應用于人工智能無線射孔器的交互控制系統,在保證從機數據采集和存儲效率的前提下,實現了上位機與從機的信息傳輸,以及對從機的調試、功能控制和數據處理的要求。該套系統具備可拓展性、可移植性,在高效可靠的控制決策機制下,實現了穩定的功能控制和信息交互,也推動了智能無線射孔器材的發展,提高了油氣開發的智能化程度和安全性。
參考文獻:
[1] 陳鋒,楊登波,唐凱,等.油氣井射孔技術現狀及發展探析[J].測井技術,2021,45(1):1-7,123.
[2] 唐英才,揭志軍.頁巖油井射孔技術發展現狀和展望[J].石化技術,2023,30(11):140-142.
[3] 閻石.數字電子技術基礎[M].北京:高等教育出版社,2006.
[4] 張馨月.人工智能技術的發展與應用研究[J].數字通信世界,2022(10):133-135.
[5] ENTCHEV P, ANGELES R, KUMARAN K, et al. Autonomous Perforating System for Multizone Completions[J].2011.