- 相關推薦
面向對象設計在樓宇控制系統(tǒng)中的應用
Object-oriented design in building automation application
關鍵詞 面向對象設計, 控制系統(tǒng), BACnet, 協(xié)議
Abstract lllutrates how object-oriented programming improves reliability, provides greater flexibility and reduces programming costs, and further presents that an object-oriented protocol as a base of communication makes a whole object-oriented design. BACnet changes control units to a control units to a collection of objects, which facilitates the communication and operation of the devices.
Keywords object-oriented design, control system, BACnet, protocol
1 簡介
自20世紀80年代以來,面向對象的方法已廣泛應用于計算機及其相關領域,它不僅應用于編程階段,而且應用在系統(tǒng)設計和系統(tǒng)分析上。面向對利用設計在控制系統(tǒng)中的應用減少了控制系統(tǒng)的費用、提高了系統(tǒng)的易用性、加強了系統(tǒng)的可維護性,因此成為控制系統(tǒng)的發(fā)展方向?刂葡到y(tǒng)中的面向對象設計主要分為兩部分:
、 面向對象編程
傳統(tǒng)的過程化編程語言(比如BASIC,C)由于不具備對象的特點,編制程序時得一行一行地編制,因此只有專業(yè)人員才能輕松地應用這些工具[1]。但即使這些專業(yè)人員也難免在編程過程中產(chǎn)生錯誤,而這對于控制系統(tǒng)可能是災難性的。由于控制系統(tǒng)控制的是實際設備,任何疏忽均可能會使設備出現(xiàn)故障甚至報廢,從而對業(yè)主造成巨大的損失。
面向對象編程實現(xiàn)了編程的簡單化和可視化,從而大大減少編程人員的工作量。同時對象中的成員及函數(shù)均由專業(yè)人員反復測試和檢驗過,出錯的可能性也因此顯著降低。相對于傳統(tǒng)的編程語言,缺乏編程背景的建筑設備工程師可以熟練運用"對象"來完成他所需的控制任務,而不需軟件人員的幫助。
、 面向對象的協(xié)議
協(xié)議是控制系統(tǒng)相互之間通訊的基礎,面向對象設計必須由面向對象的協(xié)議來完善。傳統(tǒng)的集散式控制系統(tǒng)(DCS)主要由模擬量輸入(AI)、模擬量輸出(AO)、數(shù)字量輸入(DI)和數(shù)字量輸出(DO)構成控制系統(tǒng)的各個通道,它們之間彼此相互獨立。DCS的這種結構便于工程人員根據(jù)工程的特點來任意組合控制系統(tǒng)通道的組成,但通道之間獨立的數(shù)據(jù)造成的大量冗余數(shù)據(jù)和信息的盲目性使數(shù)據(jù)的解釋變得非常復雜,很難發(fā)現(xiàn)其中有用的數(shù)據(jù)。面向對象的底層協(xié)議將數(shù)據(jù)的解釋、分類和判斷由前期設計人員完成,使無用的數(shù)據(jù)變成有用的信息,大大方便了工程人員的應用。
面向對象技術若要在控制系統(tǒng)中真正應用,必須在這兩個層次完成對象化改造。缺乏其中的任何一環(huán),整個面向對象系統(tǒng)均是不完整的。
2 面向對象編程
2.1 控制語言中的對象
隨著面向對象語言C 的流行,面向對象編程已廣泛被人們所認知。但由于種種原因,控制系統(tǒng)的編程語言多數(shù)是逐行編制的非面向對象語言,面向對象語言還較少應用。眾所周知,面向對象技術是建立在"對象"和"類"的基礎上的,因此對于它們應有一個準確的定義。對象的定義為"問題域或者其實現(xiàn)中一些東西的抽象,它反映系統(tǒng)為之保存信息和(或)與它交互的能力。它是一些屬性及其專用服務的一個封裝體"[2]。而類的定義為"一個或多個對象的描述,可用一組屬性和服務的形式來描述"[1]。對于控制系統(tǒng)中的面向對象語言,"對象"應有如下特點:
、 獨立性
一個對象是獨立存在的模塊,各對象彼此之間依賴性很小。系統(tǒng)可由各自獨立的對象組成,而不必考慮彼此之間的干擾。
、 連接性
一個孤立的對象只能完成很少的一部分功能,只有將對象有機地結合起來才能發(fā)揮它的作用。面向對象系統(tǒng)通過消息激發(fā)機制使對象相互作用、相互聯(lián)系,構成一個聯(lián)系緊密的整體。
、 易維護性
一個對象的內(nèi)部功能與外界環(huán)境沒有任何的固有聯(lián)系,因此對一個對象的維護、發(fā)行不會影響到其它對象和外界程序的功能。
在對象的獨立性上,控制語言中應分離對象內(nèi)部的運算變量與實際的操作變量。例如集散式控制系統(tǒng)(DCS)中直接操作設備的是4~20mA/0~10V的模擬量輸出或開關量輸出,而現(xiàn)場總線控制系統(tǒng)(FCS)直接操作的是閥門、電機等智能控制器?刂普Z言中的變量若直接是AO,DO或特定的閥門、電機等,雖然程序看起來比較直觀,但它喪失了通用性和對象封裝的特點。當系統(tǒng)中的控制程序移植到具有相同特點的另一個系統(tǒng)中時,用戶就需將程序中的每一個變量變更以適應新的系統(tǒng),這樣做不僅費時而且極容易出錯。因此需要將程序中的運算變量和實際操作變量分離,使對象的獨立性和系統(tǒng)的可操作性統(tǒng)一起來。
控制系統(tǒng)中的現(xiàn)場控制模塊通常程序容量和計算速度均遠低于計算機的相應性能,因此硬件上的限制使控制語言盡量減少類的復雜過程的應用。同時類中的成員函數(shù)也應盡量減少,構造函數(shù)和析構函數(shù)均由賦值表達式完成。簡言之,控制語言中的類由兩部分組成:
變量的聲明表;②對變
【面向對象設計在樓宇控制系統(tǒng)中的應用】相關文章:
面向對象程序設計技術在金融信息系統(tǒng)的應用03-07
淺論面向對象程序設計技術在金融信息系統(tǒng)的應用03-01
CAN總線在樓宇監(jiān)控系統(tǒng)中的應用03-07
面向對象的嵌入式系統(tǒng)設計方法03-18
智能照明控制系統(tǒng)的設計和應用03-03
智能樓宇管理系統(tǒng)的應用03-18