關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CAN總線的分布式監(jiān)控系統(tǒng)設(shè)計

基于CAN總線的分布式監(jiān)控系統(tǒng)設(shè)計

作者:防空兵指揮學(xué)院 王文記 趙國豪 趙勇 喬渠 時間:2007-04-10 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 收藏

引 言

鍋爐是通過燃燒加熱工質(zhì)來提供熱能動力的重要設(shè)備,同時又是承壓、受火、有爆炸危險而又被各行各業(yè)普遍使用的特殊設(shè)備。所以實時監(jiān)控鍋爐的運(yùn)行狀態(tài),及時、準(zhǔn)確地發(fā)現(xiàn)鍋爐運(yùn)行中的事故至關(guān)重要。傳統(tǒng)的鍋爐監(jiān)控系統(tǒng)在測量手段和使用的傳感器方面都存在很大的缺陷。以溫度檢測為例,早期采用的熱電偶電橋法,測試過程復(fù)雜;而采用集成的半導(dǎo)體模擬溫度傳感器需要大量的傳輸電纜,成本高且不易維護(hù)。

本文引用地址:http://butianyuan.cn/article/47712.htm

是一種多主機(jī)控制標(biāo)準(zhǔn),具有物理層和數(shù)據(jù)鏈路層的協(xié)議、多主節(jié)點、無損仲裁、高可靠性及擴(kuò)充性能好等特點;能有效支持分布式控制系統(tǒng)的串行通信網(wǎng)絡(luò)。一方面,其通信方式靈活,可實現(xiàn)多主方式工作,還可實現(xiàn)點對點、點對多點等多種數(shù)據(jù)的收發(fā);另一方面,能在相對較大的距離間進(jìn)行較高位速率的數(shù)據(jù)通信。本系統(tǒng)是由上位機(jī)對多個并列的承壓鍋爐監(jiān)控單元進(jìn)行控制管理,各監(jiān)控單元之間要進(jìn)行快速的數(shù)據(jù)傳輸。能很好地滿足該系統(tǒng)的要求。

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

如圖1所示,系統(tǒng)由上位監(jiān)控機(jī)、CAN節(jié)點0與其他CAN節(jié)點組成。其中,上位監(jiān)控機(jī)為PC機(jī),各CAN節(jié)點的微控制器為STC89LE54RD+。STC89LE54RD+外接CAN控制器SJA1000,外部設(shè)備主要為一線式數(shù)字溫度計DS1822與壓力傳感器。

上位監(jiān)控機(jī)(PC機(jī))采用IBM-PC兼容機(jī),主要負(fù)責(zé)對系統(tǒng)各節(jié)點監(jiān)控數(shù)據(jù)的接收與管理、控制命令的發(fā)送以及各控制單元動態(tài)參數(shù)和設(shè)備狀態(tài)的實時顯示。

CAN節(jié)點0是一個至關(guān)重要的節(jié)點,主要有兩個功能:一是作為上位機(jī)(PC機(jī))與的接口,完成CAN總線數(shù)據(jù)與RS-232接口的數(shù)據(jù)轉(zhuǎn)換,對智能節(jié)點傳送過來的數(shù)據(jù)信息進(jìn)行緩存,對告警信號進(jìn)行告警以通知維護(hù)人員進(jìn)行處理;二是負(fù)責(zé)協(xié)調(diào)上位機(jī)與各個CAN節(jié)點的通信,以確保各個節(jié)點的監(jiān)控數(shù)據(jù)能夠快速、準(zhǔn)確地傳給上位機(jī)。

監(jiān)控CAN節(jié)點為智能型的監(jiān)控模塊,以單片機(jī)為核心,主要負(fù)責(zé)對現(xiàn)場的環(huán)境參數(shù)和設(shè)備狀態(tài)進(jìn)行監(jiān)測,對采集來的數(shù)據(jù)進(jìn)行打包處理并將處理過的數(shù)字信號通過CAN通信控制器SJA1000送入CAN總線;對系統(tǒng)中各個承壓鍋爐的壓力與溫度進(jìn)行測量。一般情況下,智能監(jiān)控節(jié)點會把監(jiān)控數(shù)據(jù)進(jìn)行存儲,定期上傳給上位機(jī),并可接受上位機(jī)的輪詢。若超出正常工作范圍,則告警,同時把數(shù)據(jù)實時向上位機(jī)報告。

2 硬件結(jié)構(gòu)的設(shè)計

如圖2所示,監(jiān)控CAN節(jié)點以STC89LE54RD十為微控制器,外圍模塊包括CAN總線接口模塊、溫度采集模塊、壓力采集模塊、報警模塊等。為充分利用STC89LE54RD+的接口資源,除CAN接口模塊外,其余模塊均采用串行接口器件。這樣就減小了電路體積,降低了電路的硬件成本。

STC89LE54RD+是高速、低功耗且兼容Philips公司51MX內(nèi)核的新一代單片機(jī),12時鐘/機(jī)器周期和6時鐘/機(jī)器周期可反復(fù)設(shè)置,內(nèi)部集成有MX810專用復(fù)位電路;執(zhí)行指令的速度為標(biāo)準(zhǔn)8051的12倍,支持在系統(tǒng)編程ISP和在應(yīng)用編程IAP。

2.1 CAN總線接口模塊

在圖3所示的模塊中,選用SJA1000作為CAN控制器,PCA82C250作為CAN控制器接口芯片。SJA1000集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可進(jìn)行通信數(shù)據(jù)的幀處理。PCA82C250是CAN協(xié)議控制器和物理總線之間的接口,對總線提供差動發(fā)送能力,對CAN控制器提供差動接收能力;增加通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾,實現(xiàn)熱防護(hù)。把STC89LE54RD+的ALE、RD、WR與SJA1000的ALE、RD、WR相連就構(gòu)成一個最小系統(tǒng)節(jié)點,通過讀、寫外部數(shù)據(jù)存儲器的形式來訪問SJA1000。將SJA1000的TX1腳懸空,RX1引腳接地,形成CAN協(xié)議所要求的電平邏輯。

為進(jìn)一步提高系統(tǒng)的抗干擾能力,在CAN控制器SJA1000和CAN控制器接口PCA82C250之間加接6N137光電隔離芯片,并采用DC-DC變換器隔離電源。通信信號傳輸?shù)綄?dǎo)線的端點時會發(fā)生反射,反射信號會干擾正常信號的傳輸,因而總線2端兩個124 W的電阻(見圖1)對匹配總線阻抗起著相當(dāng)重要的作用;忽略掉它們,會使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通信。PCA82C250第8腳與地之間的電阻RS稱為“斜率電阻”,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式。在這種方式下,為避免射頻干擾,使用屏蔽電纜作總線;而在波特率較低、總線較短時,一般采用斜率控制方式,上升和下降的斜率取決于RS的阻值。通常情況下,RS較理想的功率取值范圍為15 kW~200 kw。在這種方式下,使用平行線或雙絞線作總線。

2.2 溫度測量模塊

溫度測量模塊采用美國DalIas公司推出的基于單總線技術(shù)的數(shù)字溫度計芯片DS1822,其連接電路簡單,無需外接元件,如圖4所示。DS1822采用了一種將溫度直接轉(zhuǎn)換為頻率的時鐘計數(shù)法,計數(shù)時鐘由溫度系數(shù)很低的振蕩器產(chǎn)生,因而非常穩(wěn)定;而計數(shù)的閘門周期則由溫度系數(shù)很高(即對溫度非常敏感)的振蕩器決定。

2.3 壓力測量模塊

壓力測量模塊采用精密智能壓力傳感器PPT-R。PPT-R是霍尼威爾公司生產(chǎn)的高品質(zhì)壓力傳感器,帶有不銹鋼隔膜,適用于對高溫、腐蝕性介質(zhì)的測量。

PPT-R智能壓力傳感器性能優(yōu)良、組態(tài)靈活。PPT-R傳感器可對每次測量的壓力信號進(jìn)行積分,積分時間可在8 ms~12 s之間選擇。這樣可以提高數(shù)字控制系統(tǒng)在不同環(huán)境條件下的適應(yīng)性和抗干擾能力。PPT傳感器具有優(yōu)異的重復(fù)性和穩(wěn)定性,其壓力信號可由單片機(jī)設(shè)置為數(shù)字輸出模式,也可以設(shè)置為模擬輸出模式。本系統(tǒng)中,將其設(shè)置為數(shù)字輸出模式。

3 軟件的設(shè)計

系統(tǒng)軟件的設(shè)計采用模塊化方式,主要分為上位機(jī)程序模塊、數(shù)據(jù)采集處理模塊和CAN通信模塊等。在此主要介紹上位機(jī)軟件模塊與CAN通信模塊的設(shè)計。

3.1 上位機(jī)軟件的設(shè)計

上位機(jī)軟件以Borland公司推出的C++Builder6為開發(fā)平臺,具有系統(tǒng)參數(shù)設(shè)置、監(jiān)控狀態(tài)設(shè)置、數(shù)據(jù)發(fā)送和接收、節(jié)點狀態(tài)查詢、中斷接收數(shù)據(jù)管理等功能。上位機(jī)首先對CAN總線及其自身初始化,然后發(fā)送命令通知特定的節(jié)點向CAN總線上發(fā)送數(shù)據(jù),通過CAN總線上傳到上位機(jī),再由上位機(jī)處理。上位機(jī)采用定時輪循方式向各個節(jié)點發(fā)命令,采用中斷方式接收數(shù)據(jù)。

首先用CreateFile( )打開通信串口,函數(shù)引用格式為:

CreateFile(1pFileName,dwDesiredAccess,dwShare-Mode,lpSecurityAttributes,dwCreationDistribution,dw-FlagsAndAttributes,hTemplateFile);

然后用BuildCommDCB()和SetCommState( )函數(shù)通過通信設(shè)備控制塊DCB(Device Control Block)設(shè)置串口通信參數(shù),如波特率、停止位、數(shù)據(jù)位、校驗位等;

當(dāng)有通信事件產(chǎn)生時,就可用函數(shù)ReadFile( )和WriteFile( )直接對串口緩沖區(qū)進(jìn)行讀寫操作了。其引用格式分別為:

WriteFile(hFile,lpBuffer,nNumberOfBytesToWrite.lpNumberOfBytesWritten,lpOverlapped);

ReadFile(hFile,lpBuffer,nNumberOfBytesToRead,lpNumberOfBytesRead,lpOverlapped).

上位機(jī)軟件其他功能的實現(xiàn),可通過調(diào)用相應(yīng)組件的屬性進(jìn)行編程。最后編制的軟件界面如圖5所示。

3.2 CAN通信模塊設(shè)計

CAN通信程序?qū)⒉杉降臄?shù)據(jù)發(fā)送到CAN控制器,再由CAN控制器將數(shù)據(jù)發(fā)送到CAN總線。

對于接收數(shù)據(jù),系統(tǒng)采用中斷方式實現(xiàn)。一旦中斷發(fā)生,即將接收的數(shù)據(jù)自動裝載到相應(yīng)的報文寄存器中,此時還可采用屏蔽濾波方式。利用屏蔽濾波寄存器對接收報文的標(biāo)識符和預(yù)先在接收緩沖器初始化時設(shè)定的標(biāo)識符進(jìn)行有選擇的逐位比較。只有標(biāo)識符匹配的報文才能進(jìn)入接收緩沖器,那些不符合要求的報文則將被屏蔽于接收緩沖器之外,從而減輕CPU處理報文的負(fù)擔(dān)。此外,不同數(shù)據(jù)應(yīng)放人不同的報文寄存器中,其程序流程如圖6所示。

   

結(jié) 語

本系統(tǒng)采用了lBM-PC兼容機(jī)、單片機(jī)和SJA1000組成二級控制系統(tǒng).實現(xiàn)了一體化的操作,解決了長期以來在承壓鍋爐監(jiān)控方面的難題。系統(tǒng)結(jié)構(gòu)簡單,操作方便,安全可靠,造價低廉,運(yùn)行穩(wěn)定可靠。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉