工程設(shè)備CAN總線控制系統(tǒng)設(shè)計(jì)
1 引言
本文引用地址:http://www.ex-cimer.com/article/201705/359430.htm工程設(shè)備的數(shù)字化、信息化及施工管理一體化是當(dāng)前工程設(shè)備的發(fā)展熱潮,自20世紀(jì)90年代始,發(fā)達(dá)國(guó)家的制造業(yè)就已經(jīng)開始進(jìn)行相關(guān)技術(shù)的探索,高新技術(shù)大量應(yīng)用于先進(jìn)的工程設(shè)備設(shè)計(jì)中。同時(shí),以微計(jì)算機(jī)為代表的智能控制器被大量采用,智能節(jié)點(diǎn)間的信息流量空前增加。將車載電子設(shè)備按照一定的協(xié)議聯(lián)網(wǎng),并加以有效地信息綜合,使之達(dá)到資源和功能的共享已成為發(fā)展趨勢(shì)。
現(xiàn)場(chǎng)總線技術(shù)是指把單個(gè)分散的測(cè)量控制設(shè)備變成網(wǎng)絡(luò)節(jié)點(diǎn),以現(xiàn)場(chǎng)總線為紐帶,把它們連接成可以相互溝通訊息、共同完成自控任務(wù)的網(wǎng)絡(luò)系統(tǒng)與控制系統(tǒng)。CAN(Controller Area Network)總線,又稱控制域局域網(wǎng),屬于總線式串行通信網(wǎng)絡(luò),最早由BOSCH公司在80年代提出,由于可靠性高、實(shí)時(shí)性強(qiáng)、靈活方便,便于檢測(cè)維護(hù),因而被廣泛應(yīng)用。在工程設(shè)備領(lǐng)域,美國(guó)CAT公司生產(chǎn)的CAT980G裝載機(jī),日本小松的WA380-3和WA500-3,日本川崎的KLD80ZⅢ等均采用CAN總線技術(shù),提高設(shè)備的整體控制技術(shù)水平。
根據(jù)CAN總線的技術(shù)特點(diǎn),本文設(shè)計(jì)了一種基于CAN總線的工程設(shè)備控制系統(tǒng),通過分布式智能控制來提高工程設(shè)備的控制技術(shù)和信息化水平。
2 系統(tǒng)組成與功能特點(diǎn)
2.1 系統(tǒng)組成
傳統(tǒng)的工程裝備控制系統(tǒng)采用集中式控制,除主控制器外一般都不具備可智能化的條件。基于CAN總線的控制系統(tǒng)采用分布式智能總線控制,將各功能模塊做成智能終端,再通過CAN總線連接,并輔之以一定的通訊協(xié)議,這樣不僅提高了整個(gè)系統(tǒng)的可靠性及智能化水平,同時(shí)降低了系統(tǒng)的復(fù)雜程度。
系統(tǒng)由主控制器、操縱盒、傳感器、執(zhí)行機(jī)構(gòu)和虛擬儀表等組成,各部件采用CAN總線互聯(lián)。主控制器負(fù)責(zé)系統(tǒng)的信息協(xié)調(diào)與處理;作業(yè)終端是作業(yè)手對(duì)作業(yè)過程進(jìn)行干預(yù)的主要手段;傳感器負(fù)責(zé)感知系統(tǒng)的狀態(tài);執(zhí)行器負(fù)責(zé)完成經(jīng)主控制器處理后的動(dòng)作;虛擬儀表提供了一種可視化的人機(jī)界面,用文字或圖形的方式告知作業(yè)手器材當(dāng)前的狀態(tài);調(diào)試診斷儀負(fù)責(zé)定位系統(tǒng)故障源。各模塊都是自成一體的智能終端,各模塊可以有多個(gè),只要給它們分配不同的標(biāo)識(shí)符(ID號(hào))即可,各模塊通過4芯屏蔽電纜并聯(lián)起來,4芯電纜中2根(電源正和電源負(fù))用于給終端供電,另外2根(CANH和CANL)用于終端間通信。本系統(tǒng)組成如圖1所示。
圖1 基于CAN總線的智能控制系統(tǒng)組成
2.2 系統(tǒng)功能特點(diǎn)
與傳統(tǒng)的集中式控制系統(tǒng)相比,本控制系統(tǒng)具有如下功能特點(diǎn):
(1) 防誤操作功能。設(shè)計(jì)人員可以很容易地通過軟件編程屏蔽掉本系統(tǒng)中可能出現(xiàn)的誤操作,而只開放允許的操作,同時(shí)還可根據(jù)需要發(fā)出聲光報(bào)警,告知作業(yè)手有操作錯(cuò)誤;
(2) 作業(yè)向?qū)Чδ?。操縱盒的智能化和系統(tǒng)數(shù)據(jù)的共享使得設(shè)計(jì)人員可以根據(jù)作業(yè)過程,通過軟件編程點(diǎn)亮相應(yīng)的指示燈,告知作業(yè)手許可的操作。實(shí)現(xiàn)器材操作的“傻瓜”化;
(3) 系統(tǒng)自我診斷自我恢復(fù)。智能化終端可以方便地對(duì)自身的狀態(tài)進(jìn)行診斷,并向總線發(fā)送相關(guān)信息供其它智能節(jié)點(diǎn)處理用,使器材使用者不用掌握太多的專業(yè)知識(shí)就可以容易地判斷問題所在;同時(shí)對(duì)于總線內(nèi)部錯(cuò)誤,總線系統(tǒng)可以通過自身軟件進(jìn)行自動(dòng)恢復(fù)
(4) 狀態(tài)指示。通過虛擬儀表或操縱盒指示燈指示器顯示系統(tǒng)當(dāng)前狀態(tài)。
(5) 數(shù)據(jù)共享,信息全面,可靠性高。系統(tǒng)的所有數(shù)據(jù)都可在CAN總線上接收到,可以很容易地實(shí)現(xiàn)信息共享,減少了數(shù)據(jù)的重復(fù)處理,降低了對(duì)主控制器的要求;同時(shí)CAN總線具有線間干擾小、抗干擾能力強(qiáng)的特點(diǎn)。系統(tǒng)采用模塊化管理,各模塊按其功能分散布置,簡(jiǎn)化了布線并縮短了線束的長(zhǎng)度,從而降低了耦合電流的產(chǎn)生,減小了線間干擾。同時(shí)在軟件上,CAN總線采用短幀傳輸,這樣使總線數(shù)據(jù)報(bào)文在傳輸過程中有較強(qiáng)的抗干擾能力;
(6) 擴(kuò)充性強(qiáng),產(chǎn)品升級(jí)快,性價(jià)比高。
(7) 參數(shù)配置靈活??梢酝ㄟ^CAN總線進(jìn)行參數(shù)配置,如開關(guān)量可以根據(jù)廠家需求設(shè)置其門限及控制極性(正負(fù)控),模擬量可根據(jù)廠家提供的傳感器性能曲線進(jìn)行校正,相關(guān)位置量也可以方便地進(jìn)行總線標(biāo)定,縮短產(chǎn)品調(diào)試時(shí)間。
3 總線通訊協(xié)議設(shè)計(jì)
CAN 通信協(xié)議主要描述設(shè)備之間的基于基本CAN通信的應(yīng)用程序信息傳遞方式。CAN 通信層的定義與開放系統(tǒng)互連(OSI)參考模型一致,但只定義了最下面兩層:物理層和數(shù)據(jù)鏈路層。由于沒有規(guī)定應(yīng)用層,因此CAN協(xié)議本身并不完整,需要一個(gè)應(yīng)用層協(xié)議來定義CAN報(bào)文中的標(biāo)識(shí)符(11/29位)、8字節(jié)數(shù)據(jù)的分配與使用。目前國(guó)際上使用較多的高層協(xié)議有CANopen、J1939和DeviceNet等,但是由于工程設(shè)備的控制節(jié)點(diǎn)一般不多,完全可以根據(jù)自身特點(diǎn),設(shè)計(jì)高效的應(yīng)用層協(xié)議。下面給出幾個(gè)實(shí)用的設(shè)計(jì)方法。
3.1 報(bào)文ID的設(shè)計(jì)
在通信標(biāo)識(shí)符,即ID號(hào)分配時(shí),對(duì)于關(guān)重信息幀或要求快速響應(yīng)的信息幀采用低號(hào)ID,如裝備控制中需要實(shí)時(shí)反饋信號(hào)的各作業(yè)機(jī)構(gòu)到位信號(hào);對(duì)于傳遞僅用于監(jiān)測(cè)而不參與實(shí)時(shí)控制信號(hào)的信息幀應(yīng)采用高ID號(hào),如油溫、油壓、車姿等狀態(tài)信息。
另外,在驗(yàn)收濾波器中對(duì)驗(yàn)收代碼寄存器(ACR)和驗(yàn)收屏蔽寄存器(AMR)正確設(shè)置可以屏蔽與該節(jié)點(diǎn)不相干的ID號(hào)信息,可以提高有效信息的響應(yīng)速度。
3.2 報(bào)文的循環(huán)發(fā)送與查詢發(fā)送
對(duì)于參與控制的重要信息幀一般應(yīng)采取定時(shí)循環(huán)發(fā)送方式,保證信息的實(shí)時(shí)刷新;而對(duì)于軟硬件版本查詢、參數(shù)標(biāo)定等需要臨時(shí)數(shù)據(jù)服務(wù)的則主要采用C/S(客戶機(jī)/服務(wù)器)方式進(jìn)行信息幀發(fā)送,即進(jìn)行特定的信息幀定義,當(dāng)服務(wù)器收到客戶機(jī)的參數(shù)查詢或標(biāo)定請(qǐng)求后再處理并發(fā)送相應(yīng)的回饋信息幀。
3.3 “心跳”檢測(cè)
當(dāng)數(shù)據(jù)源節(jié)點(diǎn)退出總線后(故障或人為退出),接收節(jié)點(diǎn)相應(yīng)的接收數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)必須進(jìn)行復(fù)位,防止數(shù)據(jù)不一致造成非期望事件發(fā)生。因此,一般要求源節(jié)點(diǎn)定時(shí)發(fā)送“心跳”信息,即設(shè)計(jì)一特定的信息幀或把特定信息幀中的某一位設(shè)計(jì)成代表該節(jié)點(diǎn)的“心跳”,節(jié)點(diǎn)啟動(dòng)工作后每隔一定時(shí)間發(fā)送“心跳”信息幀或定義的“心跳位”高低電平變化一次,這樣如果在一定的時(shí)間內(nèi)沒有收到該節(jié)點(diǎn)“心跳”信息,則可以判斷節(jié)點(diǎn)不在總線上,進(jìn)而做出相應(yīng)的事件處理。
圖2 數(shù)據(jù)標(biāo)定流程圖
3.4 傳輸錯(cuò)誤檢驗(yàn)
為了提高數(shù)據(jù)通訊的可靠性,對(duì)于關(guān)鍵數(shù)據(jù)幀(如標(biāo)定數(shù)據(jù)幀),采用和校驗(yàn)的方式防止數(shù)據(jù)傳輸錯(cuò)誤,即數(shù)據(jù)源節(jié)點(diǎn)將最后一個(gè)數(shù)據(jù)字節(jié)定義為校驗(yàn)字節(jié),采用累加和等校驗(yàn)等方式,將運(yùn)算結(jié)果的低8位(即低位字節(jié))作為校驗(yàn)數(shù)據(jù)值。數(shù)據(jù)接收節(jié)點(diǎn)收到數(shù)據(jù)幀后,通過運(yùn)算進(jìn)行比較,結(jié)果無誤后再進(jìn)行相應(yīng)的賦值處理。
3.5 數(shù)據(jù)查詢與參數(shù)標(biāo)定
數(shù)據(jù)查詢和標(biāo)定采用重復(fù)發(fā)送控制信息直到得到特定反饋信息才結(jié)束的通信方式,流程如圖2所示。
4 CAN總線作業(yè)終端設(shè)計(jì)
將作業(yè)終端設(shè)計(jì)成一個(gè)智能節(jié)點(diǎn),采用CAN總線通信,則可以減少連接線纜芯數(shù)的數(shù)量,提高工作可靠性;同時(shí)數(shù)據(jù)傳輸內(nèi)容豐富,可以傳遞狀態(tài)信息,也可以傳送報(bào)文信息,提高信息化程度;并可增加通信距離,提高工作的適應(yīng)性。
(1)硬件設(shè)計(jì)
基于帶CAN總線控制器的單片機(jī)PIC18F458系統(tǒng)設(shè)計(jì),通過CAN總線收發(fā)器MCP2551與其它節(jié)點(diǎn)總線相連,外圍有開關(guān)量輸入電路、模擬量輸入電路、數(shù)碼管顯示電路、開關(guān)量輸出電路、CAN收發(fā)器和電源電路等,見圖3。
圖3 CAN總線作業(yè)終端硬件原理框圖
5 主控制器設(shè)計(jì)
主控制器為主要的操作信號(hào)采集的執(zhí)行單元,它將系統(tǒng)的操縱信號(hào)進(jìn)行防誤操作處理后控制作業(yè)機(jī)構(gòu)的執(zhí)行元件。
主控制器采用EPEC 系列高可靠性可編程控制器(PLC)設(shè)計(jì),該系列控制器在國(guó)內(nèi)外工程機(jī)械中應(yīng)用較廣泛,具有兩個(gè)CAN通訊口,本身即可兼做多協(xié)議的網(wǎng)關(guān)。該型控制器具有以下優(yōu)點(diǎn):抗電磁干擾、抗振動(dòng)、耐油、適應(yīng)環(huán)境能力強(qiáng)、結(jié)構(gòu)緊湊、密封性好、具有自我保護(hù)能力的特點(diǎn),可以長(zhǎng)期在野外惡劣環(huán)境條件下工作,可以直接驅(qū)動(dòng)多種執(zhí)行器,如電液比例閥、伺服馬達(dá)等,特別適用于移動(dòng)設(shè)備的使用。當(dāng)然,就CAN系統(tǒng)作業(yè)集成角度來看,STW,INTER CONTROL等控制器的性能也較好,各有其特色,可以根據(jù)控制需求進(jìn)行選擇。
6 虛擬儀表設(shè)計(jì)
虛擬儀表主要用于終端顯示,以提供各種作業(yè)信息。選用PC104主板作為嵌入式計(jì)算機(jī)系統(tǒng)的硬件,硬件配置表如表1所示,軟件采用實(shí)時(shí)性好的VxWorks操作系統(tǒng),利用VxWorks BSP包完成移植。
表1 虛擬儀表硬件配置表
虛擬儀表可以完成工作狀態(tài)顯示、傳感器數(shù)據(jù)標(biāo)定、視頻顯示等,提供了良好的人機(jī)交互界面,并可以通過RS232接口接入導(dǎo)航定位信息,提高裝備的信息化程度。
7 CAN總線調(diào)試診斷儀設(shè)計(jì)
調(diào)試診斷儀基于BIT技術(shù),采用嵌入式系統(tǒng)架構(gòu),硬件以ARM控制器為核心。ARM系列處理器采用32位嵌入式RISC結(jié)構(gòu),內(nèi)部集成多級(jí)流水線以提高處理器指令的執(zhí)行速度,其強(qiáng)大功能與外圍電路的配合,將信號(hào)采集、處理、故障診斷及網(wǎng)絡(luò)通信等功能集于一體,特別適合作為智能儀器設(shè)備的開發(fā)平臺(tái)。HMS30C7202是基于ARM720T的32位處理器,包括了PC機(jī)的所有基本功能。具有高性能低功耗的特點(diǎn),片內(nèi)資源非常豐富,具有極高的集成度,非常適用于嵌入式系統(tǒng)應(yīng)用。調(diào)試診斷設(shè)備硬件由基于ARM芯片HMS30C7202的核心模塊加外圍電路組成,見圖4。為了充分發(fā)揮ARM芯片的效率,提高任務(wù)級(jí)的響應(yīng)時(shí)間,采用實(shí)時(shí)內(nèi)核μC/OS-II來進(jìn)行資源管理。μC/OS-II是一個(gè)完整、可移植的搶占式實(shí)時(shí)多任務(wù)操作系統(tǒng),具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良和可擴(kuò)展性強(qiáng)的特點(diǎn)。用戶界面基于MiniGUI平臺(tái)進(jìn)行開發(fā),極大地提高了人機(jī)交互性能。
圖4 調(diào)試診斷儀硬件架構(gòu)
8 結(jié)語
智能化、信息化是工程機(jī)械裝備的發(fā)展方向,將先進(jìn)的現(xiàn)場(chǎng)總線技術(shù)應(yīng)用其中必將使裝備智能化、信息化更易實(shí)現(xiàn)。文設(shè)計(jì)的基于CAN總線的工程設(shè)備控制系統(tǒng)具有功能完善、通用性好、使用方便等特點(diǎn),并且技術(shù)架構(gòu)先進(jìn),符合工程設(shè)備控制系統(tǒng)向分布式智能控制的總體發(fā)展方向。通過多項(xiàng)軍用與民用設(shè)備的應(yīng)用實(shí)踐表明,系統(tǒng)工作可靠,實(shí)時(shí)性好,功能拓展方便,維修性和測(cè)試性好,具有良好的推廣應(yīng)用前景。
本文創(chuàng)新點(diǎn)是將CAN總線技術(shù)應(yīng)用于工程設(shè)備控制系統(tǒng),使其智能信息化程度高、通用性、維修性和測(cè)試性好,以提高工程設(shè)備的綜合性能。通過相關(guān)設(shè)備控制系統(tǒng)的配套,成果應(yīng)用已產(chǎn)生經(jīng)濟(jì)效益近20萬元。
評(píng)論