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