譚志強 肖斯宇 唐凱 任國輝 趙昕迪
摘? 要:作為信息傳輸和信息處理的平臺,交互控制系統(tǒng)扮演著十分重要的角色,廣泛應用于自動化控制等相關(guān)領(lǐng)域?,F(xiàn)如今的油氣開發(fā)仍舊通過人工進行射孔器的深度判別和射孔控制,存在深度判斷有誤、效率低等問題。嵌入式人工智能的興起,為射孔技術(shù)的發(fā)展提供新的方向,同時也對數(shù)據(jù)的處理、傳輸、存儲等提出新的要求。針對這些問題,基于STM32嵌入式平臺和PyQt5設計開發(fā)一套應用于人工智能無線射孔器的交互控制系統(tǒng),以高效的狀態(tài)機控制決策實現(xiàn)人工智能無線射孔器的功能控制和調(diào)試,上位機通過921 600波特率實現(xiàn)與嵌入式平臺的數(shù)據(jù)通信,同時實現(xiàn)板載Flash閃存的讀寫控制,以及接箍信號識別標記,經(jīng)試驗結(jié)果論證,該交互控制系統(tǒng)滿足設計要求。
關(guān)鍵詞:無線射孔;控制系統(tǒng);嵌入式;乒乓緩存;數(shù)據(jù)處理;數(shù)據(jù)存儲
中圖分類號: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
射孔,即用專用射孔彈射穿套管及水泥環(huán),在巖體內(nèi)產(chǎn)生孔道,建立地層與井筒之間的連接通道,以促使儲層流體進入井筒的工藝過程[1-2]。傳統(tǒng)的射孔槍通過電纜線與地面設備相連,實現(xiàn)地下數(shù)據(jù)的傳輸、地面信號的發(fā)送以及射孔槍的點火操作。而無線射孔則是運用嵌入式、人工智能等技術(shù),去除電纜的限制,提高傳統(tǒng)射孔器材的智能化程度,實現(xiàn)射孔設備輕量化,降低射孔成本,提高射孔效率。
人工智能無線射孔器的交互控制系統(tǒng)(以下簡稱“交互控制系統(tǒng)”)是基于嵌入式平臺(以下簡稱“從機”)和PC平臺(以下簡稱“上位機”)搭建的控制系統(tǒng),專用于人工智能無線射孔器的控制決策、數(shù)據(jù)導出處理、調(diào)試測試、數(shù)據(jù)導入及接箍識別。本文采用C語言和Python分別設計了一套獨立于人工智能無線射孔系統(tǒng)(以下簡稱“射孔系統(tǒng)”)的控制系統(tǒng)和上位機控制系統(tǒng),在保證數(shù)據(jù)可靠性的前提下,實現(xiàn)了高效的數(shù)據(jù)傳輸和通信控制。
1? 交互控制邏輯
1.1? 從機通信狀態(tài)機設計
圖1為從機通信狀態(tài)機,其與從機的射孔系統(tǒng)平臺無關(guān),由串口接收到的字符驅(qū)動,狀態(tài)機有2個變量,分別用于記錄當前的握手協(xié)議狀態(tài)和功能狀態(tài)。當串口有數(shù)據(jù)傳入時,狀態(tài)機根據(jù)傳入的字符依次進行握手處理、狀態(tài)切換、狀態(tài)機參數(shù)重置及功能狀態(tài)確認,如果是帶有參數(shù)的功能命令,則會根據(jù)協(xié)議約定參數(shù)長度進行參數(shù)接收,然后回復上位機ACK,再執(zhí)行功能控制,反之則會直接回復ACK,然后調(diào)用對應的控制程序,最后對握手狀態(tài)進行復位,進而接收下一次命令控制。若接收到請求控制并握手成功后,收到了未定義的字符命令,狀態(tài)機則會提交一個ErrorCode,同時回復上位機NAK,中斷傳輸,直到獲取到正確的控制字符。而上位機可以對該ErrorCode進行解析報告,為調(diào)試提供依據(jù)。
這種設計有利地保障了功能控制的穩(wěn)定性和可靠性,也提高了交互控制系統(tǒng)的可移植性和拓展性。
1.2? 數(shù)據(jù)傳輸格式及存儲設計
為提高主機和從機在高波特率的串口傳輸下數(shù)據(jù)的可靠性,同時保證數(shù)據(jù)的規(guī)范性,設計采用如圖2所示的數(shù)據(jù)包格式,數(shù)據(jù)包有從機數(shù)據(jù)包和主機配置包兩部分。其中從機數(shù)據(jù)包是以標識符為包頭,主要包含了程序版本號、用戶數(shù)據(jù)、時間戳和系統(tǒng)數(shù)據(jù);而主機數(shù)據(jù)包則是以校驗位為包頭,主要包含了射孔表的字節(jié)數(shù)、接箍表的字節(jié)數(shù)、延遲距離和時間、自毀時間、射孔表和接箍表。
射孔系統(tǒng)啟動之前,需通過上位機對其進行數(shù)據(jù)下載,進而配置射孔所需的必要信息,這些數(shù)據(jù)將會保存在射孔系統(tǒng)的板載Flash指定區(qū)域,如圖3所示,將Flash第一塊中的第一個4K扇區(qū)空間劃分成三部分,前512 字節(jié)的空間用于儲存配置表,后512 字節(jié)用于儲存射孔表,剩余的3×1 024字節(jié)用于存儲接箍表,而第一塊0x1000h及之后的地址空間用于存儲從機采集的數(shù)據(jù)日志,生成必要的數(shù)據(jù)集,由于射孔系統(tǒng)以1 kHz的采樣頻率進行數(shù)據(jù)采集,且Flash的寫入和擦除需要消耗一定的時間,為防止采集過程中的數(shù)據(jù)丟失同時保證數(shù)據(jù)傳輸效率,采用PingPongCache的內(nèi)存算法[3],用A、B 2塊內(nèi)存區(qū)循環(huán)存儲Dataframe(圖2所示的從機數(shù)據(jù)包),采集到的數(shù)據(jù)先寫入A塊區(qū)域,當A塊寫滿后由直接存儲器訪問(Direct Memory Access,DMA)搬運至串行外設接口(Serial Peripheral Interface,SPI)的數(shù)據(jù)寄存器,再由SPI寫入到Flash的數(shù)據(jù)日志區(qū)域,與此同時交互控制系統(tǒng)控制切換數(shù)據(jù)存至B區(qū),存滿后再以同樣的方式寫入Flash,以此實現(xiàn)數(shù)據(jù)采集和傳輸同步,防止數(shù)據(jù)丟失,同時保證數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
2? 交互控制系統(tǒng)的架構(gòu)
交互控制系統(tǒng)分為從機交互控制系統(tǒng)和上位機交互控制系統(tǒng),二者完全遵循前文所提及到的交互控制邏輯,從機主要負責接收來自上位機的控制字符,并根據(jù)字符進行決策控制和回復,而上位機主要負責向從機發(fā)送控制字符。依靠硬件系統(tǒng)和軟件系統(tǒng),用戶可以實現(xiàn)和射孔系統(tǒng)的有效連接[4]。
2.1? 從機交互控制系統(tǒng)架構(gòu)
從機交互控制架構(gòu)圖如圖4所示,主要由系統(tǒng)層、業(yè)務層及硬件層組成,其中系統(tǒng)層包含通信、識別、儲存任務,由UCOSIII實時操作系統(tǒng)以時間片輪轉(zhuǎn)調(diào)度的方式控制執(zhí)行,以此達到多任務并行的效果,進而提高微控制單元(Microcontroller Unit, MCU)利用率。在任務運行時,交互控制系統(tǒng)主要通過通信控制部分來實現(xiàn)和上位機的數(shù)據(jù)通信、功能控制,為保證串口數(shù)據(jù)不丟失,由主控核心的嵌套向量中斷控制器(Nested Vectored Interrupt Controller,NVIC)中的串口中斷向量實現(xiàn),當串口接收到字符數(shù)據(jù)時,系統(tǒng)進入中斷服務函數(shù),將數(shù)據(jù)字符壓入串口緩沖區(qū),然后由通信任務函數(shù)讀出傳入至通信控制模塊,即前文提及的從機通信狀態(tài)機,經(jīng)過命令解析、應答回復、超時處理和參數(shù)接收等操作,最后由控制執(zhí)行模塊對主控核心的外設,如通用型輸入輸出(General-purpose input/output, GPIO)、SPI、DMA等發(fā)出控制指令,實現(xiàn)采樣啟停控制、復位控制、數(shù)據(jù)導入、數(shù)據(jù)傳輸以及Flash讀寫擦除等相關(guān)操作。
2.2? 上位機交互控制系統(tǒng)架構(gòu)
上位機交互控制系統(tǒng)主要用于射孔系統(tǒng)的調(diào)試測試、數(shù)據(jù)導出、數(shù)據(jù)下載和數(shù)據(jù)處理。其主要分為應用層、業(yè)務層和驅(qū)動層,如圖5所示,用戶通過應用層的控制欄和顯示界面可以實現(xiàn)對從機的控制和信息查看,而上位機通過業(yè)務層的服務函數(shù),如串口識別、采樣啟停、錯誤處理、參數(shù)校驗、塊輸出和狀態(tài)詢問等,發(fā)送特定的控制字符與從機的通信狀態(tài)機進行數(shù)據(jù)交換,實現(xiàn)控制功能。除此之外,上位機包含數(shù)據(jù)分析功能,可將從機返回的數(shù)據(jù)包進行整合解析,對接箍信號進行表示處理,并且生成相關(guān)曲線。
3? 數(shù)據(jù)處理
上位機具備數(shù)據(jù)處理功能,即專用于處理從機采集到的數(shù)據(jù),其可以將從機運行過程中記錄的數(shù)據(jù)進行分析處理,并通過可視化的方式直觀地展示。如圖6所示,從機記錄的數(shù)據(jù)由上位機導出后會以“.bin”格式的文件打包,然后由數(shù)據(jù)處理模塊進行數(shù)據(jù)拆包,經(jīng)數(shù)據(jù)分類重組后,數(shù)據(jù)包被分別拆分重組成不同的數(shù)據(jù)幀。通過對重組數(shù)據(jù)進行統(tǒng)計變換和分析處理[5],將套管接箍定位器(Casing Collar Locator, CCL)信號中的接箍信號進行識別標記,同時輸出生成數(shù)據(jù)集,最后通過數(shù)據(jù)集生成圖表。
4? 結(jié)果及分析
交互控制系統(tǒng)由上位機和從機2套控制系統(tǒng)組成,分別基于C和Python語言開發(fā),可以實現(xiàn)921 600波特率的數(shù)據(jù)傳輸。如圖7所示,經(jīng)測試,上位機交互控制系統(tǒng)可以實現(xiàn)諸如從機硬件復位、射孔參數(shù)導入、采樣啟停控制、數(shù)據(jù)導出及存儲控制等功能,根據(jù)從機反饋的數(shù)據(jù)信息也可以看出,從機在交互控制系統(tǒng)的控制下未出現(xiàn)漏采數(shù)據(jù)的情況。
此外,運用上位機的數(shù)據(jù)處理功能,可將導出打包好的數(shù)據(jù)進行數(shù)據(jù)拆包、重組以及計算處理,可以得到如圖8所示的結(jié)果,可以看出數(shù)據(jù)被分解為電壓-時間、深度-時間、速度-時間和加速度-時間關(guān)系圖,其中電壓-時間關(guān)系圖可以看出所得的接箍信號具備明顯的雙峰特征,同時實現(xiàn)了對CCL信號中接箍信號的識別與標記。
5? 結(jié)束語
本文基于嵌入式平臺和PC平臺,開發(fā)了一套應用于人工智能無線射孔器的交互控制系統(tǒng),在保證從機數(shù)據(jù)采集和存儲效率的前提下,實現(xiàn)了上位機與從機的信息傳輸,以及對從機的調(diào)試、功能控制和數(shù)據(jù)處理的要求。該套系統(tǒng)具備可拓展性、可移植性,在高效可靠的控制決策機制下,實現(xiàn)了穩(wěn)定的功能控制和信息交互,也推動了智能無線射孔器材的發(fā)展,提高了油氣開發(fā)的智能化程度和安全性。
參考文獻:
[1] 陳鋒,楊登波,唐凱,等.油氣井射孔技術(shù)現(xiàn)狀及發(fā)展探析[J].測井技術(shù),2021,45(1):1-7,123.
[2] 唐英才,揭志軍.頁巖油井射孔技術(shù)發(fā)展現(xiàn)狀和展望[J].石化技術(shù),2023,30(11):140-142.
[3] 閻石.數(shù)字電子技術(shù)基礎[M].北京:高等教育出版社,2006.
[4] 張馨月.人工智能技術(shù)的發(fā)展與應用研究[J].數(shù)字通信世界,2022(10):133-135.
[5] ENTCHEV P, ANGELES R, KUMARAN K, et al. Autonomous Perforating System for Multizone Completions[J].2011.