基于CAN現(xiàn)場總線的分布式柴油發(fā)動機測試系統(tǒng)
SJA1000是Philips公司的CAN控制器,它實現(xiàn)了CAN總線網(wǎng)絡中的數(shù)據(jù)鏈路層和物理層功能,通過對其編程,微處理器可以設置它的工作方式,控制它的工作狀態(tài),進行數(shù)據(jù)的發(fā)送和接收,把應用層建立在它的基礎之上。在本設計中,為了增強CAN總線節(jié)點的抗干擾能力,采用SJA1000的具有光電隔離的CAN總線接口。SJA1000的發(fā)送輸出端TX0與接收輸入端RX0、RX1分別經(jīng)高速集成光電耦合器6N137隔離后與CAN總線接口驅(qū)動芯片82C250的TXD和RXD相連,82C250則直接與CAN物理總線相連。
上位機監(jiān)控軟件采用組態(tài)軟件進行開發(fā)。組態(tài)軟件作為用戶可定制功能的軟件平臺工具,是隨著分布式控制系統(tǒng)及計算機控制技術的日趨成熟而發(fā)展起來的
當前,隨著現(xiàn)場總線技術的逐步推廣,現(xiàn)場總線和開放系統(tǒng)已成為組態(tài)軟件成長所依賴的外部環(huán)境,這使得組態(tài)軟件更易于與眾多的輸入/輸出設備連接,從而促進了組態(tài)軟件在現(xiàn)場總線控制系統(tǒng)中的應用。通過對現(xiàn)有組態(tài)軟件性能及價格的比較,同時結(jié)合本技改項目的實際需要,選擇國產(chǎn)"世紀星"組態(tài)軟件來開發(fā)CAN總線系統(tǒng)的監(jiān)控程序。為了將上位機人機界面程序與下位機數(shù)據(jù)采集與交換程序有機地結(jié)合起來,我們把臨控程序分成兩部分,即:將服務器-客戶機結(jié)構應用到CAN總線控制系統(tǒng)的組態(tài)軟件設計中,實現(xiàn)以人機界面程序作為客戶機端程序,以與硬件進行數(shù)據(jù)交換的程序作為服務器端程序。
(2) 下位機軟件:
每個柴油發(fā)動機試車臺作為CAN總線的一個智能節(jié)點,通過CAN通信接口將各試車臺的檢測狀態(tài)和控制結(jié)果等信息向上位機傳送,并隨時準備接收上位機的控制指令。下位機控制程序采用模塊化編程,包括CAN總線通信管理模塊、柴油發(fā)動機運行狀態(tài)監(jiān)控模塊、A/D巡檢采樣及數(shù)據(jù)轉(zhuǎn)存模塊、I/O開關量信號處理模塊等。其中,CAN節(jié)點通信模塊部分至關重要,它關系到整個分布式控制網(wǎng)絡能否正常工作。CAN節(jié)點通信模塊由CAN初始化子程序、CAN中斷程序和CAN數(shù)據(jù)收發(fā)子程序組成,如圖4所示。
4. 結(jié)束語
本論文的研究內(nèi)容在圍產(chǎn)135系列柴油發(fā)動機的試車臺上已經(jīng)過試驗并運行良好,實踐表明:基于CAN總線的分布式測試系統(tǒng)穩(wěn)定可靠,具有配置靈活簡單、成本低、可靠性高、抗干擾能力強和可擴充性好等優(yōu)點,可以對柴油機的測試過程進行全面監(jiān)控,大大減少了測試時間,改善了監(jiān)控工作條件,提高了對設備的科學化管理,對某些故障還能夠及早發(fā)現(xiàn),防止滯后處理所造成的損失。
評論