<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 柴油發(fā)電機組轉速控制半物理仿真

柴油發(fā)電機組轉速控制半物理仿真

作者: 時(shí)間:2010-02-02 來(lái)源:網(wǎng)絡(luò ) 收藏
1 引言

電子調速器是機的關(guān)鍵部件之一,當實(shí)際機及其負載性能發(fā)生變化且與調速器設計參數不匹配時(shí),就無(wú)法正常工作,這時(shí)需要修改調速器的參數。另外,電子調速器在出廠(chǎng)前和維修后都需要進(jìn)行性能試驗,以設定合適的參數滿(mǎn)足其調節性能。在柴油機上直接進(jìn)行電子調速器的參數整定、性能測試、維修后性能恢復既不安全、又不經(jīng)濟。進(jìn)行半是調速器進(jìn)行實(shí)際配機試驗之前不可缺少的環(huán)節,其工程思路是建立柴油機全工作范圍動(dòng)態(tài)模型,通過(guò)輸入輸出接口電路與電子調速器相連構成一閉環(huán)系統,從而完成電子調速器的性能測試的相關(guān)試驗。

本文引用地址:http://dyxdggzs.com/article/163282.htm

建立柴油模型是Simulink的強項。由于半仿真系統需要連接特定的硬件設備,仿真程序需要定制人機界面實(shí)現參數設置等功能,這部分功能的實(shí)現對于Simulink來(lái)講則難以完成,而這恰恰是Visual C++(VC)的強項。VC可視化C++編程環(huán)境具有強大的硬件控制功能和靈活豐富的人機界面設計功能。但直接采用VC建立柴油發(fā)電機組的仿真模型則難度很大。

針對這一問(wèn)題本文提供一種從Simulink仿真模型平滑過(guò)渡到Visual C++集成開(kāi)發(fā)環(huán)境的方法。具體實(shí)現是在Simulink中建立柴油發(fā)電機組的仿真模型,然后通過(guò)Matlab實(shí)時(shí)工作間(RTW)將Simulink仿真模型轉化成可移植的嵌入式C++代碼,最后和Visual C++的項目文件進(jìn)行整合構成完全獨立運行的實(shí)時(shí)半仿真系統。

2 柴油發(fā)電機組模型的構建及半物理仿真系統結構

柴油機的建模一般有2種途徑,一種是數學(xué)機理建模,一種是試驗辨識建模。數學(xué)機理建模主要從柴油機各部件的原始特性和結構參數入手,根據動(dòng)力學(xué)和熱力學(xué)關(guān)系方程建立機理模型其建模的工作量大,計算復雜而且為模型的求解帶來(lái)一定的難度。試驗辨識建模是根據柴油機試驗臺試驗數據,采用不同的數學(xué)擬合方法建立柴油機的數學(xué)模型。對于研究電子調速器參數整定以及配機試驗,這里關(guān)心柴油機外部性能參數的關(guān)系,可以不考慮柴油機內部的熱力過(guò)程。只要柴油發(fā)電機組仿真模型能較真實(shí)地模擬柴油機及其負載特性,則測試結果就能較為真實(shí)地反映出電子調速器的實(shí)際配機性能。

因此選用試驗辨識建模法,應用BP神經(jīng)網(wǎng)絡(luò )建立柴油機發(fā)電機組模型。如圖1所示。MTU396柴油發(fā)電機組控制半物理仿真系統的輸人輸出信號,主要有3種類(lèi)型:

(1)脈寬調制(PWM)信號,即執行機構齒條驅動(dòng)信號;

(2)頻率信號,即模擬柴油脈沖信號;

(3)開(kāi)關(guān)量信號,即對電子調速器的各種控制信號,如啟動(dòng)、停止、增速減速控制等。

本系統選用研華的PCI-1780計數器卡,他提供8個(gè)16位計數器通道8路數字量輸出和8路數字量輸入,可以滿(mǎn)足上述需要。如圖2所示。

3 半物理仿真系統的實(shí)現

3.1 利用RTW生成可移植的C++模型代碼

RTW是Matlab圖形建模和仿真環(huán)境Simulink的一個(gè)重要的補充功能模塊,簡(jiǎn)而言之,他是一個(gè)基于Simulink的代碼自動(dòng)生成環(huán)境。他能直接從Simulink的模型中產(chǎn)生優(yōu)化的,可移植的代碼以加速仿真系統開(kāi)發(fā)的過(guò)程和降低研發(fā)成本。

RTW能把Simulink模型中的某些參數或信號設置為全局變量,模型自動(dòng)生成的可執行代碼在目標系統中運行時(shí),可以方便地與Simulink模型交互,實(shí)現在線(xiàn)參數調整和信號通訊。利用RTW這種功能,可把模型中需要調整、監測的參數或者信號設置為全局變量。這些變量構成后面所述VC仿真程序中模塊間交互的橋梁。

RTW支持多種目標,所以RTW自動(dòng)生成C++模型代碼有多種選擇,對于VC而言有3種目標可以選擇:通用實(shí)時(shí)(GRT)目標、通用實(shí)時(shí)Malloc(GRTM)目標、嵌入式目標。通用實(shí)時(shí)(GRT)目標采用實(shí)時(shí)代碼格式,其內存的分配在編譯時(shí)被靜態(tài)聲明。通用實(shí)時(shí)Malloc(GRTM)目標采用實(shí)時(shí)Malloc代碼格式,他與實(shí)時(shí)代碼格式非常相似,主要的區別在于實(shí)時(shí)malloc代碼格式對內存進(jìn)行動(dòng)態(tài)聲明。嵌入式目標可按嵌入式代碼格式生C++代碼,在運行速度、內存使用量和簡(jiǎn)化等方面都進(jìn)行了優(yōu)化。嵌入式代碼采用靜態(tài)內存分配方式。本文選擇嵌入式目標來(lái)自動(dòng)生成嵌入式代碼。

RTW自動(dòng)生成的代碼分為2部分:一部分是模型代碼;另一部分是代碼運行界面(run-time interface)。這些代碼被切分成很多源代碼文件,為了管理這個(gè)龐大的項目,RTW還為其自動(dòng)生成一個(gè)make文件。用VC打開(kāi)make文件并編譯,然后將此項目中引用的所有源文件從Matlab安裝目錄中復制出來(lái),并和模型代碼共同組成仿真模型代碼。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>