有关基于模型的设计(MBD)一些概念和理解

合集下载

mbd的应用与原理

mbd的应用与原理

MBD的应用与原理简介MBD (Model-Based Design)是一种通过建立数学模型、进行设计和验证的方法论,用于开发复杂系统。

它逐渐成为现代软件开发领域的重要工具,被广泛应用于各个领域,例如航空航天、汽车工业、医疗器械等。

本文将介绍MBD的应用场景以及其背后的原理。

MBD的应用场景MBD可以应用于各种系统开发领域,以下列举几个常见的应用场景:汽车工业现在的汽车越来越智能化和复杂化,MBD可以帮助汽车制造商设计和验证各种控制算法和系统。

例如,MBD可以用于设计车辆的动力系统、刹车系统、稳定性控制系统等。

航空航天航空航天领域对系统的可靠性和安全性要求非常高,MBD可以在系统设计阶段就进行模型验证,减少在实际测试中出现的错误和故障。

例如,MBD可以应用于设计飞机的飞行管理系统、导航系统等。

医疗器械医疗器械的设计和开发需要从理论到实际的各个环节进行严格的验证和测试。

MBD可以帮助医疗器械制造商在设计阶段就发现问题,并高效地解决。

例如,MBD可以用于设计和验证心脏起博器、呼吸机等医疗设备。

通信系统通信系统的设计中需要考虑信号传输的可靠性、带宽利用率等因素。

MBD可以帮助通信系统的设计者进行系统建模、性能评估等工作。

例如,MBD可以应用于设计无线通信系统、网络协议等。

MBD的原理MBD的核心原理是通过建立数学模型来描述系统的行为,并在模型基础上进行设计和验证。

以下是MBD的一般原理流程:1.建立数学模型:首先,需要对系统进行建模。

建模可以采用传统的物理建模方法,也可以使用系统的逻辑模型。

模型可以通过数学公式、状态方程、状态转移图等形式来描述系统的行为。

2.设计系统:在得到系统模型后,可以使用各种工具和方法进行系统设计。

设计的目标是满足系统的要求,使系统在特定的条件下正常工作。

3.验证系统:设计完成后,需要对系统进行验证,以确保系统的正确性和可靠性。

验证可以通过模拟、仿真等方式进行。

模拟和仿真可以对系统模型进行各种测试,例如性能测试、功能测试等。

基于模型的设计

基于模型的设计

基于模型的设计基于模型的设计 (Model-Based Design, MBD) 是一种软件开发方法,通过使用模型来设计、构建和验证系统。

这些模型可以是数学模型、物理模型或计算机模型,用于描述和预测系统的行为。

基于模型的设计可以应用于各种领域,包括航天、汽车、医疗设备和工业自动化等。

基于模型的设计方法的核心思想是使用模型来代替传统的手动编程方法。

通过使用模型,工程师可以更容易地描述系统的功能和行为,并可以通过仿真和验证来检查设计的正确性。

这减少了错误,加快了开发周期,并提高了系统的可靠性。

2.模型验证:一旦模型创建完成,就可以使用仿真来验证模型的正确性。

通过在模型中输入不同的输入和参数,可以模拟系统的行为,并观察系统的响应。

这允许工程师在实际系统构建之前检查模型的正确性和性能。

3.代码生成:一旦模型验证通过,就可以通过代码生成工具将模型转换成可执行的代码。

这些代码可以是C、C++或其他编程语言。

这些代码可以直接用于系统的实现和部署,减少了手动编程的工作量和错误。

4.部署和测试:生成的代码可以在目标硬件上进行部署和测试。

这包括将代码编译和链接到目标硬件上,然后在硬件上进行测试。

通过在系统的实际硬件上进行测试,可以验证系统的功能和性能,并及时发现和修复问题。

1.提高开发效率:通过使用模型,开发人员可以更快地设计、构建和验证系统。

模型的可视化表示方式使得系统的开发更直观和易于理解。

此外,模型的重复使用性使得开发人员可以更快地修改和更新系统。

2.提高系统可靠性:通过使用模型进行验证和测试,可以减少系统中的错误和缺陷。

模型的仿真和验证功能可以帮助工程师在实际系统构建之前发现和解决问题。

这减少了开发过程中的返工和修复工作。

3.简化系统维护:基于模型的设计方法使得系统的维护更加简单。

通过模型的重复使用性,开发人员可以更容易地理解和修改系统。

此外,生成的代码是自动生成的,减少了手动编程的错误和困难。

基于模型的设计方法在多个领域得到了广泛应用。

浅析MBD技术在飞机制造检验中的应用

浅析MBD技术在飞机制造检验中的应用

浅析MBD技术在飞机制造检验中的应用随着飞机制造技术的不断发展,为了确保飞机的安全性和可靠性,检验工作显得尤为重要。

而随着数字化技术的不断进步,MBD技术在飞机制造检验中的应用也逐渐成为一种趋势。

本文将从MBD技术的基本概念入手,浅析MBD技术在飞机制造检验中的应用,并探讨其未来发展趋势。

一、MBD技术的基本概念MBD(Model Based Definition)是一种基于模型的定义技术,通过三维模型来定义零部件的尺寸、几何特征、表面处理等信息,避免了传统的二维图纸描述方式,实现了数字化的产品定义。

MBD技术主要由三个方面的内容组成:三维模型、几何尺寸与特征控制以及注释信息。

通过MBD技术,可以实现更加清晰、直观和明确的产品定义信息,避免了二维图纸在传统的产品设计和制造中所存在的不足。

1. 提高检验效率传统的飞机制造检验主要依赖于二维图纸进行指导,检验人员需要根据图纸上的尺寸和特征进行测量和验证,这种方式效率低下且容易出现误差。

而采用MBD技术后,所有的产品定义信息都可以直接在三维模型上体现,检验人员可以利用虚拟现实技术进行全面的检验和验证,大大提高了检验效率和准确性。

2. 精准的尺寸控制飞机制造中的零部件尺寸精度要求非常高,传统的二维图纸在描述尺寸信息时存在歧义性,容易引起误解。

而MBD技术可以直接在三维模型上标注具体的尺寸信息,并实现自动检测和校验,确保了零部件尺寸的精准控制,降低了因尺寸偏差引起的质量问题。

3. 智能化的检验过程MBD技术可以实现与检测设备和工具的连接,实现智能化的检验过程。

在进行飞机制造的检验时,可以借助智能检测设备和软件,直接将产品定义信息导入到检测设备中,实现自动化的检测和数据收集,提高了检验的智能化程度。

4. 支持远程协作利用MBD技术,可以将三维模型和产品定义信息通过网络进行共享,支持远程协作。

在飞机制造中,不同部门、不同厂家之间的协作是非常常见的,采用MBD技术可以实现远程的协作和交流,提高了工作效率和沟通效果。

mbd标准体系

mbd标准体系

mbd标准体系MBD(Model-Based Design)是一种基于模型的设计方法,它通过使用数学模型来描述和设计系统,从而实现系统的开发和验证。

MBD标准体系是指在MBD方法中所使用的一系列标准和规范,用于确保系统设计的准确性、可靠性和可重复性。

MBD标准体系包括以下几个方面:1. 建模标准:在MBD方法中,建模是一个关键的步骤。

建模标准规定了建模的方法和规范,包括模型的结构、命名规则、参数设置等。

建模标准的制定可以确保不同团队之间的模型可以互相兼容和交流,提高工作效率。

2. 验证标准:在系统设计过程中,验证是一个重要的环节。

验证标准规定了验证的方法和步骤,包括模型的仿真、测试和验证。

验证标准的制定可以确保系统设计的正确性和可靠性,减少后期的修改和调试工作。

3. 文档标准:在MBD方法中,文档是记录和交流设计过程的重要工具。

文档标准规定了文档的格式、内容和交付要求,包括需求文档、设计文档、测试文档等。

文档标准的制定可以确保文档的一致性和可读性,方便团队成员之间的沟通和合作。

4. 工具标准:在MBD方法中,使用各种工具来支持系统设计和开发。

工具标准规定了工具的选择、配置和使用方法,包括建模工具、仿真工具、测试工具等。

工具标准的制定可以确保团队成员之间的工作环境一致,提高工作效率和质量。

5. 流程标准:在MBD方法中,流程是指系统设计和开发的一系列步骤和活动。

流程标准规定了流程的顺序、输入和输出,包括需求分析、系统设计、模型开发、验证测试等。

流程标准的制定可以确保系统设计和开发的有序进行,减少错误和风险。

MBD标准体系的实施可以带来以下几个好处:1. 提高设计效率:通过建立统一的标准和规范,可以减少重复工作和错误,提高设计效率。

团队成员可以更加专注于系统设计和开发的关键问题,提高工作质量和效率。

2. 提高设计质量:通过建立验证标准和流程标准,可以确保系统设计的正确性和可靠性。

系统设计经过严格的验证和测试,可以减少后期的修改和调试工作,提高设计质量。

MBD介绍

MBD介绍
三维数字化工艺开发的显著特点是在三维数字化环境下,工艺开发人 员利用各类三维数字化实体模型建立起数字化工艺模型,通过模拟仿 真,确定出合理的、可行的制造工艺。同时生成工艺图解和操作动画 等多媒体工艺数据,编制成三维数字化制造工艺。
应用MBD的生产制造
基于三维模型进行数控编程,针对具体工程特征,包含有装配信息、 工艺信息和制造信息,在产品加工模式下,可以将这些信息直接抽取 出来,实现该工程特征的数控编程。
更改流程
设计 批准 添加权限
会签
校对 协作工艺会签
审核
材料定额 会签
自动签字
移除权限
发放归档
其他审批流程
业务要求无明显变化 主要功能:
1、审批工艺集合时,优化自动添加对象到目标的功能; 2、PDF格式卡片签字,先单个工序的PDF签字,然后再将签字后的问题合并成整本工 艺。 3、手动和自动生成整本PDF格式工艺
填写工时、工艺内容、工艺资源 关键工艺技术要求等 投影工序图及工序模型
产品信息,自动映射
工艺资源
更新结构化工艺
结合MBD快速填写工具
工艺内容
Tc集成的内容:刀量辅具、工装、工艺资源库的内容 NX中增加自定义装配导航器,激活选中对象后,导航器仍然显示整个结构+页码和顺号显示出来。
基于MBD三维工艺设计过程
完成工艺编制; 在TC中生成XLS格式 的汇总卡片并修改 工序目录、工艺装备清单
1、不同的工艺类型是不一样的 2、同一种工艺也存在多种汇总模版 3、工序号和页码改了重新生成XLS。
基于MBD三维工艺设计过程
完成工艺编制; 生成汇总卡片(xls),并允许编辑 将TC中PDF格式的工艺卡片合并成册 发起审签流程
应用MBD的设计审批

mbd的名词解释

mbd的名词解释

mbd的名词解释MBD,即Model-Based Design(基于模型的设计),是一种在工程领域广泛应用的设计方法论。

它以模型为中心,通过建立和分析系统的数学模型,实现复杂系统的设计、开发和验证。

MBD集成了建模、仿真、代码生成和自动化测试等环节,帮助工程师在系统设计过程中提高生产力和质量。

本文将对MBD的定义、特点以及应用领域进行解释和分析。

一、MBD的定义MBD可被描述为一种综合利用计算机模型来进行设计和开发的方法。

传统的设计方法往往需要用户手动编写代码,并在实际系统中进行验证。

而MBD则通过使用数学模型来描述系统,代替了繁琐的手写代码过程,从而提高了设计效率和准确性。

MBD常常在各种工程领域中使用,如电子、汽车、航空航天等,以及工业自动化和控制系统等领域。

二、MBD的特点1. 模型驱动:MBD建立在数学模型的基础上,通过建模和仿真来实现系统设计的目标。

用户可以使用各种建模工具,如Simulink等,来构建系统的数学模型,然后进行仿真和验证。

这种模型驱动的设计方法使得工程师能够更加直观地理解系统的行为。

2. 自动化代码生成:MBD不仅可以用于系统设计和仿真,还可以通过自动化代码生成实现系统的实际部署。

通过将数学模型转换为可执行代码,MBD能够大大减少手动编写代码的工作量,确保代码的正确性和一致性。

此外,MBD还可以生成可嵌入式系统使用的代码,如控制器、传感器等,进一步简化系统开发和集成。

3. 紧密集成的工具链:MBD包含了建模、仿真、代码生成和测试等环节,这些环节在一个统一的开发环境中紧密集成。

工程师可以在同一个界面下完成整个设计过程,无需在不同工具之间频繁切换,从而提高了工作效率和可行性。

此外,MBD还支持多人协同工作,使得团队成员之间能够更好地进行沟通和合作。

三、MBD的应用领域1. 汽车工程:MBD在汽车工程领域的应用非常广泛。

通过建立车辆动力学模型,设计师可以对整车性能进行分析和优化,如加速度、转向和刹车等。

《基于MBD的飞机典型零件参数化设计建模技术研究》

《基于MBD的飞机典型零件参数化设计建模技术研究》

《基于MBD的飞机典型零件参数化设计建模技术研究》一、引言随着航空工业的快速发展,飞机零件的设计与制造技术日益成为研究的热点。

模型基础定义(MBD)技术以其独特的数据集成和表达方式,为飞机典型零件的参数化设计建模提供了新的思路。

本文旨在探讨基于MBD的飞机典型零件参数化设计建模技术的相关研究,以提升设计效率及零件制造的准确性。

二、MBD技术概述模型基础定义(MBD)技术是一种以三维模型为基础,集成了产品定义、制造及检验等多方面信息的数据表达和交换技术。

通过MBD技术,可以在同一三维模型中集成几何、工艺及检验等多种信息,从而实现设计、制造及检验的无缝衔接。

三、飞机典型零件参数化设计建模的必要性飞机零件种类繁多,结构复杂,传统的设计方法往往需要大量的时间和人力。

参数化设计建模技术可以有效地解决这一问题,通过参数化建模,可以快速生成多种设计方案,提高设计效率。

同时,参数化模型可以更好地适应产品设计的变更,提高设计的灵活性。

四、基于MBD的飞机典型零件参数化设计建模技术1. 参数化建模技术参数化建模技术是通过设定一定的参数来控制模型的结构和形状。

在飞机典型零件的设计中,可以通过设定材料、尺寸、形状等参数,快速生成符合要求的零件模型。

此外,参数化建模还可以实现零件模型的自动优化,提高设计的精确度和效率。

2. MBD技术在参数化设计建模中的应用在参数化设计建模中,MBD技术可以有效地集成几何、工艺及检验等多种信息。

通过在同一个三维模型中集成这些信息,可以实现设计、制造及检验的无缝衔接。

同时,MBD技术还可以提高零件制造的透明度,方便制造过程中的质量监控和追溯。

五、研究方法与实验结果本研究采用理论分析和实验验证相结合的方法。

首先,通过理论分析,探讨MBD技术在飞机典型零件参数化设计建模中的应用方法和优势。

然后,通过实验验证,对比传统设计方法和基于MBD的参数化设计建模方法的效率和准确性。

实验结果表明,基于MBD的参数化设计建模方法在提高设计效率和制造准确性方面具有显著优势。

mbd航空工业标准

mbd航空工业标准

mbd航空工业标准MBD航空工业标准是指基于数字化模型的制造和设计标准,MBD代表Model-Based Definition。

这种标准的主要思想是通过数字化模型来定义和记录产品的几何特征、尺寸、材料属性、工艺要求等信息,以取代传统的二维工程图纸。

MBD标准的实施可以提高制造和设计过程的效率,减少错误和误解,并且为数字化制造和智能制造提供了基础。

MBD航空工业标准在航空制造领域具有重要意义。

航空产品的复杂性和精密要求使得传统的二维工程图纸在描述和记录产品信息时存在局限性。

采用MBD标准可以更准确地表达设计意图,减少信息丢失和误解,提高产品质量和一致性。

此外,MBD标准也有助于推动数字化制造技术的应用,实现数字化工厂和智能制造的目标。

从技术角度来看,MBD标准涉及到数字化模型的创建、管理、交换和使用等方面的技术要求。

这包括了对数字化模型的几何信息、尺寸和公差、材料和工艺信息等的规范和标准化要求,以及相关的软件工具和数据交换标准。

在航空工业中,MBD标准的实施需要考虑到航空产品的特殊要求和安全性考虑,因此对数字化模型的可靠性、精度和安全性有着更高的要求。

此外,MBD标准的推广和实施也需要考虑到人才培养和组织管理等方面的问题。

航空工业需要具备相应的人才和技术支持来实施MBD标准,同时也需要对组织结构和流程进行调整和优化,以适应数字化制造和设计的要求。

总的来说,MBD航空工业标准是航空制造领域数字化转型的重要组成部分,它对于提高产品质量、提高制造效率、推动数字化制造技术的应用以及培养相关人才都具有重要意义。

在未来,随着数字化制造技术的不断发展,MBD标准也将得到更广泛的应用和推广。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有关基于模型的设计(MBD)一些概念和理解先胡乱问几个大问题:1.什么叫基于模型的设计?2.为什么要基于模型的设计?3.基于模型的设计过程中,需要做什么事情?再问几个小问题:1.模型验证是否必要?2.模型验证有哪些工作可以做?3.模型验证是否一定需要被控对象模型?4.代码生成效率如何?5.底层驱动是否要建模?6.Embedded Coder(以前的RTW Embedded Coder)支持哪些芯片?、SIL、PIL、HIL的目的和实现方式?8.如何定点化?9.如何做代码集成?什么叫基于模型的设计?这是一个很大的话题,因为本人能力所限,仅讨论使用Simulink模型开发嵌入式软件的设计过程。

也就是说,我只能聊基于模型的嵌入式软件设计。

我的理解是,通过对算法建模进行软件设计的过程,都可以叫基于模型的设计。

当然,如果仅限于算法建模,把Simulink/Stateflow当做Visio使用,而不去进行其他环节的工作,这样的基于模型设计是不完整的,可能对你的开发效率不会有很大的提升。

如果想通过基于模型的设计提升软件开发团队的开发效率,提高软件品质,我觉得至少有如下几点可以考虑:1.算法建模2.算法模型的验证3.文档自动化4.代码生成5. 代码和模型的等效性验证传统的开发过程中,我们有一个环节,需求捕获,也即,从系统需求分解出软件需求。

在基于模型的设计过程中,我们同样可以通过分析系统需求,获得软件需求。

当然,根据系统需求的详细程度,我们可以考虑是否要写专门的软件需求。

在基于模型的软件设计中,我们主要关心的是系统的功能需求,或者说可以通过软件实现的功能需求。

如果这部分需求在系统需求文档里已经有非常清楚的定义,那么我们可以以系统需求文档作为依据建立模型。

当然,如果系统需求不是足够清楚,那我们有必要编写专门的软件需求文档。

如果不考虑Simulink/Stateflow的应用上的问题,也就是说,如果我们都是熟练的Simulink/Stateflow用户,那么建模过程的主要工作是需求分析,通俗点讲,需求弄清楚了,建模也就是非常简单的事情了。

当然,建模的时候,要考虑未来的验证、实现以及后期维护的问题。

我个人的体会,这个阶段,不要着急建模,一定要先弄清需求,另外,建模的时候,模型架构非常重要。

有了模型之后,接下来要做什么事情?代码生成?这是很多比较初级的用户容易犯的错误,犯这个错误的用户,很大程度上是因为没有弄清楚为什么要做基于模型的设计?为什么要做基于模型的设计?我相信很多用户没有仔细考虑这个问题,很多用户做基于模型的设计的理由是:国外的公司都这么做,同行其他公司都这么做......弄清为什么要基于模型的设计,也就是要弄清楚基于模型的设计到底可以给我们带来哪些好处?很多人会非常自然的想到,代码生成,代码生成可以提高软件开发效率。

没错,代码生成是一个很大的好处,但,代码生成不是唯一的,也不是最大的好处。

最大的好处是,算法的早期验证,之前NASA有研究表明,开发初期引入的bug,如果到了晚期才发现出来,那么修复这一的bug,会产生非常大的费用。

所以,我们期望能够尽早的发现开发过程中引入的bug。

如何尽早的发现设计上的错误?传统的开发模式里,我们使用review的方式去发现错误,在质量体系ISO9001里面有定义,任何一份设计,都必须要评审。

评审的目的,也就是为了发现这个阶段的错误,以防错误被带到后续的开发过程中。

而评审的效率,却是非常低下的。

我想凡是参加评审的网友都会有体会。

比如,我在做完一份设计之后,我会邀请我的同事来评审我的工作,而参加评审的这些同事,往往不能有足够的时间了解我的这份工作,而只能在评审会上听我介绍我做的工作,这样的评审,可能会发现一些非常明显的问题,除此之外的,很难发现问题。

评审作为一种非常传统的验证方式,并不能及时发现设计过程中引入的各种错误。

而仿真,从效率上讲,要远高于评审,仿真更容易发现设计中的问题。

仿真是可以运行的,如果我们设定一些输入,运行模型之后,我们会得到相应的输出,我们很容易观测到此时的输出是否是我们期望的输出。

另外还有好处,仿真的结果是确定的,给定输入,就会得到确定的输出,当然,期望输出也是确定的。

而不像评审,同样的文字,对于不同人,可能理解成不同的含义。

代码生成和早期验证之外,基于模型的设计,还可以给我们带来其他好处,比如文档自动化。

我们经常听到这样的说法:•我们终于把软件发布出去了,现在可以有时间补文档了...•下个月要audit了,所有同事都在补文档....这里我要问:为什么要补文档?补文档,我们可以从中得到两个方面的信息:1.文档很重要,不能没有,至少从质量体系上要求我们必须有文档2.工程师都不愿意写文档,是啊,如果愿意写文档的话,在开发过程中自然会把各类文档写起来的。

好,工程师不愿意写,开发过程中又不能少,如果计算机可以帮我们写,岂不是很美好的事情。

基于模型的设计,可以帮助我们实现文档自动化,至少有相当大的一部分文档可以让计算机替我们写。

其实,基于模型的设计,还有一个天然的优势:图形化设计。

对于工程师来讲,图形化的东西,本身就比文字更容易理解,否则我们在软件开发过程中也不会去画流程图和状态机了所以总结一下,基于模型的设计可以从以下方面给我们提供便利:1. 图形化设计2. 早期验证3. 代码生成4. 文档自动化前面我大概论述了为什么要做基于模型的设计,或者说基于模型的设计可以给我们带来哪些好处。

这些好处,最终会大大提高开发效率,并且改善软件品质。

下面,我在说说基于模型的设计里有哪些事情要做,刘博士说的没错,基于模型的设计,自然模型最重要,如何建模,毫无疑问是最为重要的环节。

在软件产品开发中,建模活动里,耗时最多的,就应该是需求分析了,需求分析不仅包括如何正确理解软件需求,而且要考虑如何通过模型实现,真正的画模型的时间,相比之下并不多,如果Simulink/Stateflow用的熟的话,真正打开MATLAB画模型的时间占建模阶段总时间的1/3都不到。

建模之后,接下来就是模型验证,验证,英文单词Verification,英文里面还有另外一个词Validation,确认,很多人不清楚这两个词之间的区别,通俗点讲:Verification是考察你是否正确的做了一件事,而Validation,则是考察你是否做出了正确的东西。

一个强调的是过程,一个在乎的是结果。

闲话少说,咱们继续回到模型验证上来,通常模型验证包含如下活动:建模标准的检查、评审、单元测试、快速原型。

(如果说的不完善,欢迎大家补充)建模标准的检查,可以通过模型检查工具自动完成,建模标准检查的意义,和传统开发模式里C编码标准的意义一致,这里不展开了。

模型验证之后,接下来就可以做代码生成了,有关代码生成,也专门讨论吧。

1.代码生成之后,需要做代码验证,基于模型的开发过程里面,SIL、PIL都是常用的代码验证方式。

2.在代码做完SIL或者PIL测试之后,要考虑软件集成了,即应用层软件,也就是通过Simulink模型生成的软件,和底层驱动软件之间的集成。

3.软件集成之后,后面的事情,基本上和传统的开发模式差不多了,当然,相对于传统的开发模式,你可以多一个HIL环节出来,不过话又说回来,即便是传统的开发模式,也一样可以有HIL这个环节的。

有关HIL的实现及目的,以后再说。

再说说模型验证的必要性。

我在进入MathWorks之后,接触过很多客户,不少客户在最初引入基于模型设计的时候,根本不在意模型验证工作,他们经常在模型编译通过之后就拿去生成代码,有了代码之后将代码下载到各种快速原型设备上去测试算法,Simulink 的仿真功能基本上成了摆设。

并且在这个阶段,不管我如何苦口婆心的给他们介绍模型验证的重要性,在他们那边,却总有各种各样的借口去省略模型验证环节,“项目时间太紧,模型来不及测”,“我们知道规范的开发流程,但是现在人手不够”。

当然,这类用户经常在这样折腾了一段时间之后,还是要回到模型测试上来,他们最终会发现,在HIL设备上测试算法,实在太难,当然,也有坚持的,坚持的结果就是他们所谓的基于模型的设计,开发效率比传统的开发模式高不了多少。

其实,这个问题我们可以这么去看,模型阶段的测试,我们是可以分模块进行的,而HIL上测试,基本上是集成之后的软件。

比如,一个软件有10个模块,在HIL设备上,你很难分离出每个模块的bug,而如果是按模块做单元测试,则就是针对的一个具体的模块。

打一个不算恰当的比方,我们都知道一块2克拉的钻石,价格肯定不是一块1克拉钻石的两倍。

类似的,如果每个软件模块有2个bug,那么你从集成好的软件里去消除这20个bug,耗费的精力肯定不是从每个单元模块里去消除bug所耗精力的总和。

说白了,早期验证是非常重要的,很多软件工程的教材里都有相关的统计数据说明早期验证的重要性,对应到基于模型的开发过程,能在模型级别做的验证,一定不要拖到后续的环节中。

中国有句老话,“心急吃不了热豆腐”,“项目时间紧”或者“人手不够”不能成为我们忽略模型测试的借口。

继续说一下MBD开发过程中都有哪些验证工作要做。

模型出来并且可以编译之后,首先要做建模标准检查,这个过程使用工具(比如MathWorks公司的Simulink Verification & Validation提供的model advisor)自动化的完成,检查过后,修改模型中不符合公司建模规则的项目。

接下来,就可以进行模型评审了,也就是说,评审的模型有两个前提,一是可以编译的,二是符合公司建模规则的。

这两个前提可以帮助我们消除模型中的一些低级错误,避免在评审过程中有太多的时间花费在这些错误上。

因为评审是建模的工程师和其他同事共同参与的活动,做到上述两个前提,也是对其他同事工作时间的一种尊重。

评审之后,建模的工程师会修改评审中发现的问题,问题多的话,一般会要求修改之后再进行“再评审”,直到在评审中不会发现大量问题。

接下来,我们可以使用Simulink Design Verifier进行模型的结构分析,借助于Simulink Design Verifier自动生成测试用例的功能,去检查结构上是否存在问题,比如是否有不合理的逻辑设计,是否有运行不到的分支等。

再往后,就可以进行模型单元级别的功能测试了。

软件开发过程中,对单元测试的要求是很高的,一般会根据应用的安全性、可靠性要求,给出测试的覆盖率要求。

这个过程中工作量最大的应该是测试用例设计以及测试向量的生成。

测试用例设计,我们一般会根据需求去设计测试用例,当然,也会结合模型结构设计测试用例,这样说来,这里的测试,已经包含了黑盒测试和白盒测试。

有了测试用例,如何把测试用例转换为测试向量,这也是非常重要的环节。

相关文档
最新文档