徐強,牛方波,宗計富
(中石化齊魯分公司 運行維護中心,山東 淄博 255400)
目前石油化工裝置過程控制的發(fā)展趨勢是集中化、復雜化、功能獨立化,一套生產(chǎn)裝置有多種控制系統(tǒng)并存,如DCS,SIS,GDS,CCS,SCADA等,各種系統(tǒng)間相互獨立又互相聯(lián)系。為了方便事故查詢和故障分析,各系統(tǒng)之間應保持時鐘一致。SH/T 3092—2013《石油化工分散控制系統(tǒng)設計規(guī)范》[1]第5.3.7.2款要求,“宜由DCS向第三方計算機或網(wǎng)絡發(fā)布時鐘同步信號”;GB/T 50770—2013《石油化工安全儀表系統(tǒng)設計規(guī)范》[2]第5.0.20條要求,“安全儀表系統(tǒng)內(nèi)的設備宜設置同一時鐘”。時鐘同步,就是通過對本地時鐘的某些操作,達到為分布式系統(tǒng)提供一個統(tǒng)一時間標度的過程。該過程中,重要的是時鐘的一致性,時鐘基準源宜選擇DCS控制器時鐘,也可以是工程師站時鐘,但不要求和GPS或北京時間這些基準時鐘完全一致。
如某大型煤氣化裝置,DCS采用Forboro的I/A系統(tǒng),用于基本過程控制,包括7套控制站、8臺操作員站;SIS的邏輯控制器采用HIMA的H51q-HRS系統(tǒng),用于氣化爐的開停車時序控制和安全保護,包括3套控制站;氨制冷透平離心機組聯(lián)鎖保護采用TRICON的TS3000系統(tǒng)和Bently的3500機組狀態(tài)檢測系統(tǒng),調(diào)速及防喘振控制采用CCC系統(tǒng),分別各有1套控制站和2臺操作員站。為了保證同一裝置內(nèi)不同系統(tǒng)間的歷史趨勢、SOE數(shù)據(jù)時間的一致性,需要在各系統(tǒng)間做時鐘同步。常用的做法有網(wǎng)絡授時(NTP)、GPS授時、DCS授時等幾種方式。根據(jù)文獻[1]的規(guī)定,宜由DCS向第三方計算機或網(wǎng)絡發(fā)布時鐘同步信號。因此采用DCS工程師站時鐘作為基準,定期(每天或每小時)向各系統(tǒng)發(fā)布授時命令。工程師站時鐘可以定期人工校準,實際上這是一種糾偏授時,發(fā)布的是時間基準信號,并不是準確的基準時鐘數(shù)值,考慮到實現(xiàn)的簡易性,該方法還是得到了大量的實踐應用。下面對不同系統(tǒng)的時鐘同步分別講述,時鐘同步網(wǎng)絡示意如圖1所示。
DCS內(nèi)部設置以工程師站為時鐘基準,每隔12 h自動同時向7個控制站和操作站授時,確保DCS時鐘的一致性。該屬性為DCS內(nèi)部的功能屬性,無需再單獨設置。
由于DCS和SIS之間有3對冗余的通信連接,而且SIS本身有經(jīng)過認證的安全局域網(wǎng)連接。為保證授時指令的唯一性,在DCS和SIS間只發(fā)送一條時鐘同步指令(SIS03和DCS 4號控制站之間),SIS接到授時指令的同時自動向網(wǎng)絡上的其他2套控制站發(fā)送同步指令。時鐘同步的具體步驟如下:
1)確定時鐘同步的間隔: 每周、每天或每小時,該案例中的時鐘同步間隔是每天。即每天中午12:00由DCS 4號控制站發(fā)送階躍脈沖信號,作為時鐘同步的基準。
2)讀取系統(tǒng)時鐘,經(jīng)分解后保留年、月、日三級日期數(shù)據(jù),在該基礎上增加時刻12:00:00:00,將日期和時刻合成。
3)接到同步指令后,將上述合成的時鐘信號回寫到系統(tǒng)。
TS3000系統(tǒng)時鐘同步與SIS類似,每天中午12:00由DCS 6號控制站通過硬接線向TS3000系統(tǒng)控制站發(fā)送階躍脈沖信號,作為時鐘同步的基準。
圖1 時鐘同步網(wǎng)絡示意
由于機組保護系統(tǒng)有操作站,還要將TS3000系統(tǒng)控制站時鐘再同步到上位操作站中。該案例中上位機監(jiān)控軟件是INTOUCH,將TS3000系統(tǒng)中控制站的時、分、秒變量添加到INTOUCH的標記名詞典中,然后添加腳本,每天定時將時間變量寫到操作站的Windows系統(tǒng)中。
壓縮機組的防喘振及調(diào)速由CCC系統(tǒng)實現(xiàn),考慮到2臺操作站和原來TS3000系統(tǒng)相鄰,選用了NTP協(xié)議。NTP協(xié)議是計算機網(wǎng)絡間時鐘同步的通用協(xié)議,可以提供高精準度的時間校正,同時采用了識別機制,提高了抗干擾能力?,F(xiàn)在有很多專用的NTP軟件,組態(tài)界面友好,也可以使用簡單的DOS命令來完成,本例就是使用了Windows系統(tǒng)自帶的NTP命令。具體步驟如下:
1)在TS3000系統(tǒng)2號操作站和CCC系統(tǒng)1號操作站分別增加1塊網(wǎng)卡,用網(wǎng)線連接,專用于時鐘同步。
2)CCC系統(tǒng)1號操作站采用NTP協(xié)議,從TS3000系統(tǒng)2號操作站讀取系統(tǒng)時間來同步本站系統(tǒng)時鐘。
3)CCC系統(tǒng)2號操作站采用NTP協(xié)議,讀取CCC系統(tǒng)1號操作站時鐘來同步本站系統(tǒng)時鐘。
4)在CCC系統(tǒng)內(nèi)組態(tài),將控制器時間與操作站同步。
機組狀態(tài)監(jiān)測系統(tǒng)Bently 3500系統(tǒng)監(jiān)視氨制冷透平機組的運行狀態(tài),其中振動和位移設置了聯(lián)鎖停機并通過硬接線連接到TS3000系統(tǒng);同時3500系統(tǒng)自身有硬件診斷信息和報警聯(lián)鎖記錄。為了方便故障分析,3500系統(tǒng)也要和DCS時間保持一致。但是3500系統(tǒng)沒有接受外部時鐘同步信號功能,因此采取了手動同步的方法。
各控制系統(tǒng)間的時鐘同步要注意以下各項:
1)時鐘源的唯一。根據(jù)文獻[1]要求,“宜由DCS向第三方計算機或網(wǎng)絡發(fā)布時鐘同步信號”。該案例時鐘基準是DCS工程師站,不同系統(tǒng)的操作站、控制站、工程師站、SOE站等應保持同一個時間基準,避免重復授時。
2)單一系統(tǒng)內(nèi)注意操作站、控制站上下層授時的一致性和單向性。該案例中沒有給SIS的工程師站和SOE站時鐘同步,主要考慮到SIS的SOE站時間是控制器時間,PC端沒有影響,對于有趨勢服務要求的SIS記錄,可以參考CCS上層編寫腳本的方法實現(xiàn)。
3)讀取控制器時鐘分解時要注意算法,考慮閏年的影響。
4)采用糾偏授時要注意避開整點(整天、整周等)授時,防止信號跳變造成較大誤差。
5)糾偏授時在保證授時信號穩(wěn)定抗干擾的同時,應合理使用延時模塊,減少延時誤差。
6)定期檢查時鐘信號的一致性,及時發(fā)現(xiàn)授時錯誤。由于干擾、交換機故障、電纜故障、IP地址沖突等原因,授時信號會發(fā)生中斷,需要維護人員定期檢查,及時重啟授時服務或者人工糾正授時偏差。
同步方案投用以來,各系統(tǒng)之間時鐘始終保持同步,提高了故障分析的便利性。
需要強調(diào)的是,考慮到網(wǎng)絡病毒傳播的可能性,上文中NTP授時并不完善,各系統(tǒng)間最好加網(wǎng)絡防火墻,同時要考慮防火墻對NTP協(xié)議的影響。然而考慮防火墻,實現(xiàn)的成本則會很高,NTP授時一般用于相對獨立的控制系統(tǒng)內(nèi)部,如DCS,CCS等系統(tǒng)的操作站、控制站、工程師站內(nèi)部之間的時鐘同步。糾偏授時的精度不高,大概在500 ms以內(nèi),而NTP可以達到ms級;由于糾偏授時只是簡單的脈沖信號,各系統(tǒng)間是相互“隔離的”,可以防止網(wǎng)絡攻擊,同時簡單易行,成本低廉。實際上,秒級的授時精度可以滿足大多數(shù)生產(chǎn)需求,因此,對于控制系統(tǒng)時鐘同步,本文所述方案可以作為一種簡潔、便利的方法進行推廣。