雙機備份是工業(yè)上實現數據的連續(xù)采集和數據安全的一種重要手段,工程上實現雙機備份有比較多的可選的方案,現在就MCGS5.1現有構件和快速的基礎上如何就功能比較強大的雙機備份方案進行實現。
1 MCGS5.1雙機備份方案的適用范圍
在中小型的工程項目中,對數據的實時采集和數據的保存有比較高的要求。但是,由于工程規(guī)模的限制,無法投入巨大的資金采購專業(yè)的雙機備份硬件和解決方案。而在實現工程的上位機組態(tài)的同時希望使用現有的組態(tài)軟件,實現比較完全的雙機備份功能。
在各個現場的工作站中,對數據的保存有比較高的要求,而現場的條件又無法使用很高檔的雙機備份方案,并且現場的工作站比較多,如果全部都使用專業(yè)的雙機備份方案的話,工程成本就會很高。為了既能實現對數據的保存性要、又要實現成本控制原則。用戶一般會尋求折中的方法實現類似的“假雙機備份”方案,那么使用上位機組態(tài)軟件實現的雙機備份將會是他們很好的選擇。
1.1 MCGS5.1實現雙機備份的基本硬件要求
雙機備份,顧名思義是通過兩臺計算機實現數據、資料的備份。那么一般的工業(yè)現場會使用雙機備份來進行什么樣的工作呢。
實際上,人們對雙機備份的一般要求是:實現采集到的實時數據能夠在兩臺計算機上同時存儲。在其中一臺計算機(一般都是實際采集數據的計算機)失效以后,希望備用的計算機能夠接替采集計算機進行數據的采集和存儲,并且發(fā)出告警信號,通知監(jiān)視人員處理采集計算機的故障。當采集計算機恢復正常以后,自動接替?zhèn)溆糜嬎銠C工作,恢復初始的工作狀態(tài)。假如有需求,還希望在備份計算機接替工作時期的存儲數據能夠恢復到采集計算機上,真正實現數據的連續(xù)備份。
對于工業(yè)現場的用戶要求,我們有了明確的認識以后,對實現雙機備份的硬件也就會有了一定的雛形。
首先,對備用機器能夠在采集計算機出現問題以后接替采集計算機的全部工作,那么備用計算機就應該具備有采集計算機上的全部硬件設備,至少是所有的信號接口。在信號處理能力上,備份計算機應該有和采集計算機同等的處理能力。這些要求的實現就是說,備份計算機必須是盡量和采集計算機使用相同的配置,雙份的外部采集設備(至少雙份的采集接口)。并且兩臺計算機之間能夠實時的通訊,以達到實時檢測相互間工作狀態(tài)的要求。這就要求,兩臺計算機間有能夠相互通訊的物理條件通訊線路,并且這個通訊線路是獨立于現場信號線路的專用檢測“心跳”線路。
其次,對于影響計算機使用的條件,兩臺計算機又要求盡量的獨立,把同一不良因素對兩臺計算機的影響減少到最小。那么在情況允許的條件下,盡量的使用分離的獨立電源,使用功能相似,但是不是同一生產廠家生產的板卡和硬盤、CPU等硬件。不過在組合配置之前請測試兩種不同配置的穩(wěn)定性和兼容性問題。
在滿足上述要求后的現場硬件條件下,我們可以放心的進行軟件上的雙機備份的實現了。
2 MCGS5.1實現雙機備份的軟件基本要求
使用北京昆侖通態(tài)自動化軟件科技有限公司出品的MCGS組態(tài)軟件實現雙機備份是一個比較簡單而又令人興奮的事情。很顯然,在雙機備份的兩臺計算機上必須都要安裝有相同版本號(最好是這樣)的MCGS5.1的組態(tài)軟件;在兩臺計算機上使用的工程組態(tài)文件是同一工程組態(tài)文件的采集機版本和備份機版本;在兩臺計算機的并口上都應該插有相同點數的軟件狗。如果備份機同時擔負網絡服務器的角色的話,在服務器上使用的是具有工程相同點數的帶客戶端的WWW軟件狗。
技術預備
“心跳”技術它們通過100M網卡和100M網線連接在一起,網線采用跳線方式,即主機一端的8根網線中的1、2、3、6分別對應輔機一端的3、6、1、2,雙機之間以TCP/IP協(xié)議進行點對點數據通訊,以心跳信息技術進行相互監(jiān)測。

圖1.1 為 心跳檢測技術
心跳信息技術:顧名思義,就象檢測人的心跳一樣,定時檢測一個全局變量是否在變化,如果在規(guī)定的時間片段內沒有變化,就判定對方死亡的一種方法。上圖顯示了輔機感知主機的心跳情況。
主機和輔機之間進行通訊,主機程序設置全局變量AutoIncrease,它每隔1秒自動增加1(如果超過100000,則清零,從頭開始),并且發(fā)送到輔機。輔機程序設置3個全局變量(舊值OldValue,新值NewValue和累計相同次數計數器mNum)。輔機收到主機發(fā)來的心跳數據并把它賦給NewValue,輔機的定時程序每隔1秒啟動一次,判斷OldValue是否等于NewValue,如果相同,累計相同次數計數器mNum自增1,否則mNum清零,并且令OldValue等于NewValue。接著判斷mNum是否大于5,如果是,說明主機已有5秒鐘沒有向輔機發(fā)送心跳數據AutoIncrease,這就證明主機出了故障(可能是死機、重起系統(tǒng)、退出計量系統(tǒng)等),從而輔機判斷主機死亡,接著程序觸發(fā)輔機接替主機的工作。如果mNum小于5,說明主機正常,輔機可以照常運行。
3 MCSG5.1實現雙機備份的幾種可選方案的實現過程
3.1 單一現場站實現雙機備份

圖1.2 雙機備份系統(tǒng)典型模型
單一現場站服務器實現雙機備份
采集計算機實現的功能同第一中方案中的功能一致,而備份計算機在實現對采集計算機的數據和功能上的備份外,還作為提供IE瀏覽的服務器,實現網絡IE瀏覽的功能。對備份計算機來說,在正常工作狀態(tài)下,它只負責接收從采集計算機上發(fā)過來的數據,并且使用MCGS5.1WWW版本提供的HTTP功能對外發(fā)送IE瀏覽的畫面;在采集計算機失效的情況下,備份計算機在接替采集計算機工作的同時,還要提供外部IE瀏覽的服務。所以,在備份計算機上應該使用MCGS5.1的網絡版本,使用有和采集計算機使用軟件狗相同點數的網絡版的帶客戶端的軟件狗。由于在采集計算機失效的情況,備份計算機完成了兩臺計算機的全部工作,所以請盡快恢復采集計算機的工作,避免備份計算機走向崩潰。
3.3 多采集站與服務器之間實現雙機備份
在這種現場使用的情況下,現場的計算機只是負責采集現場的數據,再通過TCP/IP或485或電話線、微波、無線電臺把采集到的,并且初步處理過的數據發(fā)送到中心控制處的服務器上,由服務器把所有采集上來的數據進行加工處理,提供同一的存儲、顯示、報表和打印,并且為外部瀏覽提供服務。
多機的備份就可以分為采集計算機的備份和服務器的備份。采集計算機的備份機是一臺可以提供和采集計算機功能一致,并且能和采集計算機通訊的備份機。服務器的備份機和服務器功能一致,也能提供數據的加工處理、存儲、顯示和報表打印的功能(不過在現場的要求提供如此復雜的雙機備份方案的話,那么工程使用的費用就會加倍)。

備份的實現
對于MCGS5.1組態(tài)軟件實現雙機備份的技術關鍵是在網絡設備中的網絡子設備中。網絡子設備里面的網絡數據同步的網絡屬性中,提供了一個叫做網絡工作狀態(tài)對象的屬性值。通過把網絡工作狀態(tài)的值賦予一個實時數據庫中的變量,我們只要判斷變量的值就可以得出網絡的通訊狀態(tài)。
網絡子設備必須掛在通訊的父設備上,通訊的父設備是一種概念。它是計算機上各種物理的通訊接口的概括,為數據傳送和計算機對數據的處理提供了一個通道和工具。
網絡父設備對應到具體的物理接口可以是:
計算機通用的RS-232C串行通訊接口
實現網絡聯結的基本體系TCP/IP網絡接口
工業(yè)上最常見的RS-485/RS-422接口
最容易實現,也是最通用的MODEM+電話線的通訊接口
可以實現移動通訊的無線電臺通訊接口
對應的網絡子設備可以掛接到現成任何可提供的網絡父設備上。
完成對網絡設備的設置就已經把雙機備份硬件部分完成了,而網絡父設備和網絡子設備的使用如果還有什么疑問的,請參閱MCGS的在線幫助系統(tǒng)。
軟件上,備份計算機和采集計算機使用大部分相同的組態(tài)工程文件,組態(tài)工程文件上備份計算機和采集計算機不同之處在于設備組態(tài)。由于備份計算機具有和采集計算機相同的外部設備接口,在備份計算機的設備組態(tài)窗口中,使用和采集計算機相同的設備組態(tài)。即添加相同的設備,連接相同的變量,只是在設備的初始狀態(tài)處設置為停止,并且外部設備工作與否必須和網絡通訊狀態(tài)聯系起來,當備份計算機檢測到采集計算機沒有響應,或是連接兩臺計算機的通訊線路故障,便會啟動掛接在備份計算機上的外部設備,進行數據的采集工作。而由于備份計算機擁有與采集計算機相同的組態(tài)文件,對數據的反映和數據的處理是相同的。這樣保證了數據處理的連續(xù)性。
在兩臺計算機通訊恢復正常后,網絡通訊狀態(tài)變量回到正常的值,受網絡通訊狀態(tài)控制的外部設備接口的工作狀態(tài)恢復為停止。這樣,采集計算機就將接替?zhèn)浞萦嬎銠C的工作,恢復正常的采集工作。