matlab与钻井平台,基于MATLAB环境下采用C8051F060实现钻井井眼姿态监测系统的设计...

使用串口进行读写操作时,还需注意的一点就是对串口数据校验方式属性(Parity)的设置,如果该设置与下位机软件不匹配,将造成读写错误而又难以查找原因。

5.2 GUI界面中activx控件的使用

在MATLAB的GUIDE中所提供的基本控件非常少,难以满足本系统的需要。因此本系统调用系统中的Activex控件FlexArray、FlexGrid实现了数据在表格中的显示,调用axes控件实现了数据图形绘制。

本程序中用到的控件(包括Activex控件),在其创建及属性设置过程中,使用了全程序法、GUIDE属性法和两者相结合的方法。全程序法是只借助MATLAB提供的句柄功能创建及设置控件。而GUIDE属性法类似VB的设计风格,容易上手,但是这种方法使得m文件过于依赖fig文件。两者结合的方法使得设计更加灵活。下面以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。

5.3 滤波处理及图形绘制

如果使用采集到的传感器输出数据直接计算井眼姿态,将会造成较大的误差。主要原因是:(1)在钻进中,由于钻进环境恶劣,振动和旋转都会对传感器输出造成较大影响;(2)电路本身的电气噪声,对采集数据存在一定的影响。

在消除旋转对实验数据的影响后,再借助MATLAB语言实现滤波功能,具体实现流程如下:根据实验数据,在MATLAB的FDAtool工具箱中设计滤波器,滤波效果与实际情况吻合后,将该滤波器的传递函数使用MATLAB语言实现,添加到“数据处理”功能按钮对应的程序中,完成数据处理的全部功能。

将滤波前后的数据借助axeS控件绘图显示,可以看到数据处理前后对真实井眼姿态描述的差异。

6 、应用实例

本系统已经应用于智能旋转导向系统的室内实验,图3是在室内直井钻井平台上进行模拟钻井实验的钻进过程中,利用本软件进行操作的截图。该图较好地展示了该软件的功能:数据、命令的双向传输及显示、数据的后续处理功能。图中曲线显示区域黑线代表的是采集到的y轴重量加速度的数值GY,红线代表的是经过数据处理后的GY,不难发现,后者的波动范围明显缩小,曲线更为光滑。然后利用处理过的三轴加速度数值,对钻井工具的空间姿态角进行计算,能够得到与实际情况较为吻合的空间姿态,为矿井的钻进中空间姿态的准确测量,提供了一个可供借鉴和参考的方法,能够使钻井过程中减少停钻次数,为提高钻井效率和钻井安全增加了保证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值