CRUISE与Simulink联合仿真介绍

本文转载在我的微信公众号:古德曼汽车工业。公众号文章都会知识星球、知乎进行转载,请有兴趣的朋友可以关注我的微信公众号

原文地址:CRUISE与Simulink联合仿真介绍

使用AVL-CRUISE仿真软件做新能源汽车动力经济性仿真时,无一例外的会遇到控制策略编写的问题。本文分析常用的几种AVL-CRUISE与Simulink联合仿真的方式及他们的优缺点,帮助大家选择合适的联合仿真方式。

介绍联合仿真前,我们先来看看AVL-CRUISE自带的Function模块,这个模块支持C语言与RPN-Formula,由于C语言比较灵活,所以应用也比较多。准确的说是一种模拟的C语言,支持基础的语法与函数,可以方便使用者做一些简单的策略(指针、结构体共同体这类的就不用想了)。

这个模块有一个特点就是代码不能太长(印象中是不超过400字符),如果你的控制逻辑相当复杂,那可能需要拆分成多个Function模块来实现。再者,就是输入输出都以数组的形式(a[0]~a[n],y[0]~y[n]),这给编程人员造成不少麻烦,需要通过看描述才能知道输入输出具体代表什么。总的来说开发环境不太友好。

Matlab API

将Simulink保存的MDL文件直接加载到AVL-CRUISE的模块中,运行的时候需要同时开启Matlab与AVL-CRUISE两个软件

这种仿真的优势很明显,工程师可以非常直观的看到每一个步长的执行过程,判断是否与预先设计的逻辑相符。缺点也非常突出,这样的仿真速度是一个步长一个步长的进行,速度会非常缓慢。实际使用中也不推荐大家使用。

Matlab DLL

Simulink控制策略模型使用代码生成技术转换为C语言,并且经过编译器生成dll文件格式。32位的Matlab使用自带的lcc-win32编译器,64位Matlab需要额外安装Win SDK7.1编译器,通过AVL-CRUISE提供的编译模块编译生成dll文件。

根据不同编译器选择对应的CRUISE解算器,使用64位编译器Platform就应当选Win64

仿真任务运行时,由CRUISE解算器调用编译过后的DLL文件,过程无需启用Matlab程序。仿真速度非常快,并且对策略进行封装后,策略闭源有助于保密。当然这种联合仿真方式也有个缺点,就是只能运行经济性任务。也是就说,它只适合运行Cycle类型的任务。

如果需要做动力性仿真,要么就设置一个能跑出动力性的循环工况(例如设置一个无法到达的车上,看看最后最高车速能稳定在多少与百公里加速时间),要不就是使用之前提到的Function模块设计个简单的动力性策略。

**如果您觉得文章对您有帮助,麻烦点击下关注,订阅号将会持续与您分享经验和小工具**

CRUISE Interface

Interface联合仿真,是通过AVL提供的Sfunction进行的,在Matlab中调用CRUISE的解算器,这个过程中无需要额外开启AVL-CRUISE。

封装的S函数模块需要输入的参数有:CRUISE解算器的路径、CRUISE的模型路径、任务文件夹索引、任务的索引。其中任务文件夹索引、任务的索引用来描述第几个计算任务文件夹下的第几个任务。

S函数的输出为CRUISE的输入接口,S函数的输入为CRUISE的输出接口。S函数的信号数要与CRUISE的接口信号数量严格一一对应。即便有的S函数的输出端口在CRUISE中没有实际作用,也要在CRUISE将该信号连接到Monitor上,否则S函数是会报错。

在Simulink中点击运行,就可以在加入的示波器中看到图形。这种方式的运行速度虽然不如Dll方式来的快,但是比Matlab API快不少了,也方便工程师比较直观的看到整个策略逻辑执行的过程,提高调试策略的效率。这种使用Simulink通过S函数调用CRUISE工程的方式也方便广大搞学术研究的朋友,在Matlab实现更多高大上的优化算法。但问题也不是没有,每一次仿真只能够运行一个仿真任务(通过任务文件夹索引与任务索引来确定)。

FMU

FMU文件是基于FMI协议进行封装模型文件。FMI协议是独立于建模软件的标准接口协议,可以用于集成不同的软件建立的不同详细程度的模型,进行MIL/SIL/HIL仿真。

其实FMU文件的本质还是上面讲过的DLL方式,它对DLL文件再一次进行封装。文件中增加了输入与输出口的描述信息。

导入FMU文件后,点击解包就能看到输入输出信号的描述

FMU文件的导出需要在Matlab中安装一个插件在Matlab的项目管理状态下,将Simulink导出为FMU文件

既然本质与Dll方式一致,所以优缺点就与DLL方式是一样,就不重复说明

最后使用表格的形式总结下内容

每种联合仿真方式都有自己的特点,需要根据自身编程习惯,项目需求等,选择合适的仿真方式

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容