摘要:分析了分散式控制系統(tǒng)不同過(guò)程控制站下SOE分辨率達(dá)到1ms的重要性,并給出了具體可行的實(shí)現(xiàn)方法以及測(cè)試手段。
一、背景
在大中型分散式控制系統(tǒng)、變電站自動(dòng)化系統(tǒng)、水電站自動(dòng)化系統(tǒng)中,經(jīng)常涉及到大量設(shè)備狀態(tài)的監(jiān)測(cè)。這些設(shè)備可能是開關(guān)接點(diǎn)、斷路器接點(diǎn)、重合閘信號(hào)等開閉狀態(tài)。對(duì)于這些接點(diǎn)信號(hào)的監(jiān)測(cè)根據(jù)其重要性不僅僅需要監(jiān)測(cè)其狀態(tài)變化,同時(shí)也要監(jiān)測(cè)其狀態(tài)變化發(fā)生的時(shí)刻。在同一個(gè)系統(tǒng)中,有些設(shè)備的狀態(tài)變位有關(guān)聯(lián)性,因此需要用SOE模件將這類狀態(tài)變位的發(fā)生時(shí)刻記錄下來(lái)。SOE的英文全稱為SequenceOfEvent,即事件順序。
在上述的
分散控制系統(tǒng)中,對(duì)SOE的事件記錄分辨率一般要求達(dá)到毫秒級(jí),上*系統(tǒng)SOE的分辨率都聲稱可以到1毫秒,因此,SOE模件的時(shí)間同步就顯的尤為重要,往往成為本系統(tǒng)是否*的關(guān)鍵指標(biāo)之一。但是在大型的分散控制系統(tǒng)中,大量的SOE模件是散布在不同的過(guò)程控制站中的,如何保證不同過(guò)程控制站內(nèi)SOE模件的時(shí)間同步是難實(shí)現(xiàn)的。
二、通用解決方案
傳統(tǒng)意義上的SOE模件時(shí)鐘同步大部分采用以下幾種方式:
1.將控制系統(tǒng)內(nèi)的所有SOE模件集中于同一過(guò)程控制站下,這樣可以得到相對(duì)準(zhǔn)確的相對(duì)時(shí)鐘時(shí)標(biāo),但隨著監(jiān)測(cè)對(duì)象的多樣化、分散化,該方法在大中型控制系統(tǒng)中的使用受到通信容量的制約而且也不符合分散控制保證系統(tǒng)可靠性的要求。
2.將SOE模件分散在不同的過(guò)程控制站中,時(shí)鐘服務(wù)器通過(guò)通信網(wǎng)絡(luò)(以太網(wǎng)、串行口)對(duì)所有的過(guò)程控制站進(jìn)行廣播方式對(duì)時(shí),各過(guò)程控制站對(duì)下掛的SOE模件再通過(guò)通信方式進(jìn)行廣播對(duì)時(shí),這樣雖然遵循了分散控制的原則,但各個(gè)過(guò)程控制站對(duì)于時(shí)鐘服務(wù)器廣播對(duì)時(shí)的接收響應(yīng),各個(gè)SOE模件對(duì)于過(guò)程控制站廣播對(duì)時(shí)的接收響應(yīng)均存在延時(shí),甚至有丟失廣播信息的可能,這樣要實(shí)現(xiàn)不同過(guò)程控制站下SOE模件的時(shí)鐘誤差為1ms是很困難的。
以某一過(guò)程控制站對(duì)其所屬的SOE模件以廣播方式對(duì)時(shí)為例:通信報(bào)文,MODBUS通信規(guī)約,波特率115.2K,通信報(bào)文包括廣播命令、校驗(yàn)碼、廣播地址、時(shí)鐘等大約10個(gè)字節(jié)。路途傳輸時(shí)間(不算通信路途延遲)大約為0.8ms。而SOE模件雖然可以將接收處理廣播對(duì)時(shí)的操作權(quán)限設(shè)置為zui別,但此SOE模件上的CPU對(duì)該廣播對(duì)時(shí)報(bào)文的中斷響應(yīng)、報(bào)文解析(包括校驗(yàn))、時(shí)標(biāo)覆蓋需時(shí)大約也在0.5~1.5ms之間。
同時(shí)在兩次對(duì)時(shí)之間,所有的SOE模件是靠?jī)?nèi)部模擬時(shí)鐘計(jì)時(shí)(通過(guò)工作晶振的振蕩計(jì)數(shù)來(lái)模擬),SOE模件內(nèi)部時(shí)鐘不可避免地存在累計(jì)誤差,而這個(gè)累積誤差在1分鐘間隔內(nèi)將達(dá)到數(shù)毫秒。
顯然,這種方式也是很難實(shí)現(xiàn)不同過(guò)程控制站下的所有SOE模件時(shí)鐘誤差不超過(guò)1ms的。
三、本系統(tǒng)解決方案
在本系統(tǒng)中,我們采用了一種已經(jīng)獲得發(fā)明的時(shí)間同步方法,使用此方法可以保證不同過(guò)程控制站下的SOE模件時(shí)間同步誤差達(dá)到1ms。
下圖為本系統(tǒng)中不同過(guò)程控制站下SOE模件的對(duì)時(shí)設(shè)計(jì)方案架構(gòu)圖。
對(duì)時(shí)具體實(shí)施方案步驟如下:
1.在多對(duì)冗余的過(guò)程控制站中,設(shè)定其中的一個(gè)站為時(shí)鐘主站,以下以過(guò)程控制站A1為時(shí)鐘主站來(lái)舉例;
2.此時(shí)鐘主站在設(shè)定的時(shí)間間隔(通常為60秒)到時(shí)通過(guò)控制器之間的硬件對(duì)時(shí)線與所有的過(guò)程控制站對(duì)時(shí),同時(shí)通過(guò)硬件對(duì)時(shí)線A1將本站內(nèi)的所有SOE模件對(duì)時(shí),所有的SOE模件接收到此信號(hào)時(shí)即開始模擬時(shí)鐘偏移△t;
3.時(shí)鐘主站將發(fā)硬件對(duì)時(shí)的時(shí)刻(t1)記錄下來(lái),通過(guò)網(wǎng)絡(luò)傳遞到其他的過(guò)程控制站并同時(shí)通過(guò)I/O通訊服務(wù)器A1將此信息廣播到本站內(nèi)的所有SOE模件;
4.SOE模件接收到廣播信息,并開始處理:執(zhí)行t=t1+△t,隨后以t為起點(diǎn)開始新的模擬時(shí)鐘。
5.對(duì)于另外一個(gè)過(guò)程控制站A2在接收到控制器之間的硬件對(duì)時(shí)信號(hào)立刻通過(guò)硬件對(duì)時(shí)線A2將本站內(nèi)的所有SOE模件對(duì)時(shí),同時(shí)本站的所有SOE模件接收到此信號(hào)時(shí)也開始模擬時(shí)鐘偏移△t′;
6.過(guò)程控制站A2通過(guò)I/O通訊服務(wù)器A2也將t1信息廣播到本站內(nèi)的所有SOE模件;
7.SOE模件接收到廣播信息,同樣執(zhí)行t′=t1+△t′,隨后以t′為起點(diǎn)開始新的模擬時(shí)鐘。
在上述步驟中zui關(guān)鍵的地方在于步驟5,要求過(guò)程控制站A2在接收控制器之間的硬件對(duì)時(shí)信號(hào)與發(fā)出和本站內(nèi)SOE模件對(duì)時(shí)信號(hào)必須要在同一個(gè)中斷中實(shí)現(xiàn),不能有延遲。這個(gè)要求是消除不同過(guò)程控制站內(nèi)SOE模件因?yàn)槔鄯e誤差而造成分辨率大于1ms的關(guān)鍵點(diǎn)。
四、驗(yàn)證方法
如何來(lái)驗(yàn)證系統(tǒng)中不同過(guò)程控制站下SOE模件的事件分辨率達(dá)到1ms呢?
1.測(cè)試同一控制站下不同SOE模件的事件分辨率:
將一個(gè)雙路脈沖發(fā)生器的兩組輸出分別接入到同一過(guò)程控制站下不同SOE模件的任意通道;
脈沖發(fā)生器兩路輸出同時(shí)發(fā)出脈沖信號(hào),SOE模件記錄下沿變化的時(shí)刻;
讀出保存在SOE模件內(nèi)的SOE事件,兩個(gè)SOE模件記錄的動(dòng)作時(shí)刻誤差要求在1ms內(nèi)。
2.測(cè)試不同控制站下SOE模件的事件分辨率:
將一個(gè)雙路脈沖發(fā)生器的兩組輸出分別接入到不同過(guò)程控制站下SOE模件的任意通道;
脈沖發(fā)生器兩路輸出同時(shí)發(fā)出脈沖信號(hào),SOE模件記錄下沿變化的時(shí)刻;
讀出保存在SOE模件內(nèi)的SOE事件,兩個(gè)SOE模件記錄的動(dòng)作時(shí)刻誤差要求在1ms內(nèi)。
通過(guò)上述測(cè)試可以證明,本方法可以保證大型分散控制系統(tǒng)中所有SOE的分辨率達(dá)到1ms。