基于CANBUS的火災(zāi)自動報警控制系統(tǒng)設(shè)計與實現(xiàn)
摘要:針對傳統(tǒng)的火災(zāi)自動報警控制系統(tǒng)中通信部分出現(xiàn)的問題,提出了利用CANBUS現(xiàn)場總線技術(shù)來解決RS485串行口通信方式的傳輸距離短、節(jié)點容量問題的方案。CANBUS控制囂局域網(wǎng)總線技術(shù)具有極強的抗干擾和糾錯能力,較好地滿足了大中型火災(zāi)自動報警控制系統(tǒng)的網(wǎng)絡(luò)化的要求。在原有的系統(tǒng)中增設(shè)CANBUS總線通信口,來解決火災(zāi)自動報警控制系統(tǒng)之間的通信問題。實踐表明,經(jīng)過改造后的火災(zāi)自動報警控制系統(tǒng)完全滿足通信距離和節(jié)點容量的要求,大大提高了系統(tǒng)的可靠性、容量的擴展及與其他系統(tǒng)和設(shè)備的連接功能。
關(guān)鍵詞:火災(zāi)自動報警控制系統(tǒng);CANBUS通信;RS485串行口通信;SJA1000 CAN控制器;82C250CAN接口芯片
火災(zāi)自動報警控制系統(tǒng)是用以輔助人們及早發(fā)現(xiàn)和通報火災(zāi),及時在火苗產(chǎn)生的陰燃階段就能采取有效措施撲滅火災(zāi)的一種自動消防報警系統(tǒng)。它是各類工業(yè)與民用建筑消防必不可少的一種安全技術(shù)設(shè)施。因此系統(tǒng)運行的可靠性顯得非常重要,一旦發(fā)生誤報、不報等現(xiàn)象都會給人們的生命財產(chǎn)安全帶來很大的損失。隨著通信技術(shù)的不斷發(fā)展,原有的串行通信技術(shù)已經(jīng)不能滿足大型火災(zāi)自動控制系統(tǒng)的通信接口的要求。利用CANBUS現(xiàn)場總線技術(shù)進行火災(zāi)自動報警控制系統(tǒng)的通信接口的設(shè)計改造勢在必行。
1 系統(tǒng)的設(shè)計與實現(xiàn)
在火災(zāi)自動報警控制系統(tǒng)的設(shè)計過程當(dāng)中,一般采用集中控制系統(tǒng),在分區(qū)滅火控制中往往需要接上百臺火災(zāi)報警控制器,如果主控制器與分區(qū)滅火控制器的系統(tǒng)連接距離超過了串行口RS485通信所能承受的距離,就會發(fā)生通訊中斷、數(shù)據(jù)傳送出錯等問題。以往采用RS485通信是應(yīng)用到通信距離不超過1 000 M的火災(zāi)自動報警控制系統(tǒng)中,一旦超出這個上限就無法正常工作。RS485通信的特點是:1)主從結(jié)構(gòu)網(wǎng)絡(luò)上只能有一個主節(jié)點,其余均為從節(jié)點,無法構(gòu)成多主結(jié)構(gòu)或冗余結(jié)構(gòu)的系統(tǒng),因而對主節(jié)點的可靠性要求較高,否則一旦主節(jié)點出現(xiàn)故障,則整個系統(tǒng)將處于癱瘓狀態(tài);2)由于RS485數(shù)據(jù)通信的方式為命令響應(yīng)型,從節(jié)點無法主動發(fā)送數(shù)據(jù),這樣使得網(wǎng)絡(luò)上的數(shù)據(jù)傳輸效率降低,使主節(jié)點控制器非常繁忙,同時下端出現(xiàn)異常時,數(shù)據(jù)不能立即上傳,必須等待主節(jié)點的命令。
分析RS485串行口通信特點后,采用無主從區(qū)別、多主工作方式的CANBUS通信來實現(xiàn)火災(zāi)自動報警控制系統(tǒng)的通信接口功能(如下圖1所示)。徹底解決了在消防產(chǎn)品中所采用的RS485串行通信長久以來一直困擾人們的從節(jié)點無法主動地與其他節(jié)點交換數(shù)據(jù)、通信距離短、節(jié)點數(shù)量少等問題。利用CANBUS技術(shù)來解決消防產(chǎn)品中的集中管理要求及長距離通信的可靠性。CANBUS總線通信方式為兩線制,這樣可以方便系統(tǒng)的配線,減少信號之間的電磁干擾。由于CANBUS網(wǎng)絡(luò)節(jié)點數(shù)量可以達到110個之多,這樣消防控制中心就可以擴展管理火災(zāi)自動報警控制器的點數(shù),適合于大中型消防報警系統(tǒng)中。由于CANBUS網(wǎng)絡(luò)技術(shù)采用短幀結(jié)構(gòu),每一幀的有效字節(jié)為8個,這樣傳輸時間短,受干擾的概率低,且具有較好的檢測效果。
2 系統(tǒng)的硬件設(shè)計
火災(zāi)自動報警控制系統(tǒng)中的CANBUS通信口硬件電路設(shè)計如下圖2所示。
在大中型的火災(zāi)自動報警控制系統(tǒng)網(wǎng)絡(luò)中,監(jiān)測、管理幾個樓群的火災(zāi)信號,每個樓都安裝了火災(zāi)報警控制及總線輸入器件(感溫探測器、感煙探測器、光電型探測器、手動火災(zāi)報警按鈕、總線輸入模塊、總線輸出模塊、總線主模塊、消火栓按鈕等)。在一個火災(zāi)自動報警控制系統(tǒng)內(nèi)的通信采用RS485串行通信,而火災(zāi)自動報警控制系統(tǒng)之間的通信方式采用CANBUS總線技術(shù),大大提高了整個網(wǎng)絡(luò)中的通信的可靠性。在整個系統(tǒng)中,火災(zāi)探測器主要探測被保護的空間的空氣含量,采用微處理器技術(shù)對探測到傳感器的數(shù)據(jù)進行分析處理,它可以敏銳地探測到保護范圍內(nèi)的火災(zāi)初期陰燃階段產(chǎn)生的煙霧,一旦達到了閾值,就向火災(zāi)報警控制器發(fā)出報警信號,火災(zāi)報警控制器對這一信號極性判斷識別,連續(xù)檢測3次之后確認火災(zāi)信號,并根據(jù)一定的邏輯關(guān)系通過CANBUS通信接口將聯(lián)動信息發(fā)送到聯(lián)動控制系統(tǒng)中,啟動相應(yīng)的聯(lián)動設(shè)備進行有效的滅火。
圖3中的SJA1000就是CANBUS控制器,專門用來管理CANBUS通信的。SJA1000是飛利浦公司早期CAN控制器PCA82C200的替代品,功能比CA82C200更強,主要體現(xiàn)在以下幾個方面:1)完全兼容PCA82C200及其工作模式:2)具有擴展的接收緩沖器,64字節(jié)的FIFO結(jié)構(gòu);3)支持CAN2.0B;4)支持11位和29位識別碼;5)位速率可達到1 Mbit/s;6)支持peliCAN模式及其擴展功能;7)24 MHz的時鐘頻率;8)支持與不同微處理器的接口;9)可編程的CAN輸出驅(qū)動配置;10)增強了溫度范圍-40~+125℃。82C250用來防止線路間的串?dāng)_,必要時還要采用光電耦合器進行電流隔離,效果會更好。
3 系統(tǒng)的軟件設(shè)計
系統(tǒng)軟件設(shè)計的主要功能是火災(zāi)報警控制器與消防中心的通信?;馂?zāi)報警控制器將火災(zāi)信號通過CANBUS傳送到消防中心,消防中心接收到信號后啟動相應(yīng)的聯(lián)動設(shè)備和顯示設(shè)備。CAN接收和發(fā)送數(shù)據(jù)一般都是在CAN中斷程序中實現(xiàn)的,每一幀的數(shù)據(jù)長度為≤8個字節(jié)。如果發(fā)送或接收錯誤,CANBUS具有錯誤檢測能力,在所有節(jié)點發(fā)生的錯誤可100%被檢測到。SJA1000具有完成高性能通信協(xié)議所要求的全部必要特性。具有簡單連接的SJA1000可完成物理層和數(shù)據(jù)鏈路層的所有功能。
CANBUS接收中斷服務(wù)程序流程圖如下圖3所示。
Cx51語言編程如下:
從上述程序設(shè)計來看,CANBUS現(xiàn)場總線技術(shù)的數(shù)據(jù)發(fā)送和接收都是在中斷服務(wù)程序中來完成,如果要發(fā)送數(shù)據(jù)時,首先判斷數(shù)據(jù)的長度,如果是8的整數(shù)倍,那么就采用整幀發(fā)送方式,否則就采用不是整幀發(fā)送方式。
4 結(jié)論
將CANBUS總線通信技術(shù)應(yīng)用到火災(zāi)自動報警系統(tǒng)中后,解決了通信距離和節(jié)點容量和擴展的問題,使火災(zāi)自動報警系統(tǒng)的應(yīng)用由一個建筑到幾個建筑樓群,形成了大型的火災(zāi)報警網(wǎng)絡(luò)。在這個網(wǎng)絡(luò)中,信息的傳送可靠、快速、便捷得到認可,兩線制的通信方式方便了系統(tǒng)的配線,減少了信號之間干擾,同時網(wǎng)絡(luò)之間的報警系統(tǒng)又互不干擾。