SysML系统模型与机械领域的集成
写在前面的话:
SysML可以用来定义系统架构模型,这种统一的工程描述,在后期的设计、制造、测试等各个环节都可以贯穿。本文参考对SysML及MBSE概念体系理解的基础上,结合几种不同的场景,解释了系统模型如何与机械领域(CAD模型)进行集成,期望通过此文章,对读者正确理解MBSE概念和指导企业实践MBSE能有所借鉴。
基于模型的系统工程(MBSE)通过建立统一的系统模型,很大程度解决了基于文档导致的数据歧义、知识难重用、文档组织效率低、学科间关系不清晰等一系列问题。这种横跨产品生命周期的数字模型,可以实现架构、机械、电子、软件、测试等多学科间的统一协同、数据一致。而为了实现不同领域的无缝对接,一个关键的方面,就是如何实现系统模型与各个领域的工具软件进行集成,保证数据的统一,从而构建系统的数字蓝图,实现智能设计。因此,本文主要介绍通过SysML构建的系统模型,如何与机械领域模型(CAD)相集成。
1 基于模型的系统工程(MBSE)
随着计算机软件的发展,机械和电子工程行业取得了非常大的受益。计算机辅助设计(CAD)和产品生命周期管理(PLM)的进步使得在更短的时间里开发复杂产品成为可能,计算机辅助工程(CAE)工具可以对系统性能和设计进行优化。然而相比之下,系统工程就有点发展滞后。
系统工程的任务包含如下:
- 确定系统约束(需求定义、系统架构和验证):工程系统的实现存在各种各样的约束,系统工程的重要任务就是在这些约束条件下完成工程目标。
- 分解(架构、接口、功能分解)
- 系统细节的明确与迭代(系统视图、场景)
- 系统的交互活动定义(集成、测试、验证、反馈和行为)
然而到目前为止,这些活动大都是在没用更多工具的情况下进行的,通常情况下,是通过工程备忘录、机械图纸、草图、邮件、各种图表等来实现不同部门学科间的数据交换。而且由于缺少对系统的精确描述,依赖人脑和自然语言文档组织的系统工程,人与人对系统的认识很难统一。可以说,复杂系统的一系列问题,很多情况在于对系统的未知,基于文档的系统工程存在这么多问题,就在于它事先没有一个大家都清晰的系统对象描述,系统的组成及状态未知,或者存在于文档和不同人的脑海中。
MBSE的目标通过构建统一的数字系统模型,而这种模型借助计算机工具,就可以实现不同学科工具间的打通,增强上述的任务活动,从而实现复杂系统研发的大统一。
MBSE的核心是统一的系统模型,表达系统的需求、结构、行为、参数等不同信息。通过不同的视角,各个学科的人可以从其所关心的方面展示、定义和完善系统,如图1。从基于文档的系统工程(DBSE)到基于模型的系统工程(MBSE),与历史上从2D工程图到3D CAD模型很类似,你也可以从3D模型截取2D视角,同样你也可以从不同的视角观察系统模型。
图1. 系统模型的展现视角
MBSE的核心是确定统一的系统数字模型,产品生命周期的所有阶段,都可以围绕着模型开展。然而,系统模型的定义,必不可缺的就是语言, SysML就此应运而生。SysML是OMG提出的一种描述工程领域的建模语言,它目前已经发展成为一个开放、国际的表达系统架构标准。然而,目前大多数的详细设计工程师,仍是在不同的建模和仿真工具里工作,比如机械或电子的CAD、CAE、ECAD工具(FEA:有限元分析,CFD:计算流体动力学)、数学建模与分析工具、各种企业文件库和数据库(如PLM和ALM)、需求管理和项目管理等。
图2. MBSE生态体系
SysML用于展示高层次的系统架构,它也是MBSE生态的核心,通过SysML里的模型元素可以和不同的工具进行连接,比如CAD、CAE、Matlab、需求管理,如图2。通过这些工具数据上的连接,随着设计上的进化,就可以实现模型的转换、对比、同步。比如通过SysML的模块结构快速搜索PLM里的零件结构,通过系统模型与领域模型的打通实现多科学交互协同,就能最大地发挥MBSE的价值。
2 传统机械领域的挑战
在机械领域,尽管CAD、PLM等系统已经被普遍采用,但不管是设计的过程还是结果仍然是基于文档的方式。比如:
- 概念设计与详细设计没有紧密衔接,从需求到CAD设计的体现与追溯,存在于大量的文档、邮件、电话等;
- 图档的设计过程大都没有参数化,知识可重用度低;
- CAD模型的审核与发布流程繁琐;
- CAD的设计准则、历史经验存在于文档,依靠人去校验;
- CAD与CAE、工艺、制造等学科的交互难,多学科间信息的获取,依靠文档等方式。
在当前的大多数企业中,依靠人和流程去约束管理,虽然也能在上述各种问题的情况下,完成系统的研发任务,但是过程非常痛苦,且周期长、成本高。随着系统的复杂程度越来越高,学科之间的交互越来越多,仍然依赖这种文档的组织管理难度将指数级增长。
3 基于模型的系统工程与机械领域集成应用场景
如前述,MBSE的兴起为解决传统的基于文档的系统研发问题,提供了一条充满希望的解决路径,具体到机械领域,模型可以在至少以下场景,提供很有益的帮助。
3.1 从系统架构模型里访问和展示CAD模型
SysML系统架构模型与CAD模型会有这样的应用场景:系统工程师可以直接访问和打开CAD模型,展示模型的几何图形。如下图3,在左侧的SysML模型里代表系统或子系统的模块,对应在本地或者PLM里CAD模型的装配体或者装配体内的特定零件,系统工程师能够在SysML架构模型里访问和打开CAD模型,在右侧预览窗口中将实时展示打开的模型。这种从SysML架构模型无缝访问、可视化、操作(缩放、移动、选择、测量)CAD模型,与查找数据表或交换电子邮件来收集信息相比,提供了更丰富的基于模型的体验,在设计早期就可以实现同步的跟踪和查看CAD模型。
图3. 从系统架构模型里访问和展示CAD模型
3.2 需求驱动的机械模型设计(需求到几何结构)
系统工程师从整体的系统架构,制定出了硬件子系统需要实现的规格。而他在将这些规格传递给后续的机械或者电子设计团队时,传统的基于文档的做法如下:系统工程师将这些基于文档的需求上传到需求管理系统,并且分配给相应的机械和电子工程师,而设计工程师对于这些文档需求的潜在理解错误,会导致后续的重新设计,从而导致成本上升。另外关键的是,这种需求到具体设计结构之间的关系并不显性,尤其当系统非常复杂,而后续需求发生变更的时候,很难清晰的了解到具体影响系统哪些设计结构。
一种更精确的基于模型的方法如下:如果系统工程师可以通过参数化的建模方式,清晰的表达出几何结构相关的需求,那么就可以用这些需求来驱动CAD模型设计,并且与 CAD模型中,实现上述需求的几何特征相对应,例如,包括边界约束、禁布区域、质量/体积约束和零件装配约束等。相比人工的理解和验证文档需求,机械/电子设计团队以这种需求与几何特征对应的CAD模型,作为他们的设计起点。通过这种方式,他们不仅仅可以直观的查看哪些几何结构对应和满足哪些系统需求,CAD建模工具也可以动态的校验这些约束是否真的满足。越早期的检查这些约束,就能越早的发现潜在的设计问题,减少后期重新设计导致的成本上升,同时提高效率。另外,系统需求的变化,可以同步到机械设计的模型。
如下图4,通过参数化的建模方式,将USB器件质量相关的需求,表达到SysML的需求图内,并将其分配给模块USB。在BDD图,建立质量分析的场景,将需要分析的对象(USB模块)带进来,并建立组成关系,建立质量计算模块,其内的mass约束参数在另外一张参数图中与模块USB的mass值属性进行绑定。之后,机械工程师在接收具体的需求之后,开展自己的设计,并通过与Creo工具的集成,实现CAD模型与SysML模块USB的属性映射。随着设计的演变,质量属性被同步获取到SysML模型USB模块的质量属性内,并通过上述建立的分析场景,自动进行计算验证。
图4. 需求驱动的机械模型设计
3.3 获取CAD模型质量属性和几何参数,验证系统需求
在设计过程中,系统工程师需要持续跟踪质量、大小、重心、包装因素和其他与几何相关的系统属性。通过获取这些几何属性的值,来支持工程分析和系统需求的自动验证,例如用于计算验证系统的总体质量需求是否满足。
今天,大多数CAD建模环境可以自动计算几何部件和装配体的质量属性,如质量、惯性矩、体积、材料体积、封闭体积、边界大小等。基于模型的方法可以有效促进以下内容:
- 将系统架构模型中的属性与CAD模型中的质量属性联系起来,这样新版本的CAD模型就可以跟踪并同步到系统架构模型,在3.2的场景中,就曾涉及到对质量属性的获取。
- 除了质量特性,系统工程师和机械设计师也应该能够在三维CAD模型中进行关键参数的沟通,例如关键部件执行的系统功能,与部件定位相关的空间约束,或识别出禁布区,这些可能在装配体、部件或零件特性里进行定义。系统架构模型中相应的属性需要与CAD模型中的这些关键参数进行比较和同步。如下图5,源自文本描述的禁布区需求,通过一种特殊类型的Creo计算模块,进一步定义。在实际的运行之后,这个禁布区计算模块就可以调用creo,获取指定零件的禁布区尺寸,并将获取的结果返回到计算模块进行计算,从而验证是否真的满足早期的禁布区需求。
图5. 获取CAD模型质量属性和几何参数,验证系统需求
3.4 SysML模型架构与CAD模型架构的映射同步
对于许多向基于模型的系统工程过渡的企业来说,各种子系统的定义都是在它们特定领域的模型中,例如CAD模型、仿真模型,有时甚至是电子表格。对于机械的CAD模型来说,可以实现CAD模型架构与SysML模型架构的同步映射,并保持它们之间的连接,如下图6所示。这种映射的显著好处是可以通过MBOM与SysML模型架构的同步,基于此计算系统总体的质量、成本、功耗、器件清单评审、项目进度监控等就变得较为方便。
图6. SysML模型架构与CAD模型架构的映射同步
3.5 与机械设计协同的系统模型变体设计及状态版本跟踪
系统工程师可以制定系统结构,同样也可以对系统的变体和状态建模。例如,无人驾驶飞行器(UAV)系统可能有与推进系统和机身/机翼类型相关的变体。卫星上的太阳能电池板可能位于开面板或闭面板状态。与此相反,在机械设计中,管理部件/组件的变体和操作状态的典型方法是创建单独的CAD模型。系统工程师和机械设计人员需要能够将架构模型中的硬件子系统的特定变体和状态连接到相应的CAD模型中。如下图7,在摄像机系统的设计中,存在低分辨率和高分辨率两种不同的方案变体,对应的其CAD模型如图7右侧。
图7. 与机械设计协同的系统模型变体设计