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