《電子技術應用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 基于Web技术的监控组态软件设计

基于Web技术的监控组态软件设计

2008-07-25
作者:王文玺, 肖世德, 孟 文

??? 摘?要: 介紹了網(wǎng)絡控制系統(tǒng)的基本概念,闡述了Web的體系結(jié)構(gòu)并以微軟的最新Web開發(fā)技術Asp.Net" title="Asp.Net">Asp.Net作為系統(tǒng)開發(fā)工具,提出一種基于Web的監(jiān)控組態(tài)軟件" title="監(jiān)控組態(tài)軟件">監(jiān)控組態(tài)軟件設計方法。用戶可通過瀏覽器實現(xiàn)對現(xiàn)場設備狀態(tài)的監(jiān)控。該軟件具有編程簡單、客戶端" title="客戶端">客戶端免維護等優(yōu)點。
??? 關鍵詞: 監(jiān)控組態(tài)軟件; 萬維網(wǎng); Asp.Net; 網(wǎng)絡控制

?

??? 監(jiān)控組態(tài)軟件是集計算機技術、控制技術、網(wǎng)絡技術為一體的高新技術產(chǎn)品,具有控制功能強、操作方便和可靠性高等特點,可以方便地用于對工業(yè)現(xiàn)場進行數(shù)據(jù)采集和監(jiān)視控制。監(jiān)控技術經(jīng)歷了單機監(jiān)控系統(tǒng)、集中式監(jiān)控系統(tǒng)和網(wǎng)絡范圍的遠程監(jiān)控" title="遠程監(jiān)控">遠程監(jiān)控三個發(fā)展階段。遠程監(jiān)控是指本地計算機通過網(wǎng)絡系統(tǒng)對遠端現(xiàn)場智能設備進行監(jiān)測和控制。從架構(gòu)模式上區(qū)分,監(jiān)控組態(tài)軟件大致可分為C/S(客戶端/服務器)模式和B/S(瀏覽器/服務器)模式兩大類。目前,國內(nèi)的監(jiān)控組態(tài)軟件以傳統(tǒng)的C/S模式為主,而借助日益普及的Internet網(wǎng)絡或者LAN網(wǎng)絡進行遠程監(jiān)控,是工業(yè)控制的一大發(fā)展?;赪eb的實時控制技術是控制技術與計算機網(wǎng)絡技術相結(jié)合的一種新型遠程監(jiān)控技術,已成為當前監(jiān)控組態(tài)軟件的發(fā)展趨勢。
1 Asp.Net介紹
??? Asp.Net代表了Microsoft Web開發(fā)的最新方向,它和早期的Microsoft Web開發(fā)環(huán)境的主要差別在于Asp.Net建立在.Net平臺的基礎上。
??? Asp.Net的核心是公共語言運行CLR。CLR 是一個高效率的執(zhí)行引擎,程序代碼的執(zhí)行由Runtime管理。Runtime的作用是產(chǎn)生對象、方法(即對象所能執(zhí)行的動作)的呼叫等,Runtime 也可以提供程序代碼一些額外的服務。在此把要通過CLR 的控制才能執(zhí)行的程序代碼稱為Managed Code,同時CLR還提供了.Net應用的許多關鍵性服務,包括:(1)代碼管理。(2)安全支持。(3)垃圾收集和錯誤處理。CLR的主要任務就是將編譯產(chǎn)生的中間語言文件轉(zhuǎn)換成目標機器上的本地代碼。
??? 在CLR基礎之上是一個巨大的類庫,它主要處理程序運行時所要求的各項任務。Asp.Net支持多種源代碼語言,本文選用C#。
??? 相對于傳統(tǒng)的Asp,Asp.Net在配置、部署、調(diào)試和安全性等方面都有了很大的改進。傳統(tǒng)Asp的配置保存在IIS元數(shù)據(jù)庫中。元數(shù)據(jù)庫是一個二進制的存儲庫,只能通過COM API來管理,而Asp.Net則通過web.config的XML文件指定Asp.Net應用程序" title="應用程序">應用程序的配置,該文件放置在應用程序根目錄的頂端,并且可以用任何文本編輯器查看和配置。Asp.Net還具有較強的安全性,通過IIS提供身份驗證和授權(quán)服務,支持Basic、Digest、Windows身份驗證,支持窗體的身份驗證,允許應用程序提供它們自己的登錄UI,并執(zhí)行它們自己的身份驗證。此外,Asp.Net還提供緩存來提高Web應用程序的性能。
2 總體設計
??? 隨著Internet技術的發(fā)展,瀏覽器界面已經(jīng)成為計算機桌面的基本平臺,將瀏覽器技術運用于監(jiān)控組態(tài)軟件及將瀏覽器界面作為網(wǎng)絡控制系統(tǒng)的人機界面,對擴大實時系統(tǒng)的應用范圍,減少維護工作量非常有利?;赪eb技術的監(jiān)控組態(tài)軟件網(wǎng)絡構(gòu)架如圖1所示。

?

圖1 監(jiān)控組態(tài)軟件網(wǎng)絡構(gòu)架


2.1 軟件的架構(gòu)與功能
??? 在B/S模式下采用傳統(tǒng)的三層體系結(jié)構(gòu)來設計監(jiān)控組態(tài)軟件,并不能直接實現(xiàn)與被控對象進行數(shù)據(jù)通信,因此基于Web技術的監(jiān)控組態(tài)軟件采用四層體系結(jié)構(gòu)進行設計,如圖2所示。它是在一般的三層體系結(jié)構(gòu)的基礎上增加了控制層,用來實現(xiàn)Web服務器與被控對象的通信,進一步控制被控對象。這樣既充分利用了現(xiàn)有的網(wǎng)絡資源和工業(yè)現(xiàn)場資源,也使得兩者有機地結(jié)合在一起,達到了Web服務器與現(xiàn)場設備通過現(xiàn)場總線進行遠程通信的目的。

?


??? 各層功能如下:
??? (1)客戶層:它是監(jiān)控組態(tài)軟件的用戶接口部分,是用戶與監(jiān)控組態(tài)軟件交互信息的窗口,即人機交互界面。用戶通過瀏覽器對現(xiàn)場數(shù)據(jù)進行實時監(jiān)測,發(fā)送控制命令和參數(shù),并能夠通過瀏覽器對工程的組態(tài)架構(gòu)及圖像進行修改。
??? (2)功能層:它作為Web Service應用程序服務器端,包括監(jiān)控組態(tài)軟件的事務處理邏輯,負責客戶層與數(shù)據(jù)層及控制層之間的數(shù)據(jù)傳輸。具體表現(xiàn)為接收用戶或控制服務器的請求(消息),以執(zhí)行對應的處理程序;或與數(shù)據(jù)層進行連接,向數(shù)據(jù)層提出數(shù)據(jù)處理請求,并將數(shù)據(jù)層處理的結(jié)果反饋給請求端。本文選擇IIS6(Internet Information Service)作為Web服務器平臺,在IIS6上可以通過IP地址、端口號和主機頭名稱來配置多個Web站點。
??? (3)數(shù)據(jù)層:它由數(shù)據(jù)庫服務器和數(shù)據(jù)庫所構(gòu)成,包括物理數(shù)據(jù)庫和相關數(shù)據(jù)處理應用程序,其功能為實現(xiàn)監(jiān)控組態(tài)軟件的數(shù)據(jù)處理邏輯。主要是通過功能層的數(shù)據(jù)處理請求,調(diào)用相關處理程序以實現(xiàn)對數(shù)據(jù)庫的查詢、增加和刪除等功能。由于在基于Web技術的監(jiān)控組態(tài)軟件中涉及到較為龐大的數(shù)據(jù)群,本文選擇SQL Server作為物理數(shù)據(jù)庫,并采用ADO.NET數(shù)據(jù)庫技術對數(shù)據(jù)庫進行管理。ADO.NET使用離線數(shù)據(jù)集,不需要長時間地鏈接和鎖定數(shù)據(jù)庫,在線用戶不會爭奪數(shù)據(jù)庫資源,在對大量數(shù)據(jù)進行操作時其高效率的性能完全能夠滿足用戶的需求。
??? (4)控制層:位于控制服務器端,包括監(jiān)控組態(tài)軟件的控制邏輯。它作為客戶層與被控對象的中間設備,向被控對象發(fā)送控制命令、接收被控對象的實時狀態(tài)信息和請求信息。
2.2 軟件的控制原理
??? 用戶通過客戶端的瀏覽器登錄Web服務器,Web服務器請求數(shù)據(jù)庫進行身份認證后,將嵌入了組態(tài)圖像的控制監(jiān)測頁面以.aspx的形式返回客戶端供用戶使用。瀏覽器端通過事件機制獲取用戶的各種操作并提交給Web服務器。用戶可以通過控制服務器訪問和控制被控對象,與被控對象進行數(shù)據(jù)通信;可以把被控對象的狀態(tài)、參數(shù)等數(shù)據(jù)存入數(shù)據(jù)庫;也可以把數(shù)據(jù)庫中的控制命令與定值等數(shù)據(jù)發(fā)送給被控對象。
??? 通過Asp.Net中的Session對象對每一個用戶建立一個專用的工作線程,當客戶端每新增一個用戶時,即建立一個Session對象,標志該用戶的身份,并同時建立起一個工作線程負責對該用戶的各種請求進行管理,當用戶退出后Session對象即消亡,同時Session對象所標志的該用戶工作線程結(jié)束。采用了多線程技術的監(jiān)控組態(tài)軟件能夠滿足大量用戶同時在線、同時發(fā)出各種請求時,Web服務器也能夠及時地響應用戶的請求,避免了單線程技術所帶來的信息擁塞而使用戶等待的情況出現(xiàn)。
3 軟件實現(xiàn)的關鍵技術
3.1實現(xiàn)控制服務器與現(xiàn)場設備間的通信

??? 在局域網(wǎng)絡基礎上構(gòu)建互連系統(tǒng),實現(xiàn)遠程控制,其關鍵是實現(xiàn)控制服務器對現(xiàn)場工控機的控制,再由工控機對串口(并口)或其控制卡加以控制以實現(xiàn)對現(xiàn)場設備的通信。因此,網(wǎng)絡通信采用Socket編程。Socket是TCP/IP協(xié)議傳輸所提供的接口。對于軟件開發(fā)主要使用兩種類型的套接字:
??? (1)流式套接字:提供了無邊界限制的雙向數(shù)據(jù)流,能夠提供有序、無重復的傳輸,適用于處理大量數(shù)據(jù)。流式套接字是基于直接連接的,建立在TCP基礎上。
??? (2)數(shù)據(jù)報套接字:支持雙向數(shù)據(jù)流,但不能保證數(shù)據(jù)的順序和不重復性,同時也不十分可靠。數(shù)據(jù)報是無連接的,由UDP(用戶數(shù)據(jù)報協(xié)議)支持,幾乎是直接建立在IP層上,傳輸速度比較快。
??? 對于現(xiàn)場設備的數(shù)據(jù),由于必須保證傳輸?shù)目煽亢蜏蚀_,因此,對于控制服務器與現(xiàn)場工控機之間的網(wǎng)絡通信程序,一般采用基于可靠傳輸協(xié)議TCP基礎上的流式套接字編程加以實現(xiàn)。圖3是現(xiàn)場工控機與控制服務器協(xié)同工作的模型。

?


3.2 安全策略
??? Web服務器提供用戶認證及用戶認證訪問權(quán)限,非注冊用戶無權(quán)登錄到Web服務器,注冊用戶權(quán)限分三級:管理員、控制員、一般用戶。管理員有權(quán)發(fā)送定值命令對現(xiàn)場設備的參數(shù)進行設置,并能夠增刪用戶??刂茊T有權(quán)發(fā)送控制命令對現(xiàn)場設備進行控制。一般用戶能夠登錄到運行界面,對現(xiàn)場設備進行實時狀態(tài)監(jiān)測。由于現(xiàn)場設備在同一時間只能由一個用戶進行控制操作,其他用戶只能瀏覽,因此,為防止現(xiàn)場設備多用戶使用時發(fā)生沖突,應當建立設備鎖定機制。
??? 目前,以Web技術為基礎的通過互聯(lián)網(wǎng)絡來進行遠程監(jiān)控的技術,已成為監(jiān)控組態(tài)軟件的發(fā)展趨勢。工業(yè)監(jiān)控系統(tǒng)與Web技術的結(jié)合實現(xiàn)了集控制、管理、信息、調(diào)度、網(wǎng)絡于一體的企業(yè)綜合自動化。本文提出的設計方案是以Web技術實現(xiàn)監(jiān)控組態(tài)軟件的一種實踐,設計中的部分思想已經(jīng)運用到實際的產(chǎn)品開發(fā)中。
??? 本文的創(chuàng)新點:(1)Web技術是監(jiān)控組態(tài)軟件的最新發(fā)展方向,利用網(wǎng)絡優(yōu)勢與嵌入式系統(tǒng)的完美結(jié)合,實現(xiàn)網(wǎng)絡遠程監(jiān)控系統(tǒng)將成為主流,而本文給出的正是將Web技術應用到監(jiān)控組態(tài)軟件中的一種實現(xiàn)方案。(2)將基于Web技術的監(jiān)控組態(tài)軟件劃分為四層體系結(jié)構(gòu)進行開發(fā),對基于Web技術的監(jiān)控組態(tài)軟件的應用及普及具有前瞻性。
參考文獻
[1] ?王亞民,陳青. 組態(tài)軟件設計與開發(fā)[M]? 西安:西安電子科技大學出版社,2003.
[2] ?曾志. 基于B/S架構(gòu)Web遠程控制的研究及實現(xiàn)[J].計算機應用與軟件,2005,(11).
[3] ?陳新. 基于Web的遠程監(jiān)控與數(shù)據(jù)采集系統(tǒng)[J]. 電子科技大學學報, 2003,(8).
[4] ?孫磊.Asp.Net在遠程控制中的應用[J].工程設計學報, 2005,(2).
[5] ?KIRTLAND M. Designing component-based application. Microsoft Press, 2000.
[6] ?張婭, 周學文. COM研究及其在組態(tài)軟件中的應用[J]. ?微計算機信息(測控自動化),2006,(12).

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。