面向對象設計在樓宇控制系統(tǒng)中的應用_第1頁
面向對象設計在樓宇控制系統(tǒng)中的應用_第2頁
面向對象設計在樓宇控制系統(tǒng)中的應用_第3頁
面向對象設計在樓宇控制系統(tǒng)中的應用_第4頁
面向對象設計在樓宇控制系統(tǒng)中的應用_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、面向對象設計在樓宇控制系統(tǒng)中的應用bjet-rienteddesigninbuildingautatinappliatin摘要介紹了面向對象編程如何進步程序的可靠性、提供更大的靈敏性和減少編制費用,進而介紹了完好的面向對象設計還包括構成控制系統(tǒng)通訊根底的面向對象協(xié)議。BAnet協(xié)議將每個控制子單元歸納為對象形式,簡化了設備之間的通訊和操作。關鍵詞面向對象設計,控制系統(tǒng),BAnet,協(xié)議Abstratlllutrateshbjet-rientedprgraingiprvesreliability,prvidesgreaterflexibilityandreduesprgraingsts,andf

2、urtherpresentsthatanbjet-rientedprtlasabasefuniatinakesahlebjet-rienteddesign.BAnethangesntrlunitstantrlunitstalletinfbjets,hihfailitatestheuniatinandperatinfthedevies.Keyrdsbjet-rienteddesign,ntrlsyste,BAnet,prtl1簡介自20世紀80年代以來,面向對象的方法已廣泛應用于計算機及其相關領域,它不僅應用于編程階段,而且應用在系統(tǒng)設計和系統(tǒng)分析上。面向對利用設計在控制系統(tǒng)中的應用減少了控制系

3、統(tǒng)的費用、進步了系統(tǒng)的易用性、加強了系統(tǒng)的可維護性,因此成為控制系統(tǒng)的開展方向??刂葡到y(tǒng)中的面向對象設計主要分為兩部分:面向對象編程傳統(tǒng)的過程化編程語言比方BASI,由于不具備對象的特點,編制程序時得一行一行地編制,因此只有專業(yè)人員才能輕松地應用這些工具1。但即使這些專業(yè)人員也難免在編程過程中產(chǎn)生錯誤,而這對于控制系統(tǒng)可能是災難性的。由于控制系統(tǒng)控制的是實際設備,任何忽略均可能會使設備出現(xiàn)故障甚至報廢,從而對業(yè)主造成宏大的損失。面向對象編程實現(xiàn)了編程的簡單化和可視化,從而大大減少編程人員的工作量。同時對象中的成員及函數(shù)均由專業(yè)人員反復測試和檢驗過,出錯的可能性也因此顯著降低。相對于傳統(tǒng)的編程語

4、言,缺乏編程背景的建筑設備工程師可以純熟運用對象來完成他所需的控制任務,而不需軟件人員的幫助。面向對象的協(xié)議協(xié)議是控制系統(tǒng)互相之間通訊的根底,面向對象設計必須由面向對象的協(xié)議來完善。傳統(tǒng)的集散式控制系統(tǒng)DS主要由模擬量輸入AI、模擬量輸出A、數(shù)字量輸入DI和數(shù)字量輸出D構成控制系統(tǒng)的各個通道,它們之間彼此互相獨立。DS的這種構造便于工程人員根據(jù)工程的特點來任意組合控制系統(tǒng)通道的組成,但通道之間獨立的數(shù)據(jù)造成的大量冗余數(shù)據(jù)和信息的盲目性使數(shù)據(jù)的解釋變得非常復雜,很難發(fā)現(xiàn)其中有用的數(shù)據(jù)。面向對象的底層協(xié)議將數(shù)據(jù)的解釋、分類和判斷由前期設計人員完成,使無用的數(shù)據(jù)變成有用的信息,大大方便了工程人員的應

5、用。面向對象技術假設要在控制系統(tǒng)中真正應用,必須在這兩個層次完成對象化改造。缺乏其中的任何一環(huán),整個面向對象系統(tǒng)均是不完好的。2面向對象編程21控制語言中的對象隨著面向對象語言+的流行,面向對象編程已廣泛被人們所認知。但由于種種原因,控制系統(tǒng)的編程語言多數(shù)是逐行編制的非面向對象語言,面向對象語言還較少應用。眾所周知,面向對象技術是建立在對象和類的根底上的,因此對于它們應有一個準確的定義。對象的定義為問題域或者其實現(xiàn)中一些東西的抽象,它反映系統(tǒng)為之保存信息和或與它交互的才能。它是一些屬性及其專用效勞的一個封裝體2。而類的定義為一個或多個對象的描繪,可用一組屬性和效勞的形式來描繪1。對于控制系統(tǒng)中

6、的面向對象語言,對象應有如下特點:獨立性一個對象是獨立存在的模塊,各對象彼此之間依賴性很校系統(tǒng)可由各自獨立的對象組成,而不必考慮彼此之間的干擾。連接性一個孤立的對象只能完成很少的一部分功能,只有將對象有機地結合起來才能發(fā)揮它的作用。面向對象系統(tǒng)通過消息激發(fā)機制使對象互相作用、互相聯(lián)絡,構成一個聯(lián)絡嚴密的整體。易維護性一個對象的內部功能與外界環(huán)境沒有任何的固有聯(lián)絡,因此對一個對象的維護、發(fā)行不會影響到其它對象和外界程序的功能。在對象的獨立性上,控制語言中應別離對象內部的運算變量與實際的操作變量。例如集散式控制系統(tǒng)DS中直接操作設備的是420A/010V的模擬量輸出或開關量輸出,而現(xiàn)場總線控制系統(tǒng)

7、FS直接操作的是閥門、電機等智能控制器??刂普Z言中的變量假設直接是A,D或特定的閥門、電機等,雖然程序看起來比較直觀,但它喪失了通用性和對象封裝的特點。當系統(tǒng)中的控制程序移植到具有一樣特點的另一個系統(tǒng)中時,用戶就需將程序中的每一個變量變更以適應新的系統(tǒng),這樣做不僅費時而且極容易出錯。因此需要將程序中的運算變量和實際操作變量別離,使對象的獨立性和系統(tǒng)的可操作性統(tǒng)一起來。控制系統(tǒng)中的現(xiàn)場控制模塊通常程序容量和計算速度均遠低于計算機的相應性能,因此硬件上的限制使控制語言盡量減少類的復雜過程的應用。同時類中的成員函數(shù)也應盡量減少,構造函數(shù)和析構函數(shù)均由賦值表達式完成。簡言之,控制語言中的類由兩部分組成

8、:變量的聲明表;對變量進展計算和操作的方法??刂普Z言中的類定義為:類名稱:類變量聲明表:變量類型變量1變量類型變量n類代碼:方法1方法類描繪完畢22消息的發(fā)送和接收一個面向對象的控制程序由假設干互相關聯(lián)的一組對象組成,并通過對象之間的互相聯(lián)絡完成所有的功能。對象之間的聯(lián)絡方式即是消息鼓勵機制,消息是用來懇求對象執(zhí)行某個處理或答復某些信息的要求3。在面向對象系統(tǒng)中,對象之間的聯(lián)絡是通過消息的傳遞完成的,對象只有接收到消息之后才能做出響應。而對消息進展響應的是對象中的成員函數(shù)即所謂的方法,方法是實現(xiàn)消息詳細功能的手段。消息具有如下幾個性質:同一對象可以接收不同形式的多個消息,產(chǎn)生不同響應。一條消息

9、可以發(fā)送給不同的對象,消息的解釋完全由接收對象完成。對象對消息的響應是不必須的。對象既可以對消息作出響應,也可以不返回任何的答復信息。根據(jù)消息表,控制語言將包括設備、時鐘和數(shù)據(jù)交換等系統(tǒng)事件發(fā)送給可以響應這些事件的對象。設備事件是控制系統(tǒng)中的實際設備的狀態(tài)變化等設備信息,控制系統(tǒng)將其通知相應的操作對象。時鐘事件用于滿足系統(tǒng)對時間控制的要求,定時器時鐘在時間條件具備的條件下向對象發(fā)送時間已到的信息,對象根據(jù)此信息按固定時間步長或絕對時間操作。由于控制程序要兼顧系統(tǒng)中的所有設備,因此在程序中不能存在無限循環(huán)等待某一外界變量變化的情況。假設對系統(tǒng)死機的現(xiàn)象。當一個對象需要向另外一個對象發(fā)送數(shù)據(jù)的時候

10、便產(chǎn)生一個數(shù)據(jù)交換消息以鼓勵該對象,被鼓勵對象據(jù)此接收被發(fā)送的數(shù)據(jù)。數(shù)據(jù)交換的消息鼓勵機制同時可用于對象根據(jù)內部的某些條件來觸發(fā)自己本身。在控制系統(tǒng)中事件的產(chǎn)生是沒有規(guī)律的,某一時刻可能會同時出現(xiàn)多個消息。而哪個消息應首先得到處理、哪個最后處理就需要控制系統(tǒng)對消息進展管理。消息管理通常采用隊列方式即按消息產(chǎn)生的時間序列來排隊,先來的先處理后來的后處理。假設消息產(chǎn)生的時間恰好一樣,那么按消息的等級即設備、時間、數(shù)據(jù)通訊的順序來排列。設備消息對應的是實際現(xiàn)場設備,消息的產(chǎn)生說明現(xiàn)場設備出現(xiàn)了變化,因此控制系統(tǒng)應首先作出響應。一個對象可能對多個觸發(fā)消息響應,而每個消息必然需要一個成員函數(shù)對它響應,這

11、種成員函數(shù)即所謂的方法。將系統(tǒng)事件映射到對象時所使用的手段稱為消息表。面向對象控制語言出于簡便的原那么將消息映射和對應的方法按照統(tǒng)一的格式來書寫。在消息表中預定義了系統(tǒng)事件所映射到的方法,當消息觸發(fā)該對象后尋找對應這個消息的方法名稱,并據(jù)此執(zhí)行相應的方法??刂普Z言中一個完好的對象應包括對象名稱、消息表、對象變量聲明和數(shù)據(jù)交換表和對象的實體。對象變量聲明和數(shù)據(jù)交換表將系統(tǒng)內的變量聲明并與外界設備數(shù)據(jù)進展交換。當消息觸發(fā)對象時,表中的系統(tǒng)設備狀態(tài)和數(shù)據(jù)均映射到相應的變量上。對象的整體構造為:對象名稱:消息表:方法名稱1觸發(fā)條件1方法名稱k觸發(fā)條件k對象變量聲明和數(shù)據(jù)交換表:變量類型變量1=系統(tǒng)設備

12、1變量類型變量n=系統(tǒng)設備n對象的實體:方法名稱1方法的源代碼1方法名稱2:方法的源代碼完畢為了簡單地說明對象在樓宇控制系統(tǒng)中的實際應用,以最常用的PID算法為例來構成一個PID對象。圖1所示為PID算法調節(jié)調節(jié)執(zhí)行器v使受控對象的溫度t到達溫度設定值tset。對于這個調節(jié)算法,一個簡單的對象就可以將其概括。圖1PID系統(tǒng)調節(jié)系統(tǒng)離散PID算法是周期性運算,因此它的觸發(fā)消息為時間周期。PID算法與外界存在3個數(shù)據(jù)的交換,它們是溫度設定值、溫度測量值和執(zhí)行器。完成一個PID對象只需規(guī)定時間周期,同時將映射到這3個數(shù)據(jù)的對象內部變量與實際設備相對應。這是一個非常簡單的過程,一個不精通PID算法的人

13、可以純熟地操作PID算法。簡單的PID算法只是一個例子,而對象的實際應用在復雜的算法上。通常工程人員需要花很多時間去理解復雜的算法,如自適應算法等等。而算法的對象化省去了這些費事,節(jié)約了工程人員的時間和精力。由于對象對不同的消息作出不同的響應,因此可以在PID對象中加上對故障的處理等以豐富PID算法的應用。下面例子中對溫度超限的信號進展了處理。當溫度超限后,對象直接執(zhí)行故障處理的程序,不再進展PID運算。用戶同時可以增加其它的方法來處理不同的情況,從而大大進步了對象的靈敏性。PID算法:消息表:PID計算間隔時間10s故障處理溫度超限報警信號對象變量聲明和數(shù)據(jù)交換表:tset=溫度設定值t=溫

14、度測量值v=執(zhí)行器對象的實體PID計算PID計算源代碼故障處理:故障處理源代碼完畢3面向對象的協(xié)議在控制系統(tǒng)中僅有屬于管理層的面向對象編程語言是不夠的,包括現(xiàn)場層的面向對象通訊協(xié)議才構成完好的面向對象控制系統(tǒng)。面向對象設計的初衷是將編程過程大大的簡化,而傳統(tǒng)的面向點的控制系統(tǒng)只會使編程人員的負擔增加。例如一個AI和兩個D組成的對閥門的控制,其中AI測量閥開門度、兩個D分別是閥門電機的正反轉,在控制閥門時假設AI測量值小于閥門設定值那么正轉D輸出信號開大閥門,反之關小閥門。這些簡單的功能在傳統(tǒng)的面向點的控制系統(tǒng)中均需要編程人員來編寫,增加了系統(tǒng)的設計費用和調試本錢。面向對象的BAnet協(xié)議是用來

15、幫助系統(tǒng)中所有設備互相理解的共同語言。出于統(tǒng)一樓宇控制協(xié)議的目的,ASHRAE于1995年公布了BAnet協(xié)議4。BAnet協(xié)議定義了包括空調控制系統(tǒng)、消防等樓宇設備控制系統(tǒng)之間的數(shù)據(jù)通訊協(xié)議。它遵循SI開放性網(wǎng)絡協(xié)議,將數(shù)據(jù)組合成對象在網(wǎng)絡之間傳播。同時由于樓宇控制網(wǎng)絡是網(wǎng)絡,它只保存了物理層、數(shù)據(jù)鏈接層、網(wǎng)絡層和應用層。它們的構成見圖2。圖2BAnet的構造BAnet協(xié)議沒有在詳細規(guī)定物理層和數(shù)據(jù)鏈接層的形式,它可以建立在多種不同的協(xié)議之上。圖2所示的第1,2種選擇是建立在IEEE802局域網(wǎng)標準上,它將數(shù)據(jù)鏈接層又細分為邏輯鏈路控制子層LL和介質存取控制子層A,其中邏輯鏈路控制子層主要提

16、供尋址、排序、過失控制等功能,介質存取控制子層提供傳輸介質和訪問控制方式等功能。圖中IS8802-2IEEE802.2是邏輯連路控制子層,IS8802-3IEEE802.3是介質存取控制子層,詳細方法為沖突檢測的載波偵聽多路訪問SA/D。第3種選擇在數(shù)據(jù)鏈接層上為主從/令牌方式,物理層那么采用了主從構造的RS-485標準,RS-485標準允許最多并聯(lián)32臺驅動器和32臺承受器,因此在多點互連時非常方便。第4種選擇是點對點協(xié)議,相應的物理層為RS-232標準。第5種選擇是Eheln公司的LnTalk協(xié)議。BAnet的網(wǎng)絡層的目的是將不同的網(wǎng)絡連接起來,不管是由何種物理層和數(shù)據(jù)鏈接層組成的。例如建

17、立一個BAnet路由器就可以將IEEE802.3和ARNET構成的不同網(wǎng)絡組織起來。BAnet之所以沒有規(guī)定物理層和數(shù)據(jù)鏈接層的詳細協(xié)議,是希望BAnet能應用在多種網(wǎng)絡根底上。BAnet協(xié)議的真正本質是在應用層定義了開放性的設備對象,并因此成為面向對象的協(xié)議。BAnet幾乎涵蓋了樓宇控制中所有可能的情況,它定義了設備對象、時間表對象、程序對象、文件對象等等,同時還提供了管理和操作對象的效勞。BAnet目前定義了18種對象,它們分別是模擬量輸入、模擬量輸出、模擬量值、數(shù)字量輸入、數(shù)字量輸出、數(shù)字量值、設備、多態(tài)量輸入、多態(tài)量輸出、命令、時間表、時序表、事件登記、文件、環(huán)、組、通知類和程序對象。

18、BAnet為這些對象定義了詳細的數(shù)據(jù)構造和屬性,屬性代表了設備中的信息,系統(tǒng)可通過屬性對設備進展讀取或寫入信息。在這18個對象中,輸入輸出對象共6個,它們代表了所有可能的輸入輸出類型。多態(tài)量輸入輸出對象2個,它們表示對象所在BAnet設備中運算程序的結果和物理輸出。命令對象1個,它向一組對象的屬性寫入一組值。時間表對象2個,它們用于表示周期性的時間或日歷。事件登記對象1個,它記錄了管理事件所要求的信息。文件對象管理對文件的訪問和讀寫。組對象將相似的設備定義為一組,使操作更簡便。環(huán)對象為反響控制對象。通知類對象包括事件通知所需的信息。程序對象將運行程序作為一個對象。表1以數(shù)字量輸入為便說明BAn

19、et是如何定義對象的。表中各項為數(shù)字量輸入對象的屬性。對象ID是代表對象的一個數(shù)字,對象名稱和對象類型顧名思義是對象的名字和對象的類型。設備類型是一個描繪所接設備的字符串,而設備狀態(tài)和事件狀態(tài)均代表設備正常與否。效勞狀態(tài)屬性代表實際輸入值和對象中的測量值是否一致。當它為真時實際輸入值和測量值無關,用戶可以隨意更改而不用考慮實際的輸入值,這為調試程序帶來了極大的方便。極性屬性代表對象的極性,當極性為正時對象中的測量值與實際輸入值一樣,極性為負時二者相反。例如實際輸入值為N,假設極性為負時對象中的值為FF。開、關狀態(tài)描繪說明了對象對開或關狀態(tài)的解釋,例如關狀態(tài)描繪可以寫為風機1關。最近狀態(tài)變換時間

20、屬性是數(shù)字量從計數(shù)器復位后的狀態(tài)變換次數(shù),而狀態(tài)變換計數(shù)器復位時間屬性即記錄了上次復位的時間。開狀態(tài)復位時間和經(jīng)歷時間屬性分別記錄了復位的時間和復位后開狀態(tài)的時間s總和。剩下的屬性描繪了對報警信息的操作,這里就不一一詳述。表1數(shù)字量輸入對象屬性名稱數(shù)據(jù)類型屬性特征對象IDBAnet對象ID只讀對象名稱字符串只讀對象類型BAnet對象類型只讀測量值BAnetBinaryPV只讀描繪字符串可選設備類型字符串可選設備狀態(tài)BAnetStatusFlags只讀事件狀態(tài)BAnetEventState只讀可靠性BAnetReliability可選效勞狀態(tài)布爾量只讀極性BAnetPlarity只讀關狀態(tài)描繪字符串可選開狀態(tài)描繪字符串可選最近狀態(tài)變化時間BAnetDateTie可選狀態(tài)變換計數(shù)器無符號整型可選狀態(tài)變換計數(shù)器復位時間BAnetDateTie可選開狀態(tài)經(jīng)歷時間32位無符號整型可選開狀態(tài)復位時間BAnetDateTie可選延遲時間無符號整型可選告知級別無符號整型可選報警值BAnetBinaryPV可選事件使能BAnetEventTransitinBits可選應答B(yǎng)AnetEve

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論