- 相關推薦
串口通信在雙機冗余系統(tǒng)中應用
摘要: 本文扼要 分析 了當今帶專用檢測轉(zhuǎn)換電路的雙機冗余系統(tǒng)存在的可靠性 問題 ,提出了利用雙機的串行口代替專用檢測轉(zhuǎn)換電路,通過串行通信相互檢測主備機工作狀態(tài),由軟件完成備機切換成主機的新型設計思想,為 計算 機在 工業(yè) 實時監(jiān)控系統(tǒng) 應用 中的可靠性開辟新思路。關鍵詞: 雙機 冗余 軟件 切換 1、引言 冗余技術是計算機系統(tǒng)可靠性設計中常用的一種技術,是提高計算機系統(tǒng)可靠性的最有效 方法 ,同時也是鑒別各類計算機控制系統(tǒng)好壞的標志之一。故世界各地廠商推出的新產(chǎn)品都或多或少帶有冗余技術。如美國的honeywell、德國的西門子和日本的三武等,它們都有一個共同的特點,就是自己設計了專用檢測轉(zhuǎn)換電路來實現(xiàn)主備切換。本文提出一種新的構(gòu)思,取消專用檢測轉(zhuǎn)換電路,采用一種高效、實用的軟件冗余技術來完成雙機切換。2、冗余系統(tǒng)介紹雙機冗余包括cpu、擴展電路、電源和外設雙備份的全系統(tǒng)冗余,不但可簡化設計方案,還可大大地提高應用系統(tǒng)的可靠性。這種冗余系統(tǒng)具有如圖1所示的典型硬件結(jié)構(gòu)。在圖1所示的系統(tǒng)中,u1和u2單元的軟硬件結(jié)構(gòu)完全相同。如有必要,在設計各單元時,通過采用自診斷技術,軟件陷井或watch dog等系統(tǒng)自行恢復措施可使單元可靠性達到最大限度的提高。系統(tǒng)正常運行時,u1和u2中的一個單元處于正常工作狀態(tài)(把該單元稱為主機),完成應用功能,而另一個單元(備機)處于等待備用狀態(tài)。當檢測轉(zhuǎn)換電路檢測到主機不能正常工作時,自動啟動備機進入正常運行狀態(tài),完成應用功能。此時,可對故障單元進行脫線維護,在排除其故障后,可使其聯(lián)機進入等待備用狀態(tài)。顯然,這種冗余系統(tǒng)已大大提高了應用系統(tǒng)的可靠性,并基本保證了應用系統(tǒng)的不間斷運行。但仔細分析,就會發(fā)現(xiàn)它存在以下不足之處:① 系統(tǒng)存在可靠性瓶頸,當檢測轉(zhuǎn)換電路自身出現(xiàn)故障時,不能監(jiān)視主備機狀態(tài),也無法完成主備機自動切換功能;② 對于某些冗余系統(tǒng),當備機需要實時保留主機之間的數(shù)據(jù)備份時,檢測轉(zhuǎn)換電路無法完成主備機之間的數(shù)據(jù)通信功能;③ 由于需要設計檢測轉(zhuǎn)換電路,系統(tǒng)設計和實現(xiàn)復雜,引入了附加的不可靠因素。3、改進設計方案針對圖1所示的雙機冗余系統(tǒng)結(jié)構(gòu)和缺點,筆者實現(xiàn)了一個簡單高效、具有更高可靠性和主備機數(shù)據(jù)通信功能的改進設計方案。其基本設計思想是:不改變上述冗余系統(tǒng)的基本結(jié)構(gòu),但完全去掉專用的檢測轉(zhuǎn)換電路,利用主備機雙方的串行口和軟件相結(jié)合的方法,實現(xiàn)檢測轉(zhuǎn)換電路的功能和主備機之間的數(shù)據(jù)通信功能。在此改進的設計方案中,主備單元的硬件和軟件結(jié)構(gòu)完全相同,各單元的主備工作狀態(tài)由上電順序決定,先上電的一方自動進入主機工作狀態(tài),后上電者則進入備機狀態(tài)。主機在其工作過程中除實現(xiàn)應用功能外,定期向備機發(fā)送反映其工作正常的狀態(tài)數(shù)據(jù),當需要備份的數(shù)據(jù)發(fā)生變化時,主機及時向備機發(fā)送已更新的數(shù)據(jù)。此外,主機也定期接收來自備機的狀態(tài)數(shù)據(jù),當發(fā)生接收超時時,主機認為備機已經(jīng)發(fā)生故障,并通過本單元的顯示裝置向用戶給出通知信號,以便及時對備機進行脫線維護。備機在其工作過程中不完成應用功能,但定期接收來自主機的狀態(tài)數(shù)據(jù),當發(fā)生接收超時,備機認為主機以經(jīng)發(fā)生故障,自動切換進入主機工作狀態(tài),并通過本單元顯示裝置通知用戶,以便對原主機單元進行脫線維護。此外,備機還自動接收來自主機的備份數(shù)據(jù)并進行存儲備份。 4、軟件模板下面的軟件模板給出了筆者已實現(xiàn)的雙機冗余系統(tǒng)的軟件框架,和 應用 系統(tǒng)實現(xiàn)密切相關的部分用 自然 語言簡單描述,其余部分為visual c 源代碼,因此,這一軟件模板很容易移植到相似結(jié)構(gòu)的冗余系統(tǒng)中。該軟件模板以visual c 進行程序設計,常量ok,req,ack和nack分別表示主備機工作狀態(tài)正常,備份數(shù)據(jù)發(fā)送請求,肯定應答和否定應答信息的字符常量,main,standby分別是表示工作單元為主機或備機的常量標志。全局變量timeout用于設定以毫秒為單位的超時間隔,而update,cpustatus和failure分別是表示備份數(shù)據(jù)是否更新,主備機狀態(tài)和主備機是否發(fā)生故障的標志位變量。定時器0產(chǎn)生每隔1ms的定時中斷(采用queryperformancecounter((large_integer *)
【串口通信在雙機冗余系統(tǒng)中應用】相關文章:
Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應用06-04
探析Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應用05-29
談Openprocess在熱網(wǎng)監(jiān)控系統(tǒng)中的應用06-09
談智能決策支持系統(tǒng)及其在林業(yè)中的應用研究08-21
泰國鐵路通信信號工程中的計算機聯(lián)鎖系統(tǒng)08-09
電氣自動化系統(tǒng)在石油化工行業(yè)中應用論文05-14
淺析貝葉斯網(wǎng)絡在自適應超媒體系統(tǒng)中應用研究05-29
智能控制及其在機電一體化系統(tǒng)中的應用(通用5篇)05-23