1.引言 在社會(huì)經(jīng)濟(jì)高速發(fā)展的今天,高大空間建筑越來越多,如展覽中心、影劇院、體育場(chǎng)館、倉(cāng)庫等。大空間建筑由于其本身結(jié)構(gòu)特殊、設(shè)施復(fù)雜,火災(zāi)隱患較多,而且發(fā)生火災(zāi)后不易及時(shí)發(fā)現(xiàn)和有效撲救,往往會(huì)造成巨大的經(jīng)濟(jì)損失和人員傷亡。考慮到其它滅火劑的性能和用量的要求,水滅火仍然是大空間建筑最好的滅火方式。因此,對(duì)于大空間建筑來說,采用具有火災(zāi)自動(dòng)探測(cè)功能的智能消防水炮系統(tǒng)是一個(gè)較好的方案。 智能消防水炮系統(tǒng)的工作原理是通過前端探測(cè)系統(tǒng)采集現(xiàn)場(chǎng)紅外圖像,中央控制器采用圖像處理的手段對(duì)發(fā)生在控制區(qū)域內(nèi)的火災(zāi)進(jìn)行偵測(cè)和定位,打開相應(yīng)的聯(lián)動(dòng)設(shè)備并控制水炮進(jìn)入噴水滅火操作。系統(tǒng)各部分分布于控制現(xiàn)場(chǎng)不同的位置,因此,各個(gè)部分之間的通信是保證整個(gè)系統(tǒng)能夠正常工作的前提。 CAN總線作為一種技術(shù)先進(jìn)、可靠性高、成本低且功能完善的通訊控制方式,已被汽車電子、自動(dòng)控制、智能樓宇等各個(gè)領(lǐng)域廣泛采用。但是CAN-Bus只規(guī)定了物理層和數(shù)據(jù)鏈路層,其本身并不是一個(gè)完整的協(xié)議,要進(jìn)行高效率的通信,必須有高層協(xié)議的支持。CANOPEN是由從事工業(yè)控制的CIA(CANinAutomation)會(huì)員開發(fā)一種開放的、標(biāo)準(zhǔn)化的高層CAN協(xié)議。在近年來獲得了迅猛的發(fā)展,尤其是在歐洲,CANOPEN協(xié)議在基于CAN的工業(yè)系統(tǒng)中占領(lǐng)導(dǎo)地位。依靠CANOPEN協(xié)議的支持,可以使不同廠商的設(shè)備通過總線進(jìn)行配置,從而大大增強(qiáng)了CAN網(wǎng)絡(luò)的通用性。 將CANOPEN協(xié)議應(yīng)用于智能消防炮系統(tǒng)中,不僅可以解決系統(tǒng)中各個(gè)部分之間的互聯(lián)問題,同時(shí)還可以提高整個(gè)系統(tǒng)通信的可靠性、實(shí)時(shí)性。此外,由于采用了CANOPEN協(xié)議,提高了整個(gè)系統(tǒng)的標(biāo)準(zhǔn)化開放化程度,因此,對(duì)整個(gè)系統(tǒng)進(jìn)行擴(kuò)充就更加方便。 2.CANOPEN協(xié)議的剖析 CANOPEN假定CAN網(wǎng)絡(luò)的節(jié)點(diǎn)硬件有ISO11898規(guī)定的一個(gè)CAN控制器和一個(gè)CAN收發(fā)器。該協(xié)議描述了標(biāo)準(zhǔn)的通訊機(jī)制、網(wǎng)絡(luò)管理及相關(guān)參數(shù)的設(shè)定等內(nèi)容。 2.1CANOPEN的核心——對(duì)象字典 在CANOPEN中,引入了對(duì)象字典的概念。CANOPEN網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都有一個(gè)對(duì)象字典,而且每個(gè)設(shè)備的對(duì)象字典具有相同的結(jié)構(gòu)。對(duì)象字典描述了該設(shè)備和它的網(wǎng)絡(luò)行為的所有參數(shù)。它是一個(gè)有序的對(duì)象組,對(duì)象字典中的每個(gè)對(duì)象可以通過一個(gè)16位的主索引和一個(gè)8位的子索引來定位。 網(wǎng)絡(luò)節(jié)點(diǎn)的對(duì)象字典保存在電子數(shù)據(jù)單或者設(shè)備配置文件中,CAN總線不需要對(duì)每個(gè)節(jié)點(diǎn)的對(duì)象字典的全部功能都進(jìn)行檢測(cè),節(jié)點(diǎn)只需要能夠提供對(duì)象字典中必需的對(duì)象,以及其它可選擇的、構(gòu)成節(jié)點(diǎn)部分可配置功能的對(duì)象。 2.2CANOPEN的通訊模式 CANOPEN協(xié)議中對(duì)總線上傳輸?shù)臄?shù)據(jù)進(jìn)行了分類,即每一個(gè)傳輸數(shù)據(jù)都是某一特定類的對(duì)象,從而實(shí)現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)。在CANOPEN中定義了四類對(duì)象,分別是管理對(duì)象(NMT),服務(wù)數(shù)據(jù)對(duì)象(SDO),過程數(shù)據(jù)對(duì)象(PDO)和特殊功能對(duì)象。 2.2.1管理對(duì)象(NMT) CANOPEN是基于主從式通訊模式的,所有從節(jié)點(diǎn)的工作都由網(wǎng)絡(luò)主節(jié)點(diǎn)來協(xié)調(diào),管理對(duì)象用于網(wǎng)絡(luò)主節(jié)點(diǎn)對(duì)從節(jié)點(diǎn)監(jiān)控和管理,完成諸如節(jié)點(diǎn)的初始化、節(jié)點(diǎn)參數(shù)配置、節(jié)點(diǎn)出錯(cuò)保護(hù)等相關(guān)工作。 2.2.2服務(wù)數(shù)據(jù)對(duì)象(SDO) 服務(wù)數(shù)據(jù)對(duì)象用來建立兩個(gè)CANOPEN設(shè)備之間基于客戶/服務(wù)器機(jī)理的點(diǎn)對(duì)點(diǎn)通訊。通過服務(wù)數(shù)據(jù)對(duì)象,客戶方可以訪問服務(wù)器方的對(duì)象字典。一個(gè)服務(wù)數(shù)據(jù)對(duì)象用兩個(gè)帶有不同標(biāo)識(shí)符的CAN數(shù)據(jù)幀。服務(wù)數(shù)據(jù)對(duì)象允許傳輸任意大小的數(shù)據(jù),有兩種傳送機(jī)制,加速傳送機(jī)制用來一次傳送小于等于四個(gè)字節(jié)的數(shù)據(jù),分段傳送機(jī)制用來傳送大于四個(gè)字節(jié)的數(shù)據(jù)。 2.2.3過程數(shù)據(jù)對(duì)象(PDO) 過程數(shù)據(jù)對(duì)象用來傳遞實(shí)時(shí)數(shù)據(jù),它是CANOPEN最基本的數(shù)據(jù)傳送方式,數(shù)據(jù)傳送限制在1到8個(gè)字節(jié)。數(shù)據(jù)由一個(gè)生產(chǎn)者發(fā)出,可以有一個(gè)或者多個(gè)消費(fèi)者。PDO的通訊有兩種,讀PDO和寫PDO,寫PDO被映射到一個(gè)CAN數(shù)據(jù)幀,讀PDO被映射到一個(gè)CAN遠(yuǎn)程幀,這個(gè)遠(yuǎn)程幀被數(shù)據(jù)幀所響應(yīng)。觸發(fā)PDO傳輸?shù)姆绞接腥N:事件或定時(shí)器觸發(fā)模式;遠(yuǎn)程請(qǐng)求觸發(fā)模式;同步觸發(fā)模式。在節(jié)點(diǎn)的對(duì)象字典中,對(duì)每個(gè)PDO都有明確的描述,這樣,發(fā)送方和接收方都可以解釋PDO的具體內(nèi)容。PDO的標(biāo)識(shí)符具有高優(yōu)先級(jí)以確保良好的實(shí)時(shí)性。 2.2.4特殊功能對(duì)象 CANopen提供了三個(gè)特殊功能對(duì)象,同步對(duì)象(SynchronizationObject)時(shí)間戳對(duì)象(Time-Stamp)和緊急事件對(duì)象(Emergency)。同步對(duì)象由同步發(fā)器定時(shí)廣播,用于PDO的同步通訊。時(shí)間戳對(duì)象為應(yīng)用設(shè)備提供一個(gè)微秒極的時(shí)鐘,使那些對(duì)時(shí)間要求十分苛刻的設(shè)備能夠精確同步。緊急事件對(duì)象由設(shè)備內(nèi)部出現(xiàn)致命的錯(cuò)誤所觸發(fā),由發(fā)生錯(cuò)誤的設(shè)備以最高的優(yōu)先級(jí)發(fā)送到網(wǎng)絡(luò)中的其它的設(shè)備,以通知其它設(shè)備不要再試圖和該設(shè)備通訊。 2.3CANOPEN的設(shè)備模型 CANOPEN的設(shè)備模型可以分為三個(gè)部分:通訊接口及協(xié)議軟件、對(duì)象字典、過程接口和應(yīng)用程序。其中,通訊接口和協(xié)議軟件提供通設(shè)備和總線之間的連接服務(wù),對(duì)象字典描述了所有的數(shù)據(jù)類型、通訊對(duì)象和設(shè)備用到的應(yīng)用對(duì)象,它提供了和應(yīng)用軟件的接口,過程接口和應(yīng)用程序提供了設(shè)備內(nèi)部的控制機(jī)制。它們之間的關(guān)系如圖1所示。 3.智能消防水炮系統(tǒng)通訊模型的實(shí)現(xiàn) 3.1智能消防水炮節(jié)點(diǎn)硬件設(shè)計(jì) 整個(gè)消防水炮系統(tǒng)包含了十四個(gè)節(jié)點(diǎn),它們構(gòu)成一個(gè)CAN網(wǎng)絡(luò)。工業(yè)控制計(jì)算機(jī)為網(wǎng)絡(luò)主節(jié)點(diǎn)。由它來協(xié)調(diào)系統(tǒng)中各個(gè)分節(jié)點(diǎn)的動(dòng)作。工控機(jī)通過一塊CAN通訊卡掛接在CAN網(wǎng)絡(luò)上。系統(tǒng)中一共包含了十二個(gè)消防炮分節(jié)點(diǎn)。在各個(gè)分節(jié)點(diǎn)中,包含一臺(tái)紅外CCD攝像機(jī)、一門消防水炮、兩臺(tái)步進(jìn)電機(jī)和一臺(tái)直流電機(jī)。各個(gè)分節(jié)點(diǎn)中節(jié)點(diǎn)控制模塊的硬件系統(tǒng)如圖2所示。 CAN控制器采用了PHILIPS公司生產(chǎn)的應(yīng)用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器,它支持基本型CAN模式和增強(qiáng)型CAN模式。它具有完成高性能CAN通信協(xié)議所要求的全部必要特性。CAN總線驅(qū)動(dòng)器80C250是CAN控制器和物理總線之間的接口,可以提供對(duì)總線的差動(dòng)發(fā)送和接收功能。而且,CAN控制器SJA1000和CAN總線驅(qū)動(dòng)器80C250之間是通過高速光耦TL113相連,這樣就很好的實(shí)現(xiàn)了總線上各個(gè)CAN節(jié)點(diǎn)間的電氣隔離。不過,光耦部分電路所采用的兩個(gè)電源必須也完全隔離,否則就失去了采用光耦的意義。 3.2節(jié)點(diǎn)對(duì)象字典的建立 網(wǎng)絡(luò)中的每個(gè)設(shè)備都需要有一個(gè)對(duì)象字典。在本系統(tǒng)中,有一個(gè)主節(jié)點(diǎn)和十三個(gè)從節(jié)點(diǎn)。在各個(gè)節(jié)點(diǎn)中都采用預(yù)定義連接集中規(guī)定的十一位ID。它由四位功能碼和七位節(jié)點(diǎn)ID組成。考慮到系統(tǒng)今后的可擴(kuò)展性,設(shè)定十三個(gè)子節(jié)點(diǎn)的節(jié)點(diǎn)號(hào)為8-20.下面以主節(jié)點(diǎn)為例介紹對(duì)象字典的創(chuàng)建。 從節(jié)點(diǎn)需要能夠訪問主節(jié)點(diǎn)的對(duì)象字典,因此,主節(jié)點(diǎn)需要一個(gè)SDO。主節(jié)點(diǎn)需要向十三個(gè)從節(jié)點(diǎn)發(fā)送數(shù)據(jù),因此需要十三個(gè)Tx—PDO和十三個(gè)Rx—PDO。每個(gè)PDO又由PDO通訊參數(shù)(PDOParameter)和PDO映射參數(shù)(PDOMapping)兩部分組成。如下表所示: 另外,主節(jié)點(diǎn)需要對(duì)網(wǎng)絡(luò)中的從節(jié)點(diǎn)進(jìn)行管理,因此需要有管理對(duì)象(NMT)。系統(tǒng)還有緊急的信息需要發(fā)送,因此需要有一個(gè)緊急事件對(duì)象(EmergencyObject)。 一個(gè)節(jié)點(diǎn)的對(duì)象字典是在電子數(shù)據(jù)文檔(EDS:Electronicdatasheet)中描述的。節(jié)點(diǎn)本身只需要能夠提供對(duì)象字典中必需的對(duì)象以及其它可選擇、構(gòu)成節(jié)點(diǎn)部分可配置功能的對(duì)象。 3.3節(jié)點(diǎn)軟件實(shí)現(xiàn) 節(jié)點(diǎn)的軟件從內(nèi)容上可以分為一個(gè)組成部分:基本功能部分,包括節(jié)點(diǎn)的通訊初始化和硬件設(shè)備的初始化,定義和訪問對(duì)象字典,進(jìn)行PDO通訊和SDO通訊;錯(cuò)誤處理和節(jié)點(diǎn)的管理部分,當(dāng)節(jié)點(diǎn)發(fā)生錯(cuò)誤或者節(jié)點(diǎn)狀態(tài)發(fā)生改變時(shí)進(jìn)行相應(yīng)的操作;擴(kuò)展功能部分,用于在系統(tǒng)的硬件發(fā)生變化時(shí)對(duì)節(jié)點(diǎn)的狀態(tài)和相關(guān)參數(shù)進(jìn)行再設(shè)置。 3.4網(wǎng)絡(luò)初始化流程 CANopen網(wǎng)絡(luò)的初始化流程如圖3所示: 在智能消防炮網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)在上電和內(nèi)部初始化后自動(dòng)進(jìn)入預(yù)操作狀態(tài)(Pre—operationalstate)。處于該狀態(tài)中的從節(jié)點(diǎn)可以通過SDO被配置參數(shù),但不允許進(jìn)行PDO通訊。工控機(jī)主節(jié)點(diǎn)可以通過NMT使各個(gè)從節(jié)點(diǎn)進(jìn)入操作狀態(tài)(Operationalstate)。在操作狀態(tài)中,允許PDO通訊。主節(jié)點(diǎn)還可以使從節(jié)點(diǎn)進(jìn)入停止?fàn)顟B(tài)(StoppedState)。在停止?fàn)顟B(tài)中,既不允許PDO通訊也不允許SDO通訊,節(jié)點(diǎn)可以專業(yè)做自己的事情。可以從停止?fàn)顟B(tài)回到預(yù)操作狀態(tài)或者操作狀態(tài)。 4.結(jié)束語 智能消防水炮系統(tǒng)作為大空間建筑的重要消防設(shè)施,近年來越來越受到人們的重視。而CAN總線在各個(gè)領(lǐng)域都有很好的應(yīng)用前景,CANopen是一種公開的協(xié)議。將CANopen應(yīng)用層協(xié)議應(yīng)用于消防水炮系統(tǒng)的設(shè)計(jì)中,不僅可以提系統(tǒng)通訊的效率和通訊的可靠性,而且能夠據(jù)推動(dòng)智能消防水炮系統(tǒng)以CANopen協(xié)議為平臺(tái)標(biāo)準(zhǔn)化。 本文作者創(chuàng)新點(diǎn):首次將CAN總線和CANopen協(xié)議應(yīng)用于智能消防水炮系統(tǒng)的設(shè)計(jì)。 |