齊鳳英
QI Feng-ying
(內蒙古呼倫貝爾學院,呼倫貝爾 021008)
使用兩個ECU分別控制電控發動機和自動變速器,在二者之間實現通過總線的數據通信。這種方案使各ECU成為網絡上的節點,可以在節點間實現數據的高速共享,從而使得大規模并行計算成為可能,也有利于在動力傳動電控系統的基礎上發展整車綜合電控系統。
LabVIEW (Laboratory Virtual Instrument Engineering Workbench) 是美國國家儀器(NI)公司開發的一種基于圖形程序的虛擬儀表編程語言。LabVIEW程序稱為虛擬儀表程序(簡稱VI),主要包括兩個部分:前面板(即人機界面) 和方框圖程序。前面板用于模擬真實儀器的面板操作,可設置輸入數值和觀察輸出值, 以及實現圖表、文本等顯示。框圖程序應用圖形編程語言編寫, 相當于傳統程序的源代碼。
系統中,主要包括電控柴油機ECU、自動變速器ECU及數據采集節點。系統的組織結構如圖1所示。圖中R為總線終結電阻,電控柴油機ECU、自動變速器ECU及CAN卡通過屏蔽雙絞線與總線相連,而CAN卡通過USB線纜和數據采集系統相連。

圖1 系統組織結構圖
該動力傳動系統的虛擬儀表及數據采集系統主要符合SAE J1939協議。J1939以CAN2.0B協議為基礎,通訊速率最高可達到250Kbps。J1939中一個標準數據協議單元如表1所示。

表1 SAE J1939標準協議數據單元格式
但SAE J1939標準并沒有直接給出CAN網絡中可以通信的PDU的格式,只是給出了可以通信的參數組和參數組號。參數組號以24位二進制碼表示,用于參數的分類和參數信息在數據幀中的封裝。參數組號由以下幾部分組成:6位0、保留位、數據頁位、協議數據單元格式場(8位)和組擴展場(8位)。參數組號大部分由SAE J1939標準規定,還有一部分參數組號可以由制造商按照需要分配。
該系統主要實現兩個功能:采集動力系統和傳動系統的相關參數;對發動機進行一定的控制。
發動機電子控制器EMR通過傳感器采集發動機狀態數據,經過其CAN接口發送到上位機。主要涉及的報文及參數主要有:61440(電子減速器控制器1#)中的實際發動機轉矩;61441(電子制動器控制器1#):中的遠程油門允許開關;61443(電子發動機控制器2#)中的油門位置;61444(電子發動機控制器1#)中的發動機轉速及減速器轉矩模式;65247(電子發動機控制器3#)中的額定摩擦力轉矩;65263(發動機液量/壓力)中的發動機機油壓力;65266(燃油經濟性)中的燃油消耗率;65271(車輛電力)中的電子設備電壓。
變速器節點主要涉及的參數為:61442(電子變速器控制器1#)中的輸出軸轉速及輸入軸轉速;61445(電子變速器控制器2#)中的目標檔位及當前檔位。
在功能控制方面,發動機電子控制器接收來自上位機的控制數據,通過執行器對發動機進行控制。這個報文主要是TSC1_a(轉速控制或扭矩控制)。
優先控制模式優先級是指發動機對該控制報文的響應速度,由于是在換檔過程中實時控制發動機,所以設定的優先權為01,該優先權用于要求實時動作以保證車輛操縱安全的場合。
優先控制模式區分該參數組用于轉速控制還是轉矩控制,提出的目標值還是最大值。
主界面顯示主要內容包括:左側上方的轉速曲線顯示區,主要顯示發動機轉速、變速器輸入軸轉速及輸出軸轉速,可以通過該區域右上方的下拉框進行切換;轉速曲線顯示區下面是發動機轉速控制區,可輸入一個目標轉速值,點擊發送后既可對發動機轉速進行控制;再下面分別是油門位置、發動機轉速和車速的顯示儀表,可直觀顯示這個三個參數,其中車速為變速器輸出軸轉速計算而來,這個區域還有油門控制區,相當于發動機的油門踏板,可對發動機進行控制;右側上方為總線控制臺,主要顯示不常用的各個參數組,輸入參數組號后,其下面的表格就會顯示其中的參數名稱和大小;右側下方為發動機狀態指示燈。

圖2 界面設計
本文利用LabVIEW完成發動機數據采集和故障診斷程序的設計,在整個設計過程中采用了模塊化的編程思想,模塊化的編程思想就是指在編程過程中,其程序的相關部分放在一起進行封裝,它對外僅提供輸入和輸出接口。因此在別的程序使用到該模塊時,不必考慮模塊的內部結構,只需知道其端口參數即可。其主程序流程圖如圖3所示。
其中主要包括三部分:底層收發程序、轉換程序和應用程序。其中底層收發程序包括初始化程序、接收程序和發送程序、發送目標配置程序以及打開和關閉卡,這部分程序由CAN卡公司提供底層驅動的動態鏈接庫,然后LabVIEW對CANUSB接口卡動態鏈接庫端口函數的調用,實現CAN總線的通信。

圖3 程序設計主流程圖

圖4 32位ID—1939標識的轉換程序
而轉換程序主要包括:32位ID—1939標識的轉換程序、PGN—32位ID的轉換程序和原始數據所要參數的轉換程序。32位ID主要是指各CAN控制器中的ID存儲和發送都是雙字節的,而J1939標準中的ID是29位的,參數組號(PGN)是24位的,因而需要相互轉換。主要是對數據進行移位、數學運算和邏輯運算使之轉換成我們所需參數。以32位ID—1939標識的轉換程序舉例如圖4所示。
應用程序主要包括動力傳動系統狀態參數的顯示程序和發動機控制程序。顯示程序主要是通過CANUSB接口卡讀取EMR上的發動機數據,然后經過調用CANUSB接口卡的接口函數來讀取發動機的數據,而控制程序主要任務是對發動機的工作狀態進行控制,它通過用戶輸入期望數據,CANUSB接口卡采集到該數據并輸出到CAN總線,發動機端的EMR接收到該數據根據它的ECU的處理,輸出到執行器上,進而控制發動機相應的狀態,其主要流程如圖5所示。

圖5 發動機控制流程
本文通過對動力傳動系統CAN總線報文的分析,基于SAE J1939協議開發了以LabVIEW為平臺的動力傳動系統數據顯示采集系統,并進行了試驗驗證。設計的數據顯示采集軟件界面功能全面,美觀大方,并可以穩定的進行對發動機控制,滿足了動力傳動系統研發的需要,是一種很好的輔助工具。
[1]SAE J1939 Standards Collection, Recommended Practice for a Serial Control and Communication Vehicle Network[S]. Society of Automotive Engineers, 2003.
[2]SAE Standard. Data Link Layer SAE J1939/21 Issued 1994: 5-6.
[3]華旭東. 隨車數據采集分析技術研究[D]. 北京: 北京理工大學, 2001.