一种人工智能无线射孔器的交互控制系统设计
2024-06-30谭志强肖斯宇唐凯任国辉赵昕迪
谭志强 肖斯宇 唐凯 任国辉 赵昕迪
摘 要:作为信息传输和信息处理的平台,交互控制系统扮演着十分重要的角色,广泛应用于自动化控制等相关领域。现如今的油气开发仍旧通过人工进行射孔器的深度判别和射孔控制,存在深度判断有误、效率低等问题。嵌入式人工智能的兴起,为射孔技术的发展提供新的方向,同时也对数据的处理、传输、存储等提出新的要求。针对这些问题,基于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.