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

相关推荐
骆晨学长26 分钟前
基于springboot的智慧社区微信小程序
java·数据库·spring boot·后端·微信小程序·小程序
AskHarries31 分钟前
利用反射实现动态代理
java·后端·reflect
Flying_Fish_roe1 小时前
Spring Boot-Session管理问题
java·spring boot·后端
hai405872 小时前
Spring Boot中的响应与分层解耦架构
spring boot·后端·架构
Adolf_19933 小时前
Flask-JWT-Extended登录验证, 不用自定义
后端·python·flask
叫我:松哥3 小时前
基于Python flask的医院管理学院,医生能够增加/删除/修改/删除病人的数据信息,有可视化分析
javascript·后端·python·mysql·信息可视化·flask·bootstrap
海里真的有鱼3 小时前
Spring Boot 项目中整合 RabbitMQ,使用死信队列(Dead Letter Exchange, DLX)实现延迟队列功能
开发语言·后端·rabbitmq
工业甲酰苯胺3 小时前
Spring Boot 整合 MyBatis 的详细步骤(两种方式)
spring boot·后端·mybatis
新知图书4 小时前
Rust编程的作用域与所有权
开发语言·后端·rust
wn5315 小时前
【Go - 类型断言】
服务器·开发语言·后端·golang