摘 要:設(shè)計一款應(yīng)用于橋梁健康檢測的基于CAN總線2.0B協(xié)議的分布式數(shù)據(jù)采集與處理系統(tǒng)。系統(tǒng)設(shè)計了帶有CAN總線通信接口的數(shù)據(jù)采集與處理底層模塊以及具有實時監(jiān)控與控制功能的上位機(jī)監(jiān)控模塊。底層模塊的硬件設(shè)計以C8051F060高速型單片機(jī)為核心,內(nèi)部集成A/D采集和D/A輸出子模塊以及CAN總線通訊模塊。
關(guān)鍵詞:CAN總線;數(shù)據(jù)采集;監(jiān)控系統(tǒng);總線通訊
中圖分類號:TP29文獻(xiàn)標(biāo)識碼:A
文章編號:1004-373X(2010)05-098-03
Research of Bridge Health Examination System Based on CAN Bus
ZHANG Qifu1,WU Xuejie1,CHAI Xiuying1,LIU Ru2
(1.Traction Power State Key Laboratory,Southwest Jiaotong University,Chengdu,610031,China;
2.Beijing Railway Bureau,Beijing,100039,China)
Abstract:This distributed data acquisition and processing system based on CAN bus 2.0B protocol is used in bridge healthy examination.It is designed with the CAN bus communications interface data acquisition and processing underlying module,as well as the upstream watch system for real-time monitoring and control.The core of the underlying module is high-speed C8051F060 single chip microcomputer,and the underlying module integrates A/D data acquisition and D/A data output module,as well as CAN bus communication module.
Keywords:CAN bus;data acquisition;monitoring system;bus communication
0 引 言
隨著交通建設(shè)事業(yè)的蓬勃發(fā)展,一些大跨度和超大跨度橋梁的相繼建成,人們對這些大型重要橋梁的安全性、耐久性與正常使用功能日漸關(guān)注[1]。同時,既有的許多橋梁逐漸進(jìn)入了養(yǎng)護(hù)維修階段,橋梁管理者對橋梁的養(yǎng)護(hù)也日益重視。
傳統(tǒng)的數(shù)據(jù)采集系統(tǒng)一般采用RS 485作為組網(wǎng)方式,而RS 485本身存在總線效率低、系統(tǒng)的實時性差、通訊的可靠性低、后期維護(hù)成本高、網(wǎng)絡(luò)工程調(diào)試復(fù)雜、傳輸距離不理想、單總線可掛節(jié)點少、應(yīng)用不靈活等的局限性[2]。本系統(tǒng)是基于CAN總線的分布式數(shù)據(jù)采集與通訊系統(tǒng),解決了RS 485網(wǎng)絡(luò)的固有問題。CAN總線屬于總線式串行通信網(wǎng)絡(luò),采用獨特的非破壞性總線仲裁技術(shù),擁有強(qiáng)有力的錯誤處理能力和很高的傳輸可靠性,而且它的工作方式為多主方式,各節(jié)點均可在任意時刻主動向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,不分主從,且無需站地址等節(jié)點信息[3]。CAN節(jié)點在嚴(yán)重錯誤的情況下有自動關(guān)閉輸出功能,使總線上其他節(jié)點的操作不受影響。因而CAN總線具有突出的可靠性、實時性和靈活性[4]。
1 橋梁檢測系統(tǒng)的構(gòu)成及功能
橋梁檢測系統(tǒng)由數(shù)據(jù)采集、數(shù)據(jù)處理和數(shù)據(jù)傳輸三個部分構(gòu)成(見圖1)。整個系統(tǒng)由多個底層模塊和一臺接有CAN總線通信板卡的上位機(jī)組成,采用主從結(jié)構(gòu),通過接口卡來實現(xiàn)雙向通訊,由此可以及時得知工業(yè)現(xiàn)場的各種數(shù)據(jù)和運(yùn)行參數(shù),從而保證了對現(xiàn)場遠(yuǎn)程測控的實時性。
圖1 分布式檢測系統(tǒng)結(jié)構(gòu)
橋梁健康檢測需要采集的信號主要有應(yīng)變信號、加速度信號、位移信號和反力信號。數(shù)據(jù)采集系統(tǒng)主要通過底層模塊采集由分布在橋上的傳感器所感應(yīng)的各種微變信號并對它們進(jìn)行初級處理、打包等操作,然后通過CAN總線的數(shù)據(jù)傳輸系統(tǒng)傳給上位機(jī)進(jìn)行處理,從而使得上位機(jī)可以實時監(jiān)控、存儲數(shù)據(jù)和發(fā)送命令。
2 橋梁檢測系統(tǒng)的硬件設(shè)計
基于CAN總線的分布式信號調(diào)理模塊主要由單片機(jī)CPU、輸入/輸出電路、電源電路和通信接口CAN總線接口幾部分組成。系統(tǒng)的結(jié)構(gòu)框圖如圖2所示。
圖2 底層模塊系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)的硬件電路主要體現(xiàn)在底層模塊上,采用雙層電路板設(shè)計,上層電路主要為CPU模塊,是底層模塊電路板的核心,用以數(shù)據(jù)采集、處理和傳輸。下層電路是調(diào)理放大模塊,主要是對采集的信號進(jìn)行調(diào)理放大。上層電路有數(shù)據(jù)采集模塊的核心部件——C8051F060單片機(jī)及其外圍電路和上下層連接件。下層電路包括了信號調(diào)理電路、電源電路以及傳輸電路。系統(tǒng)電路框圖如圖3所示。
圖3 底層模塊原理框圖
濾波放大電路用于對傳感器送來的微弱信號進(jìn)行濾波放大以便于后面進(jìn)行調(diào)理轉(zhuǎn)換。調(diào)理轉(zhuǎn)換電路把濾波放大后的信號進(jìn)行轉(zhuǎn)換變成單片機(jī)能夠識別的信號,其中比較重要的有A/D轉(zhuǎn)換和D/A轉(zhuǎn)換。傳輸電路主要用來接收命令和傳輸數(shù)據(jù)。
3 橋梁檢測系統(tǒng)的軟件設(shè)計
3.1 下位機(jī)軟件介紹
下位機(jī)使用的是新華龍公司的C80F060單片機(jī),它是完全集成的混合信號片上系統(tǒng)型MCU,集成了兩個16位、1 MSPS的A/D轉(zhuǎn)換器[5]。且?guī)в蠨MA控制器;集成有兩個12位D/A轉(zhuǎn)換器,具有可編程數(shù)據(jù)更新方式;集成有控制器局域網(wǎng)(CAN 2.0B)控制器,具有32個消息對象,每個消息對象有自己的標(biāo)識掩碼[6]。下位機(jī)軟件主要是采集、處理和傳輸數(shù)據(jù)。下位機(jī)數(shù)據(jù)處理是對采集的數(shù)據(jù)進(jìn)行分類、計算、合并、選擇、存儲和傳送。為了使得檢測的數(shù)據(jù)更加的準(zhǔn)確,精度更高,數(shù)據(jù)采集部分采集的數(shù)據(jù)必須經(jīng)過平滑處理才能傳輸給上位機(jī)進(jìn)行處理。下位機(jī)程序中的數(shù)據(jù)處理就是完成這部分功能的,其他處理包括數(shù)據(jù)的打包等操作。數(shù)據(jù)采集采用定時采集的方式。其下位機(jī)程序流程圖如圖4所示。
圖4 數(shù)據(jù)采集程序流程圖
下位機(jī)數(shù)據(jù)的傳送是把采集的數(shù)據(jù)打包發(fā)給上位機(jī),并接收上位機(jī)傳給它的命令,每個模塊在軟件上都有自己的一個ID號便于數(shù)據(jù)傳輸和模塊識別。下位機(jī)數(shù)據(jù)傳輸程序框圖如圖5所示。
圖5 數(shù)據(jù)發(fā)送接收下位機(jī)程序流程圖
3.2 上位機(jī)軟件介紹
上位機(jī)軟件設(shè)計是基于Borland公司的Delphi來實現(xiàn)的。Delphi支持多線程工作,并且在數(shù)據(jù)庫訪問操作上有很大的優(yōu)勢,而且Delphi支持多層應(yīng)用程序[7]。
上位機(jī)軟件主要負(fù)責(zé)對網(wǎng)絡(luò)模塊數(shù)據(jù)進(jìn)行收集、顯示、處理和保存等工作,由本地服務(wù)器端和遠(yuǎn)程客戶端組成。服務(wù)器端主要任務(wù)是接收CAN總線發(fā)送來的數(shù)據(jù),并且將相應(yīng)數(shù)據(jù)轉(zhuǎn)換成電壓值,顯示轉(zhuǎn)換值,將服務(wù)端的采集數(shù)據(jù)在客戶端動態(tài)顯示出來(以文本方式和圖形方式顯示),直觀清楚,可以對試驗數(shù)據(jù)進(jìn)行遠(yuǎn)程監(jiān)控。其中,遠(yuǎn)程傳輸采用B/S架構(gòu),它能實現(xiàn)不同的人員,從不同的地點,以不同的接入方式訪問和操作共同的數(shù)據(jù)庫;同時也能有效地保護(hù)數(shù)據(jù)平臺和管理訪問權(quán)限,服務(wù)器數(shù)據(jù)庫也很安全。上位機(jī)軟件流程圖如圖6所示。
圖6 上位機(jī)軟件程序流程圖
4 結(jié) 語
基于CAN總線的橋梁健康檢測系統(tǒng)采用分布式結(jié)構(gòu),現(xiàn)場將電流電壓信號處理后通過CAN 總線將數(shù)字量傳輸給上層,有效解決了橋梁檢測中模擬信號長距離傳輸問題,徹底解決了模擬信號在傳輸過程中的失真問題。同時,利用Delphi編寫的上位機(jī)監(jiān)控軟件能實
時的多通道的監(jiān)控各個底層模塊的現(xiàn)場狀況并對每個通道根據(jù)檢測的數(shù)據(jù)及波形圖進(jìn)行調(diào)零、數(shù)據(jù)采集存儲等操作,客戶端通過互聯(lián)網(wǎng)與服務(wù)器端同步的監(jiān)控與控制,滿足了現(xiàn)場測控系統(tǒng)的實時性及遠(yuǎn)程監(jiān)控的同步性。本監(jiān)控系統(tǒng)在試驗橋上運(yùn)行穩(wěn)定可靠,能長期、連續(xù)、有效地監(jiān)測數(shù)據(jù),目前應(yīng)用于實際橋梁檢測項目中。
參考文獻(xiàn)
[1]崔玉萍,劉勇,周明暉,等.某大型拱橋健康監(jiān)測系統(tǒng)與遠(yuǎn)程診斷[J].市政技術(shù),2005,23(1):99-103.
[2]李果萍,成龍,柴波.基于SDLC協(xié)議的同步RS 485總線控制器的設(shè)計[J].現(xiàn)代電子技術(shù),2009,32(4):152-154.
[3]薛敏.基于CAN總線的分布式測控系統(tǒng)的設(shè)計與研究[D].武漢:武漢理工大學(xué),2005.
[4]杜尚豐,曹曉鐘,徐津.CAN總線測控技術(shù)及其應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[5]張迎新,雷文,姚靜波.C8051F系列SoC單片機(jī)原理及應(yīng)用[M].北京:國防工業(yè)出版社,2005.
[6]潘琢金,施國君.C8051Fxxx高速SoC單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2002.
[7]陳潤.精通Delphi數(shù)據(jù)庫設(shè)計與案例開發(fā)[M].北京:中國青年出版社,2006.
[8]Marco Cantu.Delphi 6從入門到精通[M].王輝,王珺,譯.北京:電子工業(yè)出版社,2002.
[9]李存斌.Delphi 6程序設(shè)計及其應(yīng)用開發(fā)[M].北京:中國水利水電出版社,2002.
[10]華傳銘,梁冰.Delphi組件參考大全[M].北京:人民郵電出版社,2006.