基于CAN現場總線的分布式柴油發動機測試系統
1. 引言
許多現在正在使用的柴油發動機測試平臺都是通過儀表讀數來分析、判斷一臺柴油發動機測試時的工作狀態,不僅效率低、精度差,而且綜合分析判斷能力有限。為了能夠更加全面、直觀地了解柴油發動機測試過程,迅速發現并排除故障隱患,使測試操作人員提高分析判斷能力,結合企業技術改造,我們開發了基于CAN現場總線的柴油發動機測試系統,實現了同時對多臺柴油發動機測試過程的監控與測試。
2. 測試系統結構組成
根據柴油發動機的測試要求,本系統主要完成對柴油發動機測試過程中各種傳感信號的處理以及柴油機工況數據的采集,并將數據通過CAN總線送上位機,要求處理16路模擬信號、16路I/O信號。采集的參數主要有:機油壓力和溫度、冷卻水溫度、進排氣溫度、燃油液位、啟動蓄電池電壓、轉速等。
柴油發動機測試系統的關鍵是引入了CAN總線技術,形成基于CAN總線的分布式測控體系模型,由于CAN總線作為現場總線的類型之一,屬于開放式底層控制網絡,是應用于生產現場、在微機化測量控制設備之間實現雙向串行多節點數字通信的系統,因此基于CAN總線的分布式測控系統是開放式的,而不是封閉和專用的。這種測試系統將監控功能分散到每個試車臺,每個試車臺均由一個CAN智能節點完成監控任務。每個CAN總線節點的組成是相同的,都包括:主控單元、CAN總線通信管理單元、數據采集與處理單元等。各節點通過CAN總線與上位機相連,通過總線完成彼此間的通信。
3. 測試系統硬件設計
柴油發動機測試系統采用兩級分布式結構。上位機采用PC機,在上位機的PCI總線插槽中安裝了PC-CAN總線適配卡,這樣就可以通過CAN總線將上、下位機聯系在一起構成控制網絡。下位機控制器采用單片機AT89C51和CAN總線控制器SJA1000共同組成的智能節點,它們直接對各現場設備(如:傳感器、繼電器、電機等進行控制,采集現場數據,并根據接收到的命令或者主動將數據發送到CAN總線。
通過事先設置驗收碼和驗收屏蔽碼可以控制智能節點從總線上接收哪些數據或命令。如果某些數據需要進一步復雜的處理(如動態顯示),則上位計算機可以從總線上接收數據。當上位機需要對某個節點施加控制動作時,可以采用點對點方式與該節點通訊,而當它要同時對所有節點施加控制動作時,可以采用廣播方式將命令發送到總線。這樣當系統正常運行時完全可以沒有上位機的參與,大大減少了數據的傳輸量,同時提高了系統的實時性和可靠性。
柴油發動機測試系統的硬件設計主要涉及上位機中的PC-CAN適配卡以及下位機CAN智能節點。這里重點分析CAN智能節點的結構組成。
在圖2CAN智能節點中,核心器件是CAN總線控制器SJA1000、CAN總線驅動器82C250以及單片機AT89C51。AT89C51主要有兩方面的任務:一是負責對CAN控制器SJA1000的初始化,并通過控制SJA1000實現數據的接收和發送等通信任務;二是負責對現場信號的采集以及對現場設備的控制。
評論