摘要:針對(duì)軌道車輛控制系統(tǒng)中驅(qū)動(dòng)電機(jī)多而分散、系統(tǒng)信息量大、布線復(fù)雜、調(diào)試不方便等問(wèn)題,設(shè)計(jì)了一種基于CAN總線和虛擬儀器技術(shù)的分布式軌道車輛監(jiān)控系統(tǒng)。利用LabVIEW軟件構(gòu)建了車輛控制系統(tǒng)的狀態(tài)監(jiān)測(cè)平臺(tái),監(jiān)控主機(jī)與現(xiàn)場(chǎng)智能節(jié)點(diǎn)通過(guò)CAN總線進(jìn)行通信,實(shí)現(xiàn)了多電機(jī)的分散控制和集中監(jiān)管功能,形成了分布式監(jiān)控網(wǎng)絡(luò),簡(jiǎn)化了系統(tǒng)結(jié)構(gòu)。文中介紹了監(jiān)控系統(tǒng)的整體結(jié)構(gòu)、智能節(jié)點(diǎn)的軟/硬件設(shè)計(jì)流程。該系統(tǒng)經(jīng)實(shí)際測(cè)試和現(xiàn)場(chǎng)運(yùn)行表明,CAN總線和虛擬儀器技術(shù)的有機(jī)結(jié)合優(yōu)于傳統(tǒng)監(jiān)控系統(tǒng)的實(shí)現(xiàn)方法,并且具有一定的推廣價(jià)值和廣闊的應(yīng)用前景。
關(guān)鍵詞:CAN總線;虛擬儀器;分布式系統(tǒng);LabVIEW;智能節(jié)點(diǎn)
中國(guó)分類號(hào):TP247 文獻(xiàn)標(biāo)識(shí)碼:A
Design of the Monitor and Control System of Railcar Based on
CAN Bus and Virtual Instrument Technology
Sun Shuwen, Yang Jianwu, Zhang Huihui
(College of Mechanical Engineering & Applied Electronics Technology, Beijing University of Technology, Beijing 100022 ,China)
Abstract:Countering the problems existing in the distributed control system of railcar, such as the condition of excessive and distributed driving motor, many inbbbbation exchange, complex wiring, and inconvenient installation and debugging, a monitor and control system of railcar based on CAN Bus and virtual instrument technology is designed. The HMI is studied and realized on the platbbbb of LabVIEW. Via CAN (Control Area Networks) bus, the monitor host computer and these nodes of field inbbbligent can communicate with each other directly, like a distributed network. The system structure is more concise. The function of distributed setting and concentrated control is realized in this system. The whole structure and principle of system, the hardware circuit, and the software programming were discussed in detail. Practical using shows that this monitor system has the better control effect, indicates it’s brilliant and validity beyond traditional bbbbbbs and is suitable for similar practical engineering.
Keywords: CAN bus; virtual instrument; distributed system; LabVIEW; field inbbbligent node
0 引言
目前,在控制領(lǐng)域,虛擬儀器系統(tǒng)的應(yīng)用多局限于采集-反饋-控制的點(diǎn)對(duì)點(diǎn)方式。而對(duì)于多電機(jī)的系統(tǒng),特別是多電機(jī)驅(qū)動(dòng)的軌道車輛系統(tǒng),則需要實(shí)現(xiàn)大量的信息采集、分布式的協(xié)調(diào)控制、實(shí)時(shí)的反應(yīng)速度等功能。傳統(tǒng)方式硬件構(gòu)成復(fù)雜、走線繁瑣、調(diào)試安裝不便、不易擴(kuò)展,且沒(méi)有發(fā)揮虛擬儀器的優(yōu)勢(shì),因此本文提出了一種基于CAN(Controller Area Network)總線的虛擬儀器系統(tǒng)的設(shè)計(jì)方案,將計(jì)算機(jī)通訊技術(shù)、現(xiàn)場(chǎng)總線技術(shù)和虛擬儀器技術(shù)很好的結(jié)合起來(lái),設(shè)計(jì)出了一套結(jié)構(gòu)簡(jiǎn)單、實(shí)時(shí)性高、擴(kuò)展性強(qiáng)的分布式監(jiān)控系統(tǒng),實(shí)現(xiàn)了多電機(jī)驅(qū)動(dòng)控制與實(shí)時(shí)監(jiān)測(cè)的車輛監(jiān)控系統(tǒng)。
1 監(jiān)控系統(tǒng)的總體結(jié)構(gòu)和功能
基于CAN總線和虛擬儀器技術(shù)的車輛監(jiān)控系統(tǒng)由監(jiān)控計(jì)算機(jī)(內(nèi)置PC-CAN適配卡)、智能節(jié)點(diǎn)(n<108)、CAN總線網(wǎng)絡(luò)組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。分布在整個(gè)車輛的智能節(jié)點(diǎn)按功能可以分為:操作臺(tái)節(jié)點(diǎn)、電機(jī)驅(qū)動(dòng)節(jié)點(diǎn)、設(shè)備控制節(jié)點(diǎn)。驅(qū)動(dòng)節(jié)點(diǎn)接收操作臺(tái)發(fā)來(lái)的控制指令,對(duì)驅(qū)動(dòng)電機(jī)進(jìn)行智能控制,并采集車載電源的電壓、電流和溫度信號(hào),經(jīng)過(guò)處理后發(fā)送給監(jiān)控計(jì)算機(jī);設(shè)備控制節(jié)點(diǎn)接收監(jiān)控計(jì)算機(jī)的指令控制相應(yīng)的車載設(shè)備,如照明設(shè)備、通風(fēng)設(shè)備、廣播設(shè)備等;監(jiān)控計(jì)算機(jī)可以通過(guò)CAN總線網(wǎng)和各個(gè)控制節(jié)點(diǎn)之間進(jìn)行實(shí)時(shí)通信,用圖形化編程語(yǔ)言LabVIEW編寫(xiě)虛擬儀表用來(lái)顯示電源電壓、驅(qū)動(dòng)電流、車輛速度、設(shè)備狀態(tài)等信息,從而實(shí)現(xiàn)軌道車輛的分布式驅(qū)動(dòng)和集中監(jiān)控。
CAN智能節(jié)點(diǎn)是整個(gè)監(jiān)控系統(tǒng)的核心部分,通過(guò)它把分布在車輛上的各種設(shè)備連接成統(tǒng)一的系統(tǒng)。每個(gè)智能節(jié)點(diǎn)使用統(tǒng)一的硬件平臺(tái),由微處理器、CAN控制器、CAN收發(fā)器和外圍電路(如:信號(hào)調(diào)理、光耦隔離、I2C、撥碼開(kāi)關(guān)等)組成。每個(gè)節(jié)點(diǎn)都可以根據(jù)所選擇的連接設(shè)備來(lái)選擇不同的工作方式。監(jiān)控計(jì)算機(jī)可以選用普通PC或工控機(jī)(IPC)。PC-CAN適配卡用來(lái)完成CAN總線和監(jiān)控計(jì)算機(jī)之間的協(xié)議轉(zhuǎn)換,可以選用PCI總線適配卡、ISA總線適配卡或RS232串行通信適配器。各個(gè)控制節(jié)點(diǎn)之間通過(guò)屏蔽雙絞線互聯(lián)構(gòu)成CAN總線網(wǎng)絡(luò),總線兩端連接120Ω的阻抗匹配電阻,用來(lái)提高系統(tǒng)的穩(wěn)定性和抗干擾能力。
2 監(jiān)控系統(tǒng)的硬件設(shè)計(jì)
由前所述監(jiān)控系統(tǒng)的總體結(jié)構(gòu)和功能可知,該系統(tǒng)的硬件設(shè)計(jì)主要是CAN智能節(jié)點(diǎn)的設(shè)計(jì)。智能節(jié)點(diǎn)硬件電路設(shè)計(jì)上采用了模塊化結(jié)構(gòu),由微控制器(CPU)、CAN通信模塊、信號(hào)采集模塊、設(shè)備控制模塊、參數(shù)設(shè)置模塊組成,驅(qū)動(dòng)節(jié)點(diǎn)的整體結(jié)構(gòu)如圖2所示。
為了簡(jiǎn)化設(shè)計(jì),提高系統(tǒng)的可靠性和性價(jià)比,智能節(jié)點(diǎn)選用的是Philips公司的帶有在片CAN控制器的P87C591微型控制器。采用自帶CAN總線控制器的微處理器,不占用處理器的端口資源,大大簡(jiǎn)化了接口電路的設(shè)計(jì),減少了程序的復(fù)雜程度,提高了系統(tǒng)的穩(wěn)定性。現(xiàn)場(chǎng)智能節(jié)點(diǎn)各個(gè)組成模塊的功能與所選擇微處理器相對(duì)應(yīng)的資源如下:
(1)CAN通信模塊:CAN總線通信接口電路主要由P87C591的片內(nèi)CAN驅(qū)動(dòng)器SJA1000、6N137高速光隔、CAN收發(fā)器PCA82C250組成。P87C591完成CAN協(xié)議的應(yīng)用層功能;SJA1000完全兼容CAN2.0協(xié)議,完成物理層和數(shù)據(jù)鏈路層的功能;PCA82C250提供了對(duì)總線差動(dòng)發(fā)送和接受數(shù)據(jù)的功能,有效地提高了總線的抗干擾能力,實(shí)現(xiàn)了保護(hù)總線、降低射頻干擾等功能。為了進(jìn)一步提高了系統(tǒng)的可靠性,在P87C591和 PCA82C250之間光耦(如:6N137等)隔離電路,并且采取了雙電源,有效地抑制由總線引入的干擾[1]。
(2)信號(hào)采集模塊:P87C591自帶的6路模擬輸入的10位ADC,可設(shè)置為8位快速ADC,可以基本滿足本系統(tǒng)對(duì)采集的精度要求,完成對(duì)電機(jī)、電池狀態(tài)的測(cè)量任務(wù);采集電路將各個(gè)傳感器采集到電信號(hào)進(jìn)行調(diào)理后,接入微處理器的ADC接口。為抑制共模干擾,放大器基本采用差動(dòng)輸入。CPU得到信息做出相應(yīng)的判斷,并送至不同的子程序進(jìn)行相應(yīng)的處理,如:把電池的電壓、電流、溫度信息通過(guò)通信程序發(fā)送給監(jiān)控計(jì)算機(jī);若電池電壓過(guò)低,則自動(dòng)切斷本節(jié)點(diǎn)的驅(qū)動(dòng)電機(jī),并把節(jié)點(diǎn)的停機(jī)信息通知監(jiān)控計(jì)算機(jī)。
(3)設(shè)備控制模塊:CPU接收到控制臺(tái)發(fā)來(lái)的控制指令信息,并做出相應(yīng)的處理。不同的設(shè)備接口電路略有不同。如:電機(jī)驅(qū)動(dòng)節(jié)點(diǎn)是接通驅(qū)動(dòng)電機(jī)的主接觸器、正反轉(zhuǎn)接觸器,通過(guò)I2C總線把速度信號(hào)傳給數(shù)字電位計(jì),用來(lái)控制電機(jī)驅(qū)動(dòng)器的輸出電流,進(jìn)而控制電機(jī)轉(zhuǎn)速。若電池的電壓、電流、溫度的任一項(xiàng)值超出正常值范圍時(shí),或接到總線的報(bào)警信息,電機(jī)控制模塊都會(huì)做出相應(yīng)的反應(yīng),使驅(qū)動(dòng)單元得到保護(hù)。
(4)參數(shù)設(shè)置模塊:報(bào)警電壓、報(bào)警電流、報(bào)警溫度、波特率等信息通過(guò)RS232接口及相應(yīng)的設(shè)置軟件存儲(chǔ)于基于X25045的E2PROM中,實(shí)現(xiàn)節(jié)點(diǎn)工作參數(shù)現(xiàn)場(chǎng)設(shè)定能。節(jié)點(diǎn)地址通過(guò)撥碼開(kāi)關(guān)設(shè)置。
驅(qū)動(dòng)節(jié)點(diǎn)的硬件部分除了以上介紹的以外,還有電源電路以及看門狗電路。電源電路提供所需隔離電源,用于提高節(jié)點(diǎn)的穩(wěn)定性和安全性;看門狗電路主要是保證系統(tǒng)運(yùn)行的穩(wěn)定性,在上電、掉電以及警戒情況下復(fù)位輸出。
3 監(jiān)控系統(tǒng)的軟件設(shè)計(jì)
從整個(gè)車輛監(jiān)控系統(tǒng)的角度來(lái)看,該系統(tǒng)的軟件設(shè)計(jì)主要為兩大部分:即監(jiān)控計(jì)算機(jī)應(yīng)用軟件設(shè)計(jì)和現(xiàn)場(chǎng)智能節(jié)點(diǎn)軟件設(shè)計(jì)。
3.1監(jiān)控計(jì)算機(jī)的軟件設(shè)計(jì)
計(jì)算機(jī)監(jiān)控軟件主要分為用戶應(yīng)用層、數(shù)據(jù)分析處理層、虛擬設(shè)備驅(qū)動(dòng)程序?qū)蛹坝布O(shè)備驅(qū)動(dòng)層四個(gè)部分,其系統(tǒng)流程如圖3所示。
用戶應(yīng)用層和用戶需求緊密相關(guān),它主要完成的任務(wù)是為用戶提供各類虛擬儀器的信息監(jiān)控界面,進(jìn)行人機(jī)交互,也就是通常所說(shuō)的人機(jī)界面(HMI)設(shè)計(jì),通過(guò)它來(lái)顯示收集到的實(shí)測(cè)數(shù)據(jù)和狀態(tài)信息,提供駕駛員與控制系統(tǒng)的交互平臺(tái);數(shù)據(jù)分析處理層完成總線數(shù)據(jù)的接收、分類、判斷、處理、發(fā)送、存取操作等任務(wù);硬件設(shè)備驅(qū)動(dòng)層通過(guò)PC-CAN接口卡建立監(jiān)控計(jì)算與CAN總線的連接,并與驅(qū)動(dòng)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換。虛擬設(shè)備驅(qū)動(dòng)是由NI公司的LabVIEW所提供的虛擬儀器軟件結(jié)構(gòu)體系VISA(Virtual Instrument Software Architecture)完成的,通過(guò)動(dòng)態(tài)鏈接庫(kù)DLL(Dynamic bbbb Library)對(duì)PC-CAN接口卡的通信函數(shù)進(jìn)行封裝,供LabVIEW調(diào)用[2]。
3.2智能節(jié)點(diǎn)的軟件設(shè)計(jì)
現(xiàn)場(chǎng)設(shè)備的控制與數(shù)據(jù)采集是通過(guò)智能節(jié)點(diǎn)完成得,與硬件設(shè)計(jì)相一致,智能節(jié)點(diǎn)的軟件設(shè)計(jì)也遵循模塊化的設(shè)計(jì)原則,使控制軟件具有易讀、易擴(kuò)展和易維護(hù)的優(yōu)點(diǎn)。通過(guò)C51語(yǔ)言編寫(xiě)相應(yīng)的軟件模塊實(shí)現(xiàn)智能節(jié)點(diǎn)的各種功能。軟件的各功能模塊之間通過(guò)入口和出口參數(shù)相互聯(lián)系,組合靈活且方便,減少了調(diào)試時(shí)間,縮短了開(kāi)發(fā)周期[3]。智能節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖4所示。
3.3智能節(jié)點(diǎn)通信程序設(shè)計(jì)
智能節(jié)點(diǎn)的通信采用CAN總線2.0A協(xié)議,通信模塊的軟件設(shè)計(jì)主要由初始化子程序、報(bào)文接收子程序、報(bào)文發(fā)送子程序三部分組成。其中初始化子程序是實(shí)現(xiàn)通信的關(guān)鍵,它主要用來(lái)完成CAN控制器工作方式的選擇,即對(duì)P87C591中CAN控制器控制段中的寄存器進(jìn)行設(shè)置。

智能節(jié)點(diǎn)與監(jiān)控計(jì)算機(jī)之間的數(shù)據(jù)交換是通過(guò)發(fā)送程序和接收程序?qū)崿F(xiàn)的。發(fā)送程序流程如圖5所示,從圖5中可以看出報(bào)文發(fā)送時(shí)只需將等待發(fā)送的數(shù)據(jù)按照特定格式組合成一幀報(bào)文,送入SJA1000的發(fā)送緩沖區(qū)中,然后啟動(dòng)SJA1000發(fā)送。在這之前必須先作一些判斷,如:是否正在接收,發(fā)送緩沖區(qū)是否鎖定等。當(dāng)SJA1000正在發(fā)送報(bào)文時(shí),發(fā)送緩沖器被寫(xiě)鎖定。所以在放置一個(gè)新報(bào)文到發(fā)送緩沖器之前,主控制器必須檢查狀態(tài)寄存器的“發(fā)送緩沖器狀態(tài)標(biāo)志”。否則,發(fā)送緩沖器被鎖定,新的報(bào)文不能被寫(xiě)入。一個(gè)正在等待的報(bào)文會(huì)從存儲(chǔ)器復(fù)制到發(fā)送緩沖器后,置位命令寄存器TR標(biāo)志產(chǎn)生發(fā)送請(qǐng)求,發(fā)送過(guò)程由SJA1000獨(dú)立完成。圖6為報(bào)文接收程序流程圖,報(bào)文接收子程序只負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收?;?/SPAN>SJA1000的報(bào)文接有兩種方式:中斷方式和查詢方式。為了保證接收?qǐng)?bào)文的準(zhǔn)確性,選擇實(shí)時(shí)性較高的中斷方式。在中斷方式下,如果SJA1000已接收一個(gè)報(bào)文,并且報(bào)文已通過(guò)驗(yàn)收濾波器并放在接收FIFO,那么會(huì)產(chǎn)生一個(gè)接收中斷,通知處理器有報(bào)文已經(jīng)接收。
4 結(jié)束語(yǔ)
本文采用CAN總線技術(shù)與虛擬技術(shù)相結(jié)合的設(shè)計(jì)思路,使軌道車輛監(jiān)控系統(tǒng)的功能劃分更清晰,設(shè)備功能實(shí)現(xiàn)更明確,設(shè)備對(duì)外連線更簡(jiǎn)潔,系統(tǒng)擴(kuò)展與集成更容易。實(shí)現(xiàn)了軟件平臺(tái)的通用化、軟件協(xié)議的標(biāo)準(zhǔn)化、硬件結(jié)構(gòu)的統(tǒng)一化,從而保證了系統(tǒng)的可移植性和擴(kuò)展性,為監(jiān)控系統(tǒng)的設(shè)計(jì)提供了一種新思路。經(jīng)過(guò)現(xiàn)場(chǎng)調(diào)試,系統(tǒng)可以對(duì)車載設(shè)備進(jìn)行實(shí)時(shí)控制;現(xiàn)場(chǎng)智能節(jié)點(diǎn)與監(jiān)控計(jì)算機(jī)之間的數(shù)據(jù)通信穩(wěn)定可靠,表明了該系統(tǒng)的適用性和可靠性,開(kāi)發(fā)過(guò)程中所提出的技術(shù)方案和實(shí)現(xiàn)方法可以在分布式監(jiān)控系統(tǒng)及工業(yè)底層監(jiān)控網(wǎng)絡(luò)的設(shè)計(jì)中推廣應(yīng)用。
參考文獻(xiàn):
[1] 饒運(yùn)濤,鄒繼軍,鄭勇蕓. 現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M]. 北京:北京航空航天大學(xué)
[2] 蔣天偉,荊淑霞,許振忠.基于LabVIEW 7.1開(kāi)發(fā)網(wǎng)絡(luò)化測(cè)控與仿真系統(tǒng)[J],計(jì)算機(jī)測(cè)量與控制,2006年第2期:179-182
[3] 蔣建文,林 勇,韓江洪. CAN總線通信協(xié)議的分析和實(shí)現(xiàn)[J],計(jì)算機(jī)工程,2002年第2期:219-221
[4] 馮 歷,潘松峰,趙正德,張秀虹. 基于CAN總線測(cè)控網(wǎng)絡(luò)系統(tǒng)研究[J],計(jì)算機(jī)測(cè)量與控制,2004年第2期:117-119
[5] 李中華. 基于CAN總線的人工氣候智能控制器的研究[J],計(jì)算機(jī)測(cè)量與控制,2004年第8期:787-790版社,2003.
附:作者聯(lián)系方式
地址:北京市朝陽(yáng)區(qū)平樂(lè)園100號(hào)
北京工業(yè)大學(xué)機(jī)電學(xué)院基礎(chǔ)樓406室
姓名:孫樹(shù)文
郵編:100124
E-mail: sshwen@bjut.edu.cn
電話:(010)67391621
傳真:(010)67391617
