朱耀春 陸會明
隨著計算機、微電子技術(shù)的發(fā)展,工業(yè)控制領(lǐng)域也發(fā)生著深刻的變化,智能儀表被大量應(yīng)用到工業(yè)現(xiàn)場,它們提供了以前無法得到的大量信息。這些智能儀表與上層監(jiān)控計算機的通信除了采用現(xiàn)場總線方式外,較簡單的還使用RS485總線方式,目前很多智能模塊就是采用RS485總線方式的,如研華公司的亞當(dāng)系列智能模塊,富士電機公司的變頻器系列等等。當(dāng)這些智能模塊與上層監(jiān)控計算機組成監(jiān)控系統(tǒng)時,如果只采用一臺監(jiān)控計算機與下層通信,一旦計算機硬件出現(xiàn)故障,將直接影響整個系統(tǒng)的應(yīng)用。為了提高系統(tǒng)的可靠性,最好采用雙機形式或多機形式來實現(xiàn)對下層系統(tǒng)的監(jiān)控。
1 RS485總線在雙機通信中的問題
RS485接口可連接成半雙工和全雙工兩種通信方式,半雙工是兩線制,全雙工是四線制,目前工業(yè)控制領(lǐng)域大部分RS485通信網(wǎng)絡(luò)都采用的是半雙工方式。但是由于RS485總線的特點,當(dāng)采用半雙工通信方式時同一時刻只能有一個節(jié)點(指掛接的負載或計算機)為主設(shè)備,即可占用總線發(fā)送數(shù)據(jù),當(dāng)采用雙機或多機方式監(jiān)控時,多臺計算機同時對下層智能模塊發(fā)送數(shù)據(jù)時必然要形成數(shù)據(jù)對撞導(dǎo)致數(shù)據(jù)不可用,從而使系統(tǒng)癱瘓。如何解決此問題是控制領(lǐng)域的一大難題。
2 目前的解決方式
目前的解決方式可列舉如下:
(1) 實行雙機熱備
雙機熱備就是在一個監(jiān)控系統(tǒng)中有兩臺計算機同時工作,一臺為主機,一臺為輔機。通常情況下由主機通過RS485總線與下層設(shè)備進行通信,從機通過網(wǎng)絡(luò)(TCP/IP)實時監(jiān)視主機狀態(tài),并從主機的網(wǎng)絡(luò)數(shù)據(jù)庫獲取所需的數(shù)據(jù),一旦發(fā)現(xiàn)主機停止響應(yīng),便接管控制。
當(dāng)主機正常工作時,從機不啟動自身的I/O驅(qū)動程序進行數(shù)據(jù)采集,當(dāng)從機接管控制,才啟動I/O驅(qū)動程序采集。當(dāng)故障的主機重新啟動后,發(fā)現(xiàn)從機已經(jīng)轉(zhuǎn)為主機,首先詢問從機是否因主機故障而轉(zhuǎn)為主機,如果是,主機將與從機信息同步,同步完成后,從機停止控制工作,將控制權(quán)還給主機。
從理論上講這種方法是一種非常可行的方法,兩臺計算機只有一臺啟動I/O驅(qū)動程序,也就是同一時刻只有一臺計算機訪問RS485總線,不會發(fā)生數(shù)據(jù)碰撞。但是這種方式有以下問題:
① 兩臺計算機必須通過網(wǎng)絡(luò)相互通信,一旦網(wǎng)絡(luò)通信發(fā)生中斷則兩臺計算機必然都將成為主機,從而都將啟動I/O驅(qū)動程序,會同時訪問RS485總線,使系統(tǒng)癱瘓。
② 一般來講系統(tǒng)啟動I/O驅(qū)動程序需要一定時間,在主機故障從機接管控制的過程中,從機需要啟動I/O驅(qū)動,這樣在這段時間里整個監(jiān)控系統(tǒng)處于無人監(jiān)管的狀態(tài)下。
③ 主機故障排除后要重新接管控制,而此時從機的I/O驅(qū)動已經(jīng)啟動,如何再退出I/O驅(qū)動也是比較困難的。
④ 當(dāng)主機的串口卡出現(xiàn)異常時,從機不能判斷主機的串口卡是否工作正常,也就失去了雙機的優(yōu)勢所在。
實際上目前許多組態(tài)軟件實現(xiàn)雙機熱備時,主機和從機的I/O
熱點新聞
推薦產(chǎn)品