《基于RTAI的发动机硬件在环实时仿真系统.pdf》由会员分享,可在线阅读,更多相关《基于RTAI的发动机硬件在环实时仿真系统.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-1-基于基于 RTAI 的发动机硬件在环实时仿真系统的发动机硬件在环实时仿真系统1 张 捷,高世伦,蒋方毅(华中科技大学 能源与动力工程学院,湖北 武汉 430074)E-mail: 摘要摘要:在电控增压柴油机控制系统设计的初始阶段,建立发动机模型并对其进行硬件在环仿真是非常重要的环节。本文介绍了一种新的基于 Matlab/RTW 和 Linux实时操作系统的仿真方法,所构建基于 Simulink 的发动机实时仿真模型,可自动生成优化的嵌入式实时仿真代码,在线调整模型参数并监视仿真数据。与传统的手工编写和修改仿真模型代码的方法相比,加速了硬件在环仿真平台的研制。通过对 6110/125zl
2、型柴油机进行仿真的分析,验证了该方法的快速可行性。关键词关键词:柴油机;硬件在环仿真;代码自动生成;RTAI 实时系统 中图分类号中图分类号:TK42 文献标识码文献标识码:A 在电控增压柴油机控制系统设计的初始阶段,建立发动机模型并对其进行硬件在环仿真(HILS)是非常重要的环节。仿真的精度和实时性在很多情况下是一对矛盾。以车用6110/125ZL柴油机为例,额定工况2300r/min时,每循环耗时52ms,每度曲轴转角(CA)时间为0.072ms。而作为进一步仿真开发的内容共轨式电控系统来说,控制仿真精度要求达到0.1CA,要求柴油机仿真系统具有相当快的计算速度,对实时性要求非常苛刻,必须
3、满足以下要求:(1)高速运算能力,以满足实时性或严格的时间要求;(2)高速而适应面广的I/O接口,以适应控制器硬件及传感器、执行器不断更新换代;(3)扩展性好,以满足控制器控制项目的增加及控制复杂性不断提高的要求。1.1.发动机硬件在环仿真系统总体方案 发动机硬件在环仿真系统总体方案 本文采用快速开发方法构建共轨式柴油机硬件在环系统,是从Matlab/Simulink模型框图到RTAI(Linux)硬件在环实时仿真平台的一体化整体解决方案,具有以下的特点:(1)应用了硬件在环快速开发方法。硬件在环快速开发方法流程见图1。利用这个方法,可以使软件的开发过程简化并更有效率。该方法使系统的设计工作得
4、以快速实现而无须进行繁琐的手工编写代码和调试过程。能直接从Simulink模型中生成具有产品级质量的、用于实时系统的c代码,通过交叉编译和链接可直接下载到目标处理器中。用户可通过生成s函数的方法,对所生成代码个性化,或通过使用目标语言编译器指定生成代码的特性。这样可以将主要编写代码的工作集中在产品的特性上(如设备驱动程序和在实际应用中利用通用设备接口)。(2)选用RTAI实时操作系统 HILS系统是一个功能较复杂、性能要求较高的仿真系统,必须选择通用性好,功能强的操作系统。Linux在近年发展迅速,功能强大,而且它的内核源代码开放,可以在一般 PC上安装实现,具有很强的通用性。RTAI是Lin
5、ux的实时版本,它除了具有Linux的全部功能 1 本课题得到教育部高等院校博士点基金(项目编号:20040487038)的资助。http:/ -2-和优点,还是可以实现硬实时、多任务、高性能的实时操作系统。与商业模式研发的其他PC RTOS相比,RTAI在价格,开发模式上具有优势。另外,作为一个类UNIX操作系统,RTAI保持了对Linux应用程序的兼容,因此,Linux上的网络、X-Window等众多应用程序,甚至一些设备驱动程序都可以不加修改地直接移植。因此在RTAI上的开发是开放的,而且是高起点的。(3)硬件采用通用PC机 在硬件在环仿真快速开发中,传统的技术方案是采用DSP等专用信号
6、处理芯片完成实时仿真计算任务。但是,近年来通用PC在浮点运算和外部总线技术上的进步已经大大扩展了它们在信号处理领域的应用。考虑长期发展趋势、业界的支持度和价格等方面因素,硬件在环平台采用通用PC机,I/O接口为通用多功能数据采集卡,且板卡的设备驱动由Comedi工程支持。2.2.基于Simulink的增压柴油机平均值模型 基于Simulink的增压柴油机平均值模型 计算模型可以采用基于充排法的较复杂的模型或基于平均值法的相对简化的模型。文献1中所介绍的基于充排法的非增压柴油机仿真计算每循环耗时与我们的期望有几个数量级的差距。考虑开发的任务首先是初步设计和验证技术路线的可行性,所以仍然选择可适用
7、于涡轮增压柴油机工作过程仿真的平均值模型2,本平均值模型是基于准稳态的非线性模型。准稳态模型具有能很好地兼顾柴油机动态过程仿真实时性和精度要求的优点。涡轮增压柴油机模型由5个部分组成(图2):柴油机本体、燃油系统、压气机、中冷器及涡轮。柴油机模型建模的基本假设有:a.流过系统各部件的气体质量流量连续。b.柴油机所有气缸工作状态一致,所有增压器工作状态及热力学参数一致。c.循环供油量瞬时变化而达到稳态。d.系统中压力、温度及流量为平均值,所有状态参数只是时间的函数,与空间位置无关。涡轮增压发动机仿真框图比较复杂,它又由许多子模块组成,分别在Matlab/Simulink中搭建系统的模块图(图3)
8、,用Subsystem Block将增压器、发动机本体、供油系统图 1 硬件在环仿真系统快速开发方法 Linux 操作系统 RTAI 实时 内核改造 仿真目标机I/O 接口板卡Comedi 驱动 实时仿真 代码生成 Simulink 模型框图 RTW 实时目标 ECU 快速原型 图 2 涡轮增压柴油机系统模型组成 进气管 排气管 涡轮负载 中冷器气缸压气机http:/ -3-分别封装成子系统,彼此间只有数据的输入输出。3.3.硬件在环仿真平台快速开发 硬件在环仿真平台快速开发 3.1.3.1.利用 RTW实现硬件在环快速开发方法 利用 RTW实现硬件在环快速开发方法 完成仿真模型后,接下来的问
9、题是如何把在Simulink中建立的模型转换成可执行代码,加载到RTAI实时操作系统的目标机中。利用Matlab中的RTW工具箱实现快速开发方法,模型从设计到实现是一个可循环的过程。RTW自动生成模型的实时源程序和实时可执行程序,后者可以直接在目标机的实时操作系统上实时运行。采用RTW这样的方案可以大大降低程序开发的难度。概括地说,使用RTW的一般步骤如图4。(1)RTW的程序创建过程首先从对Simulink模块方框图的分析开始,包括以下过程:a、计算仿真和模块参数。b、递推信号宽度和采样时间。c、确定模型中各模块的执行次序。d、计算工作向量大小(例如S函数工作向量)。在本阶段,RTW首先读取
10、模型文件(.mdl)并对其进行编译,形成模型的中间描述文件。该中间描述文件以ASC码的形式进行存储,其文件名为.rtw,该文件是下一步骤的输入信息。“.rtw”文件在格式上与Simulink模型(.mdl)文件相似。(2)由目标语言编译器(TLC)生成代码 在程序创建过程的第二阶段,目标语言编译器将中间描述文件(.rtw)转换为目标指定代码。目标语言编译器执行一个由几个TLC文件组成的TLC程序,该程序指明如何根据.rtw文件,从模型中生成所需代码。(3)生成自定义的联编文件(makefile)所生成联编文件(即.mk)的作用:指导联编程序如何对从模型中生成的源代码、主程 图 3 涡轮增压发动
11、机仿真框图 http:/ -4-序、库文件或用户提供的模块进行编译和链接。在创建本文程序之前,用户必须配置RTAI模板联编文件rtai.tmf。用以指定RTAI的环境信息。然后RTW根据系统模板联编文件(System Template Makefile),即system.tmf生成.mk,该系统模板联编文件专为特定的目标环境而设计。模板联编文件允许用户指定编译器、编译选项和可执行文件生成过程中额外的信息。3.2.3.2.硬件接口设计及设备驱动 硬件接口设计及设备驱动 在硬件在环仿真中必须模拟生成满足实际部件输入要求的信号,并将需要的外部信号转变成计算机可利用的数值。即涉及到不同类型信号(物理信
12、号和数字信号)之间转换问题。由于某些信号的特殊性,一般通用的计算机信号处理电路无法满足使用要求,只能专门设计开发相应的接口设备,同时必须考虑设备本身的特性对仿真结果和精度产生的影响。为了节约资金和缩短开发周期,本文在接口设备建设中尽量采用通用的微机数据采集系统。(1)设备驱动 RTW环境能够实现模型代码自动生成,由用户选择不同的目标环境及编译参数后自动实现的。而本文中的硬件在环实时仿真平台是基于个性化的RTAI实时目标,最终将实现硬件间信号通讯,因此,用户还需要事先完成硬件驱动工作。具体步骤如下:a、加入设备驱动模块 为更好地与硬件通讯,需要设备驱动。实时程序通过一组设备驱动模块与安装在RTA
13、I目标上的设备进行通信。设备驱动模块包含了同指定I/O设备进行接口所需的代码。目前许多测控设备制造商并不提供Linux驱动。但是Linux作为一个开放资源的操作系统,许多热心开发者都给予了大力支持,比如Comedi工程就提供了大量的设备驱动3。Comedi工程提供了RTAI目标中多种类型的I/O驱动模块(图6-6a),用户可将其添加到Simulink模型中,使用户的模型与实际的物理I/O设备板连接到一起。RTAI目标模块库中,一个驱动模块只能实现一个I/O设备板的一部分功能,因此,对于每个物理I/O板,RTAI目标库中也许需要多个模块才能实现。RTAI目标的I/O驱动模块采用c代码编写的s函数
14、(非内联的s函数)加以实现。Comedi驱动软件中提供了I/O驱动模块的C代码s函数的源代码。b、将设备驱动模块添加到模型中 将RTAI目标的I/O设备模块添加到Simulink模型中。RTAI目标提供了RTAI驱动模块的Simulink模块库,用户可以通过简单的鼠标操作,把I/O模块从库中拖动到Simulink模型中。I/O模块库是按其功能进行划分的,其中包括A/D、D/A、数字输入、数字输出等。c、定义I/O设备驱动模块的参数 I/O模块参数对话框小的多数定义了与物理I/O板相对应的参数值,包括I/O板的通道数目、输入输出电压范围和采样时间等(如图6-6b)。完成I/O模块的参数设置工作,
15、就可进行创建模型的目标程序,然后运行所生成的目标应用程序。(2)I/O设备卡及端口定义 本仿真系统I/O设备选用了美国国家仪器公司(NI)的PCI系列中6221型多功能数据采集卡4。一方面是因为它具有较高的性能价格比,完全满足本文硬件在环系统的要求。再则RTAI和Comedi提供了该数据采集卡驱动程序,使用非常方便。该卡提供了16个模拟输入通道,2个模拟输出通道,24个数字 I/O,2个24-bit定时/计数器(10 MHz)。PCI-6221数据采集卡直接插在目标机的总线扩展槽内即可使用。由SHC-68-EPM电缆和CB-68LP接线盒连http:/ -5-接。3.3.3.3.程序执行 程序
16、执行 程序创建过程后最终将生成可执行程序,运行于硬件在环仿真平台。根据本文硬件在环仿真系统配置,在RTW选项中选择RTAI目标,程序创建过程将对编译器程序进行调用,模型框图将自动生成代码(图6-5)。为避免对c代码文件进行不必要的重编译,联编实用程序对object文件和c代码文件的从属关系进行时间检查,只对未更新的源文件进行编译。可执行代码自动生成后,在RTAI实时操作系统中通过linux命令来编译和链接,最终运行仿真。4.4.实时仿真结果 实时仿真结果 为了使模型在动态时的仿真结果可靠,首先要调整模型中的边界条件和一些经验模型的参数值,校验稳态工况下的计算结果与实际测量结果。仿真模型对611
17、0/125zl涡轮增压柴油机的稳态工作过程进行了模拟计算,在额定工况(2300r/min,177 kW)下的发动机特性参数有效燃油消耗率为225g/kW.h,与实测的228g/(kW.h)的误差值都在允许范围之内。然后进一步对发动机的加速、减速、加载和减载等典型动态过程进行了仿真。在图4中,当仿真进行到6秒时,油门由60突升至90;当仿真进行到14秒时,油门由90再突降至60。在图5中,发动机负载由733N.m突降至640N.m。由图可见,转速相对于油门和负荷的变化都存在滞后,而转速在整个仿真过程中的变化趋势与实际的情况吻合。5.5.结论 结论(1)本文所开发的基于RTAI实时目标发动机仿真模
18、型能充分保证了可靠的实时性,使同样的硬件配置能够满足更强的实时性要求,为应用的开发留下更大的余地。(2)采用从模型框图到硬件在环平台配置的快速开发方法。由Matlab/Simulink建立的模型框图通过Matlab/RTW实时目标,自动生成优化的可在具有RTAI实时内核的仿真平台中运行的可执行代码。与传统方法相比,该解决方案大大加速了硬件在环系统的开发。(3)由发动机动态仿真结果可知:采用平均值模型能较正确的反映油门或负荷变化时发动机转速的变化情况,且能满足动态仿真的实时性和精度要求,对电控增压柴油机控制策略及系统参数的调整具有指导意义。图 4 油门位置突变动态过程仿真 图 5 负载突变动态过
19、程仿真 http:/ -6-参考文献参考文献 1 Kao M H,Moskwa J J.Turbocharged Diesel Engine Modeling for Nonlinear Engine Control and State Estimation.Transaction of ASME,1995(117):2030 2 Hendricks E.Mean Value Modeling of Large Turbocharged Two-Stroke Diesel Engines.SAE Paper,1989:986998 3 Comedi:linux control and meas
20、urement device interface introduction.http:/edi.org/index.html 4 M Series User Manual.National Instruments Corp.A Engine Simulating System Based on RTW and RTAI ZHANG Jie,GAO Shilun,JIANG Fangyi (Institute of Energy&Power Huazhong University of Science&Technology,Wuhan 430074,China)Abstract In the d
21、esign stage of electronic controlled diesel engine control system,to establish its simulation engine model and carry on HILS is a very important step.This paper introduces a new simulation method based on Matlab/RTW and RTAI real-time operating system.The engine model constructed by Simulink can pro
22、duce the embedded real-time code optimized automatically,and adjust the model parameter and monitor the simulation data online.Compared with traditional method to write and revise the simulation model code by hand,the method has accelerated the research of the hardware in the loop simulation.Through the analysis of the simulation result of the 6110/125zl diesel engine,the fast feasibility of this method has verified.Key words:diesel engine;HILS;code auto-generation;RTAI real-time OS http:/