狄小冬,王 熙,王新忠,莊衛東,王德福,董 欣
(1.黑龍江八一農墾大學工程學院,黑龍江大慶 163319;2.東北農業大學工程學院,黑龍江哈爾濱 150030)
近年來,青貯飼料收獲機控制器局域網絡(CAN)總線技術發展迅速,為了代替真實柴油發動機,在實驗室內進行CAN總線車載顯示終端的模擬測試試驗,有必要研究設計青貯飼料收獲機發動機CAN總線數據虛擬信號發生器。
使用CAN總線數據虛擬信號發生器,技術人員可以不用到青貯飼料收獲機現場,沒有青貯飼料收獲機,在實驗室內即可對車載顯示終端進行模擬測試試驗,節約測試試驗成本,提高試驗效率,使用靈活方便。修改CAN總線數據虛擬信號發生器程序后,也可以擴展應用到其他收獲機或拖拉機上。
CAN總線為分散式控制系統,實現每個節點之間實時網絡數據通信,使青貯飼料收獲機虛擬信號發生器向網絡輸出CAN數據成為可能[1-4]。目前,國內對CAN總線的研究較多,但關于青貯飼料收獲機CAN總線相關技術研究較少[5-7],因此關于青貯飼料收獲機柴油發動機CAN總線數據虛擬信號發生器的研究具有一定的應用價值。
本研究以牧神4QZ-3000A型自走式青貯飼料收獲機(圖1)為平臺,該收獲機采用中國重汽杭發斯太爾D1031AT30型柴油發動機,研究開發一種基于青貯飼料收獲機CAN數據解析的柴油發動機虛擬信號發生器。從軟硬件設計、總線通信協議的選擇及報文格式和總體系統的設計等方面進一步完善,旨在代替真實發動機,完成相關模擬測試試驗研究。

1986年,德國汽車電子公司起初在汽車電子控制系統方面研發了汽車總線,即CAN總線[8]。CAN總線目前是廣泛應用在車輛、工業、船舶等領域的一種通信網絡,在國內外得到高度的認可。在20世紀末,國際標準化組織(ISO)將通信標準協議SAE J1939定義為農業和林業機械的標準通信規范和接口,對農業林業機具、拖拉機串口通信方式及總線的網絡協議制定了相關原則[9]。在國內,CAN總線已逐漸應用于農業機械車輛。CAN總線是國際標準中唯一的串行現場總線,具有高性能、高可靠性、易開發和低成本的特點[10],CAN總線的通信距離相對于其他通信網絡長且靈活,通信距離最長可達10 km(在10 km距離下仍可提供5 kbit/s的數據傳輸速率),最大的傳輸速度可達1 Mbit/s(在最大的傳輸速度下通信距離最長為40 m)[11]。
國際標準化組織(ISO)根據SAE J1939和DIN9684規定了農用車輛網絡通信國標[12]。SAE J1939協議對傳感器等部件進行了定義,對數據傳輸的協議和格式等進行了規定,其采用CAN總線作為部件之間的網絡通信標準總線。
SAE J1939協議以CAN底層協議為基礎實現的高層協議,根據現代農業的發展需求,尤其是精準農業領域的未來發展走向,放棄農林機械中使用點對點的單通信方式,摒棄拖拉機上繁瑣的布線系統,國際標準化組織規范了SAE J1939協議。該協議是基于CAN 2.0B[13],并應用于農業機械、拖拉機串行控制等網絡通信協議,標準為不同類型的農機具之間信息的互換提供了技術支持,允許農林車輛上的部件之間進行數據共享,并規范了農林機械中不同參數的定義和表示方式。標準的關鍵組成部分包括應用層傳輸信息、拖拉機、電子控制單元、控制器、信息管理系統和數據字典等部分[14]。
在CAN總線報文格式內,是通過4種不同幀和1個幀間隔,包括數據幀、遠程幀、錯誤幀、超載幀和幀間隔,完成節點與節點之間的報文信息的傳入和傳出[15]。
CAN 2.0B協議規范中定義了2種信息幀即標準幀與擴展幀格式。標準幀的格式有11位ID,而擴展幀的格式有29位ID,但是信息幀的規范形式,是以SAE J1939協議中擴展幀的格式指定的。相較于信息幀格式,SAE J1939協議選取PDU來定義,PDU為數據協議單元。在SAE J1939協議中,PDU數據格式由指定的PDU(目標地址DA、組擴展GE)、Priority(P)、Researd(R)、源地址(SA)、Data Page(DP)、PDU Format(PF)和數據域[16]構成。CAN擴展幀的格式與SAE J1939協議之間的對應關系見表1。

表1 CAN擴展幀的格式與SAE J1939協議的對應關系
本研究解析所需原始數據均為牧神4QZ-3000A型自走式青貯飼料收獲機作業時采集到的CAN總線數據。運用CAN總線數據采集記錄儀,對青貯飼料收獲機在田間作業時的經度、緯度、高程、燃油消耗量、柴油發動機轉速等信息進行采集和記錄,并根據SAE J1939協議對柴油發動機轉速數據進行解析,CAN總線接收存儲的報文格式見表2。

表2 CAN總線接收存儲的報文格式
對于接收的報文數據,須要依據SAE J1939協議的定義對其解析:涵蓋了SAE J1939協議中1個幀的標志符和數據。其中:ID=0x0CFEE61C=0000,1100,1111,1110,1110,0110,0001,1100;ID數據中前3位數據被忽略,PGN包括保留位(R):0;數據幀位(DP):0;協議數據單元(PF):FE;擴展單元(PS):E6;去掉優先級(P)3位和源地址(SA)8位得PGN=0000,1100,1111,1110,1110,0110,1100=OxFEF6(H)=65264(D)。
按照上述方法可知,ID號為0x0CF004F,其中00xF004=61444(參數組號碼),61444是轉換后的數據,該參數組是柴油發動機控制器1參數組,柴油發動機參數定義見表3。
例如:0x0CF004F0,1,8,0xFE,0xFF,0x9B,0xA5,0x12,0xFF,0xFF,0xFF,發動機轉矩模式不可用,原始值0x9B=155(十進制),實際值等于155×1%-125% =30%,即實際的柴油發動機轉矩比例為30%,原始值0x12A5=4 773(十進制),實際值等于4 773×0.125+0=596.625 r/min,即柴油發動機轉速為596.625 r/min。
為了實現整個系統對青貯飼料收獲機發動機信號的模擬,通過RS232實現串口通信功能,將模擬的青貯飼料收獲機發動機信號輸送到CAN總線,車載顯示終端接收從CAN總線發送的數據并驅動車載顯示終端進行響應。

表3 柴油發動機參數定義
系統硬件由臺式計算機、RS232-CAN轉換器、青貯飼料收獲機車載顯示終端、SAE J1939接口、CAN數據電纜線束等組成(圖2)。
系統的上位機選用臺式計算機,上位機操作系統為Windows 7系統,實現串口通信、參數調節等功能。車載顯示終端選用KPL-ALPHA3101型車載終端,其是鄭州開普勒測控技術股份有限公司自主研發的一款CAN總線車載終端,主要針對農用機械、工程機械、其他特種車輛所配套的10.1英寸車載終端顯示器,工作電壓9~32 V,功耗≤9W,安裝方式為外掛,通信接口為1路CAN2.0B/多路外設接口。
轉換器型號選用千目電子RS232-CAN-E1轉換器。RS232-CAN轉換器有1路RS232接口和1路CAN接口,對于CAN總線V2.0A與V2.0B技術標準完全支持(圖3)。RS232-CAN轉換器的2種工作模式為:(1)調試模式。在此模式下可以使用轉換器調試軟件進行接收發送CAN數據,并且能設定透傳模式的參數等操作。(2)透傳模式。可脫離調試轉件使用,實現RS232串口和CAN之間的直接轉換,共有5種工作方式可以選擇。通過VB、VC和DELPHI等編程語言中的串口控件進行程序的開發。


穩壓電源模塊選用輸入交流AC220 V,輸出直流電壓DC24 V,輸出電流1.0 A。
系統軟件程序設計選擇Visual Basic 6.0,其具有可視化界面設計平臺、面向對象的設計方法等特點。
柴油發動機的轉速CAN數據與燃油消耗量CAN數據均來自牧神4QZ-3000A型自走式青貯飼料收獲機的CAN數據,以十六進制數據轉換為十進制數據進行運算為核心,進行軟件編程設計。其程序編程流程見圖4。

軟件的設計界面包括自動和手動2種模式,自動模式時,虛擬柴油發動機轉速信號與柴油機燃油消耗量平穩升降;手動模式時,根據需求調整柴油發動機轉速和燃油消耗量參數,使其實現柴油發動機信號的模擬,軟件設計界面見圖5。
在實驗室首先將臺式計算機與RS232-CAN轉換器通過上位機RS232接口連接,轉換器外接電源。RS232-CAN轉換器、遠程控制器分別與CAN總線接頭連接,車載顯示終端與CAN總線接頭連接,完成通信。臺式計算機虛擬CAN總線數據程序產生青貯飼料收獲機柴油發動機信號,輸出柴油發動機CAN總線數據到車載顯示終端。試驗裝置見圖6。

為了測試系統的可靠性和驗證設計結果,在臺式計算機程序界面手動輸入柴油機燃油消耗量5~35 L/h、柴油機轉速150~2 800 r/min信號,重復3次試驗,在車載顯示終端準確的顯示柴油機燃油消耗量5~35 L/h、柴油發動機轉速150~2 500 r/min,測試試驗結果見表4。


表4 柴油發動機轉速試驗數據
利用VB編程設計的軟件,可以準確地發送柴油發動機轉速和燃油消耗量CAN信號,指針在全量程3 000 r/min內轉動,轉動過程平順且穩定。
系統主要結構由臺式計算機、RS232-CAN轉換器、SAE J1939接口、車載顯示終端等模塊構成,采用了可視化編程Visual Basic 6.0進行軟件的編程,該軟件具有使用成本低、適應現代化技術發展、便于推廣和提高農業效益的特點。
試驗測試結果表明,系統結構簡單、穩定可靠、信號輸出平順穩定、參數調節方便,達到了代替真實發動機完成相關模擬測試的效果,為農業機械CAN總線領域的應用研究提供了參考。