亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.NET技術(shù)的遠程監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)

        2010-04-12 00:00:00陳春娥
        現(xiàn)代電子技術(shù) 2010年13期

        摘 要:為克服傳統(tǒng)監(jiān)控系統(tǒng)中存在的系統(tǒng)數(shù)據(jù)實時性不強、有效資源不能共享等缺陷,提出一種基于.NET技術(shù)的遠程監(jiān)控系統(tǒng),該系統(tǒng)采用B/S模式實現(xiàn)與局域網(wǎng)的無縫連接;利用多線程技術(shù)實現(xiàn)數(shù)據(jù)的采集和處理;利用Socket通信技術(shù)保證現(xiàn)場數(shù)據(jù)和操作指令的可靠傳輸;利用先進的GDI+技術(shù)實現(xiàn)動態(tài)圖形的生成和傳送。著重從服務(wù)器端的數(shù)據(jù)采集處理、數(shù)據(jù)通信及客戶端的動態(tài)圖形顯示三個方面對監(jiān)控系統(tǒng)的實現(xiàn)進行論述。該系統(tǒng)不但彌補了傳統(tǒng)監(jiān)控系統(tǒng)的不足,而且提高了系統(tǒng)的實時性和快速性。

        關(guān)鍵詞:遠程監(jiān)控; 多線程; Socket; 動態(tài)圖形

        中圖分類號:TP311 文獻標(biāo)識碼:A

        文章編號:1004-373X(2010)13-0137-03

        Design and Realization of Remote Monitoring System Based on .NET Technology

        CHEN Chun-e

        (College of Physics and Information Technology, Sh

        nxi Normal University, Xi’an 710062, China)

        Abstract: A remote monitoring system based on .NET technology is proposed for overcoming defects in traditional monitoring system such as weak real-time data and unshared efficient resource. This system adopts B/S mode to connect WAN and LAN seamlessly, uses multithreading technique to realize data acquisition and processing, deploys the Socket technology to ensure a reliable data transmission, uses GDI+ technology to achieve dynamic graphics generation and transmission. The monitoring system is realized by the data acquisition, processing and transmission of server-side and dynamic graphic display of client-side. The system makes up the deficiency of the traditional monitoring system, and improves the speedy and real-time performance.

        Keywords: remote monitoring; multithreading; Socket; dynamic figure

        遠程監(jiān)控系統(tǒng)指通過局域網(wǎng)、廣域網(wǎng)等計算機網(wǎng)絡(luò),使用TCP/IP技術(shù),遠程實現(xiàn)對工業(yè)生產(chǎn)過程的監(jiān)視及控制,讓管理層或調(diào)度人員看到過去只有操作人員才能看到的生產(chǎn)現(xiàn)場的實時信息,并且能夠?qū)崿F(xiàn)對生產(chǎn)現(xiàn)場的遠程調(diào)度、指揮決策以及遠程對生產(chǎn)設(shè)備的在線配置和故障診斷等功能[1]。傳統(tǒng)的監(jiān)控系統(tǒng)因前臺的人機界面層和后臺的數(shù)據(jù)采集層復(fù)雜程度不同常采用不同的開發(fā)環(huán)境,兩層都是能獨立運行的應(yīng)用程序,在實際使用時系統(tǒng)維護困難、配置復(fù)雜且遠程調(diào)度的靈活性也很差,網(wǎng)絡(luò)技術(shù)和.NET技術(shù)的發(fā)展很好地解決了上述問題,為更好地實現(xiàn)遠程監(jiān)控提供了開發(fā)平臺。本文提出了一種在.NET技術(shù)基礎(chǔ)上構(gòu)建的基于B/S結(jié)構(gòu)的遠程監(jiān)控系統(tǒng),克服了傳統(tǒng)監(jiān)控系統(tǒng)的弊端,并使得系統(tǒng)的實時性和快速性得到了提高。

        1 遠程監(jiān)控系統(tǒng)設(shè)計

        1.1 系統(tǒng)的總體結(jié)構(gòu)

        遠程監(jiān)控系統(tǒng)一般由現(xiàn)場數(shù)據(jù)采集與控制子系統(tǒng)、數(shù)據(jù)存儲與轉(zhuǎn)發(fā)子系統(tǒng)、客戶端接收與命令發(fā)送子系統(tǒng)三部分組成,監(jiān)控系統(tǒng)的網(wǎng)絡(luò)架構(gòu)如圖1所示。在圖1中,現(xiàn)場測控單元負責(zé)采集各個現(xiàn)場控制節(jié)點的運行情況數(shù)據(jù),然后與應(yīng)用服務(wù)器交換數(shù)據(jù)以實現(xiàn)數(shù)據(jù)的通信與顯示;數(shù)據(jù)庫服務(wù)器用于存儲系統(tǒng)實時與歷史運行數(shù)據(jù)以及系統(tǒng)設(shè)備參數(shù)等,采集到的實時參數(shù)保存于實時數(shù)據(jù)庫以便響應(yīng)客戶端的實時數(shù)據(jù)請求,實時數(shù)據(jù)更新后送歷史數(shù)據(jù)庫保存便于統(tǒng)計分析;Web服務(wù)器和應(yīng)用服務(wù)器提供實時監(jiān)控功能以及用戶的查詢分析。

        圖1 系統(tǒng)網(wǎng)絡(luò)架構(gòu)

        1.2 監(jiān)控系統(tǒng)的軟件模型

        該遠程監(jiān)控系統(tǒng)采用基于Internet的TCP/IP協(xié)議,通過B/S[2]方式實現(xiàn)對遠程設(shè)備的實時監(jiān)測和控制,其工作模式如圖2所示。采用B/S結(jié)構(gòu),客戶端獲取數(shù)據(jù)的渠道不止一條,對于非實時數(shù)據(jù)可以直接向Web服務(wù)器發(fā)出數(shù)據(jù)查詢請求,對實時數(shù)據(jù)可通過頁面內(nèi)嵌的ActiveX控件,直接與應(yīng)用服務(wù)器通信。同時B/S模式可實現(xiàn)不同平臺的跨接問題,實現(xiàn)Web網(wǎng)與局域網(wǎng)的無縫連接,使得不管是監(jiān)控中心內(nèi)部管理員還是上級調(diào)度人員以及普通用戶只需要安裝通用的瀏覽器就可以訪問遠程設(shè)備相應(yīng)的運行信息。

        圖2 監(jiān)控系統(tǒng)的工作模式

        1.3 系統(tǒng)功能模塊

        用戶管理模塊:包括新增、修改、刪除用戶和對系統(tǒng)的權(quán)限進行設(shè)置,確保不同的權(quán)限只能執(zhí)行相應(yīng)的操作。

        實時數(shù)據(jù)顯示模塊:以圖形、表格的形式顯示出監(jiān)控點的最新數(shù)據(jù)。

        實時控制模塊:對遠程設(shè)備的運行參數(shù)進行修改,從而控制其運行狀態(tài)。

        數(shù)據(jù)查詢模塊:正常監(jiān)控數(shù)據(jù)查詢或者根據(jù)自定義條件對歷史數(shù)據(jù)進行分析查詢。

        統(tǒng)計報表模塊:生成監(jiān)控數(shù)據(jù)報表、綜合運行數(shù)據(jù)報表,并能夠生成日報、月報、半年報和年報等各種報表,報表格式可按照用戶的要求定制,可直接進行預(yù)覽、打印。

        2 遠程監(jiān)控系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù)

        2.1 基于多線程的數(shù)據(jù)采集和處理[3-5]

        遠程監(jiān)控系統(tǒng)既要進行實時數(shù)據(jù)采集處理,又要進行數(shù)據(jù)顯示刷新,還要不斷掃描是否有故障發(fā)生,同時還要接受遠程的控制命令,為了使系統(tǒng)能夠穩(wěn)定、快速的運行在此采用多線程技術(shù)。.NET是一個多線程的環(huán)境,.NET基礎(chǔ)類庫的System.Threading命名空間提供了大量的類和接口支持多線程,它能夠創(chuàng)建并控制線程,設(shè)置其優(yōu)先級并獲取其狀態(tài)。

        分析服務(wù)器端程序任務(wù),主要有偵聽、接收客戶端連接請求,數(shù)據(jù)采集,數(shù)據(jù)處理、傳輸和存儲、控制命令的接收與下發(fā)等,因此在程序中使用了四個線程處理上述任務(wù)。分別為:

        (1) 主線程:主要進行一系列相關(guān)的系統(tǒng)初始化、輔助線程的創(chuàng)建與管理、數(shù)據(jù)刷新顯示、數(shù)據(jù)交互及報表管理打印等。

        (2) 數(shù)據(jù)采集、處理線程:主要輪詢各現(xiàn)場測控單元,接收現(xiàn)場設(shè)備運行數(shù)據(jù),創(chuàng)建數(shù)據(jù)處理線程。

        (3) 數(shù)據(jù)處理線程:主要對采集來的現(xiàn)場原始數(shù)據(jù)進行格式識別,打包發(fā)往客戶端;按一定的時間間隔將識別后的數(shù)據(jù)存入歷史數(shù)據(jù)庫,同時在這個過程中對故障報警做出立即響應(yīng)。

        (4) 控制命令線程:主要從用戶的操作中獲取控制命令,然后根據(jù)被控對象組織相應(yīng)的報文,并調(diào)用通訊模塊下發(fā)調(diào)控命令。

        下面的代碼說明線程的創(chuàng)建過程:

        //在代碼段的頂部導(dǎo)入名稱空間

        Imports System

        Imports System.Threading

        //主線程創(chuàng)建和管理輔助線程

        Protected Sub main()

        Dim object1 as new class1() //創(chuàng)建數(shù)據(jù)采集類Class1的對象

        Dim object2 as new class2() //創(chuàng)建數(shù)據(jù)處理類Class2的對象

        Dim t1 as Thread=new Thread(Addressof object1.method1)

        //創(chuàng)建數(shù)據(jù)采集線程的對象,并通過Addressof操作符找到t1線程要運行方法的地址

        Dim t2 as Thread=new Thread(Addressof object2.method2)

        //創(chuàng)建數(shù)據(jù)采集線程的對象,并通過Addressof操作符找到t2線程要運行方法的地址

        T1.start()//啟動數(shù)據(jù)采集線程

        T2.start()//啟動數(shù)據(jù)處理線程

        …… //異常處理

        End sub

        在系統(tǒng)的實現(xiàn)過程中,將數(shù)據(jù)的各種處理方法封裝在類中,為了達到數(shù)據(jù)采集和數(shù)據(jù)處理的同步,使用SyncLock聲明來保證執(zhí)行的多線程不會同時訪問共享數(shù)據(jù)。

        2.2 基于Socket技術(shù)實現(xiàn)系統(tǒng)的實時監(jiān)控[6-7]

        監(jiān)控系統(tǒng)中客戶端和前置機均支持TCP/IP協(xié)議,同時為了保證采集到的現(xiàn)場設(shè)備運行數(shù)據(jù)通過網(wǎng)絡(luò)傳輸時的可靠性、準(zhǔn)確性和控制命令傳輸?shù)募皶r性,網(wǎng)絡(luò)通信采用基于TCP/IP基礎(chǔ)上的Socket技術(shù)來實現(xiàn),它通過內(nèi)置的流量控制解決數(shù)據(jù)的擁塞,將數(shù)據(jù)當(dāng)作字節(jié)流,應(yīng)用程序可以發(fā)送任意長的數(shù)據(jù),這正符合系統(tǒng)對數(shù)據(jù)的要求,同時客戶端發(fā)出的調(diào)控命令根據(jù)設(shè)備協(xié)議編輯結(jié)果組裝成數(shù)據(jù)包,通過現(xiàn)場測控單元發(fā)送給設(shè)備,實現(xiàn)對設(shè)備的調(diào)控。

        在實現(xiàn)的過程中,通過在應(yīng)用服務(wù)器內(nèi)封裝Socket的服務(wù)器端,而在ActiveX控件內(nèi)封裝Socket的客戶端應(yīng)用,并將ActiveX控件嵌入Web頁面實現(xiàn)監(jiān)控界面的顯示。當(dāng)用戶第一次訪問服務(wù)器的網(wǎng)頁時,IE瀏覽器會自動把ActiveX控件下載到本地計算機中,并自動注冊。通過使用ActiveX控件和Socket,客戶端可以直接讀取應(yīng)用服務(wù)器上數(shù)據(jù)采集程序采集的數(shù)據(jù)并實時更新,并不需要通過數(shù)據(jù)庫進行中轉(zhuǎn),這樣用戶就可以對現(xiàn)場設(shè)備進行實時監(jiān)控。查詢歷史數(shù)據(jù)時,用戶通過瀏覽器向Web服務(wù)器提出請求,Web服務(wù)器接受請求后通過ADO.NET訪問數(shù)據(jù)庫,并將查詢結(jié)果以HTML頁面的形式返回到瀏覽器。.NET框架下在System.Net.Socket命名空間內(nèi)可以實現(xiàn)Socket接口的托管。以下的示例顯示如何使用Socket向服務(wù)器發(fā)送數(shù)據(jù)和接收響應(yīng)。

        //發(fā)送數(shù)據(jù)

        Dim s As New Socket(AddressFamily.InterNetwork, SocketType.Stream,ProtocolType.Tcp)//創(chuàng)建Socket對象并通過TCP發(fā)送數(shù)據(jù)

        s.Connect(Ephost) //通過特定端口連接服務(wù)器

        s.Send(ByteGet,ByteGet.Length,0) //向服務(wù)器發(fā)送采集到的數(shù)據(jù)

        //接受響應(yīng)

        Dim bytes As Int32=s.Receive(RecvBytes, RecvBytes.Length, 0)

        strRetPage=″Default HTML page on″ server ″:″ ControlChars.CrLf

        strRetPage = strRetPage+ASCII.GetString(RecvBytes, 0, bytes)

        2.3 基于GDI+技術(shù)的動態(tài)圖形的生成和傳送[8]

        對于遠程監(jiān)控系統(tǒng)不僅要求其能夠提供各種數(shù)據(jù)報表,同時還要求提供各種趨勢曲線的分析畫面,給人以形象直觀的印象中。各種設(shè)備對象的運行情況根據(jù)實時數(shù)據(jù)改變狀態(tài),動態(tài)圖形相當(dāng)復(fù)雜,為了將動態(tài)圖形在瀏覽器中顯示,方便監(jiān)控中心的工作人員進行監(jiān)控,在該監(jiān)控系統(tǒng)中采用了.NET提供的GDI+繪圖類庫在服務(wù)器端生成復(fù)雜的動態(tài)圖形,然后根據(jù)瀏覽器的請求將動態(tài)圖形實時發(fā)送到客戶機的方法。.NET生成圖形功能在System.Drawing名稱空間中封裝建立一個普通圖形所要求的邏輯后,構(gòu)造一個圖形對象通過它的Save方法將其保存到磁盤或者將其發(fā)送到.NET輸出流中,在ASPNET中通過ResponseO(jiān)utputStream屬性解釋.NET輸出流,這樣就可以直接將圖形的內(nèi)容發(fā)送到客戶端瀏覽器。具體實現(xiàn)如下:

        dim newCharEngine as New ChartEngine

        //定義繪圖對象,其中ChartEngine使用.NET提供的GDI+編寫的畫圖類模塊

        dim pl as BitMap=newCharEngine.DrawChart(600,400,myChartData)

        //使用ChartEngine類,圖形生成后以流的形式發(fā)送到客戶端瀏覽器

        pl.Save(Response.OutputStream,ImageFormat.JPEG)

        3 結(jié) 語

        .NET 是一個開發(fā)和運行軟件的新環(huán)境,便于開發(fā)基于 Web 的服務(wù),擁有豐富的運行庫服務(wù)以支持用多種編程語言編寫的組件,具有跨語言和跨平臺的互操作能力?;?NET的遠程監(jiān)控系統(tǒng)實現(xiàn)了對各種監(jiān)測對象的實時監(jiān)控,并具有實時故障診斷,歷史記錄可查詢、打印,易于升級和擴展等諸多優(yōu)點,目前已經(jīng)在實際中得到了應(yīng)用。

        參考文獻

        [1]劉建榮,武樺,趙楊.基于.NET的水電廠遠程監(jiān)控系統(tǒng)的研究[ J] .西北水力發(fā)電,2006(1):4-7.

        [2]郝曉弘,蘇淵.基于Web的變電站遠程監(jiān)控系統(tǒng)[ J] .電網(wǎng)技術(shù),2003(7):32-35.

        [3]張焰林.基于VB.NET的多線程技術(shù)應(yīng)用[ J] .計算機系統(tǒng)應(yīng)用,2009(2):136-138.

        [4]馮美霞.多線程應(yīng)用程序的同步技術(shù)[ J] .計算機應(yīng)用,2001(6):24-26.

        [5]孫開放,張紅.再談多線程技術(shù)在變電站監(jiān)控系統(tǒng)中的應(yīng)用[ J] .微計算機信息,2006,22(7):60-61.

        [6]鄢鋒,桂衛(wèi)華,胡志坤,等.基于Socket的整流裝置遠程監(jiān)控系統(tǒng)[ J] .計算機工程,2008(5):243-245.

        [7]李宗寶,陳虹,董航飛,等.基于ASP.NET技術(shù)的遠程監(jiān)控系統(tǒng)實現(xiàn)方法[ J] .電力系統(tǒng)通信,2007,34(2):40-42.

        [8]牟罕勇,張禮貴.GDI+和.NET技術(shù)在機艙自動化監(jiān)控系統(tǒng)中的應(yīng)用[ J] .江蘇船舶,2009(4):32-34.

        [9]胡士毅,魏豐,曹宇.一種基于.NET技術(shù)的Web遠程監(jiān)控方案[ J] .工業(yè)控制計算機,2003(2):39-40.

        [10]王超,張鵬.ASP.NET/XML深入編程技術(shù)[M].北京:希望電子出版社,2002.

        不卡一区二区三区国产| 国产午夜亚洲精品理论片不卡| 啊v在线视频| 天堂久久一区二区三区| 欧洲成人一区二区三区| 老熟妇乱子伦av| 麻豆密入视频在线观看| 人妻1024手机看片你懂的| 大肉大捧一进一出好爽视频动漫 | 色一情一乱一伦一区二区三区| 亚洲av无码乱码在线观看性色| 亚洲五月天综合| 中文字幕一区二区三区人妻精品| 国产精品国产三级农村妇女| 国产精品久久久久久久久电影网| 国产精品18久久久久久麻辣| 亚洲国产成人久久综合一区77| 蜜桃视频一区二区三区| 成人日韩熟女高清视频一区| 亚洲精品久久久久久久久av无码| 久久国产影视免费精品| 国产一区精品二区三区四区| 人妻少妇精品久久久久久| 久久人人爽人人爽人人片av麻烦 | 在线综合亚洲欧洲综合网站| 狠狠色综合播放一区二区| 国产一区二区三区乱码在线| 国产亚洲精品一区二区无| 国产精品沙发午睡系列990531| 国产欧美日韩不卡一区二区三区| 亚洲女同性恋第二区av| 成人爽a毛片免费视频| 亚洲人成无码网www| 亚洲av粉嫩性色av| 日韩熟女系列中文字幕| 少妇高清精品毛片在线视频| 久久狠色噜噜狠狠狠狠97| 亚洲女同一区二区三区| 蜜桃一区二区在线视频| 男女爽爽无遮挡午夜视频| 色欲AV无码久久精品有码|