【摘 要】為了提高計(jì)算機(jī)軟件系統(tǒng)穩(wěn)定性、通訊可靠性通常采用計(jì)算機(jī)雙主機(jī)冗余設(shè)計(jì)來降低系統(tǒng)崩潰、通訊故障的幾率。在工程應(yīng)用中,大屏幕顯示屏冗余顯示控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)顯得尤為重要,本文主要描述了該系統(tǒng)的一種設(shè)計(jì)和實(shí)現(xiàn)方法。
【關(guān)鍵詞】冗余;大屏幕顯示控制系統(tǒng)
1.引言
在工程應(yīng)用中,室內(nèi)外大屏幕顯示屏基本由計(jì)算機(jī)來完成數(shù)據(jù)接收與顯示控制工作。尤其對(duì)于要求顯示實(shí)時(shí)數(shù)據(jù)并且不間斷工作的系統(tǒng),計(jì)算機(jī)軟件故障與通訊故障是整個(gè)系統(tǒng)的故障頻發(fā)點(diǎn)。我們?yōu)榱颂岣呦到y(tǒng)穩(wěn)定性、通訊可靠性通常采用雙主機(jī)冗余設(shè)計(jì)來降低系統(tǒng)崩潰、通訊故障的幾率。本文主要闡述了一種大屏幕顯示系統(tǒng)雙主機(jī)冗余控制的設(shè)計(jì)思路與實(shí)現(xiàn)方法。
2.冗余介紹
冗余就是增加備用系統(tǒng),以保證一個(gè)主機(jī)在工作中出現(xiàn)致命問題不能恢復(fù)時(shí),自動(dòng)切換由另外一臺(tái)主機(jī)接管,保證兩個(gè)主機(jī)不在同時(shí)出現(xiàn)故障時(shí)不影響系統(tǒng)正常工作。
目前,控制系統(tǒng)冗余通常采用并聯(lián)結(jié)構(gòu),如圖1所示。并聯(lián)結(jié)構(gòu)的熱備冗余是使若干同樣單元并聯(lián)運(yùn)行,只有當(dāng)組成系統(tǒng)的并聯(lián)單元全部失效時(shí)系統(tǒng)才會(huì)停止工作。
圖1 并聯(lián)系統(tǒng)冗余圖
假如一個(gè)系統(tǒng)由n個(gè)子系統(tǒng)組成,設(shè)系統(tǒng)各個(gè)子系統(tǒng)的可靠性分別用R1,R2…Rn表示,則系統(tǒng)的可靠性R=1-(1-R1)×(1-R2)×…×(1-Rn)。
假如所有子系統(tǒng)的失效率均為:λ,則系統(tǒng)的失效率為:micro;
3.系統(tǒng)介紹
在工業(yè)自動(dòng)化控制系統(tǒng)中,控制和系統(tǒng)監(jiān)視部分主要包含有PLC(可編程控制器)和HMI(人機(jī)界面)組成,PLC采集現(xiàn)場傳感器等檢測設(shè)備信號(hào)經(jīng)過計(jì)算后發(fā)出控制指令到現(xiàn)場執(zhí)行元件完成設(shè)備控制任務(wù)。與此同時(shí)并將現(xiàn)場采集數(shù)據(jù)和控制狀態(tài)數(shù)據(jù)發(fā)送給多個(gè)HMI,由HMI通過數(shù)據(jù)顯示或圖文表達(dá)等多種方式表現(xiàn)設(shè)備運(yùn)行狀態(tài)供操作人員觀察設(shè)備狀和輔助設(shè)備操作。大屏幕安裝在設(shè)備旁比較醒目的位置,顯示重要過程數(shù)據(jù),指導(dǎo)操作員進(jìn)行機(jī)旁設(shè)備操作。因此該系統(tǒng)穩(wěn)定運(yùn)行,顯得尤為重要。
本系統(tǒng)是基于雙主機(jī)熱備冗余的基本設(shè)計(jì)思想,即由兩臺(tái)計(jì)算機(jī)同時(shí)運(yùn)行大屏幕顯示數(shù)據(jù)采集與數(shù)據(jù)顯示控制程序。大屏幕顯示系統(tǒng)與HMI共用計(jì)算機(jī),顯示數(shù)據(jù)分別由兩臺(tái)計(jì)算機(jī)提供的本地DDE接口傳送。在同一時(shí)刻由一臺(tái)計(jì)算機(jī)工作,當(dāng)出現(xiàn)故障時(shí)立即啟用備用計(jì)算機(jī)繼續(xù)故障,保證整個(gè)系統(tǒng)的不間斷工作。目前考慮的故障點(diǎn)主要包括數(shù)據(jù)采集故障、網(wǎng)絡(luò)故障、大屏幕顯示控制故障。
系統(tǒng)結(jié)構(gòu)設(shè)計(jì)如下圖2所示結(jié)構(gòu):兩臺(tái)HMI計(jì)算機(jī)、PLC、大屏幕均連接在工業(yè)以太網(wǎng)中。HMI計(jì)算機(jī)通過工業(yè)以太網(wǎng)與PLC通訊讀取數(shù)據(jù),大屏幕顯示系統(tǒng)通過本地DDE獲取大屏幕顯示數(shù)據(jù),然后通過工業(yè)以太網(wǎng)將數(shù)據(jù)發(fā)送給大屏幕。
圖2 系統(tǒng)結(jié)構(gòu)圖
3.1 設(shè)計(jì)基本原則
1)具有大屏幕內(nèi)容顯示控制功能。2)具有與數(shù)據(jù)源(HMI)自動(dòng)故障判斷,自動(dòng)故障恢復(fù)功能。3)故障在較短時(shí)間無法自動(dòng)恢復(fù)時(shí),要求自動(dòng)冗余切換,不影響大屏幕顯示。4)單機(jī)網(wǎng)絡(luò)故障時(shí),自動(dòng)冗余切換。
3.2 系統(tǒng)組成與工作原理
一般大屏幕顯示控制卡給用戶提供了二次開發(fā)接口,我們可通過板卡廠家提供的控制函數(shù)基于高級(jí)開發(fā)語言進(jìn)行數(shù)據(jù)顯示軟件開發(fā)。這種方式相對(duì)比較靈活,可通過用戶自己編程隨意附加其他軟件功能。
兩臺(tái)HMI系統(tǒng)分別以DDE數(shù)據(jù)接口發(fā)送實(shí)時(shí)數(shù)據(jù)給大屏幕顯示系統(tǒng),同時(shí)發(fā)送運(yùn)行狀態(tài)信號(hào)供大屏幕顯示系統(tǒng)自動(dòng)判斷HMI系統(tǒng)故障并且自動(dòng)完成備用系統(tǒng)啟動(dòng)。當(dāng)其中出現(xiàn)故障狀態(tài),軟件再次嘗試重新初始化,并再次嘗試獲取數(shù)據(jù),當(dāng)該過程進(jìn)行過系統(tǒng)設(shè)定次數(shù)后仍然無法成功通訊,則認(rèn)為系統(tǒng)狀態(tài)故障,并發(fā)出故障信號(hào)。經(jīng)過后續(xù)步驟處理切換到備用計(jì)算機(jī)工作后,系統(tǒng)繼續(xù)進(jìn)行通訊初始化并獲取數(shù)據(jù),直到通訊正常建立,并根據(jù)冗余結(jié)構(gòu)流程處于待命狀態(tài)。
兩臺(tái)互為冗余計(jì)算機(jī)間相互傳遞心跳數(shù)據(jù)用于判斷對(duì)方系統(tǒng)運(yùn)行狀態(tài),當(dāng)工作計(jì)算機(jī)出現(xiàn)數(shù)據(jù)源故障或系統(tǒng)內(nèi)部故障時(shí)停止發(fā)送心跳數(shù)據(jù),此時(shí)對(duì)方計(jì)算機(jī)無法正常接收到心跳數(shù)據(jù)時(shí),系統(tǒng)進(jìn)行冗余切換,并開始由切換后計(jì)算機(jī)發(fā)送心跳數(shù)據(jù)。
軟件冗余工作機(jī)制為兩臺(tái)計(jì)算機(jī)同時(shí)由HMI實(shí)時(shí)采集數(shù)據(jù),任一計(jì)算機(jī)啟動(dòng)時(shí),進(jìn)入競爭及檢測狀態(tài),競爭原則是先啟動(dòng)者為主計(jì)算機(jī),后啟動(dòng)者為備用計(jì)算機(jī)。先由主計(jì)算機(jī)承擔(dān)大屏幕顯示控制任務(wù),主計(jì)算機(jī)故障時(shí),備用計(jì)算機(jī)升為主計(jì)算機(jī)繼續(xù)進(jìn)行大屏幕顯示控制;此時(shí)主機(jī)算計(jì)機(jī)切換為備用計(jì)算機(jī),當(dāng)該計(jì)算機(jī)故障修復(fù)后,繼續(xù)進(jìn)入競爭及檢測狀態(tài)。
系統(tǒng)運(yùn)行及冗余過程如下:
1)主計(jì)算機(jī)啟動(dòng),通過自檢,如果數(shù)據(jù)采集正常,并且能夠成功控制大屏幕顯示系統(tǒng)工作,此時(shí),主計(jì)算機(jī)開始發(fā)送心跳數(shù)據(jù)。
2)工作過程中如果主計(jì)算機(jī)自檢到系統(tǒng)工作故障并且無法自動(dòng)恢復(fù),主計(jì)算機(jī)停止發(fā)送心跳數(shù)據(jù)。主計(jì)算機(jī)自動(dòng)轉(zhuǎn)為備用計(jì)算機(jī)。
3)備用計(jì)算機(jī)啟動(dòng),同時(shí)進(jìn)行數(shù)據(jù)采集,并且監(jiān)測主計(jì)算機(jī)心跳數(shù)據(jù),如果心跳數(shù)據(jù)正常,備用計(jì)算機(jī)保持?jǐn)?shù)據(jù)采集狀態(tài),時(shí)刻準(zhǔn)備競爭為主計(jì)算機(jī)進(jìn)入工作狀態(tài)。
4)若主計(jì)算機(jī)發(fā)生故障,備用計(jì)算機(jī)不能在規(guī)定時(shí)間內(nèi)接收到主計(jì)算機(jī)發(fā)送的心跳數(shù)據(jù),備用計(jì)算機(jī)經(jīng)核實(shí)主計(jì)算機(jī)已停止工作,此時(shí)備用計(jì)算機(jī)開始啟動(dòng)工作,自動(dòng)轉(zhuǎn)入主機(jī)狀態(tài)。
5)進(jìn)入故障狀態(tài)的計(jì)算機(jī)給出報(bào)警信息,經(jīng)修復(fù)后進(jìn)入再次競爭狀態(tài)。
4.開發(fā)要點(diǎn)
系統(tǒng)在開發(fā)和實(shí)際調(diào)試應(yīng)用過程中發(fā)現(xiàn)了一些細(xì)節(jié)性問題需要注意:
1)心跳數(shù)據(jù)傳送傳送通道應(yīng)采用專用通道完成,這樣避免由于數(shù)據(jù)交換繁忙影響心跳數(shù)據(jù)傳送延時(shí)而產(chǎn)生系統(tǒng)誤判斷系統(tǒng)故障。因此,在兩臺(tái)計(jì)算機(jī)上均采用雙網(wǎng)卡設(shè)計(jì),一對(duì)網(wǎng)卡專用于兩臺(tái)計(jì)算機(jī)心跳數(shù)據(jù)傳送。
2)由于整個(gè)工業(yè)以太網(wǎng)中數(shù)據(jù)交換量比較大,對(duì)于故障判斷數(shù)據(jù)應(yīng)采用濾波處理,減小誤判斷幾率。濾波方法可通過故障保持時(shí)間比較的方式來處理,設(shè)置時(shí)間閾值,當(dāng)故障保持時(shí)間超出閾值范圍時(shí)認(rèn)為故障發(fā)生。但是這種方法會(huì)造成的負(fù)面影響是加長故障時(shí)系統(tǒng)切換時(shí)間。在不影響系統(tǒng)使用的前提下,閾值時(shí)間可根據(jù)實(shí)際工作環(huán)境來調(diào)整。
3)顯示控制板卡應(yīng)選用穩(wěn)定性好并且利于進(jìn)行二次開發(fā)的產(chǎn)品,不會(huì)因?yàn)榫W(wǎng)絡(luò)故障或數(shù)據(jù)發(fā)送中斷等原因產(chǎn)生板卡宕機(jī)等問題出現(xiàn)。
5.結(jié)論
本系統(tǒng)通過軟件方式實(shí)現(xiàn)大屏幕顯示系統(tǒng)雙機(jī)冗余功能,不僅提高了系統(tǒng)穩(wěn)定性而且大大降低了制造成本。通過這種方式,使系統(tǒng)故障率極大降低,減少了人員維護(hù)幾率。
參考文獻(xiàn):
[1]機(jī)械電子工業(yè)部.電氣傳動(dòng)自動(dòng)化技術(shù)手冊(cè)[M].機(jī)械工業(yè)出版社,1993.
[2]陽憲惠.現(xiàn)場總線技術(shù)及其應(yīng)用[M].北京:清華大學(xué)出版社,1999.
作者簡介:相歲女(1981—),女,西安外事學(xué)院工學(xué)院講師。