亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        發(fā)動(dòng)機(jī)控制系統(tǒng)Simulink模型中MAP模塊的開發(fā)

        2018-01-04 03:39:32賈利張維彪楊薇智海峰劉濤況涪洪肖維
        車用發(fā)動(dòng)機(jī) 2017年6期
        關(guān)鍵詞:代碼生成調(diào)用步長(zhǎng)

        賈利,張維彪,楊薇,智海峰,劉濤,況涪洪,肖維

        (中國(guó)北方發(fā)動(dòng)機(jī)研究所(天津),天津 300400)

        發(fā)動(dòng)機(jī)控制系統(tǒng)Simulink模型中MAP模塊的開發(fā)

        賈利,張維彪,楊薇,智海峰,劉濤,況涪洪,肖維

        (中國(guó)北方發(fā)動(dòng)機(jī)研究所(天津),天津 300400)

        針對(duì)發(fā)動(dòng)機(jī)控制系統(tǒng)Simulink模型自動(dòng)生成的代碼不支持MAP標(biāo)定和燒寫的問題,開發(fā)了基于S函數(shù)的MAP模塊。建立使用該MAP模塊的發(fā)動(dòng)機(jī)模型并生成基于飛思卡爾MPC5634M單片機(jī)的控制代碼。發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)結(jié)果證明,該MAP模塊生成的代碼可以實(shí)現(xiàn)MAP在線標(biāo)定和離線燒寫功能。

        控制單元;代碼生成;在線標(biāo)定

        隨著代碼生成工具的不斷發(fā)展,基于模型的設(shè)計(jì)方法被廣泛應(yīng)用于汽車控制系統(tǒng)的開發(fā)[1-5]。Matlab/Simulink是在汽車電子控制軟件開發(fā)領(lǐng)域應(yīng)用較廣泛的基于模型的設(shè)計(jì)軟件,提供了圖形化的編程環(huán)境,并支持根據(jù)模型來生成、測(cè)試和配置產(chǎn)品級(jí)的C代碼[6-13]。通過Simulink模型生成的發(fā)動(dòng)機(jī)電子控制軟件必須支持發(fā)動(dòng)機(jī)匹配標(biāo)定所需的在線標(biāo)定和離線燒寫功能,才能滿足發(fā)動(dòng)機(jī)電控系統(tǒng)開發(fā)的應(yīng)用需要[14-15]。目前國(guó)內(nèi)尚缺乏支持上述功能的Matlab/Simulink工具箱以及配套軟硬件產(chǎn)品,不能滿足產(chǎn)品級(jí)的控制器模型開發(fā)。因此,開發(fā)Simulink模型中支持標(biāo)定和燒寫功能的MAP模塊具有切實(shí)的應(yīng)用價(jià)值。

        1 S函數(shù)的工作原理

        S函數(shù)是Simulink中系統(tǒng)函數(shù)(System Function)的簡(jiǎn)稱,是Simulink提供的用于功能擴(kuò)展的一種機(jī)制。S函數(shù)的運(yùn)作機(jī)制與Simulink的仿真流程一致(見圖1)。在每個(gè)仿真階段,Simulink內(nèi)核都會(huì)調(diào)用S函數(shù)中相應(yīng)的回調(diào)方法,執(zhí)行特定的任務(wù)。不同階段的任務(wù)包括:

        1) 初始化 在仿真循環(huán)運(yùn)行之前,內(nèi)核引擎將初始化S函數(shù),包括初始化包含S函數(shù)信息的仿真結(jié)構(gòu)體SimStruct、設(shè)置輸入輸出口的信息、設(shè)置功能塊采樣時(shí)間、分配存儲(chǔ)空間;

        2) 計(jì)算下一個(gè)采樣時(shí)間 如果模型是可變采樣時(shí)間步長(zhǎng),那么這一階段將計(jì)算下一個(gè)計(jì)算時(shí)間步長(zhǎng);

        圖1 S函數(shù)的運(yùn)作流程

        3) 計(jì)算輸出 在這個(gè)調(diào)用完成后,所有功能塊輸出端口在當(dāng)前時(shí)間步長(zhǎng)下更新完畢;

        4) 更新離散狀態(tài)變量 在這個(gè)調(diào)用中,功能塊進(jìn)行每個(gè)時(shí)間步長(zhǎng)一次的動(dòng)作,例如,更新離散狀態(tài)變量。

        上述各階段中,Simulink內(nèi)核會(huì)調(diào)用S函數(shù)中相應(yīng)的回調(diào)方法,Simulink規(guī)定了這些回調(diào)方法的名稱和功能,而具體實(shí)現(xiàn)則是根據(jù)實(shí)際需求來編寫。

        1) 初始化階段,調(diào)用回調(diào)方法static void mdlInitializeSizes(SimStruct *S)設(shè)置模塊的各項(xiàng)參數(shù),如輸入、輸出、參數(shù)、仿真選項(xiàng)等的信息,以及回調(diào)方法static void mdlInitializeSampleTimes(SimStruct *S)規(guī)定模塊的采樣時(shí)間,如采樣時(shí)間值等;

        2) 計(jì)算輸出階段,調(diào)用回調(diào)方法static void mdlOutputs(SimStruct *S,int_T tid)在每個(gè)仿真步長(zhǎng),計(jì)算功能塊的輸出,并將結(jié)果保存在S函數(shù)輸出信號(hào)數(shù)組;

        3) 仿真結(jié)束階段,調(diào)用回調(diào)方法static void mdlTerminate(SimStruct *S)執(zhí)行仿真結(jié)束的相關(guān)操作,如釋放分配的內(nèi)存等,如果不要求進(jìn)行操作,這個(gè)函數(shù)可以為空;

        4) 代碼生成階段,調(diào)用回調(diào)方法static void mdlRTW(SimStruct *S)將模型中的參數(shù)傳遞至目標(biāo)語言編輯器(Target Language Compiler,TLC),用于代碼生成。

        在代碼生成階段,為了生成所需的代碼,還需要編寫與S函數(shù)配套的 TLC文件。在TLC文件中讀取S函數(shù)傳遞至目標(biāo)語言編輯器的參數(shù),并規(guī)定目標(biāo)語言編輯器生成指定的代碼。這些操作被定義在TLC文件中名為%function Outputs(block,system) Output函數(shù)中。

        2 MAP模塊的軟件設(shè)計(jì)

        MAP可以分為單值MAP、曲線MAP、曲面MAP、一維數(shù)組MAP、二維數(shù)組MAP等多個(gè)類型。不同類型MAP模塊的軟件不盡相同,但方法和思路是一致的,這里以曲線MAP為例進(jìn)行MAP模塊的軟件設(shè)計(jì)。

        曲線MAP模塊的功能是根據(jù)輸入的數(shù)值,查詢其在曲線MAP的x軸中的位置,進(jìn)行線性插值得到相應(yīng)的y軸數(shù)值,作為輸出。其中,輸入為模塊的輸入信號(hào),輸出為模塊的輸出信號(hào),x軸和y軸為模塊的參數(shù),即在Matlab中定義的數(shù)值向量。

        MAP模塊的軟件設(shè)計(jì),是對(duì)S函數(shù)中各階段的回調(diào)函數(shù)以及TLC文件進(jìn)行軟件設(shè)計(jì),使其完成上述功能。首先,在初始化階段的mdlInitializeSizes回調(diào)方法中,設(shè)置模塊有2個(gè)輸入?yún)?shù),不含有連續(xù)和離散狀態(tài)參數(shù),有1個(gè)維數(shù)為1數(shù)據(jù)類型與x軸一致的輸入信號(hào),有1個(gè)維數(shù)為1數(shù)據(jù)類型與y軸一致的輸出信號(hào),采樣時(shí)間個(gè)數(shù)為1,不含有工作向量,使用默認(rèn)仿真選項(xiàng)。在mdlInitializeSampleTimes回調(diào)方法中,設(shè)置模塊的仿真步長(zhǎng)繼承模型的仿真步長(zhǎng)。初始化流程(見圖2)。

        圖2 mdlInitializeSizes初始化流程

        在計(jì)算輸出階段的mdlOutputs回調(diào)方法中,讀取輸入信號(hào)的數(shù)據(jù)類型以及儲(chǔ)存值,根據(jù)該類型對(duì)x軸進(jìn)行查表和對(duì)y軸進(jìn)行插值,得到輸出信號(hào)的儲(chǔ)存值,再讀取輸出信號(hào)的數(shù)據(jù)類型,根據(jù)該類型計(jì)算模塊的實(shí)際輸出。計(jì)算輸出的流程見圖3。

        圖3 mdlOutputs計(jì)算流程

        在仿真結(jié)束階段的mdlTerminate回調(diào)方法中,不進(jìn)行操作。在代碼生成階段的mdlRTW回調(diào)方法中,將模塊參數(shù)的數(shù)據(jù)類型等信息傳遞至目標(biāo)語言編輯器用于生成代碼。在TLC文件的Outputs函數(shù)中,讀取模塊參數(shù)信息,并規(guī)定生成函數(shù)調(diào)用代碼,例如當(dāng)輸入、輸出信號(hào)類型均為無符號(hào)32位時(shí),Outputs函數(shù)中規(guī)定生成代碼的語句為:

        %=(uint32)MatlabLib_IntpolU32U32((uint32 *)%,(uint32*)%,%);其中,"%"獲取模塊輸出信號(hào)名稱;"%"獲取x軸數(shù)據(jù)地址;"%"獲取y軸數(shù)據(jù)地址;"%"獲取模塊輸入信號(hào)名稱;"MatlabLib_IntpolU32U32"用于調(diào)用集成有CCP(CAN Calibration Protocol)功能的庫(kù)函數(shù)。

        設(shè)計(jì)完成的曲線MAP模塊以及單值MAP模塊、曲面MAP模塊、一維數(shù)組MAP模塊、二維數(shù)組MAP模塊見圖4。

        圖4 MAP模塊

        3 試驗(yàn)驗(yàn)證

        使用上述MAP模塊和Simulink自帶模塊,開發(fā)柴油-天然氣雙燃料發(fā)動(dòng)機(jī)控制模型(見圖5)。

        圖5 發(fā)動(dòng)機(jī)控制模型

        通過Simulink自動(dòng)代碼生成,生成基于飛思卡爾MPC5634M單片機(jī)的發(fā)動(dòng)機(jī)控制代碼,并在一臺(tái)WP10發(fā)動(dòng)機(jī)上進(jìn)行臺(tái)架試驗(yàn)。

        選取發(fā)動(dòng)機(jī)工況點(diǎn)1 347 r/min,359 N·m,通過在線標(biāo)定來調(diào)節(jié)柴油噴油定時(shí)MAP參數(shù),測(cè)量發(fā)動(dòng)機(jī)排氣中污染物NOx排放,結(jié)果見圖6。可以看出,隨著噴油定時(shí)MAP參數(shù)的改變,發(fā)動(dòng)機(jī)缸內(nèi)燃燒狀態(tài)隨之變化,導(dǎo)致NOx排放變化。證明上述MAP模塊生成的代碼可以實(shí)現(xiàn)MAP在線標(biāo)定功能。

        然后使用數(shù)據(jù)燒寫工具將發(fā)動(dòng)機(jī)性能優(yōu)化后的MAP燒寫至單片機(jī)中,再次進(jìn)行試驗(yàn),發(fā)動(dòng)機(jī)性能參數(shù)與在線標(biāo)定時(shí)一致,說明燒寫的MAP數(shù)據(jù)與在線標(biāo)定的MAP數(shù)據(jù)相同。證明上述MAP模塊生成的代碼可以實(shí)現(xiàn)MAP離線燒寫功能。

        圖6 NOx排放隨噴油定時(shí)的變化

        4 結(jié)束語

        在分析Simulink中S函數(shù)工作原理的基礎(chǔ)上,開發(fā)了基于S函數(shù)的發(fā)動(dòng)機(jī)控制用MAP模塊。使

        用該MAP模塊建立了柴油-天然氣發(fā)動(dòng)機(jī)控制模型,并通過Simulink自動(dòng)生成基于飛思卡爾MPC5634M單片機(jī)的控制算法代碼。使用該控制算法進(jìn)行了發(fā)動(dòng)機(jī)臺(tái)架試驗(yàn)驗(yàn)證,試驗(yàn)結(jié)果證明,該MAP模塊生成的代碼可以完全實(shí)現(xiàn)MAP在線標(biāo)定和離線燒寫功能,滿足產(chǎn)品級(jí)模型開發(fā)的匹配標(biāo)定,可以用于發(fā)動(dòng)機(jī)性能開發(fā),具有切實(shí)的應(yīng)用價(jià)值。

        [1] 劉巨江.基于模型的高壓共軌柴油機(jī)扭矩算法研究[D].杭州:浙江大學(xué),2007.

        [2] 周廣猛,劉瑞林,李駿,等.基于模型的電控發(fā)動(dòng)機(jī)標(biāo)定技術(shù)[J].汽車技術(shù),2011(1):1-5.

        [3] 宋秦中.高壓共軌柴油機(jī)控制策略的研究[J].大連:大連理工大學(xué), 2007.

        [4] 方燁.基于模型的高壓共軌柴油機(jī)控制策略研究與臺(tái)架優(yōu)化[D].杭州:浙江大學(xué),2017.

        [5] 周海濤,閆萍,王新權(quán).電控柴油機(jī)平均值模型建模研究[J].柴油機(jī),2010,32(2):12-17.

        [6] 姚俊.Simulink建模與仿真算法語言動(dòng)態(tài)仿真[M].西安:西安電子科技大學(xué)出版社,2002.

        [7] 劉福水,仇滔,劉興華,等.基于模型的電控柴油機(jī)標(biāo)定技術(shù)[J].車用發(fā)動(dòng)機(jī),2005(6):1-4.

        [8] 劉孟祥.基于Simulink的柴油機(jī)及其控制系統(tǒng)的建模與仿真研究[D].長(zhǎng)沙:湖南大學(xué),2001.

        [9] 朱婉.基于Simulink的柴油機(jī)高壓共軌噴油系統(tǒng)建模與仿真[D].合肥:合肥工業(yè)大學(xué),2015.

        [10] 楊向忠,安錦文,崔文革.嵌入式自動(dòng)代碼生成技術(shù)應(yīng)用研究[J].彈箭與制導(dǎo)學(xué)報(bào),2008,28(3):250-253.

        [11] 邱寶梅,左文英,王鳳娟.基于Simulink/RTW的汽車電子控制系統(tǒng)的研究[J].計(jì)算機(jī)測(cè)量與控制,2011,19(5):1086-1088.

        [12] 嚴(yán)雨,單沖.基于Simulink和RTW的底層驅(qū)動(dòng)軟件集成開發(fā)[M].北京:北京理工大學(xué)出版社,2013.

        [13] Mathworks.Matlab R2013b Help[M].[S.l.]:[s.n.],2013.

        [14] 王科杰.基于模型的高壓共軌柴油機(jī)標(biāo)定技術(shù)研究[D].杭州:浙江大學(xué),2016.

        [15] 孟長(zhǎng)江,褚全紅,張煒,等.CCP協(xié)議在發(fā)動(dòng)機(jī)匹配標(biāo)定平臺(tái)的應(yīng)用[J].現(xiàn)代車用動(dòng)力,2008(1):34-38.

        DevelopmentofMAPModuleinSimulinkModelofEngineControlSystem

        JIA Li,ZHANG Weibiao,YANG Wei,ZHI Haifeng,LIU Tao,KUANG Fuhong,XIAO Wei

        (China North Engine Research Institute(Tianjin),Tianjin 300400,China)

        The codes of Simulink model for engine control system could not support the calibration and programming of MAP and MAP module based on S-function was hence developed. Then the corresponding engine model was built and the control codes applied to Freescale MPC5634M was generated. The test results show that the MAP module supports the online calibration and offline programming.

        control unit;code generation;online calibration

        袁曉燕]

        2017-05-18;

        2017-12-12

        賈利(1979—),男,副研究員,本科,主要研究方向發(fā)動(dòng)機(jī)控制策略和算法及HIL測(cè)試等;jiali7901@163.com。

        10.3969/j.issn.1001-2222.2017.06.012

        TP211

        B

        1001-2222(2017)06-0062-03

        猜你喜歡
        代碼生成調(diào)用步長(zhǎng)
        基于Armijo搜索步長(zhǎng)的BFGS與DFP擬牛頓法的比較研究
        Lustre語言可信代碼生成器研究進(jìn)展
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
        電子世界(2016年15期)2016-08-29 02:14:28
        基于XML的代碼自動(dòng)生成工具
        電子科技(2015年2期)2015-12-20 01:09:20
        基于逐維改進(jìn)的自適應(yīng)步長(zhǎng)布谷鳥搜索算法
        一種新型光伏系統(tǒng)MPPT變步長(zhǎng)滯環(huán)比較P&O法
        一種新穎的光伏自適應(yīng)變步長(zhǎng)最大功率點(diǎn)跟蹤算法
        亚洲免费人成在线视频观看| 国产精品大片一区二区三区四区 | 一区在线播放| 成人免费毛片立即播放| 日韩内射美女片在线观看网站| 黄色a级国产免费大片| 亚洲国产成人手机在线观看| 中文字幕人妻少妇精品| 白嫩人妻少妇偷人精品| 精品乱码久久久久久久| 国产精品亚洲A∨天堂不卡| 麻豆夫妻在线视频观看| 精品亚洲麻豆1区2区3区| 少妇饥渴偷公乱a级无码 | 91久久偷偷做嫩模影院| 亚洲热线99精品视频 | 午夜国产精品久久久久| 国产少妇高潮在线视频| 日本天堂免费观看| 久久久久99精品国产片| 无码天堂在线视频| 日本免费一二三区在线| 中字幕人妻一区二区三区| 黑人性受xxxx黑人xyx性爽| 国产大全一区二区三区| 免费午夜爽爽爽www视频十八禁| 性生交大片免费看淑女出招| 久久婷婷综合色拍亚洲| 国产一区二区三区口爆在线| 久热re这里精品视频在线6| 精品乱码一区二区三区四区| 亚洲国产精品夜男人天堂| 少妇被黑人整得嗷嗷叫视频| 国产激情内射在线影院| 日本高清在线播放一区二区三区| 国产乱淫h侵犯在线观看| 美丽人妻在夫前被黑人| 国产三级精品三级国产| 高清少妇一区二区三区| 国产精品美女一区二区视频| 亚洲av无码乱码国产精品fc2|