基于CANOPEN的智能消防水炮系統設計
1.引言
在社會(huì )經(jīng)濟高速發(fā)展的今天,高大空間建筑越來(lái)越多,如展覽中心、影劇院、體育場(chǎng)館、倉庫等。大空間建筑由于其本身結構特殊、設施復雜,火災隱患較多,而且發(fā)生火災后不易及時(shí)發(fā)現和有效撲救,往往會(huì )造成巨大的經(jīng)濟損失和人員傷亡??紤]到其它滅火劑的性能和用量的要求,水滅火仍然是大空間建筑最好的滅火方式[1]。因此,對于大空間建筑來(lái)說(shuō),采用具有火災自動(dòng)探測功能的智能消防水炮系統是一個(gè)較好的方案。
智能消防水炮系統的工作原理是通過(guò)前端探測系統采集現場(chǎng)紅外圖像,中央控制器采用圖像處理的手段對發(fā)生在控制區域內的火災進(jìn)行偵測和定位,打開(kāi)相應的聯(lián)動(dòng)設備并控制水炮進(jìn)入噴水滅火操作[2]。系統各部分分布于控制現場(chǎng)不同的位置,因此,各個(gè)部分之間的通信是保證整個(gè)系統能夠正常工作的前提。
CAN總線(xiàn)作為一種技術(shù)先進(jìn)、可靠性高、成本低且功能完善的通訊控制方式,已被汽車(chē)電子、自動(dòng)控制、智能樓宇等各個(gè)領(lǐng)域廣泛采用。但是CAN-Bus只規定了物理層和數據鏈路層,其本身并不是一個(gè)完整的協(xié)議,要進(jìn)行高效率的通信,必須有高層協(xié)議的支持。CANOPEN是由從事工業(yè)控制的CIA(CAN in Automation)會(huì )員開(kāi)發(fā)一種開(kāi)放的、標準化的高層CAN協(xié)議。在近年來(lái)獲得了迅猛的發(fā)展,尤其是在歐洲,CANOPEN協(xié)議在基于CAN的工業(yè)系統中占領(lǐng)導地位[3]。依靠CANOPEN協(xié)議的支持,可以使不同廠(chǎng)商的設備通過(guò)總線(xiàn)進(jìn)行配置,從而大大增強了CAN網(wǎng)絡(luò )的通用性。
將CANOPEN協(xié)議應用于智能消防炮系統中,不僅可以解決系統中各個(gè)部分之間的互聯(lián)問(wèn)題,同時(shí)還可以提高整個(gè)系統通信的可靠性、實(shí)時(shí)性。此外,由于采用了CANOPEN協(xié)議,提高了整個(gè)系統的標準化開(kāi)放化程度,因此,對整個(gè)系統進(jìn)行擴充就更加方便。
2.CANOPEN協(xié)議的剖析
CANOPEN假定CAN網(wǎng)絡(luò )的節點(diǎn)硬件有ISO11898規定的一個(gè)CAN控制器和一個(gè)CAN收發(fā)器。該協(xié)議描述了標準的通訊機制、網(wǎng)絡(luò )管理及相關(guān)參數的設定等內容。
2.1CANOPEN的核心――對象字典
在CANOPEN中,引入了對象字典的概念。CANOPEN網(wǎng)絡(luò )中的每個(gè)節點(diǎn)都有一個(gè)對象字典,而且每個(gè)設備的對象字典具有相同的結構。對象字典描述了該設備和它的網(wǎng)絡(luò )行為的所有參數。它是一個(gè)有序的對象組,對象字典中的每個(gè)對象可以通過(guò)一個(gè)16位的主索引和一個(gè)8位的子索引來(lái)定位。
網(wǎng)絡(luò )節點(diǎn)的對象字典保存在電子數據單或者設備配置文件中,CAN總線(xiàn)不需要對每個(gè)節點(diǎn)的對象字典的全部功能都進(jìn)行檢測,節點(diǎn)只需要能夠提供對象字典中必需的對象,以及其它可選擇的、構成節點(diǎn)部分可配置功能的對象[4]。
2.2 CANOPEN的通訊模式
CANOPEN協(xié)議中對總線(xiàn)上傳輸的數據進(jìn)行了分類(lèi),即每一個(gè)傳輸數據都是某一特定類(lèi)的對象,從而實(shí)現了面向對象的程序設計。在CANOPEN中定義了四類(lèi)對象,分別是管理對象(NMT),服務(wù)數據對象(SDO),過(guò)程數據對象(PDO)和特殊功能對象。
2.2.1管理對象(NMT)
CANOPEN是基于主從式通訊模式的,所有從節點(diǎn)的工作都由網(wǎng)絡(luò )主節點(diǎn)來(lái)協(xié)調,管理對象用于網(wǎng)絡(luò )主節點(diǎn)對從節點(diǎn)監控和管理,完成諸如節點(diǎn)的初始化、節點(diǎn)參數配置、節點(diǎn)出錯保護等相關(guān)工作。
2.2.2服務(wù)數據對象(SDO)
服務(wù)數據對象用來(lái)建立兩個(gè)CANOPEN設備之間基于客戶(hù)/服務(wù)器機理的點(diǎn)對點(diǎn)通訊。通過(guò)服務(wù)數據對象,客戶(hù)方可以訪(fǎng)問(wèn)服務(wù)器方的對象字典。一個(gè)服務(wù)數據對象用兩個(gè)帶有不同標識符的CAN數據幀。服務(wù)數據對象允許傳輸任意大小的數據,有兩種傳送機制,加速傳送機制用來(lái)一次傳送小于等于四個(gè)字節的數據,分段傳送機制用來(lái)傳送大于四個(gè)字節的數據。
2.2.3過(guò)程數據對象(PDO)
過(guò)程數據對象用來(lái)傳遞實(shí)時(shí)數據,它是CANOPEN最基本的數據傳送方式,數據傳送限制在1到8個(gè)字節。數據由一個(gè)生產(chǎn)者發(fā)出,可以有一個(gè)或者多個(gè)消費者。 PDO的通訊有兩種,讀PDO和寫(xiě)PDO,寫(xiě)PDO被映射到一個(gè)CAN數據幀,讀PDO被映射到一個(gè)CAN遠程幀,這個(gè)遠程幀被數據幀所響應。觸發(fā)PDO傳輸的方式有三種:事件或定時(shí)器觸發(fā)模式;遠程請求觸發(fā)模式;同步觸發(fā)模式。在節點(diǎn)的對象字典中,對每個(gè)PDO都有明確的描述,這樣,發(fā)送方和接收方都可以解釋PDO的具體內容。PDO的標識符具有高優(yōu)先級以確保良好的實(shí)時(shí)性。
2.2.4特殊功能對象
CANopen提供了三個(gè)特殊功能對象,同步對象(Synchronization Object)時(shí)間戳對象(Time-Stamp)和緊急事件對象(Emergency)[5]。同步對象由同步發(fā)器定時(shí)廣播,用于PDO的同步通訊。 時(shí)間戳對象為應用設備提供一個(gè)微秒極的時(shí)鐘,使那些對時(shí)間要求十分苛刻的設備能夠精確同步。 緊急事件對象由設備內部出現致命的錯誤所觸發(fā),由發(fā)生錯誤的設備以最高的優(yōu)先級發(fā)送到網(wǎng)絡(luò )中的其它的設備,以通知其它設備不要再試圖和該設備通訊。
2.3 CANOPEN的設備模型
CANOPEN的設備模型可以分為三個(gè)部分:通訊接口及協(xié)議軟件、對象字典、過(guò)程接口和應用程序。其中,通訊接口和協(xié)議軟件提供通設備和總線(xiàn)之間的連接服務(wù),對象字典描述了所有的數據類(lèi)型、通訊對象和設備用到的應用對象,它提供了和應用軟件的接口,過(guò)程接口和應用程序提供了設備內部的控制機制。它們之間的關(guān)系如圖1所示。
評論