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