简化Simulink的建模与模型重构

模型重构

Simulink作为汽车和自动化领域中经典的模型工程必备工具,不管是专业的汽车控制器的开发还是自动化控制的专业应用编程,都会使用到Simulink进行图形化编程、代码生成等等。为了实现这些,一个布局雅观、结构清晰、可读性高、容易理解又不易出错的模型至关重要。

复杂系统需求的不断更新对于模型系统的重构带来挑战,因此高效地进行模型系统的重构对控制系统的开发尤为重要。不断重构的建模习惯,让扩展和维护代码更容易,已成为现代软件开发的最佳实践。

遗憾的是在缺乏相关辅助工具支持下,手动重构大型模型可能会非常耗时且容易出错。因此,在使用 Simulink 进行基于模型的开发中,亟待一个更好的解决方案。

我们的解决方案:MES MODEL & REFACTOR(MoRe)

MES Model & Refactor(MoRe)是MES为使用 Matlab/Simulink建模的用户设计的一款插件工具。 MoRe在建模过程中提供给用户众多便捷功能,以减少耗时和单调的工作量。使用MoRe让建模更容易、更快、更不容易出现错误,尤其适用于模型的重构。MoRe直接集成在Matlab/Simulink菜单中,只需通过鼠标点击便可完成复杂的建模和重构操作,减少繁琐和重复的建模工作量。

MoRe的功能:

1. 创建和删除结构相关的信号

通过子系统层次结构创建或删除信号以及路径既耗时又易出错。使用 MoRe 可以通过一个简单操作添加或删除此类信号。通过选择源端口和目标端口,可以自动生成或删除相关联的输入、输出和信号线。

2. 完善子系统分解

您可以通过使用MoRe在不影响模型功能的前提下快速、轻松地修改分解模型。通过简单的操作将已连接的功能模块移入或移出子系统。此外,也可以将一个子系统划分为两个子系统或将两个子系统合并成一个系统。

3. 修改子系统接口

MoRe支持子系统接口的修改。例如,您可以通过对话框在外部更改子系统的端口顺序。此外,支持在外部重命名端口 - 此功能针对输入适用于R2017a以后的版本,针对输出适用于R2018b以后的版本。

4. 生成和分解总线

通过使用MoRe您可以将已连接的信号轻松、快速地生成总线。这是一个在修改模型时常用但耗时的步骤。在实现过程中,MoRe 会自动生成需要的Creator、Selector 以及信号线。除此之外,还为总线提供增添信号功能和Selector分解或合并功能。

5. 数据流分析

MoRe为Simulink中的数据流分析和可视化提供多种操作。例如,对目标信号有影响的所有相关信号路径高亮显示。这也就是所谓的模型Slicing。借此可以分析子系统的哪些输入对输出有影响。此外,您还可以使用MoRe更快速、更轻松地导航到信号的源或目标位置。

关于MES模赛思公司:

模赛思软件技术有限公司(Model Engineering Solutions,简称MES)是一家总部位于柏林的德国高科技软件公司,专为软件项目的质量保障提供解决方案。MES为客户基于模型的软件开发提供技术支持,使其符合IEC 61508、ISO 26262或ASPICE等行业标准。MES的主要客户包括整车厂如戴姆勒、大众、丰田和吉利等以及博世、西门子和三星等行业供应商。在汽车行业中,除少数几家公司外,全球数十家顶尖制造商及供应商均在他们的开发环境中使用MES的解决方案。为支持其全球客户,MES已在美国和中国建立了子公司,并与全球分销商网络紧密合作。

MES的产品包括4种质量工具软件:MES Model Examiner、MES Test Manager、MES Model & Refactor和MES Quality Commander,它们共同构成了一个工具链,全面保障基于模型的软件开发过程中所有阶段的质量。通过MES Jenkins Plugin,该工具链也可以在持续集成环境中使用。工具链主要应用平台为MATLABSimulink。除了MES质量工具外,MES测试中心和MES学院的专家们还为全球客户提供关于质量保证和开发流程优化的定制咨询服务及培训课程。

简化Simulink的建模与模型重构的更多相关文章

  1. 倾斜摄影3D模型|手工建模|BIM模型 轻量化处理

    一.什么是大场景? 顾名思义,大场景就是能够从一个鸟瞰的角度看到一个大型场景的全貌,比如一个园区.一座城市.一个国家甚至是整个地球.但过去都以图片记录下大场景,如今我们可以通过建造3D模型来还原大场景 ...

  2. .net4.5 await async 简化之后的异步编程模型

    步骤核心: 方法签名包含一个  async 修饰符. 按照约定,异步方法的名称以“Async”后缀结尾. 返回类型为以下之一: Task<TResult> 如果您的方法有操作数为 TRes ...

  3. ArcGIS数据建模 (模型构建器modelbuilder) 培训视频 5章28小节587分钟视频 51GIS网站上线

    网址:http://www.51gis.com.cn/kecheng.html?id=358

  4. 基于python的数学建模---图论模型(Floyd)

    import numpy as np inf = 99999 # 不连通值 mtx_graph = [[0, 1, inf, 3, inf, inf, inf, inf, inf], [1, 0, 5 ...

  5. 基于python的数学建模---图论模型(Dijkstra)

    from collections import defaultdict from heapq import * # 堆--先进后出 inf = 99999 # 不连通值 mtx_graph = [[0 ...

  6. MATLAB基本使用及SIMULINK建模仿真实验

    MATLAB基本使用及SIMULINK建模仿真实验 这是我总结的操作方法: 1 )  M脚本文件的编写 1.新建M-file: 2.输入指令: 3.保存(注意:保存路径需要与工作路径一致) 2 )在S ...

  7. 读取Simulink中Dataset类型的数据

    http://files.cnblogs.com/files/pursuiting/%E5%80%92%E7%AB%8B%E6%91%86%E6%8E%A7%E5%88%B6%E7%B3%BB%E7% ...

  8. ENode框架Conference案例分析系列之 - 事件溯源如何处理重构问题

    前言 本文可能对大多数不太了解ENode的朋友来说,理解起来比较费劲,这篇文章主要讲思路,而不是一上来就讲结果.我写文章,总是希望能把自己的思考过程尽量能表达出来,能让大家知道每一个设计背后的思考的东 ...

  9. 从AdventureWorks学习数据库建模——实体分析

    最近打算写写数据库建模的文章,所以打算分析微软官方提供的SQL Server示例数据库AdventureWorks,看看这个数据库中有哪些值得学习的地方. 首先我们需要下载安装一个SQL Server ...

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

    http://www.matlabsky.com/thread-38774-1-1.html 本文转载于MathWorks中国高级工程师董淑成的帖子内容.为了方便阅读,对原文进行了重新整理编辑. 之前 ...

随机推荐

  1. 深度解析C#数组对象池ArrayPool<T>底层原理

    提到池化技术,很多同学可能都不会感到陌生,因为无论是在我们的项目中,还是在学习的过程的过程,都会接触到池化技术.池化技术旨在提高资源的重复使用和系统性能,在.NET中包含以下几种常用的池化技术. (1 ...

  2. 在WPF应用中实现DataGrid的分组显示,以及嵌套明细展示效果

    我在前面随笔<在Winform系统开发中,对表格列表中的内容进行分组展示>,介绍了Winform程序中对表格内容进行了分组的展示,在WPF应用中,同样也可以对表格的内容进行分组展示,不过处 ...

  3. MySQL新增数据,修改数据,删除数据

    连接本地mysql语句 mysql -hlocalhost -uroot -proot DML-介绍 DML英文全称是:用来对数据库中表的数据记录进行 增 删 改 操作. 增加使用 insert 删除 ...

  4. 如何将axios封装成一个插件

    01==>重新写axios的插件 在src下创建一个插件文件为plugins 在创建一个http.js文件 根据官方插件 重新写axios的插件 http.js文件如下 import axios ...

  5. 大数据面试题集锦-Hadoop面试题(一)

    目录 1.集群的最主要瓶颈 2.Hadoop运行模式 3.Hadoop生态圈的组件并做简要描述 4.解释"hadoop"和"hadoop 生态系统"两个概念 5 ...

  6. 安装Visual Studio的详细流程

      本文介绍Visual Studio 2022软件Community(社区版)的下载.安装.运行与使用方法.   首先需要提一句,本文介绍的是Visual Studio 2022软件的下载:而其它版 ...

  7. 🛠 开源即时通讯(IM)项目OpenIM源码部署指南

    OpenIM的部署涉及多个组件,并支持多种方式,包括源码.Docker和Kubernetes等.这要求在确保不同部署方式之间的兼容性同时,还需有效管理各版本之间的差异.确实,这些都是复杂的问题,涉及到 ...

  8. Leetcode 面试题22. 链表中倒数第k个节点 Java语言求解

    题目链接 https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 题目内容 输入一个链表,输出该链 ...

  9. 4.2 Inline Hook 挂钩技术

    InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截.修改.增强现有函数功能.它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义 ...

  10. Linux的信号管理 [补档-2023-07-30]

    信号 11-1简介: ​ 信号只是表示某个信号,不可以携带大量信息,信号需要满足特点的条件才会产生.是一种特别的通信手 段. 11-2 信号机制: ​ 假设有两个进程A,B,现在进程A给进程B发送信号 ...