賈秀娟 王鵬
摘? 要:該文以Mathwork公司設(shè)計(jì)的MATLAB/Simulink Real-Time軟件為實(shí)時(shí)仿真環(huán)境,以xPC雙機(jī)仿真系統(tǒng)作為實(shí)時(shí)仿真硬件開發(fā)平臺(tái),提供了一種可以用于硬件在環(huán)仿真研究的平臺(tái)方案,該方案使用目標(biāo)機(jī)實(shí)時(shí)內(nèi)核運(yùn)行仿真模型,從而對(duì)外部控制系統(tǒng)中控制策略進(jìn)行測(cè)試。同時(shí),利用北京華??萍脊狙兄频腞apid-ECU作為外部控制系統(tǒng),對(duì)試驗(yàn)平臺(tái)的實(shí)時(shí)數(shù)據(jù)交換功能進(jìn)行了驗(yàn)證,驗(yàn)證結(jié)果表明,外部控制系統(tǒng)可以與目標(biāo)機(jī)之間完成實(shí)時(shí)通信,且無數(shù)據(jù)丟失與延遲。該硬件在環(huán)仿真平臺(tái)為半實(shí)物仿真研究提供了思路。
關(guān)鍵詞:硬件在環(huán)仿真? 控制策略? xPC雙機(jī)系統(tǒng)
中圖分類號(hào):TP273 ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2019)08(b)-0017-02
硬件在環(huán)仿真是一種實(shí)時(shí)仿真方式,相對(duì)于計(jì)算機(jī)仿真而言,其保證了仿真過程實(shí)時(shí)性,更加符合實(shí)際試驗(yàn)效果,同時(shí)易于實(shí)現(xiàn),價(jià)格成本低,多用于企業(yè)控制系統(tǒng)產(chǎn)品V型開發(fā),對(duì)此,該文提供了一種硬件在環(huán)仿真平臺(tái)方案。
1? xPC雙機(jī)系統(tǒng)
xPC實(shí)時(shí)仿真試驗(yàn)平臺(tái)主要包括宿主機(jī)、目標(biāo)機(jī)、通信連接設(shè)備以及外部控制系統(tǒng)4個(gè)部分。該文中的xPCTarget實(shí)時(shí)仿真系統(tǒng)中配備有兩臺(tái)普通PC機(jī),分別作為宿主機(jī)與目標(biāo)機(jī)。其中,宿主機(jī)內(nèi)部安裝MATLAB R2015b版本軟件,C語言編譯器為Visual Studio 2010;目標(biāo)機(jī)使用Windows XP/DOS7.1雙系統(tǒng),配置有空閑串口和型號(hào)為RTL8168以太網(wǎng)絡(luò)適配卡。目標(biāo)機(jī)與宿主機(jī)通信方式選用網(wǎng)絡(luò)通信(TCP/IP)[1],分別將目標(biāo)機(jī)、宿主機(jī)IP地址設(shè)置為同一網(wǎng)段,通過交叉線型以太網(wǎng)電纜直接連接即可實(shí)現(xiàn)通信。
目標(biāo)機(jī)需建立啟動(dòng)盤調(diào)用目標(biāo)機(jī)實(shí)時(shí)內(nèi)核。在XP系統(tǒng)中安裝DOS7.1版本系統(tǒng),并將部分硬盤以FAT格式重新分區(qū)后直接作為啟動(dòng)盤硬件。在MATLAB命令窗口輸入“xpcexplr”命令,啟動(dòng)Real-Time窗口,并對(duì)目標(biāo)機(jī)IP地址、子網(wǎng)掩碼等信息進(jìn)行設(shè)置,設(shè)置完成后點(diǎn)擊“Creat boot disk”按鈕生成目標(biāo)機(jī)啟動(dòng)文件,將啟動(dòng)文件復(fù)制至目標(biāo)機(jī)啟動(dòng)盤。開機(jī)后進(jìn)入DOS系統(tǒng),輸入“C:”命令切換至C盤符,并輸入“autoexec”目標(biāo)機(jī)即可進(jìn)入實(shí)時(shí)仿真運(yùn)行界面。
2? 硬件在環(huán)仿真試驗(yàn)平臺(tái)
設(shè)計(jì)硬件在環(huán)仿真試驗(yàn)平臺(tái)如圖1所示[2]。測(cè)試時(shí),將被測(cè)控制策略下載至外部控制系統(tǒng)硬件中,作為外部控制系統(tǒng),通過xPC硬件在環(huán)試驗(yàn)平臺(tái)完成仿真模型的實(shí)時(shí)運(yùn)行、控制系統(tǒng)與仿真模型的實(shí)時(shí)數(shù)據(jù)通信以及控制系統(tǒng)控制結(jié)果驗(yàn)證。
根據(jù)圖1所示原理,硬件在環(huán)仿真試驗(yàn)平臺(tái)方案中,將Rapid-ECU作為外部控制系統(tǒng),通過CAN-A總線與協(xié)議轉(zhuǎn)換器CAN端口相連,同時(shí),將目標(biāo)機(jī)主板串口與協(xié)議轉(zhuǎn)換器RS232端口連接,從而實(shí)現(xiàn)了目標(biāo)機(jī)與Rapid-ECU之間的實(shí)時(shí)通信硬件連接;將控制系統(tǒng)CAN-C總線經(jīng)USB-CAN與宿主機(jī)連接,通過宿主機(jī)中Meca軟件可以對(duì)Rapid-ECU中實(shí)時(shí)狀態(tài)參量進(jìn)行監(jiān)控與數(shù)據(jù)存儲(chǔ)。
3? 硬件在環(huán)仿真試驗(yàn)平臺(tái)通信驗(yàn)證
進(jìn)行硬件在環(huán)試驗(yàn)之前,需要對(duì)目標(biāo)機(jī)及控制系統(tǒng)實(shí)時(shí)通信功能進(jìn)行測(cè)試。由于Rapid-ECU硬件電路中未配置RS232串口通訊功能,所以試驗(yàn)中通過宇泰UT-2506-RS232-CANBUS智能協(xié)議轉(zhuǎn)換器將控制系統(tǒng)使用的CAN總線通信協(xié)議與PC主板串口的RS232通信協(xié)議相互轉(zhuǎn)換,從而使目標(biāo)機(jī)與外部控制器完成數(shù)據(jù)通信。試驗(yàn)中將協(xié)議轉(zhuǎn)換器控制系統(tǒng)側(cè)CAN總線波特率設(shè)置為500kbps,RS232串口波特率設(shè)置為115200bps,轉(zhuǎn)換時(shí)CAN報(bào)文時(shí)自動(dòng)添加ID“00 00 00 01”,設(shè)置過濾驗(yàn)收碼,只轉(zhuǎn)換ID為“00 00 00 02”的CAN報(bào)文。
協(xié)議轉(zhuǎn)換器設(shè)置完成后,外部控制系統(tǒng)使用CAN總線協(xié)議進(jìn)行通信,利用Rapid-ECU模型庫中的CAN Receive模塊與CAN Transimit模塊完成數(shù)據(jù)的接收與發(fā)送,設(shè)置CAN A總線的0、8Buffer接收和發(fā)送報(bào)文ID為“00 00 00 01”及“00 00 00 02”、數(shù)據(jù)長(zhǎng)度為8的標(biāo)準(zhǔn)幀。
目標(biāo)機(jī)應(yīng)用模型中,通信模型使用Simulink Real-Time/RS232/Mainboard模型庫中RS-232 Send/Receive FIFO模塊,該模塊使用主板串行端口完成字符和二進(jìn)制數(shù)據(jù)流發(fā)送和接收,由于其接收到的數(shù)據(jù)以FIFO數(shù)據(jù)塊形式傳播,無法直接被模型使用,需要配合FIFO Read BINARY模塊完成二進(jìn)制數(shù)據(jù)的讀取,通過查找標(biāo)記數(shù)據(jù)的唯一字節(jié)序列(Header)來標(biāo)識(shí)和分離FIFO的數(shù)據(jù)塊,輸出十進(jìn)制數(shù)據(jù),搭建目標(biāo)機(jī)RS232串口通信模型。
測(cè)試前,對(duì)RS-232 Send/Receive FIFO模塊進(jìn)行設(shè)置,目標(biāo)機(jī)上串口為COM1口,修改模塊內(nèi)基地址為0x3F8;FIFO Read BINARY設(shè)置模塊內(nèi)Header為“{(30,01)}”,每幀讀取數(shù)據(jù)長(zhǎng)度為7位,1終止位,采樣時(shí)間為50ms。將串口通信模型中Solver設(shè)置為定步長(zhǎng)50ms,在代碼生成一欄中選擇slrt.tlc文件,并將模型仿真模式選擇外部仿真模式。設(shè)置完成后,在SimulinkReal-Time窗口中點(diǎn)擊連接鈕與宿主機(jī)連接,在模型運(yùn)行窗口點(diǎn)擊代碼生成,Simulink通過VS2010編譯器對(duì)模型進(jìn)行C代碼轉(zhuǎn)換,同時(shí)將應(yīng)用程序自動(dòng)下載至目標(biāo)機(jī)中。
硬件在環(huán)仿真試驗(yàn)平臺(tái)中控制系統(tǒng)以及目標(biāo)機(jī)通信功能建立完成后,利用CAN總線及RS232串口通信模型對(duì)硬件在環(huán)試驗(yàn)平臺(tái)通信功能進(jìn)行測(cè)試。控制系統(tǒng)與目標(biāo)機(jī)均能正確接收對(duì)方發(fā)送的數(shù)據(jù)幀,并且接收過程中無丟幀、延時(shí)現(xiàn)象。綜上所述,控制系統(tǒng)和目標(biāo)機(jī)能夠進(jìn)行實(shí)時(shí)的數(shù)據(jù)交換,形成完整的閉環(huán)通信,從而實(shí)現(xiàn)硬件在環(huán)仿真試驗(yàn)。
參考文獻(xiàn)
[1] 楊滌.系統(tǒng)實(shí)時(shí)仿真開發(fā)環(huán)境與應(yīng)用[M].北京:清華大學(xué)出版社,2002:97-103.
[2] 張良.基于xPC Target的汽車ESP硬件在環(huán)仿真試驗(yàn)臺(tái)的開發(fā)[D].吉林大學(xué),2009.
[3] Bi YL,Yang D.Development of Interface Card Drivers Based on Matlab/xPC Target[J].Key Engineering Materials,2014(620):563-568.