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