如何实现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存量业务的迁移提供了高效便捷的工具支撑。

相关推荐
凡人的AI工具箱16 分钟前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
java亮小白199724 分钟前
Spring循环依赖如何解决的?
java·后端·spring
2301_8112743141 分钟前
大数据基于Spring Boot的化妆品推荐系统的设计与实现
大数据·spring boot·后端
草莓base1 小时前
【手写一个spring】spring源码的简单实现--容器启动
java·后端·spring
Ljw...2 小时前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
编程重生之路2 小时前
Springboot启动异常 错误: 找不到或无法加载主类 xxx.Application异常
java·spring boot·后端
薯条不要番茄酱2 小时前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
qq_174482857510 小时前
springboot基于微信小程序的旧衣回收系统的设计与实现
spring boot·后端·微信小程序
锅包肉的九珍10 小时前
Scala的Array数组
开发语言·后端·scala
心仪悦悦10 小时前
Scala的Array(2)
开发语言·后端·scala