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