黃健倉
(中交一航局安裝工程有限公司,天津 300457)
智能建筑是以建筑物為平臺,兼?zhèn)湫畔⒃O(shè)施系統(tǒng)、信息化應(yīng)用系統(tǒng)、建筑設(shè)備管理系統(tǒng)、公共安全系統(tǒng)等,集結(jié)構(gòu)、系統(tǒng)、服務(wù)、管理及其優(yōu)化組合為一體,向人們提供環(huán)保、健康的建筑環(huán)境。BACnet標準是目前樓宇控制行業(yè)唯一一個關(guān)于網(wǎng)絡(luò)通信的開放性國際標準,以實現(xiàn)樓宇控制系統(tǒng)內(nèi)不同種類的設(shè)備、不同廠商的設(shè)備之間的互操作性。它具有技術(shù)先進且易于實現(xiàn)的特點,是國際樓宇自動控制行業(yè)的主流技術(shù)[2]。
BACnet標準在關(guān)于設(shè)備互操作性的概念中,是把一個樓宇控制設(shè)備分成兩個組成部分,一個是控制部分,另一個數(shù)據(jù)通信部分。BACnet標準建立了一個統(tǒng)一的樓宇通信標準,各個廠家在設(shè)計和生產(chǎn)樓宇控制設(shè)備時,采用BACnet標準的通信協(xié)議來進行數(shù)據(jù)通信。這些廠家的設(shè)備就能相互通信,實現(xiàn)設(shè)備的互操作性。
它包括以下部分:1)BACnet協(xié)議模型;2)BACnet/IP技術(shù);3) BACnet/IP協(xié)議報文;4) BACnet編碼規(guī)則;5)BACnet標準的對象;6) BACnet標準的服務(wù)。
支持BACnet通信協(xié)議的樓宇控制設(shè)備稱為BACnet設(shè)備,各種BACnet設(shè)備通過不同形式連接至BACnet網(wǎng)絡(luò)后形成的具有完整的樓宇控制功能的系統(tǒng)即為BACnet樓宇控制系統(tǒng)。一個BACnet/IP系統(tǒng)典型的配置結(jié)構(gòu)為兩層,如圖1所示。
本設(shè)計中的樓宇控制器是一個采用主流的軟硬件技術(shù),完全按照BACnet互操作性要求設(shè)計的功能齊全的BACnet專用控制器(B-ASC)??刂破鞑捎们度胧教幚砥髌脚_,控制器支持通過IP網(wǎng)絡(luò)來查看、監(jiān)視和控制該設(shè)備,控制器的狀態(tài)、輸入輸出端口的情況、歷史、趨勢和報警數(shù)據(jù)均可被上位機記錄和管理,通過網(wǎng)關(guān)設(shè)備控制器的還可被使用通過互聯(lián)網(wǎng)接入的管理設(shè)備查看。
設(shè)計中的控制器的對象實例方面需要定義1個設(shè)備對象實例,8個模擬輸入Analog Input對象實例、8個數(shù)字輸入(Binary Input)對象實例、4路模擬輸出(Analog Output)對象實例和8路數(shù)字輸出(Binary Output)對象實例。圖2是控制器的模型示意圖。
圖1 典型的BACnet/IP系統(tǒng)結(jié)構(gòu)圖
圖2 BACnet樓宇控制器模型示意圖
控制器硬件平臺的選擇,重點就是嵌入式處理器的選擇。不同的處理器平臺,在功能和性能上存在很大差異,關(guān)系到整個系統(tǒng)的的設(shè)計工作[5]。
ARM微處理器的一些優(yōu)點如下:
1)具有領(lǐng)先的處理速度、功耗很低。
2)具有16位和32位兩套指令集。
3)處理器指令執(zhí)行數(shù)度快。
4)指令長度一致、尋址方式靈活。
5)支持協(xié)處理器,可擴展運算能力。
本設(shè)計中樓宇控制器要求具備32位的處理能力,集成常用的嵌入式應(yīng)用的功能模塊,處理速度較高,功耗低,體積小,性價比高,且應(yīng)用廣泛,有比較的應(yīng)用案例可供參考。故選擇三星S3C2440A(ARM9)處理器作為本設(shè)計中系統(tǒng)硬件平臺。
BACnet樓宇控制器的硬件結(jié)構(gòu)如圖3所示。
各部分的功能如下:
1) 微處理器及其輔助電路。微處理器是整個控制器的核心,負責控制著整個控制器的運行。
圖3 BACnet樓宇控制器的硬件結(jié)構(gòu)圖
2) 存儲模塊。存儲系統(tǒng)負責存儲包括系統(tǒng)的引導(dǎo)程序、操作系統(tǒng)、文件系統(tǒng)和應(yīng)用程序,以及在運行時提供程序和數(shù)據(jù)的緩存空間。
3)以太網(wǎng)模塊。BACnet樓宇控制器的網(wǎng)絡(luò)接口單元是控制核心功能之一,是BACnet通信能力的基礎(chǔ)。網(wǎng)絡(luò)接口單元由0以太網(wǎng)控制芯片組成,其上帶有以太網(wǎng)MAC控制器和通用處理接口。通過連接到以太網(wǎng)上,實現(xiàn)接收和發(fā)生UDP報文。
4) I/O模塊。I/O模塊是連接控制器與被控設(shè)備的橋梁,實現(xiàn)控制器對不同被控對象的信號轉(zhuǎn)換和傳輸。并通過隔離電路將輸入通道的外部輸入端和控制器的其他單元完全隔離,以提高控制器的穩(wěn)定性和抗干擾能力。
5) 電壓模塊。硬件電路中,不同的器件在需要的工作電壓不完全相同,通常嵌入式系統(tǒng)的輸入電源是5 V,所以需要設(shè)計電源轉(zhuǎn)換電路適應(yīng)不同芯片的需要。
在控制的軟件設(shè)計中引入嵌入式操作系統(tǒng)作為樓宇控制器的軟件平臺,這樣可以把軟件開發(fā)的重點集中在應(yīng)用軟件的功能設(shè)計上,而不需要過多地考慮底層的硬件與軟件之間的復(fù)雜關(guān)系。操作系統(tǒng)將應(yīng)用程序和底層硬件隔離開來,也是對系統(tǒng)的一種保護,防止一些簡單的應(yīng)用程序錯誤導(dǎo)致整個控制器的崩潰。
嵌入式Linux是在Linux操作系統(tǒng)的基礎(chǔ)上,針對嵌入式應(yīng)用裁減和開發(fā)的版本,以其特有的開放性、與生俱來的網(wǎng)絡(luò)特性而成為嵌入式操作系統(tǒng)的主流之一。
鑒于此,我們選擇嵌入式Linux操作系統(tǒng)來開發(fā)BACnet樓宇控制器的軟件平臺。
通過對BACnet協(xié)議的體系結(jié)構(gòu)和對BACnet樓宇控制器功能的分析,可以得出BACnet樓宇控制器軟件包括以下幾個模塊:BACnet協(xié)議棧、底層驅(qū)動模塊、控制器應(yīng)用程序。開發(fā)的軟件體系結(jié)構(gòu)如圖4所示。
圖4 BACnet樓宇控制器的軟件框架圖
對于TCP/IP協(xié)議棧采用Linux內(nèi)核配置時選擇添加即可,不需要進行額外的開發(fā)工作,協(xié)議棧的調(diào)用也是通過其標準的接口套接字Socket來實現(xiàn)。BACnet協(xié)議棧是控制器軟件開發(fā)過程中的重點,因為只有實現(xiàn)了BACnet協(xié)議棧才能將各種輸入、輸出數(shù)據(jù)編碼成可以被其他BACnet設(shè)備識別的二進制代碼,對BACnet網(wǎng)絡(luò)上的各種服務(wù)請求進行響應(yīng)或請求其他設(shè)備執(zhí)行某種服務(wù)。
控制程序負責整個控制器運行期間的各種工作狀態(tài)的管理和控制。主要包括配置和初始化、對象實例操作、控制策略3個部分。
1) 配置文件和初始化的設(shè)計。設(shè)備啟動后,首先需要對輸入輸出模塊進行初始化,設(shè)定輸入輸出端口的初始工作狀態(tài)。然后根據(jù)配置文件設(shè)定樓宇控制器的各種BACnet參數(shù),包括設(shè)備對象實例的ID、設(shè)備的IP地址、端口號;PID控制算法的輸入、輸出對應(yīng)的物理通道、設(shè)定值對應(yīng)的模擬輸出對象實例、PID參數(shù);數(shù)字濾波器的采樣次數(shù)。最后初始化協(xié)議棧,初始化完畢,向網(wǎng)絡(luò)發(fā)送一個I-am的無證實服務(wù)報文,通告該設(shè)備準備工作就緒已連接至BACnet網(wǎng)絡(luò)。
2) 對象實例操作的設(shè)計。初始化工作完成后,控制程序就將設(shè)備帶入正常的工作狀態(tài)中,開始響應(yīng)BACnet網(wǎng)絡(luò)上的服務(wù)請求。收到報文請求后,需要對具體的對象實例進行操作,主要就是將對象實例的Prensent_Value(當前值)通過讀取或?qū)懭氩僮髋c輸入輸出模塊的物理輸入輸出值關(guān)聯(lián)起來,進而實現(xiàn)對被控設(shè)備的管理。
3) 樓宇控制器控制算法的設(shè)計??刂圃O(shè)備在很多場合的應(yīng)用中需要控制器本身具有一些控制算法來實時控制設(shè)備的運行狀況。這樣不僅可以避免所有的控制過程都需要頂層管理服務(wù)器來處理所帶來的網(wǎng)絡(luò)繁重的通信負擔,而且可以滿足實時性控制的要求[1]。本設(shè)計中還集成了PID算法。
BACnet標準在世界各地得到廣泛的應(yīng)用,數(shù)以萬計的采用BACnet協(xié)議的樓宇控制系統(tǒng)被安裝在智能建筑中。著名的西雅圖美國銀行大廈、拉斯維加斯大酒店、我國的上??萍汲堑榷疾捎昧薆ACnet技術(shù)。使用BACnet通信協(xié)議的樓宇控制系統(tǒng)的推廣,使得傳統(tǒng)專有協(xié)議的系統(tǒng)和設(shè)備的市場份額越來越小[4]。
總的來說,我國對BACnet標準的研究有階段性的成果,為其在我國的推廣和應(yīng)用奠定了基礎(chǔ)。但BACnet技術(shù)在我國建筑領(lǐng)域中應(yīng)用的還是很少,我國每年建筑總量占全球的40%,在如此大的市場中如何推廣應(yīng)用BACnet標準,使該領(lǐng)域與國際接軌是需要認真思考的問題。
BACnet樓宇控制器僅是復(fù)雜的樓宇自控系統(tǒng)中的一個小的組成部分,應(yīng)用到實際的樓宇自控系統(tǒng)中,可以通過兩種方法:一是作為國外廠商的樓宇控制系統(tǒng)的部件;二是通過OPC服務(wù)器軟件,與通用的組態(tài)軟件創(chuàng)建獨立的樓宇控制系統(tǒng)。
外國廠商的樓宇控制系統(tǒng)產(chǎn)品線比較完整,從頂層的數(shù)據(jù)服務(wù)器到底層的執(zhí)行部件,但價格也很貴,而我們自己設(shè)計的控制器在性能相當時,價格卻要便宜很多,所以集成到這些廠商的系統(tǒng)中在技術(shù)和市場兩方面都是可行的。BACnet標準的開放性使得各家廠商的產(chǎn)品可以實現(xiàn)無縫集成,按照一致性聲明的要求,我們的控制器能與其他廠家的系統(tǒng)完全兼容。
通過OPC服務(wù)器軟件加上通用組態(tài)軟件組成獨立系統(tǒng)的方法可以應(yīng)用一些規(guī)模比較小的樓宇自控系統(tǒng)。目前市場上的OPC服務(wù)器軟件和組態(tài)軟件供應(yīng)商比較多,選擇空間也很大。本設(shè)計中選用SCADA Engine BACnet OPC Server作為控制系統(tǒng)的OPC服務(wù)器,安裝在普通的PC機上,通過以太網(wǎng)就可以遠程控制BACnet樓宇控制器,并提供組態(tài)軟件對BACnet設(shè)備的OPC接口。
組態(tài)軟件采用亞控公司的組態(tài)王6.5,該款是國產(chǎn)組態(tài)軟件中的佼佼者,廣泛應(yīng)用于工業(yè)控制領(lǐng)域,軟件內(nèi)部的各種組件很全面,能夠很方便的設(shè)計出各種控制系統(tǒng)的人機交互界面。圖5為樓宇控制系統(tǒng)中一個空調(diào)新風系統(tǒng)的控制界面。
與OPC服務(wù)器軟件的連接通過組態(tài)王的工程瀏覽器設(shè)定,OPC服務(wù)器啟動后,在工程瀏覽器的設(shè)備子目錄下的OPC服務(wù)器這項中添加SCADA Engine.BACnet OPCServer。然后設(shè)置控制界面各個變量與OPC變量的連接關(guān)系,即可使組態(tài)王軟件與遠程的BACnet樓宇控制器實現(xiàn)連接(見圖6)。
本次設(shè)計就BACnet協(xié)議在控制器中的具體應(yīng)用做了簡單的研究,簡要地闡述了BACnet協(xié)議棧中各個部分如何在軟件中實現(xiàn),然后設(shè)計了控制器的控制軟件,最后提出了控制器在具體工程中的應(yīng)用方法。
隨著信息技術(shù)的不斷發(fā)展,人們對建筑內(nèi)環(huán)境要求的提高,智能建筑、樓宇自動化系統(tǒng)呈現(xiàn)普及化的趨勢。同時,我國正處在大規(guī)模城鎮(zhèn)化建設(shè)階段,是世界最大的建筑市場,樓宇自動化行業(yè)在國內(nèi)將會有廣大市場。隨著BACnet樓宇設(shè)備的研究和開發(fā)越來越多,我國在該領(lǐng)域的發(fā)展前景廣闊。
[1]GB/T50314—2006,智能建筑設(shè)計標準[S].
[2] 梅英.基于BACnet的樓宇自控系統(tǒng)的工程設(shè)計[D].長沙:湖南大學,2007.
[3] 張勤.基于嵌入式Linux構(gòu)建BACnet設(shè)備的軟件環(huán)境[D].武漢:華中科技大學,2004.
[4] 董春橋.智能樓宇BACnet原理與應(yīng)用[M].北京:電子工業(yè)出版社,2003.
[5]封景剛,吳寶江.ARM嵌入式系統(tǒng)開發(fā)完全入門與主流實踐[M].北京:電子工業(yè)出版社,2008:7-8.