用户故事

贝克休斯提高油气钻井设备精度

挑战

提高油气钻井设备定向测量算法的质量和精度

解决方案

使用基于模型的设计来设计和模拟测量算法,运行HIL测试,并生成产品代码

结果

  • 尽量减少昂贵的现场测试
  • 未来的开发努力减半
  • 固件质量改进

“我们用我们的设计专长和知识为客户增值,而不是通过编码。万博1manbetxSimulink和Embedded Coder使我们能够将资源和重点从代码实现转移到系统设计和系统级测试,从而加速开发。”

贝克休斯,英戈尔夫·沃瑟曼
AutoTrak™曲线旋转导向系统与Kymera™混合钻头。

由于可开采的石油和天然气储量越来越少,石油公司通常不得不钻长达数公里的三维井,以达到新的油藏。钻井过程中需要精确的转向控制,以最大限度地接触储层,避免触及现有井。

贝克休斯正在开发先进的定向钻井服务,该服务结合了算法,帮助油气公司精确地将井眼定位到储层中。在井下环境剧烈振动的情况下,这些算法运行在嵌入式处理器上,在钻井过程中精确测量井眼倾角和方位角。贝克休斯的工程师使用基于模型的设计来开发和改进算法,减少对现场测试的依赖。

贝克休斯公司信号处理和控制功能经理奥利弗·霍恩博士说:“在我们的行业中,现场测试既困难又昂贵。”。“基于模型的设计使我们能够创建一个模拟的井下环境,并运行硬件在环测试,以验证开发中的新想法,并在部署到现场之前验证我们的固件。”

挑战

利用磁力计和加速度计的信号计算钻井系统的倾角和方位角。井下振动和冲击会扭曲这些信号,导致井筒位置的不确定性随着井深的增加而增加。贝克休斯之前使用C语言手工编码测量算法来处理传感器信号。然而,对于某些复杂的钻井场景,该公司认为系统性能可以显著提高。

由于工程团队缺乏钻井系统的模型,他们无法复制现场遇到的场景,也无法在整个系统中测试算法。因此,很难比较算法的实现。此外,该公司发现C语言的手工编码算法容易出错,且频率很高tly生成了一个与原始规范不匹配的实现。

解决方案

贝克休斯利用MATLAB进行基于模型的设计®和仿真软万博1manbetx件®建立新的发展程序。他们首先在桌面模拟中测试现有的算法,然后使用建模和自动代码生成来改进算法。

贝克休斯公司的工程师在万博1manbetxSimulink中创建了一个环境模型,该模型捕捉了井下冲击和振动的影响,以及传感器模型,其中包括滤波器、模数转换器和其他电气和机械部件。

然后,该团队使用S函数创建现有C算法的Simulink块。他们将这些块与环境和传感万博1manbetx器模型相结合,以运行系统级仿真。

与贝克休斯公司的其他专家一起,该团队创建了测试用例来复制钻井场景,并在Simulink中运行模拟来测试这些场景中的现有算法。万博1manbetx

该团队利用模拟结果调试和改进现有的C算法,并指导硬件设计的改进,包括模拟滤波器。

为了进行硬件在环(HIL)测试,团队使用Embedded Coder从环境和传感器模型生成代码®并将其部署到实时处理器上。这种设置使研究小组能够首次在实验室中对整个系统(包括算法、传感器和环境)进行测试。

对仿真和HIL结果的分析揭示了算法改进的机会,团队通过在Simulink中重新设计和改进原来的C算法来实现。万博1manbetx在此阶段,团队为新设计中的每个功能开发了Simulink单元测试。万博1manbetx这些测试在整个开发过程中持续运行。

他们使用Simuli万博1manbetxnk检查™ 和Simulink覆盖范围™ 检查是否符合MathWorks汽车咨询委员会(MAAB)建模标准,并测量其测试用例的模型覆盖率。

使用嵌入式编码器,他们从Simulink算法模型为生产浮点处理器生成系统代码的算法部分。这大约占整个系统代码的一半。万博1manbetx

该团队将他们的系统模型与贝克休斯的其他工程团队共享,使这些团队能够在他们自己的项目上运行系统级测试。

结果

  • 尽量减少昂贵的现场测试Hoehn说:“单次现场测试的成本可能超过10万美元,即使这样,也无法复制客户遇到的复杂场景。基于模型设计的模拟和HIL测试使我们能够模拟现实条件,并进行较少的现场测试。”

  • 未来的开发努力减半.Hoehn说:“我们用Simulink和Embedded Coder开发的模型库和框架已经被其他贝克休斯团队万博1manbetx使用。“在未来的项目中,我们预计这种重用将减少50%的算法系统开发所需的资源。”

  • 固件质量改进Hoehn说:“我们已经看到我们采用基于模型的设计开发的固件的质量有了显著的提高,从而提高了可靠性和可重用性。”Baker Hughes系统架构师Ingolf Wassermann补充道,“我们现在有一个一致的HIL测试设置,可以用来衡量我们在质量改进方面的进展,这改善了我们的整个开发过程。”