楊永語(yǔ),戴毅茹,王堅(jiān)
(同濟(jì)大學(xué)CIMS研究中心,上?!?01804)
基于Web的能耗數(shù)據(jù)管理系統(tǒng)部分設(shè)計(jì)與實(shí)現(xiàn)
楊永語(yǔ),戴毅茹,王堅(jiān)
(同濟(jì)大學(xué)CIMS研究中心,上海201804)
為了實(shí)現(xiàn)對(duì)大型民用飛機(jī)制造企業(yè)能耗數(shù)據(jù)的有效管理,論文利用ASP.NET+Highcharts+SQL SERVER 2008相關(guān)技術(shù),開發(fā)一種基于B/S架構(gòu)的能耗數(shù)據(jù)管理系統(tǒng)。論文首先介紹能耗數(shù)據(jù)管理系統(tǒng)的四層邏輯架構(gòu),然后詳細(xì)的介紹系統(tǒng)的基本實(shí)現(xiàn),最后闡述了系統(tǒng)的各個(gè)模塊的具體功能。系統(tǒng)已經(jīng)在目標(biāo)企業(yè)部署運(yùn)行,運(yùn)行情況良好。
實(shí)時(shí)監(jiān)控;Highcharts;能耗數(shù)據(jù)管理
能耗數(shù)據(jù)管理是大型民用飛機(jī)制造企業(yè)生產(chǎn)經(jīng)營(yíng)管理的一個(gè)重要方面。能耗數(shù)據(jù)管理包括兩大部分,一部分是能耗數(shù)據(jù)的實(shí)時(shí)監(jiān)控,為一部分是能耗歷史數(shù)據(jù)的系統(tǒng)管理[1]。設(shè)備的能耗數(shù)據(jù)是時(shí)間序列化數(shù)據(jù),反應(yīng)了不同設(shè)備在不同的時(shí)間里的能耗情況。如果用圖形展示這個(gè)能耗的實(shí)時(shí)數(shù)據(jù)和歷史數(shù)據(jù),那就更能直觀表現(xiàn)能耗設(shè)備的能耗值在一個(gè)時(shí)間范圍內(nèi)的變化過(guò)程,同時(shí)可以監(jiān)控該設(shè)備是否正常工作。因此,實(shí)現(xiàn)能耗數(shù)據(jù)圖形化展示無(wú)論是用于數(shù)據(jù)分析還是設(shè)備的監(jiān)控,都能起到很好的應(yīng)用效果。根據(jù)企業(yè)業(yè)務(wù)的需求,結(jié)合項(xiàng)目的實(shí)際情況,本文采用ASP.NET+Highcharts+SQL SERVER 2008技術(shù),完成了企業(yè)能耗數(shù)據(jù)管理系統(tǒng)的開發(fā)和設(shè)計(jì)。該系統(tǒng)為企業(yè)能耗數(shù)據(jù)的信息化、集成化管理提供了有效平臺(tái),有利企業(yè)充分挖掘歷史能耗數(shù)據(jù)的價(jià)值,積極開展節(jié)能減排工作[2]。
在大型民用飛機(jī)生產(chǎn)制造過(guò)程中,設(shè)備能耗實(shí)時(shí)數(shù)據(jù)監(jiān)測(cè)系統(tǒng)往往通過(guò)各類可靠的監(jiān)測(cè)設(shè)備進(jìn)行數(shù)據(jù)采集和存儲(chǔ),形成存儲(chǔ)能耗數(shù)據(jù)的實(shí)時(shí)數(shù)據(jù)庫(kù)的。通過(guò)編寫應(yīng)用程序,用戶可以獲取不同時(shí)間粒度的能耗數(shù)據(jù),并以此數(shù)據(jù)為基礎(chǔ),進(jìn)行系統(tǒng)的設(shè)計(jì)與開發(fā)。本文設(shè)計(jì)的基于Web的能耗數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 基于Web的能耗數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)圖
基于Web的能耗數(shù)據(jù)管理系統(tǒng)體系結(jié)構(gòu)是四層結(jié)構(gòu)的[3,4]。能耗設(shè)備層包括各種能耗設(shè)備以及能夠監(jiān)控各種設(shè)備能耗值的檢測(cè)設(shè)備,如鍋爐房中加熱設(shè)備和監(jiān)測(cè)電量消耗的電表等。通過(guò)OPC(OLE for Process Control)技術(shù)[5],經(jīng)由網(wǎng)閘從企業(yè)的工業(yè)網(wǎng)中的工控機(jī)采集到所需的設(shè)備能耗數(shù)據(jù),并且通過(guò)一定的技術(shù)方法將這些數(shù)據(jù)儲(chǔ)存入系統(tǒng)的數(shù)據(jù)庫(kù)中。系統(tǒng)的數(shù)據(jù)獲取及處理層包含根據(jù)指定時(shí)間從實(shí)時(shí)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)的.net類,用于實(shí)現(xiàn)Ajax異步通信機(jī)制的用戶處理程序,以及基于Highcharts開源類庫(kù)的開發(fā)的用于展示能耗實(shí)時(shí)消耗數(shù)據(jù)動(dòng)態(tài)變化圖形的Web界面程序?;赪eb的能耗數(shù)據(jù)管理系統(tǒng)可以實(shí)時(shí)顯示能源消耗值,并且滿足用戶實(shí)時(shí)性需求。對(duì)于歷史數(shù)據(jù),則通過(guò)應(yīng)用程序,按小時(shí)為最小時(shí)間粒度,定時(shí)存儲(chǔ)能耗設(shè)備的歷史能耗數(shù)據(jù)信息存儲(chǔ)到SQL SERVER 2008數(shù)據(jù)庫(kù)中。以此數(shù)據(jù)庫(kù)為基礎(chǔ),經(jīng)過(guò)數(shù)據(jù)處理和分析,結(jié)合企業(yè)需求,用戶可以對(duì)不同時(shí)間粒度的能耗數(shù)據(jù)進(jìn)行統(tǒng)計(jì)和分析。
2.1系統(tǒng)數(shù)據(jù)采集
系統(tǒng)數(shù)據(jù)采集主要應(yīng)用OPC技術(shù),OPC技術(shù)主要包括兩部分,一部分是OPC服務(wù)器,另一部分是客戶機(jī)。服務(wù)器主要用來(lái)收集計(jì)量設(shè)備的數(shù)據(jù)信息,然后通過(guò)標(biāo)準(zhǔn)定義的OPC接口,把采集層獲取的數(shù)據(jù)信息傳送給OPC客戶端應(yīng)用程序。在大型民用飛機(jī)生產(chǎn)制造過(guò)程中,企業(yè)為了采集鍋爐房,變電站,供油與消防系統(tǒng)等生產(chǎn)車間的各相電流、有功功率、燃油消耗量等數(shù)據(jù),以O(shè)PC技術(shù)為支撐,建立了能耗數(shù)據(jù)實(shí)時(shí)采集系統(tǒng)。首先,系統(tǒng)從企業(yè)工控系統(tǒng)中采集到各個(gè)監(jiān)控點(diǎn)的設(shè)備的實(shí)時(shí)能耗數(shù)據(jù)信息,為系統(tǒng)提供基本的數(shù)據(jù)基礎(chǔ)。然后,在保證企業(yè)內(nèi)部的工業(yè)網(wǎng)絡(luò)安全性和穩(wěn)定性的情況下,系統(tǒng)傳輸層運(yùn)用網(wǎng)閘技術(shù)[6],通過(guò)數(shù)據(jù)信息轉(zhuǎn)移的方式進(jìn)行能耗數(shù)據(jù)的傳輸,使企業(yè)內(nèi)部的工業(yè)網(wǎng)絡(luò)與其它的辦公網(wǎng)網(wǎng)絡(luò)進(jìn)行正常的通信,為系統(tǒng)采集層與系統(tǒng)存儲(chǔ)層之間數(shù)據(jù)交換提供了安全的數(shù)據(jù)傳輸通道[7]。最后,通過(guò)系統(tǒng)存儲(chǔ)層,存儲(chǔ)來(lái)自系統(tǒng)采集層獲取的能耗數(shù)據(jù),為能耗數(shù)據(jù)管理系統(tǒng)提供基本的數(shù)據(jù)基礎(chǔ)。
2.2能耗實(shí)時(shí)數(shù)據(jù)的獲取
能耗實(shí)時(shí)數(shù)據(jù)的獲取,是能源實(shí)時(shí)消耗情況展示至關(guān)重要的一個(gè)環(huán)節(jié)。系統(tǒng)建立了實(shí)時(shí)數(shù)據(jù)庫(kù)以后,根據(jù)該實(shí)時(shí)數(shù)據(jù)庫(kù)的特性,把數(shù)據(jù)獲取方法封裝在一個(gè).NET類[8,9]。通過(guò)該類進(jìn)行相應(yīng)的操作,獲取實(shí)時(shí)能耗數(shù)據(jù)。該類主要屬性和方法如圖2所示。
該類中Conn用來(lái)定義連接實(shí)時(shí)數(shù)據(jù)庫(kù)字符串,ibase用來(lái)尋找能源設(shè)備監(jiān)控點(diǎn)在實(shí)時(shí)數(shù)據(jù)庫(kù)中的唯一標(biāo)示符號(hào),Newconnection用來(lái)建立一個(gè)與實(shí)時(shí)數(shù)據(jù)庫(kù)的連接。
圖2 實(shí)時(shí)數(shù)據(jù)獲取類主要屬性和方法
類中GetConsumption()方法是該類的構(gòu)造函數(shù),用來(lái)建立連接和類的一些初始化。方法connclose()用來(lái)關(guān)閉與實(shí)時(shí)數(shù)據(jù)庫(kù)的連接,GetDoubleSingleValue(),IntGetValues()等方法用來(lái)獲取不同精度的能耗數(shù)據(jù)值。
2.3Highcharts實(shí)時(shí)曲線的繪制
Highcharts是一個(gè)完全用JavaScript語(yǔ)言編寫的一個(gè)圖表庫(kù),Highcharts完全基于本地瀏覽器技術(shù),不需要任何插件,甚至不需要安裝任何服務(wù)器環(huán)境,只需要兩個(gè)js文件即可運(yùn)行,能夠使用戶方便快捷的在自己的Web網(wǎng)頁(yè)上添加有交互性的圖表,提升用戶體驗(yàn)。Highcharts的兼容性比較好,能夠兼容主流的瀏覽器,比如IE,F(xiàn)irefox,Chrome,Safari,Opera等[4]。
(1)使用Highcharts,首先要在頁(yè)面中引入相應(yīng)的JS庫(kù),先下載jquery.min.js和Highcharts.js庫(kù),并在代碼中引用。
(2)進(jìn)行調(diào)用Highcharts組件,在var chart=new Highcharts.Chart({})中設(shè)置Highcharts屬性,如Title(圖表標(biāo)題)、Axis(坐標(biāo)軸:橫坐標(biāo)和縱坐標(biāo))、Series(數(shù)據(jù)列)等。
(3)在頁(yè)面引入一個(gè)div,作為放置Highcharts圖表的容器,Highcharts圖像將在該div內(nèi)渲染。
(4)通過(guò)后臺(tái)異步請(qǐng)求,不斷獲取能源設(shè)備的能耗實(shí)時(shí)數(shù)據(jù),對(duì)Highcharts數(shù)據(jù)源進(jìn)行局部的實(shí)時(shí)的更新,即可繪制能源消耗數(shù)據(jù)實(shí)時(shí)曲線。
2.4異步實(shí)時(shí)顯示
異步實(shí)時(shí)顯示主要應(yīng)用Ajax技術(shù)。Ajax(Asynchronous JavaScript and XML)是一種基于瀏覽器的Web應(yīng)用程序開發(fā)模式[10]。它的基本特點(diǎn)是主要由JavaScript編寫,程序異步執(zhí)行,并且用XML來(lái)封裝和傳輸數(shù)據(jù)。用戶通過(guò)設(shè)置前臺(tái)中的window.setInterval()中調(diào)用函數(shù)的時(shí)間間隔值,周期性的調(diào)用前臺(tái)中的函數(shù)getForm(),其程序流程如圖3所示。該函數(shù)含有一個(gè)$.ajax({})請(qǐng)求。$. ajax({})異步請(qǐng)求后臺(tái)的getDataTableByAjax()以獲取數(shù)據(jù),獲取數(shù)據(jù)以后,重新用圖表展示該數(shù)據(jù)值。
圖3 異步請(qǐng)求流程圖
2.5歷史數(shù)據(jù)顯示
歷史數(shù)據(jù)顯示的數(shù)據(jù)來(lái)源主要是存儲(chǔ)歷史數(shù)據(jù)的SQL數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中主要包括人員信息表,公司信息表,能耗設(shè)備信息表和能源數(shù)據(jù)消耗表等。其中,人員信息表用來(lái)存儲(chǔ)系統(tǒng)使用人員的信息;公司信息表主要存儲(chǔ)各個(gè)公司的信息;能耗設(shè)備信息表用來(lái)存儲(chǔ)監(jiān)控能源消耗的設(shè)備信息;能源數(shù)據(jù)消耗表用來(lái)存儲(chǔ)設(shè)備的能源消耗信息。在人員信息表中,定義了用戶在系統(tǒng)中的權(quán)限,普通用戶只能查看自己所在公司的設(shè)備的能耗信息,而企業(yè)管理員則能夠查看全部設(shè)備的能耗信息。
3.1系統(tǒng)的管理界面
系統(tǒng)的管理界面如圖4所示,系統(tǒng)的主要功能主要有:①能源數(shù)據(jù)實(shí)時(shí)顯示,主要通過(guò)實(shí)時(shí)數(shù)據(jù)庫(kù)的支持,實(shí)時(shí)的給用戶展示設(shè)備的能耗數(shù)據(jù)。當(dāng)數(shù)據(jù)異常時(shí),通知相關(guān)人員進(jìn)行處理;②通過(guò)歷史數(shù)據(jù)查看,用戶可以查看設(shè)備的主要?dú)v史能耗數(shù)據(jù),查看的時(shí)間粒度主要有按月,按天,按小時(shí)等;③在能耗監(jiān)控設(shè)備點(diǎn)管理模塊,用戶可以新增,修改,刪除所要監(jiān)控的能源設(shè)備。
圖4 系統(tǒng)管理界面
3.2系統(tǒng)的能耗數(shù)據(jù)顯示界面
系統(tǒng)的能耗數(shù)據(jù)顯示界面如圖5左上圖所示,設(shè)備的實(shí)時(shí)能耗情況,采用了Ajax技術(shù),頁(yè)面可以無(wú)刷新的進(jìn)行數(shù)據(jù)更新,頁(yè)面的更新頻率可以由用戶自主設(shè)計(jì)。其它界面是用來(lái)顯示設(shè)備歷史的能耗數(shù)據(jù),右上圖是按月進(jìn)行設(shè)備的能耗統(tǒng)計(jì),顯示設(shè)備一個(gè)月的總消耗情況。左下圖是用來(lái)顯示設(shè)備一個(gè)月中每天的消耗情況,右下圖是用來(lái)顯示設(shè)備在按小時(shí)的時(shí)間粒度中的消耗情況。
圖5 系統(tǒng)的能耗數(shù)據(jù)顯示界面圖
本文以企業(yè)實(shí)時(shí)采集數(shù)據(jù)庫(kù)為基礎(chǔ),采用ASP. NET+Highcharts+SQL SERVER 2008技術(shù),主要探討了大型民用飛機(jī)制造企業(yè)能耗數(shù)據(jù)管理系統(tǒng)的部分設(shè)計(jì)與實(shí)現(xiàn)。目前,經(jīng)過(guò)不斷的調(diào)試和優(yōu)化,該系統(tǒng)已經(jīng)正式投入企業(yè)運(yùn)行。大型民用飛機(jī)制造企業(yè)通過(guò)對(duì)能耗設(shè)備的實(shí)時(shí)監(jiān)控,可以充分的掌握設(shè)備的運(yùn)行情況和能源消耗的具體情況。企業(yè)通過(guò)對(duì)能源數(shù)據(jù)進(jìn)行信息化的管理,可以為企業(yè)能耗分析和預(yù)測(cè)提供數(shù)據(jù)基礎(chǔ),進(jìn)而更有效的開展節(jié)能減排工作。
[1]周永良,李鐵克,王偉玲.基于實(shí)時(shí)歷史數(shù)據(jù)庫(kù)技術(shù)的鋼鐵能源管理系統(tǒng)[J].冶金能源,2010,2.
[2]姜黎萍.寶鋼股份羅涇區(qū)能源管理系統(tǒng)[J].冶金自動(dòng)化,2012,2.
[3]張栗,張風(fēng)元,危勝軍.基于DWR框架的WEB應(yīng)用的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2008,8.
[4]張建軍,劉虎,倪芳英.基于SHH與Highcharts整合架構(gòu)的Web應(yīng)用研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,9.
[5]李東海,孫鶴旭.OPC技術(shù)在遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用研究[J].微計(jì)算機(jī)信息,2006,6.
[6]張友能.基于網(wǎng)閘技術(shù)的網(wǎng)絡(luò)安全研究[J].通信技術(shù),2008,5.
[7]游雪峰,文玉梅,李平.以太網(wǎng)分布式數(shù)據(jù)采集同步和實(shí)時(shí)傳輸研究[J].儀器儀表學(xué)報(bào),2006,4.
[8]謝川.基于B/S的異構(gòu)數(shù)據(jù)源集成系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2007,2.
[9]蔣薇,賴青貴,揚(yáng)興林.基于ADO.NET的數(shù)據(jù)訪問技術(shù)探索[J].儀器儀表學(xué)報(bào),2009,6.
[10]游麗貞,郭宇春,李純喜.Ajax引擎的原理和應(yīng)用[J].微計(jì)算機(jī)信息,2006,6.
The Partial Design and Implementation of Energy Data Management System Based on Web
YANG Yong-Yu,DAI Yi-Ru,WANG Jian
(CIMS Research Center,Tongji University,Shanghai 201804,China)
A based on B/S model system was developed by taking advantage of the ASP.NET,Highcharts and SQL SERVER 2008 technology.The system could provide an effective way to manage the energy consumption data for large civil aircraft manufacturing companies. Firstly,the paper introduces the four independent tier structure of the system;and secondly it describes the basic system realization in details;finally,it interprets the specific function of each module in the system.This system has been well deployed in the target company.
real-time monitoring;highcharts;energy consumption data management
TP311
A
10.3969/j.issn.1002-6673.2015.01.028
1002-6673(2015)01-078-03
2014-12-01
項(xiàng)目來(lái)源:上海市信息化發(fā)展專項(xiàng)資金項(xiàng)目(大型客機(jī)生產(chǎn)制造能源綜合管理系統(tǒng)-201102023)
楊永語(yǔ)(1989-),男,廣西賀州人,碩士研究生。研究方向:智能生產(chǎn)系統(tǒng),能源系統(tǒng)工程;戴毅茹(1972-),女,河南新蔡人,副教授。研究方向:系統(tǒng)工程,能源系統(tǒng)工程,企業(yè)建模與仿真。