基于CAN現(xiàn)場(chǎng)總線的發(fā)動(dòng)機(jī)測(cè)試系統(tǒng)
1. 引言
許多現(xiàn)在正在使用的柴油發(fā)動(dòng)機(jī)測(cè)試平臺(tái)都是通過儀表讀數(shù)來分析、判斷一臺(tái)柴油發(fā)動(dòng)機(jī)測(cè)試時(shí)的工作狀態(tài),不僅效率低、精度差,而且綜合分析判斷能力有限。為了能夠更加全面、直觀地了解柴油發(fā)動(dòng)機(jī)測(cè)試過程,迅速發(fā)現(xiàn)并排除故障隱患,使測(cè)試操作人員提高分析判斷能力,結(jié)合企業(yè)技術(shù)改造,我們開發(fā)了基于CAN現(xiàn)場(chǎng)總線的柴油發(fā)動(dòng)機(jī)測(cè)試系統(tǒng),實(shí)現(xiàn)了同時(shí)對(duì)多臺(tái)柴油發(fā)動(dòng)機(jī)測(cè)試過程的監(jiān)控與測(cè)試。
2. 測(cè)試系統(tǒng)結(jié)構(gòu)組成
根據(jù)柴油發(fā)動(dòng)機(jī)的測(cè)試要求,本系統(tǒng)主要完成對(duì)柴油發(fā)動(dòng)機(jī)測(cè)試過程中各種傳感信號(hào)的處理以及柴油機(jī)工況數(shù)據(jù)的采集,并將數(shù)據(jù)通過CAN總線送上位機(jī),要求處理16路模擬信號(hào)、16路I/O信號(hào)。采集的參數(shù)主要有:機(jī)油壓力和溫度、冷卻水溫度、進(jìn)排氣溫度、燃油液位、啟動(dòng)蓄電池電壓、轉(zhuǎn)速等。
柴油發(fā)動(dòng)機(jī)測(cè)試系統(tǒng)的關(guān)鍵是引入了CAN總線技術(shù),形成基于CAN總線的分布式測(cè)控體系模型,如圖1所示。由于CAN總線作為現(xiàn)場(chǎng)總線的類型之一,屬于開放式底層控制網(wǎng)絡(luò),是應(yīng)用于生產(chǎn)現(xiàn)場(chǎng)、在微機(jī)化測(cè)量控制設(shè)備之間實(shí)現(xiàn)雙向串行多節(jié)點(diǎn)數(shù)字通信的系統(tǒng),因此基于CAN總線的分布式測(cè)控系統(tǒng)是開放式的,而不是封閉和專用的[1]。這種測(cè)試系統(tǒng)將監(jiān)控功能分散到每個(gè)試車臺(tái),每個(gè)試車臺(tái)均由一個(gè)CAN智能節(jié)點(diǎn)完成監(jiān)控任務(wù)。每個(gè)CAN總線節(jié)點(diǎn)的組成是相同的,都包括:主控單元、CAN總線通信管理單元、數(shù)據(jù)采集與處理單元等。各節(jié)點(diǎn)通過CAN總線與上位機(jī)相連,通過總線完成彼此間的通信。
3. 測(cè)試系統(tǒng)硬件設(shè)計(jì)
柴油發(fā)動(dòng)機(jī)測(cè)試系統(tǒng)采用兩級(jí)分布式結(jié)構(gòu)。上位機(jī)采用PC機(jī),在上位機(jī)的PCI總線插槽中安裝了PC-CAN總線適配卡,這樣就可以通過CAN總線將上、下位機(jī)聯(lián)系在一起構(gòu)成控制網(wǎng)絡(luò)。下位機(jī)控制器采用單片機(jī)AT89C51和CAN總線控制器SJA1000共同組成的智能節(jié)點(diǎn),它們直接對(duì)各現(xiàn)場(chǎng)設(shè)備(如:傳感器、繼電器、電機(jī)等進(jìn)行控制,采集現(xiàn)場(chǎng)數(shù)據(jù),并根據(jù)接收到的命令或者主動(dòng)將數(shù)據(jù)發(fā)送到CAN總線。
通過事先設(shè)置驗(yàn)收碼和驗(yàn)收屏蔽碼可以控制智能節(jié)點(diǎn)從總線上接收哪些數(shù)據(jù)或命令。如果某些數(shù)據(jù)需要進(jìn)一步復(fù)雜的處理(如動(dòng)態(tài)顯示),則上位計(jì)算機(jī)可以從總線上接收數(shù)據(jù)。當(dāng)上位機(jī)需要對(duì)某個(gè)節(jié)點(diǎn)施加控制動(dòng)作時(shí),可以采用點(diǎn)對(duì)點(diǎn)方式與該節(jié)點(diǎn)通訊,而當(dāng)它要同時(shí)對(duì)所有節(jié)點(diǎn)施加控制動(dòng)作時(shí),可以采用廣播方式將命令發(fā)送到總線。這樣當(dāng)系統(tǒng)正常運(yùn)行時(shí)完全可以沒有上位機(jī)的參與,大大減少了數(shù)據(jù)的傳輸量,同時(shí)提高了系統(tǒng)的實(shí)時(shí)性和可靠性。
柴油發(fā)動(dòng)機(jī)測(cè)試系統(tǒng)的硬件設(shè)計(jì)主要涉及上位機(jī)中的PC-CAN適配卡以及下位機(jī)CAN智能節(jié)點(diǎn)。這里重點(diǎn)分析CAN智能節(jié)點(diǎn)的結(jié)構(gòu)組成。
在圖2所示的CAN智能節(jié)點(diǎn)中,核心器件是CAN總線控制器SJA1000、CAN總線驅(qū)動(dòng)器82C250以及單片機(jī)AT89C51。AT89C51主要有兩方面的任務(wù):一是負(fù)責(zé)對(duì)CAN控制器SJA1000的初始化,并通過控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的接收和發(fā)送等通信任務(wù);二是負(fù)責(zé)對(duì)現(xiàn)場(chǎng)信號(hào)的采集以及對(duì)現(xiàn)場(chǎng)設(shè)備的控制。
SJA1000是Philips公司的CAN控制器,它實(shí)現(xiàn)了CAN總線網(wǎng)絡(luò)中的數(shù)據(jù)鏈路層和物理層功能,通過對(duì)其編程,微處理器可以設(shè)置它的工作方式,控制它的工作狀態(tài),進(jìn)行數(shù)據(jù)的發(fā)送和接收,把應(yīng)用層建立在它的基礎(chǔ)之上。在本設(shè)計(jì)中,為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,采用SJA1000的具有光電隔離的CAN總線接口。SJA1000的發(fā)送輸出端TX0與接收輸入端RX0、RX1分別經(jīng)高速集成光電耦合器6N137隔離后與CAN總線接口驅(qū)動(dòng)芯片82C250的TXD和RXD相連,82C250則直接與CAN物理總線相連。
上位機(jī)監(jiān)控軟件采用組態(tài)軟件進(jìn)行開發(fā)。組態(tài)軟件作為用戶可定制功能的軟件平臺(tái)工具,是隨著分布式控制系統(tǒng)及計(jì)算機(jī)控制技術(shù)的日趨成熟而發(fā)展起來的。
評(píng)論