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