《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 业界动态 > 基于CAN总线的桥梁数据采集系统研究

基于CAN总线的桥梁数据采集系统研究

2009-05-12
作者:廖传书, 张 培

??? 摘? 要: 提出了一種基于CAN總線的數(shù)據(jù)采集系統(tǒng)的設(shè)計方案,介紹了數(shù)據(jù)采集系統(tǒng)的系統(tǒng)功能、硬件結(jié)構(gòu)以及軟件設(shè)計方案。實際應(yīng)用表明,該系統(tǒng)簡單、運行穩(wěn)定、可靠性高。

??? 關(guān)鍵詞: CAN總線; 橋梁監(jiān)測; 數(shù)據(jù)采集; 控制系統(tǒng)

?

??? 在橋梁健康監(jiān)測工作中,數(shù)據(jù)采集是整個監(jiān)測系統(tǒng)中最重要的一個環(huán)節(jié)。為了避免造成重大的經(jīng)濟損失,應(yīng)該對橋梁結(jié)構(gòu)進行實時監(jiān)控和結(jié)構(gòu)狀態(tài)的智能化評估,通過測定其關(guān)鍵性能指標(biāo),獲取反映結(jié)構(gòu)狀況的信息,分析其健康運行情況,分析其是否受到損傷,以便將未知的危害降到最低。這對確保橋梁的運營安全,及早發(fā)現(xiàn)橋梁問題,延長橋梁的使用壽命起著積極的作用[1]。?

??? 本系統(tǒng)采用應(yīng)力式傳感器,設(shè)計了橋梁的數(shù)據(jù)采集及其監(jiān)控系統(tǒng)。包括數(shù)據(jù)采集模塊、控制模塊和通信模塊,通過CAN總線將采集到的數(shù)據(jù)傳送到工控機,并通過Internet將數(shù)據(jù)傳送到遠端的控制室的終端PC機上,在終端PC機上遠程監(jiān)控橋梁的健康情況。?

1 系統(tǒng)總體結(jié)構(gòu)?

??? 由于CAN總線為多主方式工作,最多可掛接110個節(jié)點,系統(tǒng)采用現(xiàn)場總線分布式數(shù)據(jù)采集控制方式。系統(tǒng)主要包括現(xiàn)場數(shù)據(jù)采集控制系統(tǒng)、現(xiàn)場控制室、遠端控制室3部分。其系統(tǒng)總體結(jié)構(gòu)如圖1所示[2]。?

?

?

??? 現(xiàn)場數(shù)據(jù)采集控制系統(tǒng),可分為A/D轉(zhuǎn)換單元、MCU以及CAN控制器、光耦隔離、CAN驅(qū)動器等接口電路單元。其主要功能是采集分布于不同橋墩現(xiàn)場的拉力傳感器所采集的實時信息,并根據(jù)所得的信息發(fā)送控制命令,控制現(xiàn)場的設(shè)備,并實現(xiàn)故障報警等功能。?

??? 由于CAN總線的通信距離有限,并且遠端控制室和現(xiàn)場相隔較遠,所以需對數(shù)據(jù)進行預(yù)處理?,F(xiàn)場控制室主要由CAN接口適配卡以及上位PC機組成,并且通過代理服務(wù)器將數(shù)據(jù)發(fā)送到遠端的控制室。?

??? 遠端的控制室主要由客戶端PC機通過Internet以及客戶端的操作軟件,對CAN節(jié)點傳送來的數(shù)據(jù)進行存儲、分析、打印等基本操作。?

2 電路設(shè)計?

??? 整個系統(tǒng)的電路設(shè)計,分為傳感器和單片機組成的現(xiàn)場數(shù)據(jù)采集控制部分、現(xiàn)場工控機和CAN接口適配卡以及代理服務(wù)器組成的現(xiàn)場控制室的傳輸部分、終端PC機和操作軟件組成的數(shù)據(jù)處理部分。其中關(guān)鍵是現(xiàn)場的數(shù)據(jù)采集控制部分,本文將對這一部分進行重點介紹。?

2.1 數(shù)據(jù)采集?

??? 基于CAN總線的分布式數(shù)據(jù)采集與控制系統(tǒng)的結(jié)構(gòu)特點,能夠?qū)⑾到y(tǒng)功能盡可能地分散到各個節(jié)點,各節(jié)點以微處理器為核心,完成各種數(shù)據(jù)采集與監(jiān)控功能。為了讓各個節(jié)點不同種類、不同格式的信息在基于CAN的協(xié)議標(biāo)準(zhǔn)下通信,每個節(jié)點都設(shè)有與CAN總線接口的電路。數(shù)據(jù)采集部分的電路如圖2所示。?

?

?

??? 由圖2可知,此電路是以單片機STC89C52為核心處理芯片,整個硬件電路由5部分組成:?

??? (1) CAN總線接口電路:由SJA1000[3]及STC82C250組成,STC89C52對SJA1000的操作,類似于對外部RAM的操作,其P0口接SJA1000的AD0~AD7,ALE、/WR、/RD、P2.5端分別接SJA1000的ALE、/WR、/RD、/CS端,另外SJA1000的中斷信號/INT接STC89C52的/INT0端,使得STC89C52可收發(fā)各類信息。CAN總線收發(fā)器STC82C250提供了CAN控制器與物理總線之間的接口,提供總線的差動發(fā)送和接收能力及抗干擾能力,使得信號能夠更遠更可靠地傳輸。其TXD、RXD端通過高速光耦分別接SJA1000的TX0、RX0,兩個輸出端CANH和CANL分別與物理總線的CAN_H和CAN_L連接[4],在總線的末端加上120Ω匹配電阻,以減少信號反射干擾。?

??? (2) A/D轉(zhuǎn)換電路:由11路模/數(shù)轉(zhuǎn)換芯片TLC2543實現(xiàn),STC89C52的P1.0~P1.3引腳分別與TLC2543的/CS、CLOCK、DATA IN 和DATA OUT 相連,通過這些連接,STC89C52可以控制A/D的轉(zhuǎn)換時間、選擇轉(zhuǎn)換通道和極性等。當(dāng)A/D轉(zhuǎn)換結(jié)束后,TLC2543通過EOC引腳以中斷的形式通知STC89C52接收數(shù)據(jù)。其中TLC2543為CMOS 12位開關(guān)電容逐次逼近模/數(shù)轉(zhuǎn)換器,具有快速轉(zhuǎn)換和通用的控制能力。片內(nèi)設(shè)有采樣-保持電路。?

??? (3) RS-232協(xié)議轉(zhuǎn)換電路:該電路主要完成現(xiàn)場的數(shù)據(jù)調(diào)試功能。其中STC89C52通過串口TXD、RXD與MAX232的相應(yīng)管腳相連,當(dāng)STC89C52需要將從現(xiàn)場采集到的數(shù)據(jù)或從CAN總線上接收到的數(shù)據(jù)轉(zhuǎn)換成RS-232協(xié)議格式的信息與現(xiàn)場設(shè)備或其他模塊進行通信時,可直接將信息通過串口TXD、RXD傳送給MAX232,由芯片MAX232完成數(shù)據(jù)格式的轉(zhuǎn)換。?

??? (4) 多路輸入輸出電路:該部分主要完成現(xiàn)場故障報警、結(jié)果顯示等功能。由于基于CAN總線的數(shù)據(jù)采集模塊可直接與多種模擬量或數(shù)字量設(shè)備相連,所以當(dāng)模塊需要采集現(xiàn)場的I/O信息或需要根據(jù)處理結(jié)果進行顯示、報警、控制時,可通過由P1.4~P1.7和高速光耦隔離組成的多路輸入輸出電路實現(xiàn)。?

??? (5) 數(shù)據(jù)存儲器RAM擴展電路:為了滿足數(shù)據(jù)存取和處理的需要,電路還擴展了8 KB的RAM數(shù)據(jù)存儲器空間。?

2.2 數(shù)據(jù)傳輸?

??? 服務(wù)器擔(dān)負著與單片機通信、數(shù)據(jù)處理、數(shù)據(jù)存儲和與控制室通信等多項任務(wù),是連接橋梁現(xiàn)場和遠端控制室的重要組成部分,它的優(yōu)劣直接影響整個系統(tǒng)的性能。本系統(tǒng)最終目標(biāo)是實現(xiàn)整個系統(tǒng)的無人值守和長期連續(xù)的工作,因此要求服務(wù)器性能穩(wěn)定、工作可靠。本系統(tǒng)中選擇性能優(yōu)越的工控機操作系統(tǒng)Windows Server 2003,數(shù)據(jù)庫系統(tǒng)軟件采用SQL Server 2005。另外,由于本系統(tǒng)為連續(xù)工作,而數(shù)據(jù)量很大,所以服務(wù)器外接可移動存儲設(shè)備以利于數(shù)據(jù)的更新與備份。?

??? 現(xiàn)場的代理服務(wù)器負責(zé)接收下位機采集到的橋梁狀態(tài)信息,在這里信息進行預(yù)處理,例如和預(yù)設(shè)的報警門限值進行比較,如果超過門限值則馬上發(fā)出報警,同時數(shù)據(jù)在這里存入數(shù)據(jù)庫?,F(xiàn)場服務(wù)器與Internet網(wǎng)絡(luò)連接數(shù)據(jù),經(jīng)過打包實時地傳送給遠端的控制中心,在控制中心進行最終的分析和處理實時地顯示出狀態(tài)變化。?

2.3 數(shù)據(jù)處理?

??? 數(shù)據(jù)處理部分主要實現(xiàn)數(shù)據(jù)分析、處理等功能。由客戶端PC機和操作軟件界面通過Internet接收數(shù)據(jù),并且進行數(shù)據(jù)分析、數(shù)據(jù)處理等。?

3 軟件設(shè)計?

??? 系統(tǒng)的軟件設(shè)計可以分為數(shù)據(jù)采集、數(shù)據(jù)傳輸和數(shù)據(jù)處理3部分。其中,數(shù)據(jù)傳輸部分包括單片機與服務(wù)器之間數(shù)據(jù)傳輸、服務(wù)器與控制室PC機之間的數(shù)據(jù)傳輸,數(shù)據(jù)處理包括客戶端PC機上的客戶操作、分析、處理軟件等。?

??? 根據(jù)分布式數(shù)據(jù)采集與控制系統(tǒng)的特點,系統(tǒng)各個節(jié)點之間和節(jié)點到操作站的距離較遠,現(xiàn)場環(huán)境干擾大。整個系統(tǒng)應(yīng)有實時數(shù)據(jù)采集、實時控制、實時故障報警、現(xiàn)場情況顯示、數(shù)據(jù)存儲、歷史數(shù)據(jù)查詢、打印報表等功能。?

3.1 數(shù)據(jù)采集部分?

??? 數(shù)據(jù)采集部分的程序流程如圖3[5]所示。?

?

?

??? 由圖3可知,STC89C52先對自身進行初始化,然后立即對SJA1000進行初始化以盡快建立該數(shù)據(jù)采集模塊與CAN總線之間的通信鏈接。其中對SJA1000的初始化是該軟件設(shè)計中一個比較關(guān)鍵的部分,主要包括在復(fù)位模式下設(shè)置通信的波特率、AMR、ACR、OCR、CDR,這些參數(shù)與將要發(fā)送的報文標(biāo)識符有關(guān)。BTR0、BTR1寄存器的內(nèi)容可以惟一確定系統(tǒng)的通信波特率和同步跳轉(zhuǎn)寬度,所以整個系統(tǒng)中的所有節(jié)點,這兩個寄存器的內(nèi)容必須相同,否則無法通信。對ORC的操作可確定CAN控制器的輸出方式,并建立起CAN總線要求的電平邏輯所需輸出驅(qū)動器的配置。?

??? 與CAN總線的通信建立之后,STC89C52就開始采集現(xiàn)場數(shù)據(jù),先是模擬量,然后是數(shù)字量。在對模擬量的數(shù)據(jù)采集中,為了減少外部干擾帶來的誤差還進行了消除誤差處理,主要包括判斷數(shù)據(jù)是否存在超大誤差,對連續(xù)多次采樣得到的數(shù)據(jù)求平均值作為采樣值等措施,以減少系統(tǒng)采樣誤差。再判斷采集的值是否超出設(shè)定的界限,需要報警否,是否顯示設(shè)備的狀態(tài),是否準(zhǔn)備往CAN總線發(fā)送數(shù)據(jù)等,如需要則進行不同數(shù)據(jù)的轉(zhuǎn)換。?

3.2 數(shù)據(jù)傳輸部分?

??? 服務(wù)器是整個系統(tǒng)的核心,它擔(dān)負著數(shù)據(jù)采集、數(shù)據(jù)管理和傳輸數(shù)據(jù)的任務(wù),因此它的工作直接影響到整個系統(tǒng)的性能和工作。由于本系統(tǒng)要求服務(wù)器能夠在無人職守的情況下長期穩(wěn)定地工作,因此最好選用性能優(yōu)越的工控機,可以為采集系統(tǒng)提供更多的串行口。?

??? 客戶端的主要任務(wù)是接收數(shù)據(jù)和處理數(shù)據(jù),實現(xiàn)數(shù)據(jù)傳輸?shù)牡谝徊绞强蛻舳吮仨氝B上服務(wù)器,首先要設(shè)置服務(wù)器的IP地址和端口號,然后發(fā)送聯(lián)機請求。?

3.3 數(shù)據(jù)處理部分?

??? 數(shù)據(jù)處理部分是要在遠端控制室的PC機上,實現(xiàn)友好的人機操作界面,并實現(xiàn)實時控制、實時故障報警、現(xiàn)場情況顯示、數(shù)據(jù)存儲、歷史數(shù)據(jù)查詢、打印報表等功能,通過Visual C++ 6.0編程,進行對各種數(shù)據(jù)源進行操作訪問,遠程監(jiān)控橋梁的健康情況。?

??? 橋梁的健康狀況監(jiān)測對于橋梁的安全運行有著重要的意義。橋梁結(jié)構(gòu)健康監(jiān)測不只是傳統(tǒng)的橋梁檢測技術(shù)的簡單改進,而是運用現(xiàn)代傳感與通信技術(shù),實時監(jiān)測橋梁運營階段在各種環(huán)境條件下的結(jié)構(gòu)響應(yīng)與行為,獲取反映結(jié)構(gòu)狀況和環(huán)境因素的各種信息,由此分析結(jié)構(gòu)健康狀態(tài)、評估結(jié)構(gòu)的可靠性,為橋梁的管理與維護決策提供科學(xué)依據(jù)。?

??? 本文在詳細分析了橋梁的結(jié)構(gòu)特點的基礎(chǔ)上,設(shè)計了利用傳感器、CAN總線以及Internet網(wǎng)絡(luò)實現(xiàn)橋梁狀態(tài)遠程監(jiān)測的方法,提高了對橋梁結(jié)構(gòu)損壞和突發(fā)事件的反應(yīng)速度,節(jié)約人力物力。它改變了傳統(tǒng)的以人工為主的檢測手段,大大提高了橋梁監(jiān)測的實時性準(zhǔn)確性及安全性。?

參考文獻?

[1] 周文松,李惠,歐進萍,等.大型橋梁健康監(jiān)測系統(tǒng)的數(shù)據(jù)采集子系統(tǒng)設(shè)計方法[J]. 公路交通科技,2006(3):83-84.?

[2] 王毅峰,李令奇.基于CAN總線的分布式數(shù)據(jù)采集與控制系統(tǒng)[J].工業(yè)控制計算機,2000(5):34-35.?

[3] Philips Semiconductors. SJA1000 stand-alone CAN controller,1997.?

[4] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,1996.?

[5] 亓躍峰,畢衛(wèi)紅,盧輝斌.大型橋梁分布式健康監(jiān)測系統(tǒng)設(shè)計[J]. 計算機測量與控制,2004,12(4):327.

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容