如何实现Simulink到GCKontrol的存量迁移

图形化建模仿真

图形化建模仿真是一种通过使用图形化建模工具来模拟和仿真现实系统的过程。这种技术常被用于工程设计、控制系统分析等领域。在图形化建模仿真中,工程师或科学家可以使用图形化建模工具(各种类型的建模元素、信号流图、流程图、状态图等)来创建系统的模型,并通过将这些元素组合和连接起来,来描述系统的行为和动态特性。

GCKontrol作为国产的控制系统设计与仿真软件,其具备丰富的控制系统建模元素,是一款能够实现系统设计与仿真的图形化建模仿真工具。 可以****提供多元化模型库,并支持状态图建模,控制系统建模仿真、线性非线性系统建模仿真,能自动生成高效高质量的C代码,支持FMU导出、实时仿真、自动化测试以及验证。总体来讲,GCKontrol是一款功能强大、高效灵活的控制系统设计与仿真软件,能够广泛应用于大型复杂工业装备的设计和运维中,实现装备数字孪生应用。

近几十年,MATLAB/Simulink一直是图形化建模和仿真工具中的主导者,其提供了完整的系统仿真环境,可以快速地进行模型和控制算法的验证,是过去和当前最为主流的系统建模工具之一。然而,随着我国开始大力推进工业软件的发展,从成本、技术自主性和国家战略安全性的角度来看,国内长期使用的MATLAB/Simulink将被逐步淘汰,如何将大量历史模型资料及成果快速、自动化、准确地转移至国产化工业软件中,并保证仿真结果的高准确度水平,成了一个十分重要的问题。

Simulink2GCKontrol工具箱

工具箱介绍

为了便于GCKontrol用户将Simulink工程迁移至GCKontrol,我们开发了Simulink2GCK工具箱。该工具箱使用M语言编写,运行在MATLAB环境,通过调用Python API实现模块、子系统、连线等的转换。使用该工具箱,用户可将Simulink工程自动导入GCKontrol,生成GCKontrol工程,使用户在仿真工具之间的切换更加高效便捷。

其中,GCKontrol支持的模型库包括: 标准数学函数库、时间函数库、插值表库、四元数库、信号通路库、数字逻辑库、状态图和子系统等;GCKontrol的状态图 功能主要包括5大部分: 编程、运算、数据管理、层次浏览、调试。

使用方法

在使用时,需要在Matlab内运行Simulink2GCK主函数从而弹出的Simulink2GCK的UI界面,并在界面中选取并添加Simulink工程路径、GCKontrol工程路径,转换结果文件路径;点击"开始转换"按钮后,Simulink工程便开始向原本空白的GCK工程转移,转换完成后在Simulink2GCK_UI可以看到"转换完成"提示,如下图所示。

应用案例------基于三个天体的万有引力运动学系统模型**

模型介绍

有三个天体A,B,C,质量分别为M1,M2,m假设A、B在坐标系中固定不动,C在与A、B的万有引力作用下运动。三个天体的坐标如下图所示。

已知三个天体的坐标位置为A:(x1,y1),B:(x2,y2),C:(x,y),且行星C初始静止,其初始静止坐标为(x0,y0),则根据万有引力定律有:

其中:

建模及仿真结果对比

根据上述数学模型,在Simulink中搭建系统模型,如下所示:

使用Simulink2GCK工具箱,可以将其自动转换为GCKontrol模型:

在Simulink中,天体C的运行轨迹及其x、y坐标相对于时间的变化曲线如下图所示:

在GCKontrol中,天体C的运行轨迹及其x、y坐标相对于时间的变化曲线如下图所示:

可以看到GCKontrol实现的三个天体的万有引力运动学系统模型仿真结果与Simulink结果一致(10e-5)。

总 结

本文介绍了将Simulink工程迁移至GCKontrol中的Simulink2GCK工具箱及其使用方法,并通过一个系统仿真案例对转换结果进行了演示和对比,二者的仿真结果一致,充分展示了Simulink2GCKontrol工具箱的便捷有效性以及GCKontrol仿真软件高度准确性,为客户Simulink存量业务的迁移提供了高效便捷的工具支撑。

相关推荐
匆匆那年随风几秒前
C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解
后端
这里有鱼汤1 分钟前
Python侦探:我用代码破解男朋友的浏览历史,发现了惊天秘密!
后端·python
Lx3522 分钟前
《从头开始学java,一天一个知识点》之:控制流程:if-else条件语句实战
java·后端
小菜不菜_xc2 分钟前
本地部署 DeepSeek:从 Ollama 配置到 Spring Boot 集成
人工智能·后端·spring
星辰大海的精灵5 分钟前
SpringBoot与Sentinel整合,解决异常爬虫请求问题
spring boot·后端·架构
小码编匠6 分钟前
WPF 中实现分组数据展示的两种方式
后端·c#·.net
upsilon7 分钟前
golang流程控制-条件判断
后端·go
upsilon7 分钟前
golang运算符
后端·go
莫克7 分钟前
Maven 教程之 pom.xml 详解
java·后端
nodoctoranymore8 分钟前
异常和异常调用链
后端