一種soe時(shí)間同步控制方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及時(shí)間同步技術(shù)領(lǐng)域,特別是涉及一種S0E時(shí)間同步控制方法及系統(tǒng)。
【背景技術(shù)】
[0002] 在火力發(fā)電廠DCS(Distributed Control System,分布式控制系統(tǒng)或集散控制系 統(tǒng))系統(tǒng)、變電站自動(dòng)化系統(tǒng)、水電站自動(dòng)化系統(tǒng)等自動(dòng)化控制系統(tǒng)中,經(jīng)常涉及到對(duì)大量 設(shè)備狀態(tài)的監(jiān)測(cè),這些設(shè)備的狀態(tài)可能是開(kāi)關(guān)接點(diǎn)、斷路器接點(diǎn)、重合閘信號(hào)等開(kāi)閉狀態(tài)。 對(duì)于這些接點(diǎn)信號(hào)的監(jiān)測(cè)有的時(shí)候根據(jù)其重要性不僅僅需要監(jiān)測(cè)其狀態(tài)變化,同時(shí)也要監(jiān) 測(cè)并記錄其狀態(tài)變化發(fā)生的時(shí)刻。在同一個(gè)系統(tǒng)中,有些設(shè)備的狀態(tài)變位是有關(guān)聯(lián)性的,因 此需要用S0E(Sequence Of Event,事件順序記錄系統(tǒng))模塊將這類狀態(tài)變位的發(fā)生時(shí)刻記 錄下來(lái)。S0E系統(tǒng)是DCS系統(tǒng)中用于異常記錄的子系統(tǒng),它所記錄的是工廠事故發(fā)生前后裝 置或設(shè)備的運(yùn)行狀態(tài)、事件發(fā)生時(shí)間、首發(fā)事件和連鎖發(fā)生事件的間隔順序,這些間隔順序 是工廠分析運(yùn)行異常、設(shè)備故障和生產(chǎn)事故的最重要依據(jù)。
[0003] 在DCS系統(tǒng)中,對(duì)S0E的事件記錄分辨率一般要求達(dá)到毫秒級(jí),國(guó)際上先進(jìn)系統(tǒng)S0E 的分辨率都可以到lms甚至更高,因此,S0E模塊的時(shí)間同步就顯的尤為重要,往往成為衡量 系統(tǒng)是否先進(jìn)的關(guān)鍵指標(biāo)之一。但是在大型的DCS系統(tǒng)中,大量的S0E模塊是散布在不同的 過(guò)程控制站中的,如何保證不同過(guò)程控制站內(nèi)S0E模件的時(shí)間同步是很難實(shí)現(xiàn)的,獲得準(zhǔn)確 事件順序的關(guān)鍵在于協(xié)調(diào)定時(shí)達(dá)到非常尚的精確度。
[0004] 傳統(tǒng)意義上的S0E模塊時(shí)鐘同步大部分采用以下幾種方式:
[0005] 方式一:DCS系統(tǒng)內(nèi)有多個(gè)控制站,每個(gè)控制站內(nèi)均有若干個(gè)S0E模塊,統(tǒng)一的時(shí)間 服務(wù)器通過(guò)工業(yè)以太網(wǎng)對(duì)所有控制站進(jìn)行初次時(shí)間同步,各控制站之間通過(guò)以太網(wǎng)NTP (Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議)協(xié)議進(jìn)行周期為60s的時(shí)間同步,控制站通過(guò)通 訊總線對(duì)站內(nèi)的S0E模塊進(jìn)行廣播式時(shí)間同步,同步周期也是60s,S0E模塊接收到時(shí)間同步 報(bào)文時(shí)將本地時(shí)鐘清零,當(dāng)采集到通道信號(hào)有狀態(tài)跳變時(shí)記錄時(shí)鐘值。由于NTP對(duì)時(shí)精度只 能達(dá)到1 〇ms級(jí),因此不同控制站間的S0E精度難以達(dá)到lms。
[0006] 方式二:控制器之間使用IEEE 1588協(xié)議(PTP)實(shí)現(xiàn)1 Ous精度的時(shí)間同步,其他時(shí)間 同步機(jī)制與方式一類似,這種方式可以實(shí)現(xiàn)控制站內(nèi)、控制站間lms級(jí)的S0E精度,但是需要 使用專門(mén)的支持IEEE1588協(xié)議的網(wǎng)絡(luò)設(shè)備,控制器內(nèi)部也要有支持IEEE1588協(xié)議的軟硬件 處理,極大地增大了系統(tǒng)的成本。
[0007] 因此,如何提供一種精度高但成本低的S0E時(shí)間同步控制方法是本領(lǐng)域技術(shù)人員 目前需要解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明的目的是提供一種S0E時(shí)間同步控制方法,主控制器與從控制器之間通過(guò) 硬接線來(lái)實(shí)現(xiàn)時(shí)間同步,時(shí)間同步誤差可以控制在幾十微秒內(nèi),達(dá)到了 lms的精度,提高了 控制站間的控制器的時(shí)間同步精度,也即實(shí)現(xiàn)了控制站間以及控制站內(nèi)的S0E模塊的時(shí)間 同步,且成本低,很好實(shí)現(xiàn)了成本與精度之間的平衡;本發(fā)明的另一目的是提供一種包括 SOE時(shí)間同步控制系統(tǒng)。
[0009] 為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種S0E時(shí)間同步控制方法,應(yīng)用于S0E時(shí)間 同步控制系統(tǒng)中,每個(gè)控制器分別對(duì)應(yīng)一個(gè)控制站,預(yù)先選擇一個(gè)控制站的控制器作為對(duì) 時(shí)的主控制器,剩余的控制站的控制器為從控制器,所述主控制器和所述從控制器之間通 過(guò)硬接線連接,該方法包括:
[0010] 預(yù)先設(shè)置好時(shí)間初值的所述主控制器與所述從控制器通過(guò)所述硬接線進(jìn)行時(shí)間 同步;
[0011] 所述主控制器和所述從控制器向各自對(duì)應(yīng)的S0E模塊進(jìn)行時(shí)間同步,以實(shí)現(xiàn)控制 站間以及控制站內(nèi)的S0E模塊的時(shí)間同步。
[0012] 優(yōu)選地,所述主控制器的預(yù)先設(shè)置時(shí)間初值的過(guò)程為:
[0013] 時(shí)間接收設(shè)備從GPS上獲取標(biāo)準(zhǔn)時(shí)間;
[0014] 時(shí)間服務(wù)器與所述時(shí)間接收設(shè)備的所述標(biāo)準(zhǔn)時(shí)間進(jìn)行時(shí)間同步;
[0015] 所述主控制器與所述時(shí)間服務(wù)器進(jìn)行時(shí)間同步,以實(shí)現(xiàn)對(duì)所述主控制器的時(shí)間初 值設(shè)置。
[0016] 優(yōu)選地,所述主控制器與所述時(shí)間服務(wù)器進(jìn)行時(shí)間同步的過(guò)程具體為:
[0017] 所述主控制器的操作系統(tǒng)0S時(shí)鐘向所述時(shí)間服務(wù)器進(jìn)行時(shí)間同步;
[0018] 所述主控制器的主FPGA時(shí)鐘向所述主控制器的0S時(shí)鐘進(jìn)行時(shí)間同步,以實(shí)現(xiàn)對(duì)所 述主FPGA時(shí)鐘的初始時(shí)間的設(shè)置。
[0019] 優(yōu)選地,所述主控制器的主FPGA時(shí)鐘向所述主控制器的0S時(shí)鐘進(jìn)行時(shí)間同步,以 實(shí)現(xiàn)對(duì)所述主FPGA時(shí)鐘的初始時(shí)間的設(shè)置的過(guò)程具體為:
[0020] 當(dāng)所述主控制器中的實(shí)時(shí)系統(tǒng)RTS以第一周期查詢到所述主控制器的操作系統(tǒng)0S 時(shí)鐘的時(shí)鐘變量達(dá)到整分時(shí),判斷所述主控制器的CPU是否有時(shí)間向所述主FPGA時(shí)鐘發(fā)送 第一時(shí)間同步校時(shí)命令;
[0021] 當(dāng)所述主控制器的CHJ立即向所述主FPGA時(shí)鐘發(fā)送所述第一時(shí)間同步校時(shí)命令 時(shí),所述主控制器的CPU將所述主FPGA時(shí)鐘的時(shí)間初值設(shè)為0;
[0022] 當(dāng)所述主控制器的CPU在Atl后才向所述主FPGA時(shí)鐘發(fā)送所述第一時(shí)間同步校時(shí) 命令時(shí),所述主控制器的CPU將所述主FPGA時(shí)鐘的時(shí)間初值設(shè)為Λ11;其中,所述主FPGA時(shí) 鐘為周期為60s的主1分鐘定時(shí)器。優(yōu)選地,所述第一周期為50ms。
[0023] 優(yōu)選地,所述預(yù)先設(shè)置好時(shí)間初值的所述主控制器與所述從控制器通過(guò)所述硬接 線進(jìn)行時(shí)間同步的過(guò)程具體為:
[0024] 當(dāng)所述主1分鐘定時(shí)器滿足60s溢出時(shí),所述控制器中的PFGA的主邏輯單元通過(guò)所 述硬接線向所述從控制器中的FPGA的從邏輯單元發(fā)送廣播報(bào)文;
[0025] 所述從邏輯單元依據(jù)所述廣播報(bào)文將所述從控制器中的PFGA的從1分鐘定時(shí)器的 初值設(shè)置為0。
[0026] 優(yōu)選地,所述主控制器和所述從控制器向各自對(duì)應(yīng)的S0E模塊進(jìn)行時(shí)間同步的過(guò) 程具體為:
[0027]當(dāng)所述控制器中的1分鐘定時(shí)器滿足60s溢出時(shí),所述控制器中的FPGA的邏輯單元 向所述控制器中的DP通訊主站發(fā)送第二時(shí)間同步校時(shí)命令,其中,所述控制器為所述主控 制器或者所述從控制器;
[0028]當(dāng)所述DP通訊主站在接收到所述第二時(shí)間同步校時(shí)命令就立即向與所述控制器 相對(duì)應(yīng)地S0E模塊中的微控制單元MCU中的DP通訊從站發(fā)送時(shí)間戳?xí)r,所述時(shí)間戳對(duì)應(yīng)的值 為〇;
[0029]當(dāng)所述DP通訊主站雖然接收到所述第二時(shí)間同步校時(shí)命令但在At2時(shí)間后才開(kāi) 始向所述S0E模塊中的微控制單元MCU中的DP通訊從站發(fā)送時(shí)間戳?xí)r,所述時(shí)間戳對(duì)應(yīng)的值 為 At2;
[0030]所述DP通訊從站接收到所述時(shí)間戳?xí)r,所述MCU依據(jù)所述時(shí)間戳以及接收誤差值 對(duì)所述S0E模塊中的FPGA中的時(shí)間定時(shí)器的時(shí)間進(jìn)行時(shí)間同步。
[0031]優(yōu)選地,所述接收誤差值包括接收過(guò)程誤差值,其中,所述接收過(guò)程誤差值的獲取 過(guò)程為:
[0032]所述MCU在所述DP通訊從站開(kāi)始接收所述時(shí)間戳?xí)r立即向所述S0E模塊中的FPGA 發(fā)送開(kāi)啟指令,啟動(dòng)所述FPGA中的誤差定時(shí)器;
[0033]所述S0E模塊對(duì)所述時(shí)間戳進(jìn)行解析,得到時(shí)間戳Ta,同時(shí)向所述S0E模塊中的 FPGA發(fā)送停止指令,停止所述誤差定時(shí)器,此時(shí)所述誤差定時(shí)器的定時(shí)值為時(shí)間戳ATb。 [0034]優(yōu)選地,所述接收誤差值還包括接收中斷誤差值A(chǔ)Tc,其中:
[0035] ATc為所述S0E模塊在接收所述時(shí)間戳的第一個(gè)字節(jié)過(guò)程中,未啟動(dòng)所述誤差定 時(shí)器造成的時(shí)間差。
[0036]優(yōu)選地,所述MCU依據(jù)所述時(shí)間戳以及接收誤差值對(duì)所述S0E模塊中的FPGA中的時(shí) 間定時(shí)器的時(shí)間進(jìn)行時(shí)間同步的過(guò)程具體為:
[0037] 所述Μ⑶對(duì)Ta、ATb以及ATc做求和處理,得到T;
[0038] 將所述時(shí)間定時(shí)器的時(shí)間更新為T(mén),實(shí)現(xiàn)對(duì)所述S0E模塊中的FPGA中的時(shí)間定時(shí)器 的時(shí)間的時(shí)間同步。
[0039]為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了一種S0E時(shí)間同步控制系統(tǒng),該系統(tǒng)包括:
[0040] 預(yù)先設(shè)置好時(shí)間初值的主控制器,用于與從控制器通過(guò)硬接線進(jìn)行時(shí)間同步;
[0041] 所述主控制器和所述從控制器還用于向各自對(duì)應(yīng)的S0E模塊進(jìn)行時(shí)間同步,以實(shí) 現(xiàn)控制站間以及控制站內(nèi)的S0E模塊的時(shí)間同步;
[0042] 其中,每個(gè)控制器分別對(duì)應(yīng)一個(gè)控制站,時(shí)間服務(wù)器預(yù)先選擇一個(gè)控制站的控制 器為所述主控制器,剩余的控制站的控制器為所述從控制器,所述主控制器和所述從控制 器之間通過(guò)所述硬接線連接。
[0043]本發(fā)明提供的一種的S0E時(shí)間同步控制方法和系統(tǒng),包括從控制器和預(yù)先設(shè)置好 時(shí)間初值的主控制器,且主控制器和從控制器之間通過(guò)硬接線連接,從控制器與主控制器 先通過(guò)硬接線進(jìn)行時(shí)間同步,然后主控制器和從控制器向各自對(duì)應(yīng)的S0E模塊進(jìn)行時(shí)間同 步,以實(shí)現(xiàn)控制站間以及控制站內(nèi)的S0E模塊的時(shí)間同步。可見(jiàn),主控制器與從控制器之間 通過(guò)硬接線來(lái)實(shí)現(xiàn)時(shí)間同步,時(shí)間同步誤差可以控制在幾十微秒內(nèi),達(dá)到了 lms的精度,提 高了控制站間的控制器的時(shí)間同步精度,也即實(shí)現(xiàn)了控制站間以及控制站內(nèi)的S0E模塊的 時(shí)間同步,且成本低,很好實(shí)現(xiàn)了成本與精度之間的平衡。
【附圖說(shuō)明】
[0044] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)現(xiàn)有技術(shù)和實(shí)施例中所 需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施 例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲 得其他的附圖。
[0045] 圖1為本發(fā)明提供的一種S0E時(shí)間同步控制方法的過(guò)程的流程圖;
[0046] 圖2為本發(fā)明提供的一種S0E時(shí)間同步控制系統(tǒng)的結(jié)構(gòu)示意圖;
[0047]圖3為本發(fā)明提供的另一種S0E時(shí)間同步控制方法的過(guò)程的流程圖;
[0048] 圖4為本發(fā)明提供的一種主控制器與時(shí)間服務(wù)器進(jìn)行時(shí)間同步的過(guò)程的流程圖;
[0049] 圖5為本發(fā)明提供的一種主控制器的主FPGA時(shí)鐘向主控制器的0S時(shí)鐘進(jìn)行時(shí)間同 步的過(guò)程的流程圖;
[0050] 圖6為本發(fā)明提供的一種控制器內(nèi)部的對(duì)時(shí)框圖;
[0051] 圖7為本發(fā)明提供的一種預(yù)先設(shè)置好時(shí)間初值的主控制器與從控制器通過(guò)硬接線 進(jìn)行時(shí)間同步的過(guò)程的流程圖;
[0052]圖8為本發(fā)明提供的一種主控制器和從控制器向各自對(duì)應(yīng)的S0E模塊進(jìn)行時(shí)間同 步的過(guò)程的流程圖;
[0053]圖9為本發(fā)明提供的一種S0E模塊對(duì)時(shí)機(jī)制框圖;
[0054]圖10為本發(fā)明提供的一個(gè)信號(hào)進(jìn)入兩個(gè)S0E模塊A、B輸入通道的示意圖;
[0055]圖11為本發(fā)明提供的一種光電耦合器的響應(yīng)時(shí)間/負(fù)載阻抗關(guān)系圖;
[0056]圖12