发布时间:2025-03-27 00:12来源:盖世汽车 阅读量:8762
2025 年3月18日,在第六届软件定义汽车论坛暨AUTOSAR中国日上,上海创紫集团CTO彭思维向现场观众详细介绍了公司旗舰产品:科学计算与仿真建模软件Ganzlab的最新研发进展。据介绍,创紫集团的软件主要涵盖了科学计算系统建模、协同设计工程云平台、AI工业大模型等领域,为制造业客户提供全面的IT及工程服务解决方案。他重点阐述了 quot;基于模型驱动开发的应用层软件开发解决方案quot;,该方案依托企业自主研发的国产化工业软件Ganzlab构建,并对Ganzlab的技术架构与核心功能进行了深度解析。
Ganzlab作为创紫科技的旗舰产品,完全自主研发,旨在打破国外数值计算软件的垄断,实现国产化的替代。软件通过了ISO26262道路车辆功能安全管理体系认证,并参与受邀起草了两项技术规范。应用领域涵盖科学计算、数学建模、系统仿真、信号处理、代码生成、决策优化等。
软件特点包括超过800个用于科学和工程计算的数学函数、仿真专用的MBD建模工具Glink、可生成符合AUTOSAR标准的C代码,并支持SIL测试。在交互性与扩展性方面,布局灵活,API丰富,支持国内主流大语言模型接入。兼容性方面支持多种数据格式导入,跨平台兼容,与国产基础软件适配。更加专注于汽车行业,支持联合仿真、多目标优化、协同设计及专业模块定制。
上海创紫集团CTO
以下为演讲内容整理:
公司简介
上海创紫科技集团有限公司成立于2016年,是一家专注于自主品牌工业软件设计、开发、服务与推广的软件及工程咨询公司。公司自主开发的工业软件覆盖科学计算、系统建模、协同设计、工程云平台、AI工业大模型等领域。公司一直以来都致力于为制造业客户和产品研发机构提供全面的基于工业化软件应用的IT及工程服务解决方案,并跟一汽、上汽、比亚迪、中车、中船等制造业头部企业保持常年的项目合作,同时与中国科大、上海交大、哈工大、吉大等科研院校保持常年的研发合作。
公司总部设在上海,并在深圳、成都、长春、香港设立了分公司。目前公司拥有一支优秀的具有多年丰富经验的技术团队,专注于向国内客户提供集成化的现代产品研发解决方案和专项工程服务,为传统制造业企业进行数字化赋能,助力企业数字化转型。
Ganzlab介绍
Ganzlab科学计算与仿真建模软件是我们公司的一款旗舰产品。公司从创建之初就开始投入开发,并联合中国科学技术大学、哈尔滨工业大学、上海交通大学以及吉林大学长期紧密合作,结合公司近百人的研发团队经过10余年的不懈努力不断开发、更新、迭代完成,期间为国内多家汽车主机厂提供近10年的专业的工程咨询服务。
Ganzlab软件完全国内自主开发,目标是打破国外数值计算软件的垄断,彻底实现国产化替代,并且在一些专业的工程仿真领域将其超越。Ganzlab软件在2024年通过了ISO26262:2018 ASILD道路车辆功能安全管理体系认证。
近期,我们还受中国国际经济技术合作促进会标准化工作委员会邀请参与起草制定了《科学计算语言解释器词法分析技术规范》及《科学计算与系统建模仿真一体化平台技术规范》。
图源:演讲嘉宾素材
作为国内自主开发的科学计算与仿真建模软件,Ganzlab主要应用于科学计算、数学建模、系统仿真、信号处理、代码生成、决策优化、线性、非线性控制等科学和工程领域;并专门为汽车行业电子电气领域定制开发了基于AUTOSAR标准的国产化仿真工具链、以及基于MBD技术的汽车电子嵌入式软件开发解决方案。
Ganzlab有六大特点,一是科学计算,我们基于过去十几年的工程经验,积累了超过800个用于科学和工程计算的数学函数,这些函数经过了实际项目的验证;二是仿真建模,我们有强大的MBD建模工具——Glink;三是专注汽车行业,可以联合仿真、进行多目标优化、协同设计以及专业模块定制;四是代码生成与测试,我们有C代码生成工具与SIL测试工具;五是兼容性,软件可以实现多类型的数据格式转换、跨平台兼容;六是交互及扩展,软件界面布局灵活、API丰富、有大语言模型接入。
Ganzlab主要有四大功能模块。一是作为一款计算平台,我们有自己的语言Ganzlab,并集成了丰富的函数库,除了科学计算外,还有一些相应的行业工具。二是Glink,基于模型的图形化编程环境;三是Ganzlab环境下的Gtoms工具箱;四是AUTOSAR,汽车电子嵌入式软件应用层开发工具链。
我们的软件语言是一个脚本式的编程语言,名为Ganzlab,它可以结合其他语言使用,包括C、C++、Fortran、Java、python、modelica等。此外,Ganzlab语言支持SWIG,实现语言转换可以生成C/C++。在Ganzlab环境中内置Gnotes脚本编辑器,可以实现代码折叠、函数定义跳转、模糊查询等功能。C、Fortran语言可以直接在Gnotes编辑运行。Ganzlab还具有强大的绘图工具和丰富的内置绘图函数,可以实现曲线、曲面、云图、直方图、表格等形式的数据可视化,支持输出各种类型文件,如Word、Excel、PDF、PNG、JPG、GIF,并支持基于模板的脚本化报告生成功能。
图源:演讲嘉宾素材
Glink是一个基于模型的图形化编程环境,可以通过拖、拉、拽的方式进行快速建模搭建。Glink还支持混合系统建模和仿真控制的工具,并包含多种求解器类型,如LSodar、RK45、隐式RK45、ODE23、BDF-Newton等。我们目前在Glink环境中已经继承了约300个基础功能模块及100个工具箱模块用以搭建控制系统。Glink基础工具箱包括连续使用系统、非线性系统、信号处理、注释块等。
我们也允许用户根据需求自定义开发模块,打包成独立的工具箱;支持开源的Modelica模块直接使用和导入。在此基础上,我们在不断开发新模块。开发新模块的方式主要是编写计算函数,然后编写对应的接口,编译的环境中。通过这种方式,我们每年大约会增加40-50个新模块,软件不断丰富和壮大。
在Glink模块中,有一个很重要的功能,可以实现代码生成。我们可以将编辑好的算法模块或模型打包,然后自动生成对应的C代码,也可以将这些代码文件以模块的形式直接导回到Glink中。
Gtoms工具箱,相当于在集成了Ganzlab已有的计算函数之上,给每一个固定的工具生成对应的UI界面,可以打包封装成一个独立的应用。
在AUTOSOR层面,Ganzlab为汽车电子嵌入软件应用开发提供了相应的工具和功能。作为工具链的一环,我们是自上而下的开发方式。可以基于arxml文件在Glink中自动创建SWC框架模型,模型搭建好后,生成符合AUTOSAR标准的.camp;.h文件。
基于我们的开发工作,已开发出一系列工具,其中之一是对arxml文件的解析与导入功能。为此,我们专门设计了一款arxml importer工具,该工具能够借助脚本导入相应的arxml文件,并在预设的环境中自动构建出对应的SWC模型框架。目前,此工具支持的版本为AUTOSAR的主流版本。在工作区域内,该工具还能够自动生成相关的标定参数、用户自定义工具以及数据类型。arxml文件解析会返回一个Ganzlab结构体,并保存到工作区,用户可以查看字典里的所有信息。在生成SWC模型框架的过程中,我们同样会基于这些信息自动配置模型框架的端口维度以及单位信息等关键属性。
针对AUTOSAR开发过程中常见的场景,即存在大量简单的逻辑判断需求,我们注意到,如果采用数据驱动的模型搭建方式,可能会增加复杂性。鉴于此,我们专门推出了适用于Glink环境的有限状态机模块。此模块通过事件驱动和有限状态流程图的方式呈现,使得工程师与开发人员能够清晰地、直观地理解设计内容,有效避免逻辑错误,同时减轻工作负担,降低模型复杂度。
关于该模块的具体应用,我们已在指定环境中设置了一个专门的GFSM工具箱。该工具箱可作为普通模块与其他模块协同使用。用户只需将GFSM模块拖拽至环境中,随后双击即可打开一个新的编辑器界面。该模块功能完备,涵盖了状态机的所有核心功能。用户可以在此添加历史信息,包括状态的嵌套、状态转移条件,以及进入、退出等动作的执行条件。
接下来,我们的状态机模块将进一步升级,允许用户自定义其Data Model或内部局部变量,以便定义状态机所需的数据类型。若这些变量被定义为输入或输出类型,模块将自动更新其界面上的端口信息。一旦状态机模型定义完成,该模块上的输入与输出端口将随之自动更新。此后,该模块即可与其他模块无缝对接,直接用于模型仿真、代码生成等后续环节,实现编辑集成的便捷性。
MBD建模应用案例
下面以一个电动车窗控制逻辑为例,以Ganzlab/Glink的为MBD工具进行AUTOSAR的应用层软件组件开发流程进行演示。首先在AAT软件中,以功能需求为输入,进行SWC框架创建,输出一个PWL.arxml文件;之后在Ganzlab环境中导入该文件,使用脚本在Glink中自动生成对应的SWC模型框架;导入的SWC模型框架中的端口信息会基于arxml文件进行自动配置。
图源:演讲嘉宾素材
接下来,我们将根据功能需求,在既定的环境和接口中构建控制逻辑模型。此模型主要由三部分构成:第一部分为超级块,负责信号的分析与处理;第二部分为核心逻辑模块;第三部分为仲裁模块,负责输出相应的动作。
基于上述需求分解,我们将在每个状态机中构建对应的状态机模型,并对状态机进行独立测试。测试通过后,我们将模型整合至整体的Glink模型中。仲裁模块采用真值表形式,以确定输入条件与输出的三个对应动作。在确认每个模块测试无误后,我们将整体模块打包为超级块形式,并利用AUTOSAR code generator生成应用层文件,这些文件主要包括主文件、每个状态机对应的文件以及本地函数定义文件。
随后,将应用层文件放入appl文件夹内,使用IAR编译器对项目进行编译,并将结果烧录至测试硬件。本次目标开发板为S32K144,用到的硬件工具为J-link和UsbCan。在验证模型硬件运行情况时,我们首先在CAN通讯监测中加载对应的CAN数据库,并选择相应的通道。接着,在数据库中添加发送报文,主要观察六个信号对应的输出信号变化,包括最大作用时间、手动动作、PEPS动作、车门关闭状态、整车上电使能状态以及动作延时。通过调节这六个信号,我们观测对应的输出信号变化,并最终验证模型动作与需求文档中描述的驱动结果一致。在此过程中,真值表对应三个动作,而执行条件则依据不同的信号进行判断。
声明:免责声明:此文内容为本网站转载企业宣传资讯,仅代表作者个人观点,与本网无关。仅供读者参考,并请自行核实相关内容。