GCKontrol

系统设计与仿真软件

向下滑动
首页 Home > 产品 > GCKontrol

GCKontrol系统设计与仿真软件

  GCKontrol系统设计与仿真软件,是一款图形化建模仿真工具,能够实现系统设计与仿真,具备丰富的控制系统建模元素,支持控制系统建模仿真、线性非线性系统建模仿真、能自动生成高效高质量的C代码,支持FMU导出、实时仿真、自动化测试和验证。




产品功能

 

●图形化信号流建模
 

  GCKontrol提供多元化模型库,库中包含丰富的信号流元素,用户将模型库中的元素拖拽至工程界面并连线,即可确立模块间的数学关系,从而实现系统模型的构建。GCKontrol支持的模型库如下:
 

✓标准数学函数库 ✓四元数库 ✓数字逻辑库
✓时间函数库 ✓信号通路库 ✓状态图建模
✓插值表库 ✓系统/子系统属性配置 ✓用户自定义模块库





 

●状态图建模
 

  状态图建模是一种图形化编程方法,可清楚地描述复杂系统的执行逻辑、决策逻辑、计算逻辑、故障管理等。GCKontrol支持状态图建模,用户可以用状态图元素创建复杂的状态图系统/子系统。GCKontrol的状态图功能主要包括5大部分:编程、运算、数据管理、层次浏览、调试;带有状态图子系统的GCKontrol 工程支持自动生成代码,导出FMU,封装为虚拟子系统、封装为库等。状态图功能如下:
 

✓状态进入、执行、转移、退出 ✓状态图调试,实时观测状态传递
✓状态组合:并行执行、互斥执行 ✓状态图做为GCKontrol工程的子系统被调用
✓状态嵌套、层次浏览、数据管理  





 

●用户自定义算法:C-Code模块
 

  C-Code模块支持用户将C/C++代码导入,并支持C/C++代码对第三方库或依赖的调用,提高了系统建模的灵活性、通用性、扩展性。其核心功能如下:
 

✓支持将已有的C/C++代码加入仿真模型
✓多个C-Code模块可导入相同或不同的C/C++代码文件,满足不同用户的需求
✓支持第三方库加载及环境变量引用,扩展和丰富C-Code模块功能





 

●用户自定义算法:M-Code模块
 

  M-code模块支持用户将Matlab M脚本导入,并支持M脚本对其他M脚本的调用,提高了系统的灵活性、通用性、可扩展性。其核心功能如下:
 

✓支持将已有的Matlab M语言脚本加入仿真模型 ✓支持通用的Matlab函数库
✓多个M-Code可导入相同或不同的M代码文件,满足不同用户的需求  
✓支持M脚本对其他M脚本的调用,扩展和丰富了M-Code模块功能  





 

●模型架构和模型库:虚拟子系统
 

  用户在建模时可控制子系统的调度周期、设置子系统的中断函数,使子系统在外部控制信号使能/触发时,子系统内部任务才可执行,从而实现对不同子系统/子任务的灵活配置与调度。虚拟子系统也有效提高了模型的可读性,维护性,复用性。虚拟子系统的核心功能如下:
 

✓对模型层次划分,增强可读性 ✓子系统具有独立属性
✓保持各模块之间的函数关系 ✓可单独设置子系统调度周期
✓可设置为条件执行子系统:可设置子系统使能、触发等,使子系统由外部信号控制执行





 

●模型架构和模型库:自定义库封装和管理
 

  自定义库封装可以把虚拟子系统保存到库,实现子系统模型的封装,库里的子系统可被不同的工程复用或被同一个工程共享使用,也可以采用Git对模型库进行版本管理。其功能点如下:
 

✓支持自定义库的封装和复用 ✓支持系统及子系统嵌套
✓支持子系统全局参数设置和复用 ✓可用GIT和SVN对模型库进行版本管理





 

●高质量C代码生成,用于嵌入式系统集成
 

  在嵌入式代码开发中,传统的流程是基于需求文件进行手写代码,这个流程迭代慢、开发慢、效率低、缺陷多,验证困难。现代开发流程是基于模型的系统设计,工程师将设计需求分为不同的功能模型,在功能模型的基础上又拆分为多个算法单元模型。基于模型自动生成嵌入式代码,在模型级别进行测试;再把多个模型代码集成、部署成到嵌入式平台,在系统级别进行测试。GCKontrol可完成代码生成、代码集成的功能。其功能如下:
 

✓生成C代码满足MISRA-C代码规范
✓模型和代码的一对一关系,满足可追溯性
✓生成的C代码跨平台、跨硬件、全独立,没有依赖代码和库
✓支持定点计算,模型自动生成定点计算C代码,满足嵌入式系统
✓支持代码集成(SWC):对模型配置,在代码集成时,满足多个工程模型之间的变量传递和参数访问





 

●跨平台FMU导出
 

  基于FMI标准封装的模型文件叫FMU。FMU具有下列应用成效:系统快速集成,不需要大量开发软件定制接口,就可以进行模型的联合仿真;不同学科之间可实现模型重用;为整个系统的设计带来更丰富、更科学的分析手段,为分析跨学科和多系统交联的验证和确认提技术方法。GCKontrol支持导出FMU,其核心功能如下:
 

✓导出的FMU包含源代码、输入输出配置、模型参数、内部变量
✓支持Co-Simulation 2.0导出FMU
✓FMU支持跨平台,可在Windows/Linux系统运行





 

●自动化建模仿真测试-Python API
 

  为了提高流程自动化,GCKontrol提供了一套Python API接口函数,用户可编写Python脚本,对这些API进行灵活的组合和运用,以完成多种任务。可使用户摆脱频繁手动点击工程界面进行批量操作的繁重劳动。
 

  第一:调用Python API对工程进行仿真控制,例如打开模型、配置参数、设定步长、运行仿真等;也可以进行建模控制,例如创建模型、创建模块及连线、配置模块参数、获取仿真结果等。
 

  第二:调用Python API实现自动化测试脚本,例如创建工程、配置模型参数、仿真参数,完成模型的大批量自动化测试,从而实现模型优化、性能评估等。
 

  第三:调用Python API实现仿真工程后处理,例如结果分析,数据对比等。
 

  第四:用户可在Matlab编写M脚本来调用GCKontrol API,可完成GCKontrol模型与Matlab工程的交互调用。
 

  第五:调用Python API可实现自动化测试软件的开发,用于对GCKontrol工程进行自动化测试。
 

✓仿真GCK Python API可实现: ✓建模GCK Python API可实现:
◆打开模型,设置参数
◆自动化创建模块、连线
◆运行仿真,读结果
◆自动配置模块参数、数据类型





 

●模型数据调试可视化
 

  为提高开发效率和开发质量,GCKontrol提供丰富的模型调试和分析功能。在模型调试阶段,GCKontrol支持显示信号的数据维度、数据类型、数据值等,在仿真中实时观测数据传递,仿真结束后回看仿真过程每一刻的数据。其核心要点如下:
 

✓显示信号数据维度、数据类型、数据值 ✓在仿真中实时观测数据传递
✓仿真结束后回看仿真过程每一刻数据  





 

●仿真结果可视化
 

  系统仿真的结果需要具备丰富的显示方式,才能使用户理解复杂系统的输出,并做出分析判断和对比评估,包括不同层次的子系统输出,每个层级的各元素、各模块输出等等。GCKontrol提供的2D面板可视化,配置简单高效,功能丰富多样。其主要功能如下:
 

✓支持在2D面板配置所需显示的模型变量 ✓支持把曲线导出*.svg矢量图片和*.csv数据
✓支持基于y(t)曲线、y(x)曲线使仿真结果可视化  





 

GCKontrol产品优势
 

学习成本低
✓GCKontrol保留Simulink操作习惯,用户可快速搭建模型
✓在控制系统设计领域能替代主流MBD(Model Based Design)平台-Simulink
自动生成代码可控
✓GCKontrol构建的模型能自动生成C代码,可配置为浮点/定点计算,满足实时性,可用于嵌入式系统,且代码生成过程可调可控
仿真速度快
✓在纯虚拟仿真时,GCKontrol生成代码的运行机制,相比于Simulink,模型解算速度提高了10到20倍
模型代码开源
✓用GCKontrol开发的所有模型,示例工程都是白盒,允许用户自定义修改
 





 





 

 

您确定要推出吗?