Modelica生态工具开发利器——MWorks.SDK 2.0

MWorks.Sysplorer 是新一代多领域工程系统建模、仿真、分析与优化的通用平台,基于国际多领域统一建模规范 Modelica ,提供了从可视化建模、仿真计算到结果分析的完整功能,支持多学科多目标优化、硬件在环仿真以及与其他工具的联合仿真。

然而,在面对一些特定行业或专业领域的仿真需求中,有时需要突破MWorks.Sysplorer既有框架的限制,借助Modelica编译求解内核,打造专业设计仿真软件。

在此背景下,同元软控MWorks产品研发团队与工程团队一起历经多年实践,在产品和项目中不断应用、验证和迭代,推出了MWorks.SDK 2.0正式版。该版本具备Modelica图形化建模环境、编译与求解、代码生成、结果分析与数据可视化等核心功能模块,支持开发者对MWorks.Sysplorer进行功能扩展,或开发专用设计仿真APP,进而助力Modelica生态体系建设、促进工业软件蓬勃发展。

Modelica生态工具开发利器——MWorks.SDK 2.0_第1张图片

Modelica生态工具开发利器——MWorks.SDK 2.0_第2张图片

MWorks.SDK 2.0

三层API结构,满足多种需求

MWorks.SDK是指MWorks内核模块及其服务组件组成的应用开发工具包,是一系列程序接口、帮助文档、开发范例、实用工具的集合。其中,内核模块包括Modelica编译器、分析器、代码生成器和求解器,服务组件包括基于内核模块构建的原子操作接口和组合接口。

为了支撑行业设计仿真软件和工程项目应用,打造可移植、可裁剪、可扩展的开放平台架构,MWorks.SDK设计为三层API结构。每层API都可独立使用,以满足不同层次不同粒度的应用需求:

○ Kernel API:一组内核原子API,提供模型编译、模型分析、模型求解、代码生成、仿真结果读写等接口

 Mo API一组稳定的高级API,由内核原子API组装而成,提供Modelica模型的结构化表示和一组操作接口

○ Frame API:一组成品组件模块,提供图形视图、文本视图、建模/仿真环境、曲线窗口、2D动画窗口、3D动画窗口、环境配置、脚本命令行、帮助文档、许可认证、插件支持等接口

Modelica生态工具开发利器——MWorks.SDK 2.0_第3张图片

▲MWorks.SDK架构图

Modelica生态工具开发利器——MWorks.SDK 2.0_第4张图片

全面的帮助文档

帮助用户快速查阅功能模块

MWorks.SDK一共提供了13个功能模块,179个接口类,3000多个函数API。为了方便用户快速上手,MWorks.SDK还提供了非常全面的帮助文档(简称API手册),帮助用户快速查阅每个功能模块、每个类、每个函数的用法和介绍,以及一些开发示例。MWorks.SDK帮助文档采用了简洁易用的qdoc来制作,并从多个视角对SDK进行讲解:

○ 技术框架和支持平台:主要包括软件架构、支持的平台、开发环境、License许可、技术支持等

 模块列表和类列表:主要包括所有功能模块列表、每个模块的详细介绍、每个模块包含的类列表、每个类的函数列表、以及每个函数的用法和介绍等

○ 入门指南:主要包括快速入门和开发示例,每个示例都有完整源码工程和实现详解

Modelica生态工具开发利器——MWorks.SDK 2.0_第5张图片

▲MWorks.SDK帮助文档首页

Modelica生态工具开发利器——MWorks.SDK 2.0_第6张图片

▲MWorks.SDK帮助文档内容

Modelica生态工具开发利器——MWorks.SDK 2.0_第7张图片

14个典型开发范例

快速构建专业设计仿真软件

MWorks.SDK提供了一系列典型开发范例,每个范例都经过精心设计,代码量都控制的非常小,目的是为了讲清楚每一种使用场景,单一不耦合,帮助用户快速理解如何基于SDK快速构建专业设计仿真软件。

MWorks.SDK开发示例分为两步进行讲解: 

 快速入门

用户按照帮助手册一步步操作和配置,几分钟内即可搭建一个“Hello World”设计仿真软件,该软件具备MWorks.Sysplorer的所有功能。

Modelica生态工具开发利器——MWorks.SDK 2.0_第8张图片

▲快速入门帮助文档

Modelica生态工具开发利器——MWorks.SDK 2.0_第9张图片

▲Hello World软件

开发示例

MWorks.SDK提供了14个典型开发范例,每个范例都有详细介绍和全部源码工程,打开源码工程即可编译、运行、体验和调试。

Modelica生态工具开发利器——MWorks.SDK 2.0_第10张图片

▲MWorks.SDK的14个开发范例

上述示例可以归纳为以下几种应用:

  • 自定义Ribbon菜单及响应

  • 自定义添加用户面板,支持用户面板与图形视图的双向关联

  • 扩展系统面板,如扩展模型浏览器、扩展仿真浏览器、扩展参数面板等

  • 扩展图形视图,添加自定义图形

  • 仿真过程中实时获取数据并驱动动画显示

  • 仿真过程中实现在线调参

  • 基于SDK开发专业设计仿真APP

例如,SimPanelCtxMenu示例展示了如何在图形视图中添加自定义图形(如下图的标签图元),并支持在仿真过程中实时更新图元(如实时更新标签图元中的变量值)。

Modelica生态工具开发利器——MWorks.SDK 2.0_第11张图片

▲图形视图扩展及动态显示

FreqSweep示例展示了如何基于SDK快速开发一个频率估算APP,该APP适用于针对一般模型(Modelica 模型、FMU 模型、黑箱模型等)进行频率特性估算,可以给出系统频率响应图并获取系统频域相关的属性,从而支持后续控制回路的设计。

Modelica生态工具开发利器——MWorks.SDK 2.0_第12张图片

▲基于SDK的频率估算APP

不仅如此,MWorks.Sysplorer作为Modelica IDE,本身即采用MWorks.SDK开发的,它既是MWorks.SDK的生成环境,也是其自身的第一用户。目前,MWorks.SDK已在航空、航天、汽车、核能等多个领域的专业仿真APP中得以应用和验证。

Modelica生态工具开发利器——MWorks.SDK 2.0_第13张图片

▲基于SDK开发的专业工具箱或APP

Modelica生态工具开发利器——MWorks.SDK 2.0_第14张图片

MWorks.SDK开发环境

Modelica生态工具开发利器——MWorks.SDK 2.0_第15张图片

l MWorks.SDK的VS2010开发环境包括:

Qt5.5.1:x86或x64版本

IDE:Microsoft Visual Studio 2010

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

Modelica生态工具开发利器——MWorks.SDK 2.0_第16张图片

结语

MWorks.SDK作为MWorks.Sysplorer的核心引擎,已在多个项目和产品中经过反复打磨,目前SDK已趋于稳定和完备。

MWorks.Sysplorer研发团队秉着“敬业、精益、专注、创新”的工匠精神,不忘初心,认真做软件。同时,也愿意与广大有志之士,围绕复杂工程系统数字化设计与验证,共筑中国工业软件生态。

Modelica生态工具开发利器——MWorks.SDK 2.0_第17张图片

 

原文链接:MWorks.SDK 2.0简介 | Modelica生态工具开发利器欢迎广大支持者、爱好者积极投身到Modelica生态体系建设。https://mp.weixin.qq.com/s/wz1bkntwnIaGT6ckRS0uEQ

你可能感兴趣的:(modelica)