贝克休斯利用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
该团队将他们的系统模型与贝克休斯的其他工程团队共享,使这些团队能够在他们自己的项目上运行系统级测试。