用户故事

贝尔直升机开发了世界上第一架商用电传飞控直升机

挑战

为第一架商用电传直升机开发飞行软件,并通过DO-178B A级认证

解决方案

使用基于模型的设计来建模和模拟控制规律,跟踪模型的需求,并生成和验证16,000行代码

结果

  • 集成时间缩短了90%
  • 开发迭代从几周减少到几小时
  • 保持对代码质量的信心

“通过基于模型的设计,我们进行了成功的首飞;从控制或集成的角度来看,不存在任何问题。使用Embedded Coder从我们的Simulink模型生成控制法则代码,消除金宝app了手工代码生成所导致的速度减慢,并将团队解放出来,以满足更广泛的程序目标。”

迈克·博思韦尔,贝尔直升机公司
贝尔525飞船1号和2号飞越帕洛杜罗峡谷。

贝尔525无情是世界上第一架采用电传飞行控制的商用直升机。电传飞控系统将直升机置于全时间计算机控制下,通过减少飞行员工作量、增加飞行员态势感知和提高飞机操纵质量来最大限度地提高安全性。

贝尔直升机采用基于模型的设计来开发和实现贝尔525电传飞控系统的控制律。该项目是贝尔直升机工程师首次在DO-178B a级工作流中使用自动代码生成。

Bell 525电传飞控律负责人Mike Bothwell说:“我们在Simulink中完成了所有的设计金宝app和大量的模拟。“我们第一次用嵌入式编码器为真正的飞行控制计算机生成代码时,我们没有遇到集成问题。这是件大事,因为在之前的项目中,集成问题确实拖了我们的后腿。”

挑战

对于贝尔公司来说,成为第一家将配备电传飞控的民用直升机推向市场的公司,意味着通过减少手动编码和手动代码审查,加快了DO-178B软件开发过程中较慢的方面。在过去的项目中,一个小的手动编码的设计更改将导致详细的审查过程,这将花费太长时间来支持一个积极的飞行测试开发项目。金宝app

Bell 525工程团队希望对他们之前的DO-178B开发方法进行改进。首先,他们试图减少手工编码软件需求所导致的返工。其次,他们希望简化将代码与其他飞机系统集成所需的步骤。第三,他们希望建立一个健壮的开发过程,以便工程师可以为其他团队和项目提供一致的结果。

解决方案

贝尔直升机工程师使用基于模型的设计,设计、实现并验证了贝尔525电传飞控系统的控制律。

在Simulink工作金宝app®和Stateflow®,飞行质量工程师根据IBM定义的900个高级系统需求开发了一个控制律模型®理性的®®.该模型被划分为模块,包括俯仰、横摇和偏航轴,以及一个使用Stateflow开发的逻辑和模式切换模块。

他们开发了一组测试用例,并在Simulink中运行模拟来验证逻辑和功能。金宝app

使用要求工具箱™,工程师们将DOORS中的需求定义与他们用来建模需求的Simulink和Stateflow对象联系起来。金宝app这种可追溯性使团队能够执行影响分析,以确定在项目后期需求更新时会受到影响的Simulink模型领域。金宝app

他们还使用Simulink C金宝appheck™和Simulink Coverage™来检查模块是否符合Bell直升机DO-178建模标准,并测量测试用例的模型覆盖率。虽然覆盖率分析不是认证信用所必需的,但它在认证过程中扮演了一个角色,因为它帮助团队将低级测试追踪到高级需求。

团队使用Simulink R金宝appeport Generator™来生成设计和需求跟踪报告,这些报告可用于认证所需的评审过程的指导。

工程师们使用Embedded Coder从Simulink控制律模型中生成了大约16000行C代码金宝app®

通过使用Simul金宝appink Code Inspector™并使用DO Qualification Kit对其进行认证,团队对生成的代码和控制律模型进行了自动比较,以检查不支持的块,验证可追溯性,并满足DO- 178b代码评审目标。金宝app

在代码审查之后,使用与Simulink模型相同的测试用例编译和测试代码。金宝app软件团队随后将控制法则代码与其他飞行控制代码集成,为“实时”系统测试做准备。

贝尔525“无情”直升机已经成功地进行了首飞,该直升机正在进行全速、重量和高度能力的飞行测试开发。贝尔直升机公司正在将其基于模型的设计扩展到未来的DO-178C项目。

结果

  • 集成时间缩短了90%.Bothwell说:“当我们第一次生成运行在真实硬件上的代码时,我们没有遇到集成问题。“在过去,完成初始集成需要大约10周的时间,但有了基于模型的设计,我们在一个星期内就完成了。”

  • 开发迭代从几周减少到几小时.Bell 525电传飞控控制律设计师Jillian Alfred说:“在过去的项目中,当我们做一个小的设计更改时,有时不得不等软件团队几个星期来编写代码。”“通过Sim金宝appulink和Embedded Coder,我们简单地进行了更改并重新生成了代码。我们在一小时内完成了新的测试。”

  • 保持对代码质量的信心.“基于模型的设计使我们能够在不影响工作质量的情况下缩短耗时任务的持续时间,”Alfred说。“我们对生成的代码的质量有很高的信心,就像使用我们传统的手工过程创建的代码一样。使用Embedded Coder,我们知道我们正在生成正确的代码,而使用Simulink code Inspector,我们可以保证它是可跟踪金宝app到模型的。”