淺析樓宇自動化系統(tǒng)數(shù)據(jù)接口層的設計與開發(fā)

時間:2017-04-14

來源:網絡轉載

導語:隨著現(xiàn)代控制技術(control)、計算機技術(computer)、通信技術(communication)和圖形顯示技術(CRT)即4C技術的迅速發(fā)展,越來越多的科學技術應用在建筑上,樓宇自動化系統(tǒng)在這種情況下應運而生。

隨著現(xiàn)代控制技術(control)、計算機技術(computer)、通信技術(communication)和圖形顯示技術(CRT)即4C技術的迅速發(fā)展,越來越多的科學技術應用在建筑上,樓宇自動化系統(tǒng)在這種情況下應運而生。在樓宇自動化系統(tǒng)中,現(xiàn)場設備的各種參數(shù)需要統(tǒng)一管理、監(jiān)視和控制,通過對數(shù)據(jù)接口層的設計,實現(xiàn)這些數(shù)據(jù)在現(xiàn)場控制網同中央監(jiān)控系統(tǒng)之間的雙向傳遞,為監(jiān)控系統(tǒng)提供數(shù)據(jù)的傳輸通道,實現(xiàn)現(xiàn)場控制網與中央監(jiān)控系統(tǒng)之間數(shù)據(jù)的無縫連接。

1、樓宇自動化系統(tǒng)概述

樓宇自動化系統(tǒng)(buildingautomaticsystem,BAS)或稱建筑設備自動化系統(tǒng),其主要功能是對建筑物內的空調制冷系統(tǒng)、給排水系統(tǒng)、變配電系統(tǒng)、照明系統(tǒng)、供熱系統(tǒng)以及安全防范系統(tǒng)等實現(xiàn)全面計算機監(jiān)控管理。通過對各個子系統(tǒng)進行監(jiān)測、控制、信息記錄,實現(xiàn)分散節(jié)能控制和集中科學管理,為用戶提供良好的工作環(huán)境,為管理者提供方便的管理手段。

樓宇自動化系統(tǒng)一般采用3層的網絡結構形式。第一層是管理網絡層,由計算機和中央監(jiān)控系統(tǒng)軟件和相應的通訊設備組成;第二層是控制網絡層為通用控制器;第三層是現(xiàn)場網絡層,包括傳感器、微控制器、變頻器和執(zhí)行器,由于實際網絡結構的構建,樓宇自動化系統(tǒng)網絡邏輯上的3層結構,可以連接成為兩層結構,即網絡僅由管理網絡層和現(xiàn)場網絡層構成,其控制層已包括在現(xiàn)場層中。

樓宇自動化

2、數(shù)據(jù)接口層的設計

2.1設計思路

設計的數(shù)據(jù)接口層采用TCP/IP作為其通信協(xié)議。數(shù)據(jù)接口層的設計包括兩個方面,一方面是中央監(jiān)控系統(tǒng)實時地接收智能網關發(fā)送的現(xiàn)場數(shù)據(jù)信息;另一方面是將中央監(jiān)控系統(tǒng)發(fā)送的控制命令傳遞到智能網關。數(shù)據(jù)傳遞的過程描述如下:當現(xiàn)場數(shù)據(jù)發(fā)生變化時,現(xiàn)場控制網通過數(shù)據(jù)接口層向中央監(jiān)控系統(tǒng)發(fā)送連接請求,中央監(jiān)控系統(tǒng)接到這個請求后,向現(xiàn)場控制網發(fā)送應答信息,此時現(xiàn)場控制網將實時數(shù)據(jù)通過數(shù)據(jù)接口層發(fā)送到中央監(jiān)控系統(tǒng),寫入數(shù)據(jù)庫。當中央監(jiān)控系統(tǒng)向現(xiàn)場設備發(fā)送控制命令時,先將控制命令寫入數(shù)據(jù)庫中,然后再將此控制命令通過網絡應用程序發(fā)送到現(xiàn)場控制網中,控制現(xiàn)場設備。數(shù)據(jù)傳輸流程如圖2所示。

2.2WindowsSockets技術

WindowsSockets是Windows環(huán)境下進行TCP/IP程序設計的網絡應用程序編程接口。它的目標是提供一種獨立的協(xié)議,以支持開放的網絡性能,通過它可以方便地訪問TCP和UDP網絡服務。

WindowsSockets網絡應用程序包括兩個部分,一部分是服務器端應用程序,主要接收客戶端的連接請求、接收客戶端的信息、處理客戶端的計算請求、向客戶端發(fā)送計算結果和應答信息等;另一部分是客戶端應用程序,主要用于申請連接服務器、向服務器發(fā)送計算請求、處理服務器發(fā)回的計算結果和其他信息等。

2.3客戶機/服務器模式

客戶機/服務器可以被理解為是1個物理上分布的邏輯整體,它是由客戶機、服務器和連接支持部分組成。其中客戶機是1個面向最終用戶的接口設備或應用程序,可向其他設備或應用程序提出請求,然后再向用戶顯示所得信息;服務器是1項服務的提供者,它包含并管理數(shù)據(jù)庫和通信設備,為客戶請求過程提供服務;連接支持是用來連接客戶機與服務器的部分,如網絡連接、網絡協(xié)議、應用接口等。在樓宇自動化系統(tǒng)數(shù)據(jù)接口層的設計過程中,將中央監(jiān)控系統(tǒng)作為服務器運行,而現(xiàn)場控制網中負責同中央監(jiān)控系統(tǒng)進行數(shù)據(jù)交換的智能網關作為客戶端運行。因此數(shù)據(jù)接口層的設計實際上包括兩個方面,一是服務器端的程序設計;二是客戶端的程序設計。

3、系統(tǒng)實現(xiàn)

3.1開發(fā)及運行環(huán)境

以Microsoft公司的VisualStudio2005作為主要的開發(fā)工具,系統(tǒng)開發(fā)語言選用C#,它綜合了VB簡單的可視化操作和C++的高運行效率,具有強大的操作能力、優(yōu)雅的語法風格、創(chuàng)新的語言特性和便捷的面向組件編程。數(shù)據(jù)庫管理軟件采用MicrosoftSQLServer2005,該數(shù)據(jù)庫系統(tǒng)在安全性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高。

 

3.2數(shù)據(jù)傳輸

具體數(shù)據(jù)傳輸?shù)牟僮鬟^程如下:

1)在客戶端和服務器端,把Winsock的Protocol(協(xié)議)屬性都設置為TCP,說明使用的是TCP協(xié)議。服務器端調用TcpListener類,客戶端調用TcpClient類。在C#中,這兩個類都封裝在System.Net命名空間中;

2)對于客戶端應用程序,必須知道服務器計算機的名稱或IP地址,還要知道服務器計算機的監(jiān)聽端口號,在.NET框架中IPEndPoint類包含應用程序連接到主機上的服務所需的主機和端口信息,通過組合服務的主機IP地址和端口號,IPEndPoint形成到服務的連接點。創(chuàng)建Socket,將該Socket綁定到特定終端節(jié)點,并通過Connect方法綁定到該終端節(jié)點所建立的連接;

3)對于服務器端應用程序,相應地要設置1個監(jiān)聽端口,并調用TcpListener的Start方法監(jiān)聽來自客戶端的請求;

4)建立連接后,任何一方都可以收發(fā)數(shù)據(jù)。調用Send方法將數(shù)據(jù)發(fā)送到Socket。當接收數(shù)據(jù)時,用Receive方法從Socket中接收發(fā)來的信息。客戶端發(fā)送的數(shù)據(jù)以‘|’分隔,在服務器端通過Split函數(shù)將這些數(shù)據(jù)區(qū)分開來。

在程序的設計中,涉及到Socket編程技術、多線程技術,因此命名空間必須還包括System.Net.Sockets以及System.Threading。

3.3數(shù)據(jù)顯示

以樓宇自動化系統(tǒng)中的電力系統(tǒng)為例,系統(tǒng)監(jiān)控對象包括:應急柴油發(fā)電機組、高壓進線柜、變壓器、市電聯(lián)絡柜、低壓聯(lián)絡柜、低壓配電柜。監(jiān)控的內容包括:1)發(fā)電機的運行狀態(tài);2)發(fā)電機電池電壓;3)發(fā)電機的運行溫度及超溫報警;4)高壓配電柜的開關狀態(tài);5)高壓側變壓器柜的開關狀態(tài);6)低壓側變壓器柜的開關狀態(tài);7)變壓器的運行溫度及超溫報警;8)市電聯(lián)絡柜的開關狀態(tài);9)低壓聯(lián)絡柜的開關狀態(tài);10)低壓配電柜的開關狀態(tài)。主要用到的是Label控件,TextBox控件,以及GroupBox控件。

由于用到多線程技術,所以在實時數(shù)據(jù)顯示過程中用到跨線程調用窗體控件技術。

3.4數(shù)據(jù)記錄

利用SQLServer2005制作數(shù)據(jù)庫BAS,并制作兩張數(shù)據(jù)表,分別是應急發(fā)電系統(tǒng)表a_dynamo,變配電系統(tǒng)表a_transformer。對數(shù)據(jù)庫的操作還涉及到存儲過程技術。在BAS數(shù)據(jù)庫的storedprocedures中新建兩個存儲過程,分別為應急發(fā)電存儲過程YJInsertData以及變配電存儲過程BPInsetData,用來向相應的數(shù)據(jù)表中插入相應的數(shù)據(jù)。應急發(fā)電系統(tǒng)的存儲過程YJInsertData代碼如下所示:

CreatePROCEDUREYJInsertData

(@dynstatefloat,@dynvoltagefloat,@dyntemperaturefloat,@gtimedatetime)

ASinsertintoa_dynamo

(dynstate,dynvoltage,dyntemperature,gtime)values

(@dynstate,@dynvoltage,@dyntemperatu,@gtime)

利用C#連接SQLServer數(shù)據(jù)庫,用到的命名空間:

System.Data,System.Data.SqlClient。系統(tǒng)時間gtime用到System.DateTime.Now命名空間。

數(shù)據(jù)庫的具體操作過程如下:

1)利用Connection對象連接數(shù)據(jù)庫,通過Open方法使用ConnectionString屬性中的信息聯(lián)系數(shù)據(jù)源并建立1個打開的連接。ConnectionString屬性,是1個字符串,用于提供登錄數(shù)據(jù)庫和指向特定數(shù)據(jù)庫所需的信息;

2)利用Command對象構建SQL命令。將CommandType屬性設置為StoredProcedure,即將CommandText屬性設置為存儲過程的名稱,如YJInsertData。然后利用Command的Parameters.Add方法向該存儲過程插入相應的數(shù)據(jù)。最后利用ExecuteNonQuery方法,執(zhí)行數(shù)據(jù)庫命令并返回受影響的行數(shù),改變數(shù)據(jù)庫的相應數(shù)據(jù)表中的內容;

3)利用Connection對象的Close方法關閉數(shù)據(jù)庫連接。

3.5系統(tǒng)驗證

在VisualStudio2005平臺上完成代碼編寫,運行后,模仿客戶端實時發(fā)送一組樓宇自動化系統(tǒng)中的電力系統(tǒng)數(shù)據(jù)‘1|220|30|1|0|1|0|1|0|35’。

本文首先對樓宇自動化系統(tǒng)的概念以及網絡結構進行簡單概述,然后對數(shù)據(jù)接口層的設計做了詳盡的介紹。最后使用WindowsSockets技術完成中央監(jiān)控系統(tǒng)與現(xiàn)場控制網之間的數(shù)據(jù)傳遞和數(shù)據(jù)顯示,并利用SQLServer2005對數(shù)據(jù)進行保存。從以上分析及其實現(xiàn)來看,WindowsSockets是一種應用廣泛,運行效果良好的接口技術,C#是一種簡單、現(xiàn)代、高性能及適用性強的語言,利用它們來完成系統(tǒng)的數(shù)據(jù)接口層設計基本滿足運行要求。

更多資訊請關注樓宇頻道

 

傳動網版權與免責聲明:

凡本網注明[來源:傳動網]的所有文字、圖片、音視和視頻文件,版權均為傳動網(y3602.cn)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網站或個人轉載使用時須注明來源“傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯(lián)網或業(yè)內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯(lián)系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0