999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于BACnet對象的機電設備遠程監控系統研究

2008-12-31 00:00:00
計算機應用研究 2008年11期

(武漢理工大學 信息工程學院, 武漢 430070)

摘要:針對機電設備遠程監控的現狀,采用面向對象的分析和設計方法,提出一種通用性強、易于擴展的遠程監控方案。系統實際運行效果表明,這種遠程監控方式有其獨特的優點。

關鍵詞:BACnet對象;機電裝備;遠程監控;主從/令牌傳遞現場總線

中圖分類號:TP399文獻標志碼:A

文章編號:1001-3695(2008)11-3426-04

Research on mechanical and electrical equipment remote monitoring system based on BACnet objects

LIU Quan,REN Ping

(School of Information Engineering, Wuhan University of Technology, Wuhan 430070, China)

Abstract:With the mechanical and electrical equipment actuality of remote monitoring, using object-oriented analysis and design methods,this paper designed a high universality, easily scalable remote monitoring system.System actual operating results show that this remote monitoring method has its own unique advantages.

Key words:BACnet objects; mechanical and electrical equipment; remote monitoring; MS/TP field bus

機電設備遠程監控作為現代先進制造技術的一個重要環節,其研究已經取得了很大的進展,在保證生產設備安全方面發揮了重大作用。目前,絕大部分機電設備的遠程監控系統采用專用總線、專用通信網絡及協議,系統的開放性、互操作性不足,信息與技術難以實現共享。

BACnet是由美國供熱、制冷與空氣調節工程師學會(ASHRAE)資助的開放式樓宇自控網絡數據通信協議[1]。該協議是美國國家標準、歐洲標準草案,于2003年1月被ISO正式采納為國際標準(ISO 16484-5)。BACnet的根本目的就是要提供樓宇自動控制系統實現互操作的方法。

本文提出一種微控制器+MS/TP現場總線+BACnet對象+B/S模式的設計方案,采用面向對象的分析和設計方法,將機電設備控制功能上各種基本單元進行高度抽象,形成具有一般性和可復用能力的對象。然后在對象的基礎上定義訪問或操作對象的服務,為外界提供統一的接口,實現互操作。

1BACnet對象的理論基礎

BACnet采用四層結構,即應用層、網絡層、數據鏈路層和物理層,如圖1所示。BACnet對于其數據鏈路層和物理層提供了五種選擇方案,其中一種選擇是主從/令牌傳遞(MS/TP)協議加上EIA-485標準[2]。EIA-485只是一個物理層標準,不能解決傳輸介質訪問控制的問題,因此BACnet定義了主從/令牌傳遞協議,實現數據鏈路層的功能。BACnet定義了自己的網絡層與應用層。BACnet的網絡層功能經過了簡化,以高效實現BACnet的路由;BACnet的應用層則跨越了OSI-RM的傳輸層、會話層、表示層和應用層,實現樓宇自控網絡中信息表示、語法轉換、可靠傳輸及同步等功能。

BACnet對象是駐留在BACnet設備中的數據結構,提供了對一個樓宇自控設備的網絡可見部分的抽象描述[3]。BACnet對象按其功能可分為:a)Device(設備)對象,任何一個BACnet設備有且僅有一個device對象;b)數據采集對象(如數字/模擬輸入/輸出對象),這類對象和設備硬件之間存在一對一的映射關系,如圖2所示;c)邏輯功能對象(如控制環對象以及其他實現報警事件功能的對象)。用BACnet對象來表示的設備稱為BACnet設備。任何BACnet設備都是由一個device對象和任意數量的其他BACnet對象組合而成。BACnet對象只是由屬性組成的數據結構,如何對這些對象進行訪問和管理則是BACnet應用層服務的主要功能。按服務功能來分,BACnet應用層服務分為對象訪問服務、文件訪問服務、事件與報警服務、遠程設備管理服務、虛擬終端服務和網絡安全服務。BACnet網絡中設備之間的通信實際上就是調用服務原語對BACnet對象和屬性進行編碼,然后裝入設備的應用層協議數據單元通過網絡傳輸給相應的設備。BACnet設備被抽象成特定BACnet對象的組合,對BACnet設備的操作轉換成對BACnet對象數據結構的操作,為遠程監控系統提供了一個統一的接口。

2遠程監控系統體系結構

21B/S模式

B/S(browser/server)模式,即瀏覽器/服務器模式[4],它是隨著Internet技術的興起,對C/S模式的一種變化或改進。在這種模式下,用戶工作界面是通過Web瀏覽器來實現,極少部分事務邏輯在前端(browser)實現,主要事務邏輯在服務器端(server)實現,形成三層結構[5],如圖3所示。這樣大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。這種實現方式的最大優點是維護和升級方式簡單,所有的客戶端只是瀏覽器,不需要進行任何的維護,所有的操作只需要針對服務器進行[6]。

22系統結構

本系統的設計目標是通過其提供的服務,合法用戶可以在任何時間、任何地點,通過一個具有Web瀏覽器且連接到互聯網的終端來實現設備遠程監控的功能,系統結構如圖4所示。系統由上至下分為三個層次:第一層是客戶端即Web瀏覽器,主要完成客戶和后臺服務器的信息交互;第二層是嵌入式Web服務器,完成客戶的應用功能,即Web服務器接受客戶請求,并與后臺數據庫連接,進行申請處理,然后將處理結果返回Web服務器,再傳至客戶端;第三層是現場控制器,負責數據的采集、與Web服務器的通信和設備控制的功能。用戶通過瀏覽器對設備進行管理和控制,實際上是通過Web服務器提供的功能間接調用標準BACnet服務,實現對現場設備的監控。

嵌入式Web服務器采用華恒HHCF5249-R3套件。華恒HHCF5249-R3套件是一套完整的基于摩托羅拉MCF5249處理器和uClinux操作系統的嵌入式開發平臺。MCF5249以ColdFire 32位微處理器體系結構為基礎,帶有96 KB的芯片內SRAM,8 KB的指令高速緩存、兩個獨立的UART和16位計時器以及一個PLL時鐘。MCF5249微處理器廣泛應用于工業控制領域,工作頻率為120 MHz,性能可達125Dhrystone 2.1 MIPS。

嵌入式Web服務器和現場控制器之間采用MS/TP現場總線網絡相連。MS/TP網絡是一個混合網絡,MS/TP網絡中存在主站點(master)和從站點(slave)兩種非對等的站點,采用令牌(token)機制實現對介質的訪問控制。令牌只在主站點之間傳遞,持有令牌的主站點才能發送數據,否則只有處于接收和監聽狀態。一個持有令牌的主站點最多在發送Nmax_info_frames個數據幀后或等到應答時,將令牌傳遞給令牌環中的下一個主站點。從站點永遠不會得到令牌,始終處于接收和監聽狀態,只有在響應主站點時才具有發送響應幀的能力。MS/TP網絡中主節點的地址編號為0~127,0號地址一般分配給路由器,而127號地址則用于廣播。因為本系統中每一個現場控制器都需要主動發送數據,所以MS/TP網絡全部由主節點組成,形成一個對等網絡。不同的MS/TP網絡之間采用BACnet路由器相連接,BACnet路由器采用靜態路由的方式對報文進行轉發。

3系統設計與實現

31嵌入式Web服務器

典型的嵌入式Web服務器有Boa和Thttpd等,它們與Apache等高性能的Web服務器的主要區別在于它們一般是單進程服務器,只有在完成一個用戶請求后才能響應另一個用戶的請求,而無法并發響應,但這在嵌入式設備的應用場合里已經足夠了。本系統采用Boa嵌入式Web服務器。Boa是一個非常小巧的Web服務器,可執行代碼只有約60 KB。它是一個單任務Web服務器,只能依次完成用戶的請求,而不會fork出新的進程來處理并發連接請求。但Boa支持CGI,能夠為CGI程序fork出一個進程來執行,從而為Web服務器與其他應用程序交互提供一個接口。

嵌入式Web服務器Boa與普通Web服務器一樣,能夠完成接收客戶端請求、分析請求、響應請求、向客戶端返回請求結果等任務[7]。在本系統中,它的工作過程主要包括以下幾個方面,如圖5所示。

a)完成Web服務器的初始化工作,如創建環境變量、創建TCP 套接字、綁定端口、開始偵聽、進入循環結構,以及等待接收客戶瀏覽器的連接請求。

b)當有客戶端連接請求時,Web服務器接收請求,然后分析客戶端請求,解析出請求的方法、URL目標、可選的查詢信息及表單信息,同時根據請求作出相應的處理。

c)嵌入式Web服務器Boa根據請求方法的不同,作出不同的響應。如果請求方法為HEAD,則直接向瀏覽器返回響應首部;如果請求方法為GET,則在返回響應首部的同時,將客戶端請求的URL目標文件從服務器上讀出,并且發送給客戶端瀏覽器;如果請求方法為POST,則將客戶發送過來的表單信息傳送給相應的CGI程序,作為CGI 的參數來執行CGI 程序[8]。如果需要查看設備運行狀態,則調用BACnet協議發送ReadProperty()服務請求;如果需要設置設備運行參數,則調用BACnet協議發送WriteProperty()服務請求,并等待現場控制器的服務應答,然后將執行結果發送給客戶端瀏覽器。

32BACnet對象

在本系統中機電設備被抽象成analog input(模擬輸入)對象、analog output(模擬輸出)對象、binary input(二進制輸入)對象、binary output(二進制輸出)對象和device(設備)對象,分別對應設備中的模擬輸入/輸出以及數字輸入/輸出硬件。BACnet對象實現的具體代碼舉例如下:

當瀏覽器調用CGI訪問遠程設備上某個輸入/輸出對象時,通過瀏覽器把傳遞進來的對象和屬性參數傳遞給相應的CGI程序。應用層狀態機檢測到有數據需要發送時,調用BACnet對象、服務和基本數據類型的編碼程序,將客戶請求封裝成應用層協議數據單元,然后再逐層編碼并下傳。MS/TP發送幀狀態機在持有令牌時通過Linux下的RS-485驅動程序把數據發送出去。如果源網絡與目的網絡不一致則需要通過BACnet路由器轉發。物理層收到響應報文后逐層解碼上傳,然后將結果返回給CGI程序,再通過Web服務器返回給用戶瀏覽器。BACnet協議工作流程如圖6所示。

33現場控制器

現場控制器CPU采用C8051F020微控制器。C8051F020是Cygnal推出的完全集成混合信號系統級MCU 芯片,具有與8051 兼容的微控制器內核,與MCS-51指令集完全兼容。片內集成了數據采集和控制系統中常用的模擬部件和其他數字外設及功能部件,可靠性高。

現場控制器的軟件以嵌入式實時操作系統uC/OS-Ⅱ為基礎,采用多任務機制,通過任務調度和任務監視,具有較好的實時性和安全性。uC/OS-Ⅱ是源碼公開的嵌入式實時操作系統,它將系統分成若干個不同優先級的任務,每個任務都是一個獨立的無限循環,采用優先級調度算法完成任務間的調度,并支持搶占式調度[9]。

以uC/OS-Ⅱ為平臺搭建實時多任務系統,首先要根據設計目的將系統的功能進行合理的分解。uC/OS-Ⅱ是基于優先級調度的實時多任務操作系統[10],因此,在使用OSTaskCreat()函數建立任務之前應根據其重要性為每個任務分配一個惟一的優先級,否則系統無法正常工作。現場控制器作為MS/TP主節點,可主動發送請求報文,根據需求分析,按優先級從高到低分成以下幾個任務,即時間管理任務、控制流程任務、MS/TP任務和上層任務,如圖7所示。時間管理任務負責為操作系統提供時鐘節拍,實現和管理MS/TP協議和BACnet應用層所需的定時器;控制程序任務負責根據輸入和邏輯關系控制輸出,完成對設備的操作;MS/TP任務負責接收和校驗從物理層上傳的數據幀,管理和維護MS/TP網絡中的令牌;上層任務負責解析數據幀并上傳給網絡層,接收從網絡層下傳的報文。

現場控制器中的四個任務之間是并行的,但每個任務都對應著一個不同的優先級,由操作系統進行調度運行。時間管理任務通過不斷調用OSTimeDlyHMSM()函數產生延時,而調用該函數會使uC/OS-Ⅱ進行一次任務調度,執行下一個處于就緒態且優先級最高的任務。時間管理任務在等待延時的過程中被掛起,控制流程任務得以運行。控制流程任務運行單位時間以后將自己掛起,MS/TP任務開始運行。此任務不斷地運行接收幀狀態機從物理層接收數據幀,然后交給主節點狀態機處理。如果收到需要回復的請求報文,則MS/TP任務被掛起,運行上層任務。上層任務解析完請求報文再上傳給網絡層,并接收從網絡層回復的報文,然后上層任務掛起。MS/TP任務再次運行,通過調用發送數據幀過程,將回復的報文發送出去后掛起,返回到控制流程任務。

34嵌入式數據庫

SQLite是一款輕型的數據庫,其設計目標是嵌入式,而且目前已經在很多嵌入式產品中使用,它占用資源非常低,在嵌入式設備中只需要幾百KB的內存就夠了。它能夠支持Windows/Linux/UNIX等主流操作系統,同時能夠與很多程序設計語言相結合,如C、PHP、Java等,而且處理速度比較快。SQLite雖然很小巧,但是支持的SQL語句不會遜色于其他開源數據庫,它支持的SQL包括Create Index、Create Table、Create Trigger、Create View等。

在本系統中,使用SQLite建立了三張關系表USER、LOG和ALARM,分別用來存放用戶信息、操作日志以及報警記錄。通過SQLite的API接口,在程序中實現對數據庫的操作。SQLite C語言編程代碼舉例如下:

4系統應用實例

在上述理論的基礎上,筆者開發了一套機電設備遠程監控系統,對廣東某機電設備公司一條生產線上的設備進行遠程動態監控。這些設備被抽象成device對象和與光電開關、傳感器等輸入/輸出硬件數量相當的analog input對象、analog output對象、binary input對象、binary output對象。實現的服務有:對象訪問服務中的ReadProperty(讀屬性)、ReadPropertyMultiple(讀多個屬性)、WriteProperty(寫屬性)、WritePropertyMultiple(寫多個屬性)服務;事件與報警服務中的ConfirmedCOVNotification(證實COV通告)和ConfirmedEventNotification(證實事件通告)服務;遠程設備管理服務中的Who-has和I-have服務以及Who-is和I-am服務。

MS/TP現場總線網絡采用全主節點配置方案,嵌入式Web服務器本身也是一個主節點,網絡中的每一個節點都可以主動發送數據。主節點地址編號為1~10,采用總線型拓撲結構,在邏輯上形成令牌環網絡。設置RS-485總線的波特率為19 200,八位數據位,一個起始位和停止位,無奇偶校驗位。

遠程用戶通過瀏覽器登入系統的時候需要通過身份認證,首次登錄系統的用戶需要先注冊,不同用戶的權限不同。授權用戶在遠程通過Web瀏覽器登錄本系統,切換到設備監控頁面就可以看到生產線上所有設備的運行狀況,用戶所有的操作都將以日志的方式保存在數據庫LOG表中,方便日后分析和故障診斷使用。系統以一定的頻率讀取設備對象的當前值,動態更新用戶瀏覽器頁面上的值。設備監控頁面如圖8所示。

5結束語

基于BACnet對象的機電設備遠程監控系統是筆者將BACnet標準運用在機電裝備行業的一次創新。它最大限度地屏蔽了設備的具體實現細節,具有成本低、實現簡單、通用性強、協議開放和易于擴展等優點。用戶只需在此基礎上作一些小改動,就可以將它運用于其他領域設備監控。因此,它有著極為廣闊的應用前景,這不但為不同設備在同一個平臺下實現遠程監控提供了可能,而且對促進BACnet標準在我國的推廣和應用有著深遠的影響。

參考文獻:

[1]

ANSI/ASHRAE. Standard 135—2001,BACnet:a data communication protocol for building automation and control networks[S].Atlanta:American Society of Heating, Refrigeration, and Air-Conditioning Engineers Inc, 2001. 

[2] ISO.16484-5,Building automation and control systems -part 5 data communication protocol[S].2003.

[3]董春橋.智能樓宇BACnet原理與應用[M].北京:電子工業出版社,2003:56.

[4] 徐英卓.基于B/S的遠程鉆井事故診斷專家系統研究[J].計算機工程與應用,2001,37(6):107-109.

[5]楊素英,李丹,仲崇權,等.基于Web server下的嵌入式系統應用研究[J].儀器儀表標準化與計量,2002(5):2-7.

[6]王辛辛,陳云,閆如忠,等.基于Web的機電設備遠程監控系統的實現[J].計算機工程,2005, 31(2):231-234.

[7]FONG A C M,HUI S C.An intelligent online machine fault diagnosis system[J].Computing Control Engineering Journal,2001,12(5):217-223.

[8]劉泉,任平.基于uC/OS-Ⅱ的MS/TP協議模塊實現[J].武漢理工大學學報,2007,29(11):51-53.

[9]LABROSSE J J.嵌入式實時操作系統uC/OS-Ⅱ[M].邵貝貝,譯.2版.北京:北京航空航天大學出版社,2003:89.

[10]王田苗.嵌入式系統設計與實例開發—基于ARM微處理器與uC/OS-Ⅱ實時操作系統[M].2版.北京:清華大學出版社,2003:10.

主站蜘蛛池模板: 九九热视频在线免费观看| 韩日无码在线不卡| 在线观看免费人成视频色快速| 久久亚洲国产最新网站| 亚洲日韩AV无码一区二区三区人| 欧美无专区| 在线日本国产成人免费的| а∨天堂一区中文字幕| 国产欧美视频综合二区| 又爽又大又黄a级毛片在线视频| 久久精品中文字幕少妇| 首页亚洲国产丝袜长腿综合| 美女被操91视频| 欧美特黄一级大黄录像| 国产精品55夜色66夜色| 国产在线观看成人91| 91久久国产热精品免费| 97se亚洲综合在线韩国专区福利| jizz在线观看| 国产大片喷水在线在线视频| 久久黄色小视频| 在线免费看黄的网站| 国产精品爽爽va在线无码观看 | 婷婷六月在线| 久久精品最新免费国产成人| 久久人搡人人玩人妻精品| 四虎永久免费地址在线网站| 国产理论一区| 亚洲午夜18| 91热爆在线| 全部免费毛片免费播放| 国产精品9| 成人年鲁鲁在线观看视频| 久久99国产综合精品1| lhav亚洲精品| 中文字幕色站| 免费一级毛片在线观看| 婷婷色一区二区三区| 九色视频最新网址 | 亚洲av无码人妻| 波多野结衣一区二区三区88| 黄色网在线| 亚洲日本一本dvd高清| 亚洲一级毛片在线播放| 国产精品爽爽va在线无码观看| 亚洲国产中文在线二区三区免| 十八禁美女裸体网站| 天天综合亚洲| 国模粉嫩小泬视频在线观看| 国产地址二永久伊甸园| 97在线视频免费观看| 国产精品成人第一区| 亚洲最大在线观看| 成人国产精品2021| 在线视频一区二区三区不卡| 久久综合色天堂av| 国产成人乱码一区二区三区在线| 在线观看av永久| 亚洲一区二区三区麻豆| 久久人搡人人玩人妻精品 | 中文字幕在线视频免费| 亚洲天堂精品在线| 久久福利片| 中国国产A一级毛片| 婷婷综合色| 成人午夜视频免费看欧美| 人人妻人人澡人人爽欧美一区| 久久黄色小视频| 1769国产精品视频免费观看| 88av在线看| 中文字幕波多野不卡一区| 精品少妇人妻av无码久久| 99ri精品视频在线观看播放| 国产又粗又爽视频| 精品精品国产高清A毛片| 久久婷婷色综合老司机| 综合亚洲色图| 久久婷婷五月综合色一区二区| 一本大道香蕉久中文在线播放| 日韩精品欧美国产在线| 国产成人无码久久久久毛片| 国产精品性|