專利名稱::冗余配置的自控系統及配置方法
技術領域:
:本發(fā)明涉及自動控制系統,尤其涉及一種冗余配置的自控系統及配置方法。
背景技術:
:為提高自控系統的可靠性,通常采用冗余配置的技術手段。例如,國、內外汽輪機ETS控制系統均采用三冗余系統,該系統的控制策略是采取硬件完全冗余和令牌的方式保證整個系統的高可靠性,通過數據總線進行數據傳輸。數據總線采用邏輯令牌環(huán)作為介質訪問控制協議構成,總線上的每個節(jié)點都有權獲得令牌來發(fā)送數據,總線上沒有設置主通信控制器,通過多種類型的數據接口,總線控制器、通信模塊和總線接口單元來實現通信網絡。這種總線是一種點對點的"令牌總線"系統,在網絡中有一種電子"令牌"(Token)傳送給每臺設備,通過它傳輸輸入和診斷信息??偩€采用調頻(FSK)的方式對數據信號進行調制,即用高頻信號代表0,低頻信號代表l。這種調制方式使得總線的抗干擾性得到提高、傳輸距離增長。并采用如下方法保證通訊可靠進行每個數據被編碼后,連續(xù)發(fā)送三次,接收方作三選二表決,接收完一個完整的數據包之后,接收方會對整個數據包作CRC環(huán)冗余校驗,一旦校驗失敗,數據包會被要求重發(fā)。這種系統的優(yōu)點在于采用了硬件的完全冗余的方式,確保每個PLC能從三個輸入模塊接收數據;同時數據被編碼以后,會連續(xù)發(fā)送三次,在接收方進行三取二表決。在沖突避免的機制上,因為選取了令牌"Token"的方式,只有獲得了令牌控制權的設備才能夠將數據發(fā)送到總線上,保證了任意時刻最多只有一臺設備發(fā)送數據,不會出現總線上數據沖突的情況。而且根據令牌網的工作機制,任意一臺設備發(fā)送完數據以后,立即釋放令牌供其他站點使用,令牌周而復始的在環(huán)中巡游,各站獲得令牌的機會相同。這樣可以避免一臺設備長期占用令牌,而造成其它設備不能發(fā)送數據。但是,該系統也還存在下述缺點l.通信網絡由多種類型的數據接口,總線控制器、通信模塊和總線接口單元等構成,是完全的硬件冗余,結構復雜,故障幾率高,為了減少故障對系統的影響,需要設置故障掃描設備,增加了PLC的負擔。2.因通信網絡結構復雜,數據傳輸節(jié)點多、路徑長,數據傳輸時間長;3.因每組數據發(fā)送需要反復三次,接收方收到完整的數據包后進行CRC校驗,再返回一個確認數據包,數據發(fā)送占用的時間比較長,響應速度較慢。4.由于上述2、3兩條原因,數據必須采用高速傳輸,使一些低速的總線協議不能滿足這樣的要求。5.總線上沒有主控制器,可能造成PLC上的一些重要控制信息不能及時地送出去;當系統中有設備占用令牌后,不能正常地釋放令牌,會造成整條總線的失效。
發(fā)明內容本發(fā)明的目的,是提供一種沒有上述缺點的自控系統,該系統的結構簡單、故障率低;數據傳輸路徑簡捷、且每組數據只須一次發(fā)送,響應速度快;適用于各種速度的總線協議。本發(fā)明的技術解決方案如下—種冗余配置的自控系統,包括多個互聯的子系統,每一子系統具有輸入模塊、輸出模塊、主控制器、數據傳輸總線,所述輸入模塊、輸出模塊分別與數據傳輸總線連接;所述主控制器具有總線控制器;各主控制器的總線控制器的數量與子系統的數量相同,每一主控制器的各總線控制器,分別對應連接各子系統的數據傳輸總線;各子系統的輸入模塊向該子系統的總線控制器發(fā)送輸入信號,由該子系統的主控制器運算處理后,向該子系統的輸出模塊發(fā)送輸出信號,所有輸出模塊根據輸出信號進行表決,再將表決結果反饋至各自的總線控制器。所述主控制器具有總線控制權設定模塊,用于設定總線控制權,使之具備如下特性每條總線上具有唯一的控制權;僅當節(jié)點占有控制權時才具有發(fā)送數據的權利;節(jié)點完成數據發(fā)送任務后將控制權交至下游鄰居。上述總線控制權的設定方法,建立令牌傳遞環(huán)網,將其初始化,具體步驟是1).建立令牌傳遞環(huán)網-分配各節(jié)點的ID地址將令牌傳遞環(huán)網劃分成高、中、低三個ID段,按照輸入模塊節(jié)點、總線控制器節(jié)點、輸出模塊節(jié)點三種類型;將同類節(jié)點分配在相同的ID段中,并按照輸入模塊節(jié)點—總線控制器節(jié)點一輸出模塊節(jié)點的順序,地址由低到高逐點遞增;地址越小的節(jié)點所對應的優(yōu)先級越高;-定義幀格式2).令牌傳遞環(huán)網初始化由地址最高的節(jié)點生成令牌,讓令牌在環(huán)網上傳遞一周,確定各節(jié)點在網絡中的位置?;谏鲜隽钆苽鬟f環(huán)網的數據傳輸方法,生成令牌的節(jié)點向總線廣播數據幀,總線上的節(jié)點根據ID地址依次輪流占有令牌;當輸入模塊節(jié)點占有令牌時,將輸入數據發(fā)送給總線控制器,總線控制器將接收到的輸入數據放進輸入存儲區(qū),每次收到輸入數據后,請求CPU讀取輸入,將輸入存儲區(qū)數據發(fā)送給CPU;再把從CPU獲取的輸出數據放進輸出存儲區(qū),指令信號放在指令存儲區(qū);將輸出存儲區(qū)的輸出數據發(fā)送給同一條總線上的輸出模塊,再把指令信號發(fā)送到指定的模塊,在數據發(fā)送完之后,將令牌交給下游邏輯鄰居。本系統的有益技術效果1.結構簡單、硬件少、故障率低;2.節(jié)點數量少,數據傳輸路徑簡捷,且每組數據只須一次發(fā)送,響應速度快,靈敏度高;3.適用于各種速度的總線協議。下面以汽輪機ETS三冗余系統為例詳細說明本發(fā)明。附閨說明圖1是汽輪機ETS三冗余系統的結構框圖圖2是消息體定義圖圖3是本自控系統數據傳輸流程圖躺雄方《汽輪機ETS采用三冗余系統的目的是對采集到的機組運行參數進行穩(wěn)定可靠的判決,及時給出正確的控制信號,確保汽輪機的安全。三冗余ETS系統的設計目標是通過3取2表決機制來提供高系統的可靠性和安全性;系統能夠識別故障并自動對其進行診斷;允許在不中斷系統運行的情況下對其實施維修和更換部件;對系統傳感器,智能模塊,開關量等部件進行自測試。如圖l所示該系統在系統結構上包含三個無耦合連接到總線上的輸入模塊,三組無耦合連接的智能輸出模塊,三條獨立的數據傳輸總線,三套獨立運行的系統診斷程序,三個獨立的主控制器及隸屬于主控制器的用于控制三條總線的三個總線控制器。三冗余ETS系統擬采用物理上無耦合設計和分離式結構電路設計,使系統模塊更換靈活方便,模塊更換成本降低;外用于主控制器與輸入輸岀之間通信的I/0總線擬采用分布式設計思想,使系統輸入/輸出可以監(jiān)測系統其它智能模塊狀態(tài),并降低系統成本。三冗余ETS系統的硬件部分主要有四個子系統組成用于收集傳感器數據的輸入子系統;由三個同構主控制器組成的主控制器控制子系統;用于實現各模塊和主控制器之間通訊以及主控子系統內部通訊的通信子系統;控制公共輸出負載的輸出子系統。圖l的輸入模塊組由三個同構模塊構成,每組分別為可擴展的32路開關信號輸入。輸出模塊由兩個16路輸出的源模塊和漏模塊構成,具有可擴展性。輸入組中的三個輸入模塊分別經總線與主控制器(主控制器A,主控制器B,主控制器C),輸出模塊連接。各模塊在占有控制權時進行以下數據發(fā)送操作輸入模塊向三個總線控制器發(fā)送輸入數字量信號??偩€控制器將主控運算得到的輸出數字量信號發(fā)送給輸出模塊。輸出模塊將輸出表決結果發(fā)送至總線控制器。本發(fā)明的核心內容,是確立總線控制權,使之具備如下特性每條總線上具有唯一的控制權;僅當節(jié)點占有控制權時才具有發(fā)送數據的權利;節(jié)點完成數據發(fā)送任務后將控制權交至下游鄰居。確立總線控制權的方法是建立令牌傳遞環(huán)網,將其初始化,具體步驟是一、分配各節(jié)點的ID地址在三冗余ETS系統的一條總線上,每個節(jié)點有唯一的ID地址,各節(jié)點按照ID地址由低到髙構成一個邏輯環(huán)網,持有令牌的節(jié)點成為主節(jié)點,主節(jié)點數據發(fā)送完畢后,將令牌傳遞給ID地址較高的下游邏輯鄰居;ID地址最高的節(jié)點將令牌傳遞給ID地址最低的節(jié)點。令牌在總線上的按照固定的次序傳遞,為各個節(jié)點提供平等的總線服務。如圖l所示三冗余ETS系統中有三條獨立的總線,每條總線上有輸入模塊,總線控制器,輸出模塊三類節(jié)點,此三類節(jié)點功能有所不同,收發(fā)的數據及占據令牌的時間都存在差異,所以在對此三類節(jié)點分配ID時應考慮將同類的節(jié)點分配在相同的一段中,以便在收發(fā)數據時可以實現統一操作;同時考慮到令牌的傳遞應按照"輸入模塊——總線控制器一一輸出模塊"的順序,所以應將輸入模塊分配在較低的ID段中,總線控制器ID段較高,輸出模塊的ID段最高?;谝陨蟽煞矫媲闆r,結合0眉2.08定義的標準幀格式,定義輸入模塊的ID段為OOOxx,即一個輸入模塊的地址可設定為00000—OOOll中的一個;總線控制器的ID段設定為001xx;輸出模塊的ID段設定為01xxx。本系統的單片機采用了英飛凌16位單片機XC164CS,定義ID:消息體0-15屬于節(jié)點A,消息體16-31屬于節(jié)點B。偶數節(jié)點為發(fā)送消息體,奇數節(jié)點為接收消息體。消息體ID定義圖2所示。二、定義總線報文格式及數據優(yōu)先級參考〔傾2.08協議,定義了標準幀格式。使用標準11位ID,前三位(28—26)表示功能碼,中間四位(25—22)表示發(fā)送報文節(jié)點的地址,后四位(21—18)做擴展用。報文中與控制權相關的定義如下表所示。<table>complextableseeoriginaldocumentpage9</column></row><table>每個節(jié)點在總線上傳遞數據時的優(yōu)先級別不同,根據節(jié)點的地址碼,地址越小的節(jié)點所對應的優(yōu)先級越高。三、令牌環(huán)網初始化在網絡初始4t階段,令牌不在網絡上傳遞,總線上也沒有任何的活動,當ID地址最高的節(jié)點等待超時后,向總線廣播網絡重構幀,通知此節(jié)點已經生成令牌,所有節(jié)點在收到網絡重構幀之后,將ST(令牌產生源)設置為生成令牌的節(jié)點ID,將NID(邏輯鄰居ID地址)設置為ID+1,并等待令牌的到來。在每個節(jié)點第一次占有令牌時,要確定自己在環(huán)網中的位置,以及自己的下游邏輯鄰居。確定方法如下每個節(jié)點在收到網絡重構幀后,將NID設置為ID+1,當令牌在環(huán)網上傳遞一周之后,所有節(jié)點都確定了自己在網絡中的位置。每個節(jié)點在網絡初始化時,都要尋找自己的邏輯鄰居。在第一次收到令牌后,首先向ID+1地址發(fā)送令牌傳遞請求,如果收到了返回應答,則說明ID+1節(jié)點存在,是自己的邏輯鄰居;如果沒有收到響應,則向ID+1節(jié)點發(fā)送令牌傳遞請求,如此操作直到找到邏輯鄰居,并將邏輯鄰居地址保存到NID,以后每次傳遞令牌時,都直接發(fā)送給這個邏輯鄰居。在令牌傳遞一周以后,初始化完成。當總線上占有令牌的節(jié)點在發(fā)送完數據后,將令牌傳遞給自己的下游鄰居,令牌傳遞方式如下參具有令牌的節(jié)點向地址為NID的節(jié)點發(fā)送令牌交換請求。參接收到令牌交換請求的節(jié)點獲取令牌,并且返回取得令牌響應。參發(fā)送請求的節(jié)點在收到響應后釋放令牌。*如果發(fā)送令牌請求的節(jié)點等待響應超時,則NID+1節(jié)點發(fā)送令牌傳遞請求,等待響應。如此"重發(fā)令牌,地址加1,等待響應",直到收到總線上有其他節(jié)點獲取令牌的響應為止,并把返回響應的節(jié)點作為自己的新下游鄰居,將其地址保存在NID中。本系統的工作過程一.基于令牌環(huán)網的數據傳輸三冗余ETS系統具有三條獨立總線,在每條總線上都有一個令牌,三個令牌獨立地在各自的總線上傳遞,互不影響??偩€上各節(jié)點的通信以令牌傳遞的方式來實現,總線上的節(jié)點根據ID地址依次輪流占有令牌。當輸入模塊占有令牌的時候,將實時采集到的輸入數據通過廣播的方式發(fā)送給三個總線控制器,如果有則向這條總線上的三個主廣播輸入數字量信號,信號發(fā)送完畢后,將令牌傳遞給主控制器A上的總線控制器??偩€控制器具有一個輸入數據存儲區(qū)和一個輸出數據存儲區(qū),分別用于存放從輸入模塊獲取的數據和從CPU獲取的輸出數據??偩€控制器對輸入數據的處理方式如下將接收到的輸入數據放進輸入存儲區(qū),每次收到輸入數據后,立即請求CPU讀取輸入,將輸入存儲區(qū)數據發(fā)送給CPU??偩€控制器對輸出數據處理方式如下總線控制器把從CPU獲取的輸出數據放進輸出存儲區(qū),指令信號放在指令存儲區(qū)。當總線控制器占有令牌后,將輸出存儲區(qū)的輸出數據發(fā)送給同一條總線上的輸出模塊,再把指令信號發(fā)送到指定的模塊,在數據發(fā)送完之后,將令牌交給下游邏輯鄰居。總線控制器的數據傳輸處理流程如圖3所示。在同一條總線上,主控制器A、B、C的總線控制器先后占有令牌,并把輸出數據發(fā)送給此總線的輸出模塊,把指令發(fā)送到指定的模塊。在主控制器C的總線控制器發(fā)送完數據后,將令牌傳遞給輸出模塊,輸出模塊接收到令牌后,將輸出數據3取2表決所生成的偏差表發(fā)送給三個總線控制器。發(fā)送完之后將令牌傳遞給輸入模塊,這樣就完成了一次總線掃描,實現了數據從輸入到輸出的處理。二.保持數據同步性A)輸入采樣數據的同步三冗余系統檢測的輸入數字量信號變化頻率低,可能長時間保持一個狀態(tài),不會出現高頻跳變的情況,所以只要三個輸入模塊的采樣頻率高,更新速度快,則可以認為三個輸入信號是同步的。例如三個輸入模塊采樣頻率為10朋Z,某一個輸入信號由O跳變到l,雖然三個模塊對輸入信號采樣的時間不一樣,但是時間間隔不會超過10ns,相對于20ms的掃描周期是可以忽略這個時間間隔的,可以認為采集的輸入信號是同步的。B)令牌傳遞一致性三冗余系統中,每條總線的掃描周期是20ms,每條總線上各有一個令牌,占有令牌的節(jié)點成為臨時主節(jié)點。當一個輸入數據在跳變之后,雖然三個輸入模塊得到令牌的時間不同,但是結果對系統得到正確的結果是沒有影響的。舉例如下1)在tO時刻,輸入信號由0跳變到12)tl時刻,a輸入模塊占有令牌,將輸入信號"1"廣播到三個主控的ci總線控制器,而e和Y總線控制器的數據還是"0",輸入表決結果還是"0"。3)t2時刻,e輸入模塊占有令牌,將"r'發(fā)送給三個e總線控制器;每個主控中,aeY總線控制器的數據分別是1,1,0,表決結果是"1"。4)t3時刻,Y輸入模塊占有令牌,將"1"發(fā)送給三個Y總線控制器;每個主控中,aPY總線控制器的數據分別是l,1,l,表決結果是"1"。所以輸入量的變化在20ms-40ms范圍內在輸出上得到體現,三令牌的傳遞雖然不一致,但是仍然得到了正確的結果。三.控制權故障處理1)令牌丟失處理當令牌丟失時,總線上不再有任何活動。采用如下處理方式計算出令牌在總線傳遞一周的最大時間,每個節(jié)點在每次交出令牌后,啟動一個令牌等待計時器。如果總線某個節(jié)點等待時間到達,則由此節(jié)點自動生成令牌,在生成令牌時,此節(jié)點應該向總線廣播一個令牌生成信息,通知所有節(jié)點令牌的生成,如果此時有別的節(jié)點已占有令牌,占有令牌的節(jié)點向此節(jié)點發(fā)送禁止生成令牌信息,停止生成令牌。令牌等待時間設定如下令牌等待時間=(l+(HID~ID)/n)*T,T為令牌在總線上傳遞一周的最大時間,HID為此總線最大的ID地址,ID為此節(jié)點的ID號,n為總線上的節(jié)點總數。當令牌丟失時,ID地址高的節(jié)點首先自動生成令牌,當每個節(jié)點收到總線數據時,此計時器停止計時并且重新開始計時。2)令牌沖突處理當總線上存在兩個或者多個令牌時,需要有相應的檢測及處理方法。由于CAN控制器已經具備了解決數據沖突的機制,CAN控制芯片也不會提供總線數據沖突的相關信息,所以需要通過發(fā)送數據來檢測令牌的存在情況。在處理令牌丟失時,如果某節(jié)點等待令牌超時,會自動生成令牌;但是可能由于網絡延時的原因,令牌只是還沒有傳過來而并非令牌丟失,此時總線上就會產生兩個令牌。為了避免這種情況的發(fā)生,在每個節(jié)點自動生成令牌時,都需要檢査總線上的令牌占有情況,如果此時有其它節(jié)點占有令牌,會向生成令牌的節(jié)點發(fā)送禁止否認幀,表明不能生成令牌。所有節(jié)點記錄產生令牌的源節(jié)點的ID地址,并且在令牌傳遞幀中也包含了令牌源的地址。如果在沒有收到重新生成令牌的任何信息的情況下,某一節(jié)點發(fā)現令牌幀中的令牌源和節(jié)點中記錄的令牌源不同,則向總線發(fā)送令牌檢測幀,如果此時檢測到令牌沖突,則發(fā)送網絡重構幀,所有節(jié)點都放棄令牌,等待超時重新自動產生令牌。第二種情況,如果某一節(jié)點在傳遞令牌時,同時傳給了兩個節(jié)點,此時網絡上的令牌也會產生重復。當某一節(jié)點在發(fā)現自己所處網絡位置靠后時,即NO信息變大,則向總線發(fā)送令牌檢測幀,如果發(fā)現總線上已有令牌,則發(fā)送網絡重構幀,所有節(jié)點放棄令牌,等待超時重新生成令牌。3)節(jié)點加入及移出處理當有節(jié)點退出環(huán)網時,對整個網絡產生影響不大。其上游鄰居發(fā)送的令牌傳遞請求不會收到返回,會重新尋找邏輯鄰居,將邏輯鄰居的ID地址賦給NID。退網節(jié)點的后續(xù)節(jié)點的網絡位置No也會相應變小。但此時上游節(jié)點應該發(fā)出通信故障報警信息。當有節(jié)點加入環(huán)網時,首先檢測總線上是否有相同的ID,如果網絡上已經有相同地指的節(jié)點,則向此節(jié)點發(fā)送一個否認信息,表明不能加入網絡,并發(fā)送ID地址重復報警信息。如果沒有重復的ID地址,則新加入的節(jié)點向總線發(fā)送網絡重構幀,整個網絡的所有節(jié)點都將NID復位成本節(jié)點ID+1,并且放棄令牌,等待超時后重新生成令牌,每個節(jié)點重新尋找自己的邏輯鄰居。權利要求1.一種冗余配置的自控系統,包括多個互聯的子系統,每一子系統具有輸入模塊、輸出模塊、主控制器和數據傳輸總線,所述輸入模塊、輸出模塊分別與數據傳輸總線連接;所述主控制器具有總線控制器;各主控制器的總線控制器的數量與子系統的數量相同,每一主控制器的各總線控制器,分別對應連接各子系統的數據傳輸總線;各子系統的輸入模塊向該子系統的總線控制器發(fā)送輸入信號,由該子系統的主控制器運算處理后,向該子系統的輸出模塊發(fā)送輸出信號,所有輸出模塊根據輸出信號進行表決,再將表決結果反饋至各自的總線控制器。2.根據權利要求l所述的自控系統,其特征在于所述主控制器具有總線控制權設定模塊,用于設定總線控制權,使之具備如下特性每條總線上具有唯一的控制權;僅當節(jié)點占有控制權時才具有發(fā)送數據的權利;節(jié)點完成數據發(fā)送任務后將控制權交至下游鄰居。3.權利要求2所述總線控制權的設定方法,建立令牌傳遞環(huán)網,將其初始化,具體步驟是1).建立令牌傳遞環(huán)網-分配各節(jié)點的ID地址將令牌傳遞環(huán)網劃分成高、中、低三個ID段,按照輸入模塊節(jié)點、總線控制器節(jié)點、輸出模塊節(jié)點三種類型;將同類節(jié)點分配在相同的ID段中,并按照輸入模塊節(jié)點一總線控制器節(jié)點一輸出模塊節(jié)點的順序,地址由低到高逐點遞增;地址越低的節(jié)點所對應的優(yōu)先級越高;-定義幀格式2).令牌傳遞環(huán)網初始化由地址最高的節(jié)點生成令牌,讓令牌在環(huán)網上傳遞一周,確定各節(jié)點在網絡中的位置。4.權利要求3所述令牌傳遞環(huán)網的數據傳輸方法,生成令牌的節(jié)點向總線廣播數據幀,總線上的節(jié)點根據ID地址依次輪流占有令牌;當輸入模塊節(jié)點占有令牌時,將輸入數據發(fā)送給總線控制器,總線控制器將接收到的輸入數據放進輸入存儲區(qū),每次收到輸入數據后,請求CPU讀取輸入,將輸入存儲區(qū)數據發(fā)送給CPU;再把從CPU獲取的輸出數據放進輸出存儲區(qū),指令信號放在指令存儲區(qū);將輸出存儲區(qū)的輸出數據發(fā)送給同一條總線上的輸出模塊,再把指令信號發(fā)送到指定的模塊,在數據發(fā)送完之后,將令牌交給下游邏輯鄰居。全文摘要本發(fā)明公開了一種冗余配置的自控系統,包括多個互聯的子系統,每一子系統具有輸入模塊、輸出模塊、主控制器、數據傳輸總線,輸入模塊、輸出模塊分別與數據傳輸總線連接;主控制器具有總線控制器;各主控制器的總線控制器的數量與子系統的數量相同,每一主控制器的各總線控制器,分別對應連接各子系統的數據傳輸總線;各子系統的輸入模塊向該子系統的總線控制器發(fā)送輸入信號,由該子系統的主控制器運算處理后,向該子系統的輸出模塊發(fā)送輸出信號,所有輸出模塊根據輸出信號進行表決,再將表決結果反饋至各自的總線控制器。具有以下基本特性每條總線上具有唯一的控制權;僅當節(jié)點占有控制權時才具有發(fā)送數據的權利;節(jié)點完成數據發(fā)送任務后將控制權交至網絡下游鄰居。文檔編號G05B19/418GK101196739SQ20071005063公開日2008年6月11日申請日期2007年11月26日優(yōu)先權日2007年11月26日發(fā)明者尚小林,斌曾,王道平,閔澤生申請人:東方電氣集團東方汽輪機有限公司;四川東方電氣自動控制工程有限公司