MWorks.Sysplorer 是新一代多领域工程系统建模、仿真、分析与优化的通用平台,基于国际多领域统一建模规范 Modelica ,提供了从可视化建模、仿真计算到结果分析的完整功能,支持多学科多目标优化、硬件在环仿真以及与其他工具的联合仿真。
然而,在面对一些特定行业或专业领域的仿真需求中,有时需要突破MWorks.Sysplorer既有框架的限制,借助Modelica编译求解内核,打造专业设计仿真软件。
在此背景下,同元软控MWorks产品研发团队与工程团队一起历经多年实践,在产品和项目中不断应用、验证和迭代,推出了MWorks.SDK 2.0正式版。该版本具备Modelica图形化建模环境、编译与求解、代码生成、结果分析与数据可视化等核心功能模块,支持开发者对MWorks.Sysplorer进行功能扩展,或开发专用设计仿真APP,进而助力Modelica生态体系建设、促进工业软件蓬勃发展。
MWorks.SDK是指MWorks内核模块及其服务组件组成的应用开发工具包,是一系列程序接口、帮助文档、开发范例、实用工具的集合。其中,内核模块包括Modelica编译器、分析器、代码生成器和求解器,服务组件包括基于内核模块构建的原子操作接口和组合接口。
为了支撑行业设计仿真软件和工程项目应用,打造可移植、可裁剪、可扩展的开放平台架构,MWorks.SDK设计为三层API结构。每层API都可独立使用,以满足不同层次不同粒度的应用需求:
○ Kernel API:一组内核原子API,提供模型编译、模型分析、模型求解、代码生成、仿真结果读写等接口
○ Mo API:一组稳定的高级API,由内核原子API组装而成,提供Modelica模型的结构化表示和一组操作接口
○ Frame API:一组成品组件模块,提供图形视图、文本视图、建模/仿真环境、曲线窗口、2D动画窗口、3D动画窗口、环境配置、脚本命令行、帮助文档、许可认证、插件支持等接口
▲MWorks.SDK架构图
MWorks.SDK一共提供了13个功能模块,179个接口类,3000多个函数API。为了方便用户快速上手,MWorks.SDK还提供了非常全面的帮助文档(简称API手册),帮助用户快速查阅每个功能模块、每个类、每个函数的用法和介绍,以及一些开发示例。MWorks.SDK帮助文档采用了简洁易用的qdoc来制作,并从多个视角对SDK进行讲解:
○ 技术框架和支持平台:主要包括软件架构、支持的平台、开发环境、License许可、技术支持等
○ 模块列表和类列表:主要包括所有功能模块列表、每个模块的详细介绍、每个模块包含的类列表、每个类的函数列表、以及每个函数的用法和介绍等
○ 入门指南:主要包括快速入门和开发示例,每个示例都有完整源码工程和实现详解
▲MWorks.SDK帮助文档首页
▲MWorks.SDK帮助文档内容
MWorks.SDK提供了一系列典型开发范例,每个范例都经过精心设计,代码量都控制的非常小,目的是为了讲清楚每一种使用场景,单一不耦合,帮助用户快速理解如何基于SDK快速构建专业设计仿真软件。
MWorks.SDK开发示例分为两步进行讲解:
l 快速入门
用户按照帮助手册一步步操作和配置,几分钟内即可搭建一个“Hello World”设计仿真软件,该软件具备MWorks.Sysplorer的所有功能。
▲快速入门帮助文档
▲Hello World软件
l 开发示例
MWorks.SDK提供了14个典型开发范例,每个范例都有详细介绍和全部源码工程,打开源码工程即可编译、运行、体验和调试。
▲MWorks.SDK的14个开发范例
上述示例可以归纳为以下几种应用:
自定义Ribbon菜单及响应
自定义添加用户面板,支持用户面板与图形视图的双向关联
扩展系统面板,如扩展模型浏览器、扩展仿真浏览器、扩展参数面板等
扩展图形视图,添加自定义图形
仿真过程中实时获取数据并驱动动画显示
仿真过程中实现在线调参
基于SDK开发专业设计仿真APP
例如,SimPanelCtxMenu示例展示了如何在图形视图中添加自定义图形(如下图的标签图元),并支持在仿真过程中实时更新图元(如实时更新标签图元中的变量值)。
▲图形视图扩展及动态显示
FreqSweep示例展示了如何基于SDK快速开发一个频率估算APP,该APP适用于针对一般模型(Modelica 模型、FMU 模型、黑箱模型等)进行频率特性估算,可以给出系统频率响应图并获取系统频域相关的属性,从而支持后续控制回路的设计。
▲基于SDK的频率估算APP
不仅如此,MWorks.Sysplorer作为Modelica IDE,本身即采用MWorks.SDK开发的,它既是MWorks.SDK的生成环境,也是其自身的第一用户。目前,MWorks.SDK已在航空、航天、汽车、核能等多个领域的专业仿真APP中得以应用和验证。
▲基于SDK开发的专业工具箱或APP
l MWorks.SDK的VS2010开发环境包括:
○Qt5.5.1:x86或x64版本
○IDE:Microsoft Visual Studio 2010
l MWorks.SDK的VS2017开发环境包括:
○Qt5.14.2:x86或x64版本
○IDE:Microsoft Visual Studio 2017
l MWorks.SDK的CentOS 8的开发环境包括:
○ Qt5.14.2:x64版本
○ IDE:Visual Studio Code、Qt Creator
○ 编译器:gcc/g++ 8.3
MWorks.SDK作为MWorks.Sysplorer的核心引擎,已在多个项目和产品中经过反复打磨,目前SDK已趋于稳定和完备。
MWorks.Sysplorer研发团队秉着“敬业、精益、专注、创新”的工匠精神,不忘初心,认真做软件。同时,也愿意与广大有志之士,围绕复杂工程系统数字化设计与验证,共筑中国工业软件生态。
原文链接:MWorks.SDK 2.0简介 | Modelica生态工具开发利器欢迎广大支持者、爱好者积极投身到Modelica生态体系建设。https://mp.weixin.qq.com/s/wz1bkntwnIaGT6ckRS0uEQ