物件導向設計在樓宇控制系統中的應用

才智咖 人氣:3.02W

Object-oriented design in building automation application

物件導向設計在樓宇控制系統中的應用
摘要 介紹了物件導向程式設計如何提高程式的可靠性、提供更大的靈活性和減少編制費用,進而介紹了完整的物件導向設計還包括構成控制系統通訊基礎的物件導向協議。BACnet協議將每個控制子單元歸納為物件形式,簡化了裝置之間的通訊和操作。

關鍵詞 物件導向設計, 控制系統, 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年代以來,物件導向的方法已廣泛應用於計算機及其相關領域,它不僅應用於程式設計階段,而且應用在系統設計和系統分析上。面向對利用設計在控制系統中的應用減少了控制系統的費用、提高了系統的易用性、加強了系統的可維護性,因此成為控制系統的發展方向。控制系統中的物件導向設計主要分為兩部分:
  ① 物件導向程式設計
  傳統的過程化程式語言(比如BASIC,C)由於不具備物件的特點,編制程式時得一行一行地編制,因此只有專業人員才能輕鬆地應用這些工具[1]。但即使這些專業人員也難免在程式設計過程中產生錯誤,而這對於控制系統可能是災難性的。由於控制系統控制的是實際裝置,任何疏忽均可能會使裝置出現故障甚至報廢,從而對業主造成巨大的損失。
  物件導向程式設計實現了程式設計的簡單化和視覺化,從而大大減少程式設計人員的工作量。同時物件中的成員及函式均由專業人員反覆測試和檢驗過,出錯的可能性也因此顯著降低。相對於傳統的程式語言,缺乏程式設計背景的建築裝置工程師可以熟練運用"物件"來完成他所需的控制任務,而不需軟體人員的幫助。
  ② 物件導向的協議
  協議是控制系統相互之間通訊的基礎,物件導向設計必須由物件導向的協議來完善。傳統的集散式控制系統(DCS)主要由模擬量輸入(AI)、模擬量輸出(AO)、數字量輸入(DI)和數字量輸出(DO)構成控制系統的各個通道,它們之間彼此相互獨立。DCS的這種結構便於工程人員根據工程的特點來任意組合控制系統通道的組成,但通道之間獨立的資料造成的大量冗餘資料和資訊的.盲目性使資料的解釋變得非常複雜,很難發現其中有用的資料。物件導向的底層協議將資料的解釋、分類和判斷由前期設計人員完成,使無用的資料變成有用的資訊,大大方便了工程人員的應用。
  物件導向技術若要在控制系統中真正應用,必須在這兩個層次完成物件化改造。缺乏其中的任何一環,整個物件導向系統均是不完整的。
  
2 物件導向程式設計
  
  2.1 控制語言中的物件
  隨著物件導向語言C 的流行,物件導向程式設計已廣泛被人們所認知。但由於種種原因,控制系統的程式語言多數是逐行編制的非物件導向語言,物件導向語言還較少應用。眾所周知,物件導向技術是建立在"物件"和"類"的基礎上的,因此對於它們應有一個準確的定義。物件的定義為"問題域或者其實現中一些東西的抽象,它反映系統為之儲存資訊和(或)與它互動的能力。它是一些屬性及其專用服務的一個封裝體"[2]。而類的定義為"一個或多個物件的描述,可用一組屬性和服務的形式來描述"[1]。對於控制系統中的物件導向語言,"物件"應有如下特點:
  ① 獨立性
  一個物件是獨立存在的模組,各物件彼此之間依賴性很小。系統可由各自獨立的物件組成,而不必考慮彼此之間的干擾。