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