一個(gè)分布式監(jiān)控系統(tǒng)的軟件設(shè)計(jì)
發(fā)布時(shí)間:2007/9/11 0:00:00 訪問次數(shù):469
摘 要 討論了一個(gè)分布式監(jiān)控系統(tǒng)的軟件設(shè)計(jì)。給出了系統(tǒng)結(jié)構(gòu)、冗余設(shè)計(jì)及軟件設(shè)計(jì)要點(diǎn)。
關(guān)鍵詞: 分布式系統(tǒng) 網(wǎng)絡(luò)通信ActiveX自動(dòng)化
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)見圖1,這是一個(gè)兩級(jí)分布式監(jiān)控系統(tǒng)。在現(xiàn)場(chǎng)級(jí)兩臺(tái)互為熱備的現(xiàn)場(chǎng)計(jì)算機(jī)通過現(xiàn)場(chǎng)總線與現(xiàn)場(chǎng)設(shè)備相連,實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù)并向現(xiàn)場(chǎng)設(shè)備傳送監(jiān)控級(jí)發(fā)來的控制指令,同時(shí)把各種實(shí)時(shí)信息發(fā)送到監(jiān)控級(jí)。在監(jiān)控級(jí),各監(jiān)控計(jì)算機(jī)通過TCP/IP以太網(wǎng)與各現(xiàn)場(chǎng)計(jì)算機(jī)相連以獲取現(xiàn)場(chǎng)數(shù)據(jù),并提供GUI以便操作人員監(jiān)視及控制現(xiàn)場(chǎng)設(shè)備。
2 冗余設(shè)計(jì)
對(duì)于可靠性要求較高的系統(tǒng),常常采用冗余設(shè)計(jì)以提高可靠性。本系統(tǒng)的現(xiàn)場(chǎng)計(jì)算機(jī)為雙機(jī)熱備,監(jiān)控級(jí)計(jì)算機(jī)也可根據(jù)需要進(jìn)行雙機(jī)熱備。
雙機(jī)熱備必須解決故障識(shí)別和狀態(tài)鏡象兩個(gè)問題,但為實(shí)現(xiàn)快速切換,應(yīng)盡量簡(jiǎn)化算法,同時(shí)盡量減少交換信息,因此如果狀態(tài)信息不是很重要,則不必隨主備信息一起傳送。基于上述思想,定義的主備機(jī)報(bào)文格式見圖2,各字段的含義如下:
(1)信息標(biāo)識(shí):標(biāo)識(shí)報(bào)文類型,共定義了三種報(bào)文:
a)普通報(bào)文:由主備機(jī)正常進(jìn)行交互用的報(bào)文,稱主機(jī)發(fā)往備機(jī)的報(bào)文為請(qǐng)求報(bào)文,備機(jī)發(fā)往主機(jī)的報(bào)文為應(yīng)答報(bào)文。
b)切換報(bào)文:當(dāng)主機(jī)想轉(zhuǎn)為備機(jī)時(shí),發(fā)送此報(bào)文。該報(bào)文是非常必要的,一種情況是當(dāng)現(xiàn)場(chǎng)計(jì)算機(jī)與現(xiàn)場(chǎng)設(shè)備失去聯(lián)系時(shí),就需要主動(dòng)進(jìn)行切換。
c)退出報(bào)文:當(dāng)某一臺(tái)機(jī)器退出時(shí),應(yīng)發(fā)送此報(bào)文,否則對(duì)方將認(rèn)為該機(jī)故障。
(2)主備標(biāo)志:指示本站是否為主機(jī),“1”表示主機(jī),“0”表示備機(jī)。
(3)判決標(biāo)志:當(dāng)主備機(jī)的主備標(biāo)志一致,即兩者同時(shí)為主機(jī)或同時(shí)為備機(jī)時(shí),應(yīng)根據(jù)判決標(biāo)志進(jìn)行切換,該標(biāo)志可以預(yù)先設(shè)定為一個(gè)值,也可以取IP地址或啟動(dòng)時(shí)間作為判決標(biāo)志。判決條件可以取大于或小于。
具體實(shí)現(xiàn)方法為:主機(jī)定時(shí)向備機(jī)發(fā)送請(qǐng)求報(bào)文,備機(jī)收到后就發(fā)一個(gè)應(yīng)答報(bào)文;同時(shí)另設(shè)一定時(shí)器,當(dāng)收到對(duì)方的一個(gè)報(bào)文就把該定時(shí)器清0,與此同時(shí)定時(shí)器定時(shí)加1。若定時(shí)器溢出,則表示對(duì)方故障,否則表示對(duì)方正常。程序包括定時(shí)發(fā)送、故障檢測(cè)及接收處理三部分,它們是并行工作的,流程圖見圖3。通過對(duì)發(fā)送定時(shí)器及檢測(cè)定時(shí)器定時(shí)間隔及檢測(cè)次數(shù)的設(shè)定,可以決定切換時(shí)間。
3 軟件設(shè)計(jì)
系統(tǒng)軟件分為現(xiàn)場(chǎng)級(jí)與監(jiān)控級(jí)兩部分,其中監(jiān)控級(jí)包括人機(jī)接口及監(jiān)控級(jí)自動(dòng)化服務(wù)器兩部分,見圖4。下面討論一下軟件設(shè)計(jì)中的關(guān)鍵問題。
3.1 數(shù)據(jù)傳輸方式及通信可靠性
本系統(tǒng)的網(wǎng)絡(luò)操作系統(tǒng)為Windows NT,網(wǎng)絡(luò)通信協(xié)議為TCP/IP,采用Windows Socket進(jìn)行通信程序的設(shè)計(jì)。Windows Socket有流式與數(shù)據(jù)報(bào)兩種。前者為面向連接服務(wù),后者為無連接服務(wù)?紤]到監(jiān)控系統(tǒng)的數(shù)據(jù)量較小,而對(duì)實(shí)時(shí)性要求較高,因此采用數(shù)據(jù)報(bào)方式。
采用數(shù)據(jù)報(bào)方式的另一點(diǎn)考慮是,它可以廣播。在本系統(tǒng)中,現(xiàn)場(chǎng)工控機(jī)采用定時(shí)廣播的方式傳輸數(shù)據(jù),這種方式有如下優(yōu)點(diǎn):
1) 解決了主備機(jī)之間的數(shù)據(jù)鏡像問題。
2) 不需設(shè)置IP地址。這有兩層含義,一方面發(fā)送方不需知道接收方的地址,因?yàn)镮P廣播地址是個(gè)固定地址;另一方面,各監(jiān)控計(jì)算機(jī)也不必知道各現(xiàn)場(chǎng)計(jì)算機(jī)的IP地址,因?yàn)楫?dāng)它收到廣播后,就可
摘 要 討論了一個(gè)分布式監(jiān)控系統(tǒng)的軟件設(shè)計(jì)。給出了系統(tǒng)結(jié)構(gòu)、冗余設(shè)計(jì)及軟件設(shè)計(jì)要點(diǎn)。
關(guān)鍵詞: 分布式系統(tǒng) 網(wǎng)絡(luò)通信ActiveX自動(dòng)化
1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)結(jié)構(gòu)見圖1,這是一個(gè)兩級(jí)分布式監(jiān)控系統(tǒng)。在現(xiàn)場(chǎng)級(jí)兩臺(tái)互為熱備的現(xiàn)場(chǎng)計(jì)算機(jī)通過現(xiàn)場(chǎng)總線與現(xiàn)場(chǎng)設(shè)備相連,實(shí)時(shí)采集現(xiàn)場(chǎng)數(shù)據(jù)并向現(xiàn)場(chǎng)設(shè)備傳送監(jiān)控級(jí)發(fā)來的控制指令,同時(shí)把各種實(shí)時(shí)信息發(fā)送到監(jiān)控級(jí)。在監(jiān)控級(jí),各監(jiān)控計(jì)算機(jī)通過TCP/IP以太網(wǎng)與各現(xiàn)場(chǎng)計(jì)算機(jī)相連以獲取現(xiàn)場(chǎng)數(shù)據(jù),并提供GUI以便操作人員監(jiān)視及控制現(xiàn)場(chǎng)設(shè)備。
2 冗余設(shè)計(jì)
對(duì)于可靠性要求較高的系統(tǒng),常常采用冗余設(shè)計(jì)以提高可靠性。本系統(tǒng)的現(xiàn)場(chǎng)計(jì)算機(jī)為雙機(jī)熱備,監(jiān)控級(jí)計(jì)算機(jī)也可根據(jù)需要進(jìn)行雙機(jī)熱備。
雙機(jī)熱備必須解決故障識(shí)別和狀態(tài)鏡象兩個(gè)問題,但為實(shí)現(xiàn)快速切換,應(yīng)盡量簡(jiǎn)化算法,同時(shí)盡量減少交換信息,因此如果狀態(tài)信息不是很重要,則不必隨主備信息一起傳送;谏鲜鏊枷,定義的主備機(jī)報(bào)文格式見圖2,各字段的含義如下:
(1)信息標(biāo)識(shí):標(biāo)識(shí)報(bào)文類型,共定義了三種報(bào)文:
a)普通報(bào)文:由主備機(jī)正常進(jìn)行交互用的報(bào)文,稱主機(jī)發(fā)往備機(jī)的報(bào)文為請(qǐng)求報(bào)文,備機(jī)發(fā)往主機(jī)的報(bào)文為應(yīng)答報(bào)文。
b)切換報(bào)文:當(dāng)主機(jī)想轉(zhuǎn)為備機(jī)時(shí),發(fā)送此報(bào)文。該報(bào)文是非常必要的,一種情況是當(dāng)現(xiàn)場(chǎng)計(jì)算機(jī)與現(xiàn)場(chǎng)設(shè)備失去聯(lián)系時(shí),就需要主動(dòng)進(jìn)行切換。
c)退出報(bào)文:當(dāng)某一臺(tái)機(jī)器退出時(shí),應(yīng)發(fā)送此報(bào)文,否則對(duì)方將認(rèn)為該機(jī)故障。
(2)主備標(biāo)志:指示本站是否為主機(jī),“1”表示主機(jī),“0”表示備機(jī)。
(3)判決標(biāo)志:當(dāng)主備機(jī)的主備標(biāo)志一致,即兩者同時(shí)為主機(jī)或同時(shí)為備機(jī)時(shí),應(yīng)根據(jù)判決標(biāo)志進(jìn)行切換,該標(biāo)志可以預(yù)先設(shè)定為一個(gè)值,也可以取IP地址或啟動(dòng)時(shí)間作為判決標(biāo)志。判決條件可以取大于或小于。
具體實(shí)現(xiàn)方法為:主機(jī)定時(shí)向備機(jī)發(fā)送請(qǐng)求報(bào)文,備機(jī)收到后就發(fā)一個(gè)應(yīng)答報(bào)文;同時(shí)另設(shè)一定時(shí)器,當(dāng)收到對(duì)方的一個(gè)報(bào)文就把該定時(shí)器清0,與此同時(shí)定時(shí)器定時(shí)加1。若定時(shí)器溢出,則表示對(duì)方故障,否則表示對(duì)方正常。程序包括定時(shí)發(fā)送、故障檢測(cè)及接收處理三部分,它們是并行工作的,流程圖見圖3。通過對(duì)發(fā)送定時(shí)器及檢測(cè)定時(shí)器定時(shí)間隔及檢測(cè)次數(shù)的設(shè)定,可以決定切換時(shí)間。
3 軟件設(shè)計(jì)
系統(tǒng)軟件分為現(xiàn)場(chǎng)級(jí)與監(jiān)控級(jí)兩部分,其中監(jiān)控級(jí)包括人機(jī)接口及監(jiān)控級(jí)自動(dòng)化服務(wù)器兩部分,見圖4。下面討論一下軟件設(shè)計(jì)中的關(guān)鍵問題。
3.1 數(shù)據(jù)傳輸方式及通信可靠性
本系統(tǒng)的網(wǎng)絡(luò)操作系統(tǒng)為Windows NT,網(wǎng)絡(luò)通信協(xié)議為TCP/IP,采用Windows Socket進(jìn)行通信程序的設(shè)計(jì)。Windows Socket有流式與數(shù)據(jù)報(bào)兩種。前者為面向連接服務(wù),后者為無連接服務(wù)?紤]到監(jiān)控系統(tǒng)的數(shù)據(jù)量較小,而對(duì)實(shí)時(shí)性要求較高,因此采用數(shù)據(jù)報(bào)方式。
采用數(shù)據(jù)報(bào)方式的另一點(diǎn)考慮是,它可以廣播。在本系統(tǒng)中,現(xiàn)場(chǎng)工控機(jī)采用定時(shí)廣播的方式傳輸數(shù)據(jù),這種方式有如下優(yōu)點(diǎn):
1) 解決了主備機(jī)之間的數(shù)據(jù)鏡像問題。
2) 不需設(shè)置IP地址。這有兩層含義,一方面發(fā)送方不需知道接收方的地址,因?yàn)镮P廣播地址是個(gè)固定地址;另一方面,各監(jiān)控計(jì)算機(jī)也不必知道各現(xiàn)場(chǎng)計(jì)算機(jī)的IP地址,因?yàn)楫?dāng)它收到廣播后,就可
熱門點(diǎn)擊
- 基于51單片機(jī)超聲波測(cè)距器設(shè)計(jì)
- 可編程靜電消除監(jiān)視儀TREK 157
- 四端口晶片射頻測(cè)量方法取得進(jìn)展
- SD卡在斷路器離線測(cè)試儀中的應(yīng)用
- 芯片IP保護(hù)技術(shù)升級(jí),矛頭直指代工廠環(huán)節(jié)
- 防腐工程中陰極保護(hù)電流檢測(cè)系統(tǒng)的設(shè)計(jì)
- 利用NVH分析法降低汽車車內(nèi)噪音
- 超導(dǎo)探測(cè)器技術(shù)與發(fā)展
- 低照度CCD圖像采集及噪聲預(yù)處理
- DS18B20構(gòu)成的多點(diǎn)溫度測(cè)量系統(tǒng)的設(shè)計(jì)
推薦技術(shù)資料
- 滑雪繞樁機(jī)器人
- 本例是一款非常有趣,同時(shí)又有一定調(diào)試難度的玩法。EDE2116AB... [詳細(xì)]
- AMOLED顯示驅(qū)動(dòng)芯片關(guān)鍵技
- CMOS圖像傳感器技術(shù)參數(shù)設(shè)計(jì)
- GB300 超級(jí)芯片應(yīng)用需求分
- 4NP 工藝NVIDIA Bl
- GB300 芯片、NVL72
- 首個(gè)最新高端芯片人工智能服務(wù)器
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究