MWORKS 2025a 直播回顾 | 第四期:Sysblock框图环境完全体推出

一、Sysblock介绍

Sysblock是集成在MWORKS.Sysplorer中的框图建模环境,旨在支持用户在多领域统一建模规范Modelica下进行控制策略的开发、验证和优化,为用户提供全面、高效的控制系统设计与分析工具。Sysblock提供了可视化的框图建模和状态机建模能力,全面覆盖Simulink框图建模与Stateflow状态流建模能力‌。

图片

目前Sysblock从用户使用习惯和易用性、数据格式仿真等全方面兼容Simulink,结合了Simulink的强大易用性与Modelica的多领域建模能力,旨在满足市场对高效建模仿真工具的迫切需求‌。

Sysblock为复杂虚拟系统的建模、仿真与分析提供了全面且强大的解决方案。在面向由物理被控对象、嵌入式软件、算法以及系统运行环境构成的复杂虚拟系统时,您可借助Sysblock开展一系列高效操作:

1、直观描绘系统架构

  • 使用子系统封装模块及信号集束模块实现模型的描述性系统架构模型

  • 支持137个原子模块、状态机及多种子系统构型搭建复杂系统模型

  • 使用MWORKS统一建模平台确保跨架构和设计工作流程的一致性

图片

2、多领域统一建模中控制律表达

  • 支持统一环境中构建连续时间、离散时间和混合仿真模型

  • 支持创建状态机实现组合逻辑和时序逻辑

  • 在Sysplorer平台环境中实现多领域统一建模,例如构建带有真实电子元件和机械部件的永磁同步电机控制算法验证平台

  • 使用Sysblock专业领域预置模块,例如四元数计算模型库,对飞行器动力学控制系统进行快速建模和仿真分析。

图片

3、构建大型控制系统模型

  • 支持系统组件化,通过引用封装子系统和子模型,快速创建复杂大型设计,并实现大型模型的组配与迭代

  • 支持构建自定义库,方便在整个组织范围内共享和重复使用部件与组件

  • 并行开发与组件验证,借助模型引用,与其他团队成员并行开展设计工作,并在系统集成之前,独立完成组件验证

  • 采用基于模型的设计开发工作流,可在各个开发环节,使用统一平台搭建单元测试框架运行测试

图片

4、轻松集成复用多元组件

  • 支持一键导入用户Simulink模型及数据文件,并基于导入结果生成导入报告

  • 支持基于子系统整合封装外部资源,使用合作伙伴提供的模块库或组件

  • 支持Julia、C、Python 和其他语言编写的代码引入建模设计及开发测试流程

  • 开放式标准与框架集成,支持与 Sysplorer平台中导入的外部 FMU集成仿真5、

图片

5、仿真及数据后处理

  • 支持22种积分算法,包括:14种变步长算法与8种定步长算法

  • 支持断点调试功能,逐模块的数据流调试配合信号线上数据显示功能,精准定位问题

  • 信号探查功能配合独立的结果查看器方便查看和比较仿真结果

图片

‌6、基于模型的代码生成功能

  • 支持数据字典管理模型数据,支持代码与模型之间双向追溯跳转,方便代码调试和问题定位

  • 支持代码保护及代码定制等自定义设置,满足多平台部署需求

图片

 二、Sysblock 2025a概述

Sysblock自推出以来,历经三年发展,逐步从离散系统的嵌入式代码生成扩展至MBD全流程覆盖。2022年,Sysblock正式发布,支持面向车辆ECU嵌入式代码生成;2023年,Sysblock已覆盖MBD全流程,支持产品级代码生成;2024年,Sysblock在功能、性能、易用性方面全面对标Simulink,并支持Simulink模型导入。

2025年,Sysblock继续进化。功能上,新版本支持连续-离散混合系统仿真,完整覆盖Simulink框图建模环境;体验上,新版本与多物理建模环境打破边界,形成Sysblock框图环境完全体。不断提升产品的兼容性和用户体验。

图片

 

第四期直播“Sysblock框图环境完全体推出”已于1月15日圆满结束。如果您错过这场直播也不用担心,我们整理了完整的直播回放,以及文字版更新概览,帮助您深入了解Sysblock的魅力所在。

直播回放

【直播回放】MWORKS 2025a来了——Sysblock框图环境完全体推出! 2025年01月15日18点场_哔哩哔哩_bilibili


 文字版更新概览

Sysblock在建模能力、求解功能、代码生成质量三方面迎来了大幅升级。

(一) 建模能力提升

1、新增支持连续-离散系统建模功能。新增连续域模型库,包括连续积分模块、连续传递函数及连续状态空间等常用模块,支持连续系统以及连续-离散混合系统模型搭建。

2、新增模块44个,优化模块70个,合计提供14类模型库、137个模块组件,除连续模型库外,本次更新还包括:

1)新增Pack-Unpack模块,支持数字协议打包解包实现

2)新增数字触发器模块库,支持复杂数字模型搭建

3)扩充数据模型库,支持噪声、计数、周期波形、脉冲生成器等模块

4)新增信号选择模块,优化goto标签双向追溯性,提高模型搭建效率

3、为满足多样开发需求,本次发布新增C Function、Julia Function、Julia Object三种外部函数调用方式。

1) 新增的C Function模块,支持在IDE中直接编写C代码,也能将已有C代码导 入仿真模型,多个模块还可导入不同代码资产文件,满足各类场景。

2) 新增的Julia Object和Julia Function支持封装Julia对象以及在框图中调用Julia函数,进一步融合Sysblock建模与Syslab科学计算环境,提升MWORKS平台系统建模仿真的一致性和通用性,突破传统建模边界。

 

4、状态机新增支持图函数功能。通过图函数,用户能够以可视化的图形方式来定义和管理状态机的行为逻辑,各状态之间的转换条件和动作都能直观展现,不仅降低了理解和编写状态机代码的难度,还能显著提高开发效率。 

5、新版数据管理器支持模型、数据统一配置管理。通过优化基础工作区及模型工作区划分数据应用范围,加强了多范式统一建模环境的数据交互能力。数据管理器对话框的中央内容区,在原先的基础上新增了”描述“属性列,方便用户区分数据。此外,提供了过滤功能,便于用户在庞大数据中筛选所需的数据。 

6、支持Simulink模型一键导入。系统新增支持20+种组件导入,新增数据字典导入功能,能将slx模型绑定的数据字典中的数据,精准导入为Sysblock数据字典中的对应类型数据;同时新增模型导入报告生成功能,可详细描述 Slx 模型转换时导入成功、失败以及暂时无法导入的Simulink功能和选项,并形成报告文档。状态机导入功能也得到优化,不仅新增支持Group模式下的图函数,还对转移线导入进行了优化。 

(二)仿真功能增强

1、本次更新中Sysblock与Sysplorer统一求解框架,支持连续-离散系统仿真,仿真设置新增支持22种积分算法,包括:14种变步长算法与8种定步长算法。定步长算法新增支持RKfix4(Runge-Kutta,4阶)算法、隐式欧拉算法及其他算法,变步长算法新增支持Dassl算法、Dop853(Runge-Kutta,8阶)算法及其他算法。

2、支持精确与模糊过零事件检测,兼顾仿真精度与性能。精确检测可精准定位信号穿越零电平的瞬间,适用于高频通信信号分析等对时间精度要求高的场景;模糊检测能在允许误差范围内快速捕捉过零趋势,适用于工业自动化状态监测这类对实时性要求高、无需极致精度的场景。 

3、模型调试功能增强,支持逐模块调试。支持在信号线上新增断点协助调试,配合信号线上显示端口值标签功能,可直观呈现数据在模块间的流动情况,快速精准定位问题。

(三)代码生成质量提升

新版本Sysblock代码生成质量得到大幅提升。通过数组赋值优化、中间变量消除、常量赋值优化等方法,代码执行效率提升30%;通过子模型复用、模块折叠、中间变量结构体消除等方法,代码膨胀率减少50%。

【示例】

以机械臂综合案例演示代码生成功能。基于已有的机械臂控制律和物理模型进行代码生成,编译部署到树莓派,控制机械臂实物运动。

图片

图片

 


内测邀请

Sysplorer 2025a已开启内测申请,诚邀大家试用反馈,可扫描下方二维码申请。

图片

同元软控官网将于春节之后提供MWORKS 2025a新版本试用,期待您去体验,去发现!如果您在使用过程中遇到任何问题,或者有任何您认为可以提升产品质量的建议,欢迎您通过MoHub社区(https://mohub.net/home)发帖联系我们。

### MWorks 编译时 `collect2.exe` 出现 `ld returned 1 exit status` 错误解决方案 当遇到 `collect2.exe: error: ld returned 1 exit status` 这类链接错误时,通常意味着编译过程中存在未解析的符号或其他链接问题。以下是几种常见的排查方法: #### 1. 检查依赖库路径配置 确保所有的外部库文件路径已正确设置。可以通过修改环境变量或项目配置文件来添加这些路径。 对于 Linux 平台上的 MWORKS.Syslab,在安装包所在目录打开终端并执行如下命令赋予脚本可执行权限[^1]: ```bash chmod +x MWORKS.Syslab-2024a_SP1-x86_64-0.11.2.run ``` 如果使用的是 Miniforge3 创建的 Python 环境,则需确认该环境中已经安装了必要的开发工具链以及对应的版本号是否匹配目标平台需求[^2]。 #### 2. 验证编译器与链接器选项一致性 检查 Makefile 或 CMakeLists.txt 文件中的编译参数设定,特别是 `-L`, `-l` 参数后面跟的具库名及其顺序;另外还要注意不同阶段使用的优化级别 (`O0~O3`) 是否一致。 #### 3. 清理构建缓存重新尝试 有时旧的对象文件可能会干扰新的编译过程,建议先清理整个项目的中间产物再重试: ```makefile make clean && make all ``` #### 4. 更新或回滚特定组件至稳定版 某些情况下可能是由于第三方插件或者自定义模块引入了不兼容的变化所引起的冲突。可以考虑暂时禁用可疑部分或将它们更新/降级到更稳定的发布版本。 #### 5. 查看详细的日志输出寻找线索 增加更多的调试信息有助于定位具失败位置。可以在调用 g++ / gcc 命令时加上 `-v` 开关查看完整的预处理、汇编和链接流程,并仔细分析其中提示的信息。 以上措施能够帮助解决大部分由链接器引发的问题。不过需要注意的是,实际操作还需结合具的工程结构和个人经验灵活调整策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值