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

相关推荐
ajsbxi3 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
颜淡慕潇1 小时前
【K8S问题系列 |1 】Kubernetes 中 NodePort 类型的 Service 无法访问【已解决】
后端·云原生·容器·kubernetes·问题解决
尘浮生2 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
尚学教辅学习资料2 小时前
基于SpringBoot的医药管理系统+LW示例参考
java·spring boot·后端·java毕业设计·医药管理
monkey_meng3 小时前
【Rust中的迭代器】
开发语言·后端·rust
余衫马3 小时前
Rust-Trait 特征编程
开发语言·后端·rust
monkey_meng3 小时前
【Rust中多线程同步机制】
开发语言·redis·后端·rust
paopaokaka_luck8 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
码农小旋风9 小时前
详解K8S--声明式API
后端
Peter_chq9 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端