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