石建,岳峰,曹玉保
(國電南京自動(dòng)化股份有限公司 江蘇 南京211153)
基于CAN 總線的繼電保護(hù)裝置內(nèi)部通信機(jī)制設(shè)計(jì)
石建,岳峰,曹玉保
(國電南京自動(dòng)化股份有限公司 江蘇 南京211153)
為了解決繼電保護(hù)裝置內(nèi)部通信問題,提出了一種基于CAN總線的繼電保護(hù)裝置內(nèi)部通信機(jī)制設(shè)計(jì)方案。通過對(duì)裝置內(nèi)CPU模件與開入、開出模件通信的特性進(jìn)行分析,對(duì)CAN總線ID分段、數(shù)據(jù)傳輸及重發(fā)機(jī)制、通信故障處理機(jī)制進(jìn)行了設(shè)計(jì)。方案實(shí)現(xiàn)了繼電保護(hù)裝置多CPU、多IO組態(tài)下的實(shí)時(shí)、可靠通信。實(shí)際應(yīng)用表明,具有高效、可靠性高的優(yōu)點(diǎn),達(dá)到了設(shè)計(jì)需求。
繼電保護(hù)裝置;CAN總線;數(shù)據(jù)重發(fā);錯(cuò)誤處理;通信機(jī)制
CAN總線是由德國BOSCH公司開發(fā)的控制器局域網(wǎng)絡(luò)(Controller Area Network,CAN)簡(jiǎn)稱,最初用于高可靠性要求的汽車電子設(shè)計(jì),由于其卓越性能,現(xiàn)已廣泛應(yīng)用于工業(yè)自動(dòng)化、醫(yī)療設(shè)備等方面[1]。CAN總線通過無損競(jìng)爭(zhēng)、位填充、循環(huán)冗余檢驗(yàn)等方法,具有結(jié)構(gòu)簡(jiǎn)單、較高的性能和高可靠性等特點(diǎn),易于實(shí)現(xiàn)總線各節(jié)點(diǎn)間數(shù)據(jù)實(shí)時(shí)自由通信。繼電保護(hù)裝置根據(jù)應(yīng)用需求會(huì)配置若干CPU模件和若干IO模件,CPU模件與IO模件之間數(shù)據(jù)傳輸不約束主從關(guān)系,采用多發(fā)多收通信機(jī)制,數(shù)據(jù)吞吐量相對(duì)較小,但是對(duì)于實(shí)時(shí)性和可靠性卻提出很高的要求,CAN總線非常契合該應(yīng)用需求,但DeviceNet[2]、CANopen[3]等高層協(xié)議通常卻很復(fù)雜,不適宜繼電保護(hù)裝置。文中提出了基于CAN總線的面向繼電保護(hù)裝置應(yīng)用所優(yōu)化設(shè)計(jì)的方案。
繼電保護(hù)裝置根據(jù)應(yīng)用不同,配置的CPU模件及開入、開出回路數(shù)量變動(dòng)較多[4],常采用如圖1所示架構(gòu)。開入DI模件將外部高壓信號(hào)光電隔離轉(zhuǎn)換成低壓信號(hào)后通過通信總線發(fā)送給各CPU模件參與保護(hù)計(jì)算,高壓輸入信號(hào)通常為斷路器、隔離刀閘等一次設(shè)備運(yùn)行位置指示,也可用于連接壓板或其他二次設(shè)備的開出等。開出DO模件將各CPU模件通過通信總線發(fā)來的跳閘或其他控制指令轉(zhuǎn)換成繼電器接點(diǎn)輸出實(shí)現(xiàn)高壓斷路器跳閘、合閘功能,也可用于實(shí)現(xiàn)風(fēng)扇控制或信號(hào)指示等。對(duì)于開入開出均需要的場(chǎng)合,也可通過二者均包含的DIO模件滿足需求。RTD/TDC模件通常用于對(duì)斷路器、變壓器工作環(huán)境溫度、濕度、檔位等進(jìn)行測(cè)量,實(shí)現(xiàn)一次設(shè)備工作狀態(tài)的監(jiān)控。
圖1 IO通信架構(gòu)圖
多個(gè)CPU模件根據(jù)功能組態(tài)不同,與IO模件交互,并完成各自的保護(hù)運(yùn)算和測(cè)量、控制等功能。因此通信總線存在一對(duì)一、一對(duì)多、多對(duì)一等單播、廣播通信需求。從通信數(shù)據(jù)特點(diǎn)來看,DI、DO報(bào)文交互頻繁、信息短小,這些特征正好與CAN總線提供的多主發(fā)送、自由競(jìng)爭(zhēng)特性相符。而對(duì)于RTD溫度、DC直流量等變化較緩、數(shù)據(jù)量較大的模擬量等,也可使用CAN總線通過多幀進(jìn)行傳輸。
繼電保護(hù)裝置中模件通常都安裝在4U或6U尺寸標(biāo)準(zhǔn)機(jī)箱內(nèi),通過背板實(shí)現(xiàn)信號(hào)互連,背板同時(shí)提供各插槽硬件地址,方便模件識(shí)別自身地址。工程配置時(shí),CPU模件中存儲(chǔ)整機(jī)各模件配置信息,運(yùn)行后可以對(duì)其他模件上電狀態(tài)進(jìn)行監(jiān)視。
為提升通信效率,提高DO/DI響應(yīng)速度,通信采用總線支持的1 MHz最高波特率。對(duì)于當(dāng)前芯片技術(shù),過載幀基本不會(huì)再用,遠(yuǎn)程幀也沒有需求,僅使用數(shù)據(jù)幀。CAN 2.0B擴(kuò)展幀用戶可自行設(shè)計(jì)使用的有每幀29位ID標(biāo)識(shí)及最多8字節(jié)DATA數(shù)據(jù)。
2.1ID設(shè)計(jì)
用于競(jìng)爭(zhēng)總線的ID除包含優(yōu)先級(jí)Pri外,還含多幀傳遞必須的幀序號(hào)FrmSeq、重發(fā)標(biāo)記Rp、結(jié)束標(biāo)記Pe、源地址Src及目的地址Dst等。ID區(qū)29位分配參考圖2。
圖2 擴(kuò)展CAN ID使用分配
開出回路傳輸要求是CPU發(fā)出跳閘命令能立即傳送給指定DO模件,使得繼電器動(dòng)作,實(shí)現(xiàn)對(duì)一次設(shè)備的保護(hù)信號(hào)傳遞。為提高保護(hù)裝置的速動(dòng)性,快速切除故障,傳輸延時(shí)必須盡可能?。ㄕw可接受延時(shí)通常在ms數(shù)量級(jí)[5]),因此開出報(bào)文采用最高優(yōu)先級(jí)。開入回路傳輸要求是檢測(cè)到開關(guān)信號(hào)變化時(shí)實(shí)時(shí)上送,以便CPU記錄形成SOE、實(shí)現(xiàn)保護(hù)運(yùn)算。為避免與DO優(yōu)先級(jí)沖突,開入報(bào)文傳遞采用中等優(yōu)先級(jí),IO模件同步記錄變位時(shí)間。CAN總線除了進(jìn)行開入狀態(tài)、開出命令的傳遞外,還對(duì)運(yùn)行狀態(tài)、運(yùn)行日志及緩慢變化的模擬量等進(jìn)行傳遞,以便CPU模件準(zhǔn)確掌握裝置整體運(yùn)行狀況,這類報(bào)文傳送采用一般優(yōu)先級(jí)即可。綜上,CAN總線傳輸優(yōu)先級(jí)按圖3進(jìn)行分配,并作為定值可通過CPU模件進(jìn)行工程配置。
圖3 數(shù)據(jù)幀優(yōu)先級(jí)使用分配
當(dāng)傳輸數(shù)據(jù)超過8字節(jié)時(shí),不同幀之間需通過幀序號(hào)進(jìn)行判別,參見圖2。幀序號(hào)FrmSeq定義為從全1開始遞減,低位在前。數(shù)據(jù)重發(fā)時(shí)Rp標(biāo)志定義為1,數(shù)據(jù)傳輸完成時(shí)結(jié)束標(biāo)志Pe定義為1。源地址即為模件從背板獲取的硬件地址,目的地址通常為通信對(duì)象所在背板槽位的硬件地址,但為便于實(shí)現(xiàn)廣播、組播,目的地址對(duì)廣播、組播地址也進(jìn)行了約定,如全1為全網(wǎng)廣播地址。幀序號(hào)、地址等實(shí)際使用范圍較窄時(shí),相應(yīng)的高BIT位可考慮置1用于保留擴(kuò)展。
遵守上述設(shè)計(jì)規(guī)則,通信數(shù)據(jù)幀能達(dá)到:1)高優(yōu)先級(jí)數(shù)據(jù)幀可及時(shí)搶占總線;2)同一優(yōu)先級(jí)時(shí)多幀數(shù)據(jù)可連續(xù)發(fā)送,不會(huì)被搶斷;3)第一次傳送數(shù)據(jù)優(yōu)先于重發(fā)數(shù)據(jù);4)單幀優(yōu)先于多幀發(fā)送;5)所有前述數(shù)據(jù)均一致時(shí)根據(jù)源地址和目的地址確定發(fā)送順序。
最高優(yōu)先級(jí)情況下,開出報(bào)文等待傳輸時(shí)間最大為160 μs,其他優(yōu)先級(jí)報(bào)文等待傳輸時(shí)間不定,但可通過統(tǒng)計(jì)方法確定;通信幀最短長度67 μs,接收側(cè)在此時(shí)間內(nèi)需要能將數(shù)據(jù)接收和處理才能保證數(shù)據(jù)不丟失[6]。
2.2數(shù)據(jù)傳輸及重發(fā)
應(yīng)用層通信數(shù)據(jù)規(guī)定格式如圖4所示:第一字節(jié)為數(shù)據(jù)長度Len,第二字節(jié)為數(shù)據(jù)類型Type,其后為數(shù)據(jù)字節(jié),最后為從Len開始的數(shù)據(jù)CRC校驗(yàn)??紤]到數(shù)據(jù)幀一次最多傳輸8字節(jié),特別規(guī)定傳輸10字節(jié)以下時(shí)不傳輸Len和CRC字節(jié),由總線數(shù)據(jù)幀DLC及幀自身CRC校驗(yàn)機(jī)制取代。這樣,除去1個(gè)字節(jié)表示類型外,其余7個(gè)字節(jié)56BIT對(duì)需要快速傳輸信息的DI/DO模件來說足以表示開入狀態(tài)和控制命令,可在一幀內(nèi)完成傳輸。
圖4 數(shù)據(jù)傳輸格式
Type字節(jié)主要根據(jù)應(yīng)用來進(jìn)行確定,包含狀態(tài)傳遞、控制命令、狀態(tài)查詢、配置查詢、日志查詢、軟對(duì)時(shí)等不同用途,但不與ID中的優(yōu)先級(jí)進(jìn)行綁定以方便應(yīng)用靈活選擇。
CAN總線本質(zhì)上屬于廣播發(fā)送,每幀末尾的接收應(yīng)答僅表示至少一個(gè)通信節(jié)點(diǎn)正確接收該幀數(shù)據(jù)。通信節(jié)點(diǎn)較多時(shí),發(fā)送端不能據(jù)此確認(rèn)接收端正確接收,傳送過程需考慮重發(fā)。DI數(shù)據(jù)包含變位時(shí)刻信息,采用類似IEC61850發(fā)送GOOSE報(bào)文機(jī)制[9],以0 ms-2 ms-8 ms時(shí)間間隔一對(duì)多廣播發(fā)送且不需確認(rèn),見圖5,重發(fā)間隔內(nèi)如有新的變位時(shí),以最新數(shù)據(jù)立即重新開始發(fā)送。這樣,即使總線競(jìng)爭(zhēng)失敗、輸入雪崩等原因?qū)е聰?shù)據(jù)在硬件緩沖區(qū)阻塞,包含上次變位信息的新生成數(shù)據(jù)會(huì)覆蓋原先數(shù)據(jù),確保接收側(cè)數(shù)據(jù)準(zhǔn)確。而在沒有狀態(tài)變化時(shí),DI數(shù)據(jù)以1 s為間隔進(jìn)行周期發(fā)送。DO控制命令中包含累加的發(fā)送序號(hào),以圖5所示間隔一對(duì)一發(fā)送并要求確認(rèn),發(fā)送側(cè)收到確認(rèn)時(shí)可不再重發(fā),序號(hào)則用來判斷是否發(fā)生報(bào)文丟失情況。其他一般優(yōu)先級(jí)數(shù)據(jù),則采用通用的定時(shí)或超時(shí)重發(fā)機(jī)制進(jìn)行傳送。
圖5 數(shù)據(jù)重發(fā)間隔
2.3錯(cuò)誤處理
各通信節(jié)點(diǎn)統(tǒng)計(jì)通信數(shù)據(jù)及各種CAN總線錯(cuò)誤計(jì)數(shù),如位填充錯(cuò)誤數(shù)、CRC錯(cuò)誤數(shù)等,周期匯總給CPU模件進(jìn)行故障預(yù)警。如某節(jié)點(diǎn)異常導(dǎo)致進(jìn)入Bus-Off狀態(tài),造成通信的延遲最大為32個(gè)數(shù)據(jù)幀(發(fā)送錯(cuò)誤計(jì)數(shù)器累加到256)約5.3 ms[10-12]。此時(shí)節(jié)點(diǎn)采用快/慢兩種恢復(fù)模式:初始2次立即快恢復(fù),此后為慢恢復(fù)??旎謴?fù)時(shí)Bus-Off間隔時(shí)間約為1.4 ms,至少仍能提供其他節(jié)點(diǎn)8個(gè)數(shù)據(jù)幀的傳輸,不會(huì)對(duì)系統(tǒng)性能產(chǎn)生大的影響。慢恢復(fù)時(shí)Bus-Off間隔時(shí)間為80 ms,基本可使16個(gè)節(jié)點(diǎn)通信不受影響。
CPU模件周期發(fā)送巡檢報(bào)文,IO節(jié)點(diǎn)定期發(fā)送心跳數(shù)據(jù),各通信節(jié)點(diǎn)據(jù)此監(jiān)視總線狀況以記錄日志,CPU可對(duì)IO進(jìn)行日志讀取。對(duì)于通信長期丟失,IO節(jié)點(diǎn)采取先自復(fù)位再軟、硬件告警方案,確保裝置異常能及時(shí)被外界感知。CPU則可以及時(shí)進(jìn)行閉鎖操作,確保不出現(xiàn)誤動(dòng)[13-14]。
文中所述設(shè)計(jì)方案,使用在繼電保護(hù)平臺(tái)產(chǎn)品上配置5 個(gè)CPU和14個(gè)DI/DO模件,使用致遠(yuǎn)電子公司的CANScope-Pro分析儀接入,以類似示波器、邏輯分析儀及錄波器形式對(duì)CAN通信進(jìn)行靜態(tài)及干擾測(cè)試及100 ms短時(shí)100%總線負(fù)荷測(cè)試。圖6上部顯示針對(duì)某節(jié)點(diǎn)注入干擾導(dǎo)致其進(jìn)入Bus-Off狀態(tài),在此期間其他節(jié)點(diǎn)正常通信;下部顯示正常測(cè)試數(shù)據(jù)片段,系統(tǒng)運(yùn)行穩(wěn)定,達(dá)到預(yù)期的效果[15-17]。
圖6 測(cè)試結(jié)果
根據(jù)繼電保護(hù)裝置內(nèi)部CPU模件與IO模件之間的通信需求,文中提供了一種基于CAN總線優(yōu)化的通信機(jī)制和應(yīng)用層協(xié)議設(shè)計(jì)方案,并在實(shí)際產(chǎn)品中測(cè)試確認(rèn)工作可靠。該設(shè)計(jì)方案相比DeviceNet、CANopen簡(jiǎn)單,可實(shí)現(xiàn)可靠的多主實(shí)時(shí)通信,也可用于模擬量、運(yùn)行日志等大數(shù)據(jù)量的非實(shí)時(shí)通信,適宜作為繼電保護(hù)裝置內(nèi)部IO總線方案推廣應(yīng)用。
[1]鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,1996.
[2]王美玲.基于DeviceNet的嵌入式I/O模塊設(shè)計(jì)[D].北方工業(yè)大學(xué),2013.
[3]劉怡,王家樂.CANopen從站協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù),2011(9):38-40.
[4]王玉麗,王宜懷,屯娜.CAN通信機(jī)理剖析及MCF52235 Flex CAN底層驅(qū)動(dòng)構(gòu)件的開發(fā) [J].計(jì)算機(jī)應(yīng)用與軟件,2011,28 (1):19-21.
[5]黃娟娟,夏超英,柳同生.基于英飛凌XC2268的整車控制系統(tǒng)CAN通信設(shè)計(jì)[J].儀表技術(shù)與傳感器,2014(5):60-62.
[6]Wolfhard Lawrenz.CAN Systems Engineering,F(xiàn)rom Theory to Practical Applications[M].2nd.New York:Springer Press,2013.
[7]馮源,豆海利,閆海明.面向機(jī)載機(jī)電管理系統(tǒng)的CAN應(yīng)用層協(xié)議設(shè)計(jì)[J].航空工程進(jìn)展,2015,6(2):252-260.
[8]章磊,祝明,武哲.無人直升機(jī)系統(tǒng)CAN總線應(yīng)用層協(xié)議設(shè)計(jì)[J].北京航空航天大學(xué)學(xué)報(bào),2011,37(10):1264-1270.
[9]付偉,秦樹人,邱建偉.基于CAN總線的車載數(shù)據(jù)采集器的設(shè)計(jì)[J].重慶大學(xué)學(xué)報(bào):自然科學(xué)版,2006,29(3):19-22.
[10]黃娟娟,夏超英,柳同生.基于英飛凌XC2268N的整車控制系統(tǒng)CAN通信設(shè)計(jì)[J].儀表技術(shù)與傳感器,2014(5):60-62.
[11]魏立峰,李洪亮,王慶輝,等.一種基于CAN總線的通信系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].沈陽化工大學(xué)學(xué)報(bào),2015,29(1):59-64.
[12]方珍,陳俊峰,潘盛貴.變電站二次智能電子設(shè)備通信接口與通信協(xié)議應(yīng)用分析[J].電氣開關(guān),2014(5):66-68.
[13]毛乃虎.現(xiàn)場(chǎng)總線技術(shù)在微機(jī)母線保護(hù)中的應(yīng)用[J].電力自動(dòng)化設(shè)備,2002,22(6):58-59.
[14]尹海彪,桂峰.基于CAN總線的微機(jī)繼電保護(hù)系統(tǒng)[J].通信電源技術(shù),2012,29(3):50-51.
[15]饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場(chǎng)總線CAN原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2007.
[16]嚴(yán)輝,方正.基于CAN總線的門禁讀卡控制器設(shè)計(jì) [J].工業(yè)儀表與自動(dòng)化裝置,2016(4):64-66.
[17]潘世華,張小鴻.基于CAN總線的娛樂設(shè)施數(shù)據(jù)采集智能終端設(shè)計(jì)[J].工業(yè)儀表與自動(dòng)化裝置,2012(4):31-34,100.
Design for internal communication for protective relay devices based on CAN bus
SHI Jian,YUE Feng,CAO Yu-bao
(Guodian Nanjing Automation Co.,LTD,Nanjing 211153,China)
In order to solve the problem of internal communication between relay protection devices,an internal communication mechanism for protective relay devices based on CAN bus is designed in this paper.Through analyzing characterics of the communication between between CPU modules and input and output modules,ID block,data transmission and retransmission mechanism,the communication failure processing mechanism based on CAN bus is designed.It is realized the real-time and reliablely communcation between multi-CPU and multi-IO.The experiment and application show that this design has characteric of high performances and relability,achieve the design requirement.
protective relay devices;CAN bus;data retransmission;fault handling;communication mechanism
TN06
A
1674-6236(2016)22-0030-03
2015-11-19稿件編號(hào):201511190
石 建(1973—),男,江蘇南京人,碩士,工程師。研究方向:繼電保護(hù)、自動(dòng)控制。