鸡蛋厂家
免费服务热线

Free service

hotline

010-00000000
鸡蛋厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

看一看:看一看;基于MATLAB GUI的钻井工具姿态采

发布时间:2021-11-18 14:30:44 阅读: 来源:鸡蛋厂家

引 言在石油钻井中,准确丈量井眼姿态是进行井眼轨迹控制的条件。为此,本文充分结合单片机和MATLAB的优点,基于事件驱动的通讯机制,提出了1种MATLAB环境下基于GUI的PC与片上系统C8051F060实时串行通讯的可视化数据处理方法,并实现了对井眼姿态的监测。该方法极大地简化了开发流程,提高了系统开发效率。更重要的是MATLAB的运算能力,为数据处理提供了保障宅基地房屋国家怎样赔偿。1 系统介绍在本系统中,上位机是PC,下位机采取silabs公司推出的高速片上系统(SoC)C8051F060,使用3轴加速度计来敏感井眼姿态的变化。3轴加速度计两两正交,输出正方向满足右手螺旋法则,将3轴加速度的输出值通过坐标间的相互转换,利用3角关系式即可得到当前井眼空间姿态。由于PC串口与SoC的UART使用的是不同的电压标准,所以2者间通过电压转换芯片sp3223相连。3轴加速度敏感到的姿态信号经过调理电路和多路开关后,被SoC内部的A/D采样,搜集得到的数据存储到片外存储器。数据的存储设备采取3星公司生产的超大容量存储器K9K8G08U0M,满足了系统长时间搜集存储的需要。借助GUI开发的上位机软件通过串口实现与下位机间的命令及数据传输,并对下位机搜集的数据进行处理。2硬件系统C8051060是完全集成的混合信号片上系统型MCU,其内部CIP⑸1内核采取流水线结构,指令实行速度可达25 MIPS。使用如此高性能的单片机使得系统硬件电路设计大为简化,单片机的UART、串口通过电压转换模块SP3223与PC进行通讯,而C8051060的双串口为多系统的级联提供了方便。数据搜集功能由其内部的ADC完成,搜集的数据通过口线存储到片外的大容量存储器K9K8G08U0M。系统硬件框图如图1所示,其中实线为数据流,虚线为控制流。系统工作时,由上位机通过命令来控制下位机进行相应的操作。进行数据搜集时,单片机控制电源给传感器供电。各路信号经过各自的调理电路后被送入多路开关。单片机通过控制多路开关来选择所要采样的信号,并将其送入SoC内置的ADC进行采样。采样值被存储后等待与上位机的通讯。

3 下位机软件下位机SoC接收到PC的下发消息后,通过串口中断程序转入相应的子程序,实行相应操作,最后返回1个握手信号做为状态标志,确认命令是否是被正确实行。C8051060使用UART0与PC进行串行通讯。将该串口的工作方式设置为方式3,具有硬件地址辨认和多处理器通讯的功能,并且用定时器1作为波特率产生器,设定波特率为115 200 b/s,每帧数据占11位-⑴个起始位,8个数据位,1个可编程的第9位,1个结束位。该软件的子程序包括:清参数区、清数据区、发送参数、接收参数、开始搜集、接收数据、复位等,各子程序的具体实现在此不进行详细描述房屋腾空协议不签可以强拆吗。软件框图如图2所示。

4上位机软件本系统使用MATLAB提供的图像用户界面开发环境(GUIDE)完成界面设计及上位机软件编制。GUI"所见即所得"的编程方式简单明快,非常容易上手。本软件借助MATLAB自带的工具箱和系统中的Activex控件,编制了菜单栏和工具栏及各功能模块,实现了命令、参数和数据的双向传输及显示、数据的滤波处理及绘图。4.1串行通讯的实现MATLAB本身是1个跨平台的软件,其实不具有直接访问硬件的能力,但是可以通过对serial类的操作,实现MATLAB对串口的支持。要想在MATLAB中使用串行口,首先要借助serial类建立串口对象,并在使用前将该串口对象打开。数据传输终了后,需关闭该串口对象,避免影响其他程序没法对该串口对象的使用。在系统不再使用该串口或退出系统时,需要将该串口对象清除并从MATLAB工作空间清除,避免占用内存和影响其他系统使用。在使用串口进行数据传输时,需要对串口进行读写操作。读写串口的方式分为2进制、文本两种,类似于1般的文件操作。为了提高传输的速度,结合实际情况,本系统采取串口2进制异步读写方式。MATLAB程序通过串行口将命令发送到下位机,并通过串行口接收下位机上传的握手信号及数据。串行通讯的部分源码以下:

使用串口进行读写操作时,还需注意的1点就是对串口数据校验方式属性(Parity)的设置,如果该设置与下位机软件不匹配,将造成读写毛病而又难以查找缘由。4.2 GUI界面中activx控件的使用在MATLAB的GUIDE中所提供的基本控件非常少,难以满足本系统的需要。因此本系统调用系统中的Activex控件FlexArray、FlexGrid实现了数据在表格中的显示,调用axes控件实现了数据图形绘制。本程序中用到的控件(包括Activex控件)什么是土地征收补偿标准,在其创建及属性设置进程中,使用了全程序法、GUIDE属性法和2者相结合的方法。全程序法是只借助MATLAB提供的句柄功能创建及设置控件。而GUIDE属性法类似VB的设计风格,容易上手,但是这类方法使得m文件过于依赖fig文件。2者结合的方法使得设计更加灵活。下面以GUIDE属性法和全程序法相结合的方法创建、调用FlexArray控件为例,讲授本系统中的数据显示部分。基本控件的操作比较简单,在此不进行详述房屋拆迁之前需要做什么。FlexArray控件的全称是,该控件的文件即C:\WINDOWS\System32\VSFLEX3.OCX,如果本机上没有的话,可以到网上下载,或到其他机子上复制,然后使用regsvr32.exe注册即可。做好这些准备工作以后,点击GUI左侧的工具箱中的Activex按钮后,在设计区拖拉拆迁户的安置房能买吗,弹出"Select an Activex Control"对话框,对话框中的"Activex Control List"列表框列出了在当前计算机上注册的所有Activex控件,在该列表框当选中 控件,单击"Create"按钮,该控件便在GUI的空白编辑区被创建。创建成功后,GUI自动为该控件生成的句柄做为图形窗口句柄handles的成员被存储,对第N个被创建的Activex控件土地征收可以强制吗,其句柄为handles.activexN,以后借用该句柄就可以够通过函数来调用对应的Activex控件。控件的属性设置可以通过双击控件或右键菜单打开属性设置窗口来进行,也能够通过在m文件中通过set命令设定。通过get可以取得Activex控件的属性。要读取或设定FlexArray控件表格中某单元格的内容时,首先通过handles.activexl.row=i;handles.activexl.col=j;语句指向目标单元格,然后通过fa=get(handles.activexl,′text′);fa=str2num(fa);语句将目标单元格中的内容转换为数值赋给变量fa.通过set命令设置目标单元格中的内容,也能够设置固定栏标题,只是注意对行固定栏的行号是0,列固定栏的列号是0。4.3滤波处理及图形绘制如果使用搜集到的传感器输出数据直接计算井眼姿态,将会造成较大的误差。主要缘由是:(1)在钻进中,由于钻进环境卑鄙,振动和旋转都会对传感器输出造成较大影响;(2)电路本身的电气噪声,对搜集数据存在1定的影响。在消除旋转对实验数据的影响后,再借助MATLAB语言实现滤波功能,具体实现流程以下:根据实验数据,在MATLAB的FDAtool工具箱中设计滤波器,滤波效果与实际情况吻合后,将该滤波器的传递函数使用MATLAB语言实现,添加到"数据处理"功能按钮对应的程序中,完成数据处理的全部功能。将滤波前后的数据借助axeS控件绘图显示,可以看到数据处理前后对真实井眼姿态描述的差异。5利用实例本系统已利用于智能旋转导向系统的室内实验,图3是在室内直井钻井平台上进行模拟钻井实验的钻进进程中,利用本软件进行操作的截图。该图较好地展现了该软件的功能:数据、命令的双向传输及显示、数据的后续处理功能。图中曲线显示区域黑线代表的是搜集到的y轴重量加速度的数值GY,红线代表的是经过数据处理后的GY,不难发现,后者的波动范围明显缩小,曲线更加光滑。然后利用处理过的3轴加速度数值,对钻井工具的空间姿态角进行计算,能够得到与实际情况较为吻合的空间姿态,为矿井的钻进中空间姿态的准确丈量,提供了1个可供鉴戒和参考的方法,能够使钻井进程中减少停钻次数,为提高钻井效率和钻井安全增加了保证。

6结论具有数据处理、串口操作控制功能和Activex控件公道调用功能的上位机软件,再加上高性能片上系统C8051F060作为主芯片的井下电路,2者组成了模拟钻井姿态搜集处理系统,在115200的串口波特率下,实现了对多路井下信号的搜集、处理,从实验结果来看,井斜角、工具面角等空间角度的计算结果与实际情况较为符合,完全适用于钻井工具的空间姿态丈量利用。强大的数据处理功能,再加上人机操作界面,这使得MATLAB在工业现场监控方面将获得更广阔的利用。(end)资讯分类行业动态帮助文档展会专题报道5金人物商家文章