當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 工業(yè)控制
[導(dǎo)讀]通過(guò)Simulink建立MTU396柴油發(fā)電機(jī)組的仿真模型,然后采用Matlab實(shí)時(shí)工作間(RTW)將Simulink仿真模型轉(zhuǎn)化成可移植的嵌入式C++代碼,最后在Visual C++集成開(kāi)發(fā)環(huán)境下開(kāi)發(fā)柴油機(jī)發(fā)電機(jī)組轉(zhuǎn)速控制半物理仿真系統(tǒng)。該方法充分利用Simulink豐富、便捷的建模環(huán)境同時(shí)發(fā)揮了VC強(qiáng)大的硬件控制功能和人機(jī)界面設(shè)計(jì)靈活的優(yōu)點(diǎn)。

1 引言

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

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

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

2 柴油發(fā)電機(jī)組模型的構(gòu)建及半物理仿真系統(tǒng)結(jié)構(gòu)

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

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

(1)脈寬調(diào)制(PWM)信號(hào),即執(zhí)行機(jī)構(gòu)齒條驅(qū)動(dòng)信號(hào);

(2)頻率信號(hào),即模擬柴油轉(zhuǎn)速脈沖信號(hào);

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

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

3 半物理仿真系統(tǒng)的實(shí)現(xiàn)

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

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

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

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

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

3.2 模型代碼和VC程序的集成

模型代碼同VC程序整合過(guò)程比較簡(jiǎn)單,把3.1節(jié)仿真運(yùn)算模塊所有涉及的源文件添加到VC程序項(xiàng)目中,需要注意2點(diǎn):仿真模塊的源文件添加到VC程序項(xiàng)目后默認(rèn)應(yīng)用預(yù)編譯頭文件選項(xiàng),必須手工取消此項(xiàng)設(shè)置否則編譯出錯(cuò);為了需要在VC程序中調(diào)用仿真代碼的接口函數(shù)需要進(jìn)行全局聲明。

3.3 VC中仿真系統(tǒng)進(jìn)一步開(kāi)發(fā)與整合

半物理仿真軟件一般由人機(jī)界面模塊、數(shù)據(jù)采集模塊、仿真運(yùn)算模塊、數(shù)據(jù)處理模塊組成。MTU396柴油發(fā)電機(jī)組轉(zhuǎn)速控制半物理仿真系統(tǒng)原理如圖3所示。下面簡(jiǎn)單介紹各模塊的實(shí)現(xiàn)過(guò)程。

(1)人機(jī)界面模塊的實(shí)現(xiàn)

人機(jī)界面模塊構(gòu)成了VC程序的主線程,主要完成變量的實(shí)時(shí)顯示、參數(shù)在線調(diào)整、控制參數(shù)設(shè)置和程序的運(yùn)行控制等功能,其他模塊都由他來(lái)調(diào)度。本系統(tǒng)中涉及的實(shí)時(shí)變量有柴油機(jī)轉(zhuǎn)速、齒桿位移、柴油機(jī)負(fù)載等,筆者分別設(shè)計(jì)了轉(zhuǎn)速表、棒圖、趨勢(shì)曲線、調(diào)整滑桿、功能按鈕等圖元,充分利用面向?qū)ο蠓椒ǖ姆庋b、繼承等特點(diǎn)實(shí)現(xiàn)整個(gè)圖元庫(kù),從而提高了軟件系統(tǒng)的可修改性、可重用性和可擴(kuò)展性。

(2)數(shù)據(jù)采集模塊的實(shí)現(xiàn)

數(shù)據(jù)采集模塊通過(guò)PCI-1780設(shè)備卡同電子調(diào)速器進(jìn)行數(shù)據(jù)交互,電子調(diào)速器的供油量信號(hào)以脈寬調(diào)制(PWM)的形式由PCI-1780設(shè)備卡傳給仿真程序,仿真程序通過(guò)仿真計(jì)算把柴油機(jī)的轉(zhuǎn)速以頻率信號(hào)的形式經(jīng)PCI-1780設(shè)備卡反饋給電子調(diào)速器。數(shù)據(jù)采集模塊由廠家提供的設(shè)備驅(qū)動(dòng)API函數(shù)實(shí)現(xiàn)。

(3)仿真運(yùn)算模塊的實(shí)現(xiàn)

仿真運(yùn)算模塊在RTW轉(zhuǎn)化韻仿真模型代碼基礎(chǔ)上還要加入仿真同步控制,以滿足仿真的實(shí)時(shí)性要求。實(shí)時(shí)性的關(guān)鍵就是I/O數(shù)據(jù)定時(shí)的準(zhǔn)確性。眾所周知Windows不是實(shí)時(shí)操作系統(tǒng)而是多任務(wù)的操作系統(tǒng),采用VC編制的仿真程序很難實(shí)現(xiàn)硬件中斷,采用軟件定時(shí)是比較可行的方法,因?yàn)楝F(xiàn)在的計(jì)算機(jī)速度都很快,能夠保證一般硬件在回路仿真的實(shí)時(shí)性的需要。

VC中實(shí)現(xiàn)精確定時(shí)基本上有2種方法:①使用多媒體定時(shí)器。他使用單獨(dú)線程調(diào)用一個(gè)特殊的回調(diào)函數(shù)優(yōu)先級(jí)很高,最小定時(shí)間隔為1ms能夠滿足一般實(shí)時(shí)任務(wù)的定時(shí)要求。②使用高性能計(jì)數(shù)器。在Windows2000中由硬件實(shí)現(xiàn)高精度的計(jì)數(shù)器(high-resolution performancecounter),利用他可以獲得高精度的定時(shí)間隔。由于本應(yīng)用中電子調(diào)速器輸出頻率為80 Hz,本文選擇多媒體計(jì)時(shí)器實(shí)現(xiàn)仿真控制,定時(shí)間隔選為2 ms。即多媒體定時(shí)器每隔2 ms就在其回調(diào)函數(shù)中調(diào)用模型代碼接口函數(shù)rt_On-eStep(模型單步運(yùn)算),保證整個(gè)仿真的向前推進(jìn),滿足系統(tǒng)實(shí)時(shí)性要求。仿真運(yùn)算模塊完成模型實(shí)時(shí)計(jì)算是整個(gè)系統(tǒng)的核心。

(4)數(shù)據(jù)處理模塊的實(shí)現(xiàn)

數(shù)據(jù)處理模塊完成仿真數(shù)據(jù)的實(shí)時(shí)記錄和定時(shí)保存功能。為了滿足數(shù)據(jù)記錄的實(shí)時(shí)性,仿真程序采用了多線程的技術(shù),將數(shù)據(jù)定時(shí)保存功能放在獨(dú)立的數(shù)據(jù)保存線程中執(zhí)行。數(shù)據(jù)處理線程和主線程的之間的同步由事件信號(hào)驅(qū)動(dòng)。在C++標(biāo)準(zhǔn)模板庫(kù)(STL),deque容器基礎(chǔ)上創(chuàng)建了CPointsCollection類來(lái)完成數(shù)據(jù)的實(shí)時(shí)記錄和定時(shí)保存。采用的策略是:CPointsCollection首先在內(nèi)存中開(kāi)辟2塊緩沖區(qū)。第一緩沖區(qū)數(shù)據(jù)放滿后,數(shù)據(jù)開(kāi)始存放到第二緩沖區(qū),然后主線程同時(shí)通知數(shù)據(jù)保存線程將第一緩沖區(qū)中的數(shù)據(jù)采用VC序列化功能保存到硬盤(pán)的文本文件中;等第二緩沖區(qū)數(shù)據(jù)放滿后,數(shù)據(jù)開(kāi)始存放到第一緩沖區(qū),主線程同時(shí)通知數(shù)據(jù)保存線程將第二緩沖的數(shù)據(jù)保存到硬盤(pán)的文本文件中,這樣依次循環(huán)保證數(shù)據(jù)記錄的實(shí)時(shí)性。為了驗(yàn)證利用該方法開(kāi)發(fā)的半物理仿真系統(tǒng)的有效性,運(yùn)行該系統(tǒng)與R082電子調(diào)速器物理連接進(jìn)行配機(jī)試驗(yàn),仿真結(jié)果表明仿真系統(tǒng)相應(yīng)符合理論分析結(jié)果。限于篇幅給出空載起動(dòng)運(yùn)行時(shí)的運(yùn)行界面。如圖4所示。

4 結(jié) 語(yǔ)

結(jié)合科研實(shí)例詳細(xì)介紹一種基于RTW和VisualC++的半物理仿真系統(tǒng)快速開(kāi)發(fā)方法,該方法充分利用Simulink和Visual C++各自的優(yōu)勢(shì)。首先利用Simulink可視化的建模方法建立系統(tǒng)的仿真模型,然后通過(guò)RTW將Simulink仿真模型轉(zhuǎn)化成可移植的嵌入式C++代碼,最后利用Visual C++靈活的可定制性和強(qiáng)大的界面功能實(shí)現(xiàn)完全獨(dú)立運(yùn)行的實(shí)時(shí)半物理仿真系統(tǒng)。該仿真程序在Visual C++環(huán)境下可以對(duì)仿真程序方便的進(jìn)行調(diào)試a與傳統(tǒng)設(shè)計(jì)方法相比這種方法具有費(fèi)用低、效率高的特點(diǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉