《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一個分布式監控系統的軟件設計

一個分布式監控系統的軟件設計

2009-05-04
作者:于恒春 杜世偉 湯冬誼 楊 麗

   要: 討論了一個分布式監控系統軟件設計。給出了系統結構、冗余設計及軟件設計要點。
  關鍵詞: 分布式系統 網絡通信 ActiveX自動化


1 系統結構
  系統結構見圖1,這是一個兩級分布式監控系統。在現場級兩臺互為熱備的現場計算機通過現場總線與現場設備相連,實時采集現場數據并向現場設備傳送監控級發來的控制指令,同時把各種實時信息發送到監控級。在監控級,各監控計算機通過TCP/IP以太網與各現場計算機相連以獲取現場數據,并提供GUI以便操作人員監視及控制現場設備。


2 冗余設計
  對于可靠性要求較高的系統,常常采用冗余設計以提高可靠性。本系統的現場計算機為雙機熱備,監控級計算機也可根據需要進行雙機熱備。

  雙機熱備必須解決故障識別和狀態鏡象兩個問題,但為實現快速切換,應盡量簡化算法,同時盡量減少交換信息,因此如果狀態信息不是很重要,則不必隨主備信息一起傳送。基于上述思想,定義的主備機報文格式見圖2,各字段的含義如下:


  (1)信息標識:標識報文類型,共定義了三種報文:
   a)普通報文:由主備機正常進行交互用的報文,稱主機發往備機的報文為請求報文,備機發往主機的報文為應答報文。
   b)切換報文:當主機想轉為備機時,發送此報文。該報文是非常必要的,一種情況是當現場計算機與現場設備失去聯系時,就需要主動進行切換。
   c)退出報文:當某一臺機器退出時,應發送此報文,否則對方將認為該機故障。
  (2)主備標志:指示本站是否為主機,“1”表示主機,“0”表示備機。
  (3)判決標志:當主備機的主備標志一致,即兩者同時為主機或同時為備機時,應根據判決標志進行切換,該標志可以預先設定為一個值,也可以取IP地址或啟動時間作為判決標志。判決條件可以取大于或小于。
  具體實現方法為:主機定時向備機發送請求報文,備機收到后就發一個應答報文;同時另設一定時器,當收到對方的一個報文就把該定時器清0,與此同時定時器定時加1。若定時器溢出,則表示對方故障,否則表示對方正常。程序包括定時發送、故障檢測及接收處理三部分,它們是并行工作的,流程圖見圖3。通過對發送定時器及檢測定時器定時間隔及檢測次數的設定,可以決定切換時間。
3 軟件設計
  系統軟件分為現場級與監控級兩部分,其中監控級包括人機接口及監控級自動化服務器兩部分,見圖4。下面討論一下軟件設計中的關鍵問題。


3.1 數據傳輸方式及通信可靠性
  本系統的網絡操作系統為Windows NT,網絡通信協議為TCP/IP,采用Windows Socket進行通信程序的設計。Windows Socket有流式與數據報兩種。前者為面向連接服務,后者為無連接服務。考慮到監控系統的數據量較小,而對實時性要求較高,因此采用數據報方式。
  采用數據報方式的另一點考慮是,它可以廣播。在本系統中,現場工控機采用定時廣播的方式傳輸數據,這種方式有如下優點:
  1) 解決了主備機之間的數據鏡像問題。
  2) 不需設置IP地址。這有兩層含義,一方面發送方不需知道接收方的地址,因為IP廣播地址是個固定地址;另一方面,各監控計算機也不必知道各現場計算機的IP地址,因為當它收到廣播后,就可以獲得發送方的IP地址,然后把它存在一張地址表中,以后向該現場計算機發送指令時就可以直接從地址表中取出其IP地址。這種處理方法有點類似于TCP/IP協議地址解析中的動態聯編[1]。但數據報方式的可靠性不如流式高。對于現場計算機,因為數據定時廣播,這種可靠性的差別并無大礙。但對監控計算機而言,它發出一個請求,必須知道該請求是否被響應。因此采用了異步確認機制(見圖5),處理過程為:在發送端設一張表,當發送一個請求時為該請求分配(或預先分配)一個標識,然后把該標識隨同請求一起發出去,同時啟動超時定時器;接收端響應該請求后,發回一個含有請求標識的應答報文;若接收端收到該應答報文,則刪除表中的請求標識,同時定時器停止,否則將發生超時,表示請求未被響應。


3.2 系統信息的處理
  監控系統中主要包括如下三種數據:
  (1) 現場數據:包括現場信號測量值、設備運行狀態、報警信息及其它由現場計算機產生的數據。
  (2) 控制指令:如控制數字量輸出、模擬量輸出及現場設備等的控制字。
  (3) 系統信息:主要是一些系統管理信息,如控制權限,監控計算機登錄狀態等。
  這些信息要么由現場計算機采集或產生,要么由監控計算機寫入現場計算機,但最終還是要存入現場計算機并向外定時廣播。前兩種信息由于直接產生于或作用于現場,因此存于各自的現場計算機。但系統信息是全局信息,是所有站共享的信息,這樣存在著如下問題:當監控計算機寫入系統信息(如登錄)時,應把它發向哪個現場計算機呢?如果向所有站廣播,就存在著一致性問題。正確的做法是:把一臺現場計算機作為系統服務器,系統信息都寫入該服務器中,然后由它向其它站廣播。那么應選擇哪個現場計算機,并且使所有站(包括現場級與監控級)都選擇同一個現場計算機?本系統采取一種動態算法實現了這種選擇,并且當該現場計算機故障時自動轉移到另外的現場計算機。
  具體方法參見圖6:設一張表及一個定時器組,當收到一個站的信息時就把該站的IP地址存入該表中,同時把相應的定時器清0;若定時器溢出,則將該站的IP地址置為無效值。當各計算機尋找系統服務器時,就順序搜索該表,找到第一個有效IP地址,就把它作為系統服務器。


3.3 監控級自動化服務器的設計
  監控級軟件主要是為操作人員提供人機界面,但它同時還要與現場計算機進行通信,為把界面設計分離開來,我們采用了Microsoft ActivX自動化技術實現了這一設計思想。這樣,界面設計人員可以采用目前流行的各種可視化開發工具集中精力進行界面設計,而且可以根據需要設計不同的界面,在我們的系統中就有兩種界面。
  自動化技術是Microsoft ActiveX組件技術中的一種,它包括自動化服務器和自動化控制器兩種,其中自動化控制器是指使用和操縱自動化服務器的應用程序(如VBA),自動化技術通常是指自動化服務器。另一種最為常用的組件技術是ActiveX控件,但一個ActiveX控件只能提供一個IDispatch接口,而一個自動化服務器可以提供多個IDispatch接口。通過IDispatch接口,客戶程序可以訪問該接口的屬性和方法。對于VBA客戶程序來說,訪問IDispatch接口的語法與訪問VBA 對象的語法是一樣的,因此,對于VBA客戶程序而言,一個IDispatch接口就相當于一個對象。
  自動化服務器通常采用層次結構來組織對象,Microsoft的許多自動化服務器都是這樣組織的,如數據訪問對象DAO。本系統的自動化服務器也采用了這樣一種結構,見圖7, 其中Workstation是指監控級各站,Station是指現場級各站,這只是個示意圖。這種結構一方面體現了對象間的層次及包含關系,另一方面對象的創建、刪除及組織也比較方便,整個服務器只需一個ProgID來標識。


  客戶程序創建服務器的過程為:首先利用ProgID創建頂層對象(Application),然后利用該頂層對象提供的方法創建各集合并向其中添加元素,對集合的操作類似于VBA中的collection對象,主要有Count(),Item(),Add()等幾種。應當指出,上面所討論的對象層次結構及集合的概念只是一種設計思想,并非有現成的設計工具,我們采用VC++ 6.0設計了自己的集合類及自動化服務器,客戶端采用VB 6.0。
  本系統是按照分布式的思想進行設計的。分布式的特點就在于各節點是平等的,在數據傳輸方式、冗余設計及系統服務器的選擇等處理上都體現了這一思想。本文給出的冗余設計,是基于網絡的一種方法,其實現不依賴于操作系統、編程語言,是一種比較通用的方法。組件技術是軟件發展的方向,本系統利用自動化技術將界面設計與底層設計分離開來,各自進行獨立設計,充分體現了組件技術的優越性。
參考文獻
1 周明天,汪文勇. TCP/IP網絡原理與技術. 北京:清華大學出版社
2 (美)Jerry Anderson. Visual C++5 ActiveX編程指南. 北京:清華大學出版社
3 (美)Peter Norton, Rob McGregor. MFC開發Windows 95/NT4應用程序. 北京:清華大學出版社

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99视频一区| 久久精品夜色噜噜亚洲aⅴ| 国产亚洲一区二区在线观看| 欧美日韩精品一区二区在线播放 | 久久精品91久久香蕉加勒比| 亚洲综合精品一区二区| 亚洲视频在线观看三级| 99re热精品| 999亚洲国产精| 99国产麻豆精品| 日韩午夜激情| 一本色道久久综合亚洲精品不卡 | 91久久国产综合久久蜜月精品| 亚洲欧美在线一区二区| 亚洲综合三区| 亚洲欧美日韩一区二区| 亚洲免费在线播放| 亚洲欧美国产视频| 香蕉久久夜色精品国产使用方法| 亚洲欧美一级二级三级| 午夜激情综合网| 午夜欧美大片免费观看| 欧美一区二区女人| 亚洲盗摄视频| 日韩视频永久免费| 亚洲手机成人高清视频| 亚洲一区二区黄| 欧美在线播放一区二区| 久久久另类综合| 欧美成年人视频网站| 欧美精品一区二区在线观看| 欧美日韩一区二区三区免费看| 欧美日韩国产经典色站一区二区三区| 欧美日本亚洲韩国国产| 欧美日韩在线亚洲一区蜜芽| 欧美日韩国语| 国产精品视频九色porn| 国产伦精品一区二区三区视频孕妇 | 久久国产精品网站| 亚洲精选一区| 一区二区三区不卡视频在线观看| 中日韩在线视频| 欧美中文字幕在线视频| 久热精品视频在线观看一区| 欧美精品97| 欧美午夜大胆人体| 国产亚洲a∨片在线观看| 亚洲电影在线免费观看| 99视频在线精品国自产拍免费观看| 亚洲午夜女主播在线直播| 欧美主播一区二区三区美女 久久精品人| 亚洲国产精品传媒在线观看| 99精品欧美一区| 欧美一二三区在线观看| 美玉足脚交一区二区三区图片| 欧美日韩精品伦理作品在线免费观看| 国产精品日韩| 亚洲国产精品久久久久秋霞蜜臀| 一区二区毛片| 亚洲电影在线| 亚洲夜间福利| 欧美在线观看网站| 欧美日韩成人一区二区三区| 国产喷白浆一区二区三区| 亚洲高清自拍| 午夜视频一区二区| 一本色道久久88综合亚洲精品ⅰ | 国产精品理论片在线观看| 韩国自拍一区| 在线视频你懂得一区| 亚洲承认在线| 亚洲欧美偷拍卡通变态| 欧美丰满高潮xxxx喷水动漫| 国产精品久久久久久亚洲调教 | 欧美精品色一区二区三区| 国产欧美亚洲一区| 亚洲精选视频免费看| 欧美一区二区福利在线| 亚洲一区成人| 欧美精品免费播放| 激情丁香综合| 亚洲一区免费视频| 99在线热播精品免费| 久久久在线视频| 国产精品色网| 99国产精品视频免费观看| 亚洲大片一区二区三区| 欧美影院成年免费版| 欧美日韩综合另类| 亚洲欧洲精品一区| 亚洲福利在线看| 久久精品国产一区二区电影| 国产精品毛片| 99视频在线观看一区三区| 亚洲精品乱码久久久久久| 久久久久久色| 国产精品一区二区三区久久| 国产精品99久久久久久人 | 欧美日韩一区二区三区免费看| 在线观看国产成人av片| 欧美亚洲专区| 午夜亚洲福利| 国产精品99一区二区| 亚洲精品久久嫩草网站秘色| 亚洲激情电影在线| 久久在精品线影院精品国产| 国产日韩一区在线| 亚洲欧美精品suv| 亚洲一区在线观看免费观看电影高清| 欧美3dxxxxhd| 在线日本高清免费不卡| 亚洲第一区在线观看| 久久精品国产一区二区三区免费看| 国产精品久久久久久久久免费 | 亚洲激情在线播放| 快射av在线播放一区| 国产一区欧美| 欧美专区一区二区三区| 久久九九国产精品怡红院| 国产欧美日韩伦理| 欧美一级在线播放| 久久精品夜色噜噜亚洲aⅴ| 国产欧美一区二区三区视频| 亚洲欧美中文在线视频| 欧美伊人久久| 国产亚洲精品福利| 久久成人国产| 美女精品国产| 亚洲肉体裸体xxxx137| 一本一本久久a久久精品综合麻豆| 欧美精品久久一区| 一区二区久久久久久| 亚洲欧美乱综合| 国产日韩精品久久| 久久精品国产视频| 欧美sm视频| 一本久久综合| 亚洲欧洲99久久| 国产日韩精品综合网站| 久久精品色图| 欧美国产日韩精品| 一区二区三区精品视频在线观看| 亚洲男人的天堂在线观看| 国产欧美日韩一区二区三区| 欧美一区二区三区视频在线 | 国产精品日韩久久久| 午夜性色一区二区三区免费视频| 久久久不卡网国产精品一区| 在线观看91精品国产入口| 日韩一区二区高清| 国产精品播放| 欧美在线综合视频| 欧美成人tv| 一区二区三区精品久久久| 欧美专区福利在线| 亚洲福利视频在线| 亚洲在线第一页| 国产一区二区三区免费不卡| 亚洲区一区二区三区| 国产精品mm| 午夜欧美精品| 欧美激情在线免费观看| 亚洲一区二区免费在线| 久久伊人精品天天| 夜夜嗨av一区二区三区| 久久激情视频| 亚洲日产国产精品| 欧美在线观看视频在线| 亚洲国产女人aaa毛片在线| 亚洲女人天堂av| 精品动漫3d一区二区三区免费版| 一本色道久久加勒比精品| 国产精品一二三视频| 91久久久一线二线三线品牌| 国产精品高潮在线| 亚洲国产精品久久久久| 欧美日韩在线视频一区| 亚洲高清视频在线观看| 国产精品va在线| 亚洲欧洲精品一区二区三区波多野1战4 | 久久都是精品| 欧美日韩黄色大片| 亚洲成色777777女色窝| 欧美视频一区二区三区四区| 久久精品2019中文字幕| 欧美无乱码久久久免费午夜一区 | 午夜欧美大尺度福利影院在线看| 在线播放日韩欧美| 午夜视黄欧洲亚洲| 日韩视频免费观看高清完整版| 久久久久国产精品一区| 一本色道久久88综合亚洲精品ⅰ | 欧美一区二区精品久久911| 欧美日韩精品三区| 久久精品欧美| 国产毛片一区| 亚洲一区二区三区乱码aⅴ| 在线观看久久av| 久久精品国产99国产精品| 夜夜嗨av一区二区三区|