裴文龍,裘宏波,程海栗
(重慶川儀自動(dòng)化股份有限公司,重慶 401121)
SOE是英文Sequence Of Event的縮寫(xiě),SOE裝置即事件順序記錄裝置,是一種記錄多個(gè)開(kāi)關(guān)量輸入信號(hào)狀態(tài)變化的動(dòng)作和時(shí)間的裝置。事件指帶有時(shí)間戳的開(kāi)關(guān)量輸入信號(hào)狀態(tài)變化動(dòng)作。事件的時(shí)間用以標(biāo)識(shí)事件發(fā)生的先后順序。一般SOE的時(shí)間分辨率要求不大于1ms[2]。SOE主要用于故障和事故的原因分析,在電力系統(tǒng)應(yīng)用比較廣泛。本文介紹重慶川儀自動(dòng)化股份有限公司研發(fā)的一種SOE裝置——PAS-32SOE。
為兼容PAS100控制系統(tǒng)結(jié)構(gòu)體系,PAS-32SOE采用模塊化結(jié)構(gòu),由集控模塊和若干(≤8)個(gè)采集模塊構(gòu)成,各模塊通過(guò)RS485總線連接,如圖1所示。
其中,采集模塊設(shè)計(jì)為16通道,用于采集和緩存事件記錄;集控模塊用于各模塊時(shí)間同步控制,以及收集各采集模塊的事件記錄并轉(zhuǎn)發(fā)給外部請(qǐng)求設(shè)備;集控模塊與各采集模塊通過(guò)RS485總線實(shí)現(xiàn)互聯(lián)。
該裝置由集控模塊、采集模塊和RS485總線3部分組成。集控模塊硬件結(jié)構(gòu)框圖如圖2所示。
該模塊既要求實(shí)現(xiàn)各采集模塊事件記錄的快速讀取和存儲(chǔ),又要實(shí)現(xiàn)各模塊精確的時(shí)間同步,還要實(shí)現(xiàn)對(duì)外數(shù)據(jù)通信,所以其MCU選取MC9S12XEQ384。MC9S12XEQ384是飛思卡爾公司的一種16位雙核MCU,其運(yùn)行效率高,外圍資源豐富。
相對(duì)集控模塊,采集模塊的處理任務(wù)比較少,選用普通的8位MCU即可實(shí)現(xiàn)功能。采集模塊的硬件結(jié)構(gòu)框圖如圖3所示。
為了保證各個(gè)模塊時(shí)鐘的一致性,集控模塊和采集模塊采用規(guī)格和參數(shù)相同的晶體振蕩器作為系統(tǒng)運(yùn)行時(shí)鐘。上述模塊涉及的具體硬件電路都是比較成熟的數(shù)字電路,實(shí)現(xiàn)起來(lái)比較容易,這里就不再贅述。
SOE裝置與一般開(kāi)關(guān)量信號(hào)采集部件的主要區(qū)別在于時(shí)間戳。SOE裝置記錄事件的時(shí)間戳要求具有極高的分辨率,因此采用什么樣的濾波技術(shù)以確保事件時(shí)間戳的高精準(zhǔn)度是SOE裝置的一項(xiàng)關(guān)鍵技術(shù)。模塊化的結(jié)構(gòu)提高了SOE裝置的可擴(kuò)展性和靈活性,但是也帶來(lái)另外一個(gè)問(wèn)題——不同模塊時(shí)間的不一致性。采用何種時(shí)間同步策略和方法實(shí)現(xiàn)不同模塊時(shí)間的高度一致性是模塊化SOE裝置的一項(xiàng)關(guān)鍵技術(shù)。
圖1 PAS-32SOE結(jié)構(gòu)圖Fig.1 PAS-32SOE chart
圖2 集控模塊硬件框圖Fig.2 Control module hardware diagram
圖3 采集模塊硬件框圖Fig.3 Sample module hardware diagram
圖4 事件濾波示意圖Fig.4 Event filter schematic diagram
圖5 PAS-32SOE結(jié)構(gòu)圖Fig.5 PAS-32SOE chart
圖6 集控模塊同步定時(shí)器中斷服務(wù)函數(shù)流程Fig.6 Control module synchronous function timer interrupt service process
圖7 集控模塊主程序流程Fig.7 Control module is the main program flow
圖8 采集模塊250us定時(shí)器中斷服務(wù)函數(shù)流程Fig.8 Sample module 250us timer interrupt function processes
開(kāi)關(guān)量信號(hào)的濾波主要是SOE裝置事件去抖動(dòng)不同于一般開(kāi)關(guān)量信號(hào),它不僅要求有效地去除信號(hào)抖動(dòng),還要求準(zhǔn)確地記錄信號(hào)變化的時(shí)間。因此采用圖4所示濾波方案。
圖9 采集模塊通信斷幀定時(shí)器中斷服務(wù)函數(shù)流程Fig.9 Sample module communication broken frame timer interrupt function flow
圖10 采集模塊主程序流程Fig.10 Sample module main program flow
圖11 測(cè)試數(shù)據(jù)截圖Fig.11 Test data capture
若信號(hào)狀態(tài)變化持續(xù)時(shí)間≥td,則認(rèn)為是有效事件,并以信號(hào)變化前沿時(shí)間作為事件的時(shí)間戳;若信號(hào)狀態(tài)變化持續(xù)時(shí)間<td,則認(rèn)為是抖動(dòng)信號(hào)。該濾波方法不僅具有原理簡(jiǎn)單、實(shí)現(xiàn)方便和運(yùn)算快捷等特點(diǎn),而且能有效地去除干擾信號(hào),同時(shí)也便于準(zhǔn)確地確定事件的時(shí)間。
采用規(guī)格和參數(shù)相同的晶體振蕩器作為各模塊的時(shí)鐘源能有效提高不同模塊的時(shí)間一致性。晶體振蕩器雖然能提供極高的時(shí)鐘精度,但是制造誤差和溫漂影響等因素引起的差異在所難免。運(yùn)行一定時(shí)間后,不同模塊的時(shí)鐘就會(huì)表現(xiàn)出不同程度的不一致性。這種不一致性難以消除,可以采用一定的時(shí)間同步策略盡量減小,以期達(dá)到一個(gè)可接受的范圍。
PAS-32SOE各模塊采用的晶體振蕩器誤差≤±30PPM,則不同模塊的時(shí)鐘差最大為60PPM,那么不同模塊的時(shí)鐘差達(dá)到1ms需要的最小運(yùn)行時(shí)間為16.7s。為了保證不同模塊時(shí)鐘差≤1ms,則需在16.7s內(nèi)對(duì)各模塊進(jìn)行時(shí)間同步。集控模塊是該SOE裝置的必備模塊,用作該SOE裝置的同步時(shí)鐘基準(zhǔn)。集控模塊讀取采集模塊事件記錄采用請(qǐng)求-應(yīng)答方式,實(shí)現(xiàn)各模塊時(shí)間同步使用廣播方式。在通信波特率設(shè)計(jì)為460800bps時(shí),集控模塊讀取1個(gè)采集模塊所需時(shí)間≤1.5ms,則完成最多8個(gè)采集模塊所需時(shí)間≤12ms;發(fā)送廣播命令到各采集模塊完成時(shí)間校準(zhǔn)的時(shí)間≤1ms?;谌缟戏治?,定義集控模塊的一個(gè)同步-掃描周期為16ms,即集控模塊每16ms執(zhí)行一次時(shí)間同步任務(wù)并依次讀取各采集模塊事件記錄。集控模塊各周期任務(wù)處理流程如圖5所示。
各采集模塊接收時(shí)間同步命令進(jìn)行時(shí)間校準(zhǔn)的時(shí)差很小,可以忽略不計(jì)。這樣,通過(guò)同一RS485總線既能實(shí)現(xiàn)采集模塊數(shù)據(jù)讀取,也實(shí)現(xiàn)了各模塊的時(shí)間同步。
SOE裝置以集控模塊為同步時(shí)鐘基準(zhǔn),集控模塊每16ms發(fā)送一次廣播同步幀用以同步各模塊的時(shí)鐘。集控模塊的同步時(shí)鐘基于2ms定時(shí)器實(shí)現(xiàn),該定時(shí)器中斷設(shè)為最高優(yōu)先級(jí),其中斷服務(wù)函數(shù)處理流程如圖6所示。
集控模塊的主程序在同步命令發(fā)送完畢后開(kāi)始依次讀取下掛采集模塊的數(shù)據(jù)并對(duì)控制器命令幀予以應(yīng)答。集控模塊主程序軟件處理流程如圖7所示。
此外,集控模塊還需實(shí)現(xiàn)事件記錄存儲(chǔ)以及與外部設(shè)備數(shù)據(jù)通信等功能。通過(guò)數(shù)據(jù)通信,外部設(shè)備可以設(shè)置集控模塊的絕對(duì)時(shí)間或讀取集控模塊存儲(chǔ)的事件記錄。上述功能的實(shí)現(xiàn)相對(duì)簡(jiǎn)單,限于篇幅,這里就不一一介紹。
采集模塊配置250us定時(shí)器中斷為最高優(yōu)先級(jí),用于該模塊內(nèi)部時(shí)鐘計(jì)數(shù)和通道采集濾波時(shí)間基準(zhǔn),該中斷的服務(wù)函數(shù)程序處理流程如圖8所示。
采集模塊以3.5字符時(shí)間的定時(shí)器中斷實(shí)現(xiàn)通信數(shù)據(jù)斷幀,該中斷的服務(wù)函數(shù)處理流程如圖9所示。
事件記錄讀取命令的應(yīng)答處理任務(wù)對(duì)實(shí)時(shí)性的要求不高,將該任務(wù)放在主程序中處理,流程如圖10所示。
給地址號(hào)分別為3和4的模塊的第1和5通道接入同一開(kāi)關(guān)量信號(hào),待裝置運(yùn)行一定時(shí)間后,改變接入信號(hào)狀態(tài),通過(guò)PC機(jī)測(cè)試軟件讀取事件記錄。圖11為測(cè)試過(guò)程的一個(gè)截圖。
測(cè)試結(jié)果顯示該SOE裝置不同采集模塊的不同通道的事件采集記錄時(shí)間精度達(dá)到1ms,且時(shí)間一致性符合設(shè)計(jì)要求。
RS485總線是自動(dòng)化工業(yè)控制領(lǐng)域中最常用的一種總線,由于其具有很好的抗干擾能力和較低的成本,因此在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用。該裝置的硬件設(shè)計(jì)原理簡(jiǎn)單,成本不高,采用模塊化的設(shè)計(jì)思想,基于RS485總線,實(shí)現(xiàn)了對(duì)時(shí)間分辨率和同步性要求很高的順序事件記錄的讀取和記錄功能。測(cè)試結(jié)果和應(yīng)用實(shí)踐證明,該SOE裝置不僅具有實(shí)現(xiàn)簡(jiǎn)單、成本低的優(yōu)點(diǎn),并且具有使用方便,可靠性好、通用性高等特點(diǎn)。
[1]周斌,魯國(guó)剛,黃國(guó)方,等.關(guān)于SOE時(shí)標(biāo)方法的探討[C].2006.
[2]韓躍進(jìn).DCS事件順序記錄性能分析及測(cè)試[J].江蘇電機(jī)工程,2007,26(6).
[3]李曉博,瞿麗莉,葉智,等.SOE系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)[J].熱力發(fā)電,2012,41(9).
[4]韓友喜.SOE系統(tǒng)結(jié)構(gòu)優(yōu)劣分析與研究[J].電子世界,2013(22).
[5]周斌,魯國(guó)剛,黃國(guó)方,等.關(guān)于時(shí)間順序記錄(SOE)分辨率的探討[C].2008.
[6]陳世慧,柳德志,賈莉.時(shí)間順序記錄(SOE)性能測(cè)試裝置的研究與開(kāi)發(fā)[J].內(nèi)蒙古電力技術(shù),2008,26(4).