徐 健,宋 寶,唐小琦,顏外平
(華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,武漢 430074)
?
伺服驅(qū)動(dòng)器EtherCAT接口故障診斷及容錯(cuò)技術(shù)的研究*
徐健,宋寶,唐小琦,顏外平
(華中科技大學(xué) 機(jī)械科學(xué)與工程學(xué)院,武漢430074)
摘要:為解決EtherCAT協(xié)議應(yīng)用于伺服驅(qū)動(dòng)器所產(chǎn)生的故障診斷及容錯(cuò)的問(wèn)題,首先深入研究了基于EtherCAT協(xié)議的伺服控制系統(tǒng)架構(gòu),分析并總結(jié)了伺服驅(qū)動(dòng)器EtherCAT總線接口所產(chǎn)生的運(yùn)行故障及容錯(cuò)技術(shù),然后設(shè)計(jì)并實(shí)現(xiàn)了基于總結(jié)歸納的三類故障診斷及容錯(cuò)機(jī)制流程,并搭建實(shí)驗(yàn)平臺(tái)進(jìn)行實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)結(jié)果表明,這種故障診斷和容錯(cuò)技術(shù)的應(yīng)用很好地提高了EtherCAT總線式伺服驅(qū)動(dòng)器運(yùn)行的可靠性和穩(wěn)定性。
關(guān)鍵詞:EtherCAT;總線式伺服驅(qū)動(dòng)器;故障診斷;容錯(cuò)
0引言
現(xiàn)場(chǎng)總線技術(shù)的出現(xiàn)為高速高精的全數(shù)字化加工控制提供了基礎(chǔ)平臺(tái)[1],基于實(shí)時(shí)工業(yè)以太網(wǎng)的現(xiàn)場(chǎng)總線技術(shù)可以實(shí)現(xiàn)百兆全雙工的高速穩(wěn)定通信,廣泛應(yīng)用于各類工業(yè)自動(dòng)化控制設(shè)備當(dāng)中[2-4]。
然而這些協(xié)議運(yùn)用在不同種類的設(shè)備上時(shí),就會(huì)與設(shè)備本身的功能產(chǎn)生融合問(wèn)題,一方面要求設(shè)備應(yīng)用能夠充分利用協(xié)議接口實(shí)現(xiàn)功能的擴(kuò)展;而另一方面又要確保協(xié)議接口本身不能影響設(shè)備的正常功能的實(shí)現(xiàn)。
基于此,本文針對(duì)工業(yè)以太網(wǎng)EtherCAT協(xié)議應(yīng)用于伺服驅(qū)動(dòng)器這一類設(shè)備當(dāng)中所產(chǎn)生的故障診斷和容錯(cuò)問(wèn)題進(jìn)行了深入的分析,研究并設(shè)計(jì)EtherCAT總線式伺服驅(qū)動(dòng)器故障診斷流程以及相應(yīng)的容錯(cuò)機(jī)制,有效地解決了EtherCAT總線與伺服驅(qū)動(dòng)器的融合集成問(wèn)題,極大程度上提高了EtherCAT總線式伺服驅(qū)動(dòng)器運(yùn)行的可靠性和穩(wěn)定性。
1EtherCAT的伺服控制
1.1EtherCAT的伺服控制系統(tǒng)
基于EtherCAT的伺服控制系統(tǒng)如圖1所示,EtherCAT總線式伺服驅(qū)動(dòng)器通過(guò)ESC(EtherCAT Slave Controller)接入EtherCAT網(wǎng)絡(luò)中,EtherCAT主站通過(guò)集總幀的方式與各個(gè)伺服驅(qū)動(dòng)器進(jìn)行數(shù)據(jù)交互[5-6]。ESC對(duì)EtherCAT網(wǎng)絡(luò)中的數(shù)據(jù)幀進(jìn)行解析和轉(zhuǎn)發(fā),對(duì)有效數(shù)據(jù)進(jìn)行上傳和下載操作。伺服應(yīng)用層再通過(guò)PDI(Process Data Interface)接口與ESC中的有效數(shù)據(jù)進(jìn)行交互,實(shí)現(xiàn)伺服控制的功能。
EtherCAT支持的應(yīng)用層協(xié)議和伺服驅(qū)動(dòng)器控制行規(guī)包括CANopen和SERCOS,分別對(duì)應(yīng)于CoE(CANopen over EtherCAT)和SoE(SERCOS over EtherCAT)。本文基于CoE應(yīng)用層協(xié)議,研究伺服驅(qū)動(dòng)器EtherCAT接口的故障診斷及容錯(cuò)技術(shù)。
圖1 EtherCAT伺服控制系統(tǒng)
1.2EtherCAT的伺服控制流程
基于CANopen協(xié)議的伺服控制框圖如圖2所示,CANopen伺服應(yīng)用層通過(guò)周期性過(guò)程數(shù)據(jù)可以將EtherCAT網(wǎng)絡(luò)中的指令數(shù)據(jù)置于經(jīng)典的三環(huán)控制流程當(dāng)中,同時(shí)將反饋信息返回到網(wǎng)絡(luò)當(dāng)中[7-9]。
圖2 CoE伺服控制框圖
CANopen協(xié)議置于伺服應(yīng)用層當(dāng)中主要包括周期性過(guò)程數(shù)據(jù)的對(duì)象字典映射、CANopen郵箱通信協(xié)議實(shí)現(xiàn)對(duì)象字典參數(shù)的修改和功率設(shè)備狀態(tài)機(jī)維護(hù)等三大部分的內(nèi)容。
2EtherCAT接口故障診斷研究及設(shè)計(jì)
EtherCAT伺服控制系統(tǒng)在運(yùn)行過(guò)程中會(huì)產(chǎn)生各類故障診斷信息,按照層次邏輯可以將其劃分為三個(gè)方面,如圖3所示。具體包括EtherCAT總線通信故障診斷,主要針對(duì)EtherCAT通信應(yīng)用層狀態(tài)的報(bào)警信息;CANopen協(xié)議通信故障診斷,主要診斷CoE郵箱通信等;伺服控制故障診斷,主要針對(duì)伺服三環(huán)控制算法中出現(xiàn)的故障進(jìn)行診斷。
圖3 EtherCAT伺服驅(qū)動(dòng)器故障診斷分類
2.1EtherCAT總線通信故障診斷
EtherCAT協(xié)議定義了一系列的標(biāo)準(zhǔn)化應(yīng)用層狀態(tài)碼,部分狀態(tài)碼如圖4所示,其中主要定義了EtherCAT總線在初始化過(guò)程中配置的故障診斷信息,包括狀態(tài)機(jī)、SM同步管理通道、PDO映射配置等。
圖4 應(yīng)用層部分狀態(tài)碼定義
以狀態(tài)機(jī)狀態(tài)碼0x0011、0x0012和0x0013實(shí)現(xiàn)為例,其實(shí)現(xiàn)流程設(shè)計(jì)如圖5所示??偩€應(yīng)用層不斷循環(huán)檢測(cè)應(yīng)用層請(qǐng)求寄存器是否有狀態(tài)機(jī)切換事件發(fā)生,若有則根據(jù)當(dāng)前狀態(tài)和請(qǐng)求狀態(tài)計(jì)算狀態(tài)轉(zhuǎn)換邏輯,然后根據(jù)狀態(tài)轉(zhuǎn)換邏輯來(lái)判別是否產(chǎn)生相應(yīng)的錯(cuò)誤狀態(tài)碼;若進(jìn)行正常的狀態(tài)切換,則返回0x0000,并執(zhí)行相應(yīng)的狀態(tài)機(jī)操作。例如,狀態(tài)機(jī)由Init狀態(tài)直接切換到Safe-Op狀態(tài),不符合協(xié)議要求,則直接返回0x0011狀態(tài)碼,即無(wú)效狀態(tài)改變。
圖5 狀態(tài)機(jī)狀態(tài)碼實(shí)現(xiàn)流程設(shè)計(jì)
再以郵箱SM同步管理通道檢測(cè)為例,設(shè)計(jì)流程如圖6所示。從站狀態(tài)在Pre-OP狀態(tài)下時(shí),讀取郵箱SM0和SM1參數(shù),順序檢測(cè)SM通道使能、讀寫(xiě)屬性、但緩存區(qū)檢測(cè)、長(zhǎng)度檢測(cè)和地址檢測(cè)等配置信息,若任何一個(gè)環(huán)節(jié)產(chǎn)生錯(cuò)誤,則返回狀態(tài)碼0x0016。
圖6 郵箱配置狀態(tài)碼實(shí)現(xiàn)流程設(shè)計(jì)
2.2CANopen協(xié)議通信故障診斷
在進(jìn)行SDO通信時(shí),當(dāng)產(chǎn)生錯(cuò)誤時(shí),從站將終止SDO傳輸,產(chǎn)生錯(cuò)誤代碼,由主站進(jìn)行讀取,CoE通信部分常用的終止代碼如圖7所示。
以其中的部分SDO終止代碼實(shí)現(xiàn)為例,研究并設(shè)計(jì)了其實(shí)現(xiàn)流程,如圖8所示。從CoE緩存隊(duì)列中讀取郵箱數(shù)據(jù)幀,首先判斷郵箱頭是否為CoE郵箱類型,反之則返回命令無(wú)效代碼;然后,從數(shù)據(jù)幀中提取操作索引和子索引,根據(jù)索引和子索引查找數(shù)據(jù)字典,依次判斷是否存在、子索引超差和讀寫(xiě)屬性等信息是否一致,反之則返回相應(yīng)的錯(cuò)誤代碼。
圖7 部分SDO終止傳輸代碼
圖8 SDO終止代碼實(shí)現(xiàn)流程設(shè)計(jì)
2.3伺服控制故障診斷
伺服驅(qū)動(dòng)器屬于功率設(shè)備的一種,滿足DS402功率設(shè)備狀態(tài)機(jī)的要求,如圖9所示。其中,伺服控制故障類型根據(jù)具體的伺服應(yīng)用而定,但其反映在功率設(shè)備狀態(tài)機(jī)中統(tǒng)稱為出錯(cuò)。出錯(cuò)的狀態(tài)統(tǒng)一反映在設(shè)備的狀態(tài)字0x6041中,可由主站獲取從站伺服的狀態(tài)信息進(jìn)行故障診斷判別。
圖9 CoE功率設(shè)備狀態(tài)機(jī)
3EtherCAT接口容錯(cuò)技術(shù)研究及設(shè)計(jì)
當(dāng)EtherCAT伺服驅(qū)動(dòng)器經(jīng)過(guò)故障診斷產(chǎn)生報(bào)警信息后,一方面從站根據(jù)所產(chǎn)生的報(bào)警信息進(jìn)行自我容錯(cuò)的診斷,可歸納為從站主動(dòng)容錯(cuò)技術(shù);而另一方面主站獲取到從站的報(bào)警信息后也會(huì)進(jìn)行相應(yīng)的容錯(cuò)處理,可稱為從站被動(dòng)容錯(cuò)技術(shù),如圖10所示。
圖10 伺服驅(qū)動(dòng)器EtherCAT接口容錯(cuò)機(jī)制分類
3.1從站主動(dòng)容錯(cuò)機(jī)制的設(shè)計(jì)
在上述出現(xiàn)的三類故障診斷信息中,CANopen協(xié)議通信故障產(chǎn)生的報(bào)警信息并不會(huì)影響從站功能正常實(shí)現(xiàn),其次,伺服控制故障產(chǎn)生的報(bào)警信息并不能由從站自行進(jìn)行復(fù)位,否則將會(huì)產(chǎn)生不安全的因素。因此,從站在自我容錯(cuò)機(jī)制當(dāng)中,當(dāng)總線通信出現(xiàn)故障時(shí)可以進(jìn)行容錯(cuò)從而防止更進(jìn)一步的危險(xiǎn)出現(xiàn)。
在EtherCAT總線通信故障中,針對(duì)應(yīng)用層時(shí)間產(chǎn)生的狀態(tài)碼,設(shè)計(jì)了如圖11所示的主動(dòng)容錯(cuò)流程。當(dāng)從站通信產(chǎn)生應(yīng)用層錯(cuò)誤代碼時(shí),從站根據(jù)不同狀態(tài)下的狀態(tài)碼進(jìn)行相應(yīng)的自我保護(hù)機(jī)制處理,即在不同的狀態(tài)機(jī)切換下主動(dòng)關(guān)閉相應(yīng)的通信通道,避免進(jìn)一步的錯(cuò)誤數(shù)據(jù)傳遞。當(dāng)產(chǎn)生錯(cuò)誤代碼時(shí),對(duì)應(yīng)于狀態(tài)切換I→P(I→B)、P→S和S→O產(chǎn)生關(guān)閉對(duì)應(yīng)郵箱通信通道、輸入數(shù)據(jù)通道和輸出數(shù)據(jù)通道。
圖11 從站主動(dòng)容錯(cuò)流程
3.2從站被動(dòng)容錯(cuò)機(jī)制的設(shè)計(jì)
從站的被動(dòng)容錯(cuò)機(jī)制是在基于主站已經(jīng)獲取了從站的報(bào)警信息代碼的前提之下,主站根據(jù)相應(yīng)的報(bào)警復(fù)位清除策略對(duì)從站采取的容錯(cuò)流程。主要包括EtherCAT總線通信故障和伺服控制故障兩類錯(cuò)誤診斷,其中對(duì)于EtherCAT總線通信故障被動(dòng)容錯(cuò)機(jī)制而言,從站在進(jìn)入錯(cuò)誤狀態(tài)后,采取主動(dòng)容錯(cuò)機(jī)制后,停止數(shù)據(jù)的輸入輸出,等待主站的復(fù)位信號(hào)出現(xiàn)后,開(kāi)始響應(yīng)主站的控制命令,同時(shí)開(kāi)啟輸入輸出通道,正常運(yùn)行從站。
當(dāng)伺服控制環(huán)產(chǎn)生故障診斷而EtherCAT總線通信正常時(shí),產(chǎn)生的故障診斷信息通過(guò)伺服狀態(tài)字0x6041反饋給主站,主站得知伺服控制產(chǎn)生報(bào)警時(shí),通過(guò)如圖9所示的CoE功率設(shè)備狀態(tài)機(jī)進(jìn)行伺服復(fù)位0x6040,重新執(zhí)行伺服算法,主站控制器重新調(diào)整控制策略,進(jìn)行伺服控制,達(dá)到被動(dòng)容錯(cuò)的流程。
4實(shí)驗(yàn)測(cè)試平臺(tái)及結(jié)果
本文實(shí)驗(yàn)平臺(tái)的主站采用的是德國(guó)Beckhoff公司基于PC的自動(dòng)化軟件TwinCAT,從站采用的基于上述故障診斷技術(shù)設(shè)計(jì)的伺服驅(qū)動(dòng)器,實(shí)驗(yàn)平臺(tái)圖如圖12所示。
圖12 實(shí)驗(yàn)測(cè)試平臺(tái)
首先進(jìn)行EtherCAT總線通信故障診斷的測(cè)試,以狀態(tài)機(jī)切換為例,當(dāng)總線處于初始化狀態(tài)Init時(shí),主站手動(dòng)發(fā)送Boot狀態(tài)指令,觀測(cè)主站讀取從站驅(qū)動(dòng)器反應(yīng)如圖13所示,此時(shí)TwinCAT軟件通過(guò)讀取寄存器讀取到了相應(yīng)的應(yīng)用層錯(cuò)誤代碼0x0013,即不支持引導(dǎo)狀態(tài)。通過(guò)主從的一致檢測(cè)可以反映基于上述流程設(shè)計(jì)的EtherCAT總線故障診斷技術(shù)產(chǎn)生作用。其余的分類測(cè)試結(jié)果與圖5和圖6中的結(jié)果保持一致。
圖13 應(yīng)用層故障診斷測(cè)試
然后進(jìn)行CANopen通信協(xié)議故障診斷實(shí)驗(yàn),以進(jìn)行寫(xiě)數(shù)據(jù)字典中不存在的索引為例,如TwinCAT軟件發(fā)送讀0x2000索引,子索引0,TwinCAT軟件得到了從站的錯(cuò)誤相應(yīng),代碼為0x06020000,即從站伺服驅(qū)動(dòng)器不存在這個(gè)索引,提醒主站的錯(cuò)誤操作,如圖14所示。
圖14 CANopen郵箱通信診斷測(cè)試
圖15 伺服控制診斷測(cè)試
最后進(jìn)行伺服控制故障診斷實(shí)驗(yàn),當(dāng)伺服控制電機(jī)正常運(yùn)轉(zhuǎn)時(shí),人為地抽離編碼器線纜,伺服掉強(qiáng)電使能產(chǎn)生錯(cuò)誤報(bào)警,此時(shí)TwinCAT軟件伺服控制面板上產(chǎn)生錯(cuò)誤,如圖15所示,當(dāng)重新接入編碼器線纜時(shí),用伺服控制面板復(fù)位伺服控制錯(cuò)誤,可以重新使伺服驅(qū)動(dòng)器強(qiáng)電使能并清除報(bào)警信息,使伺服正常運(yùn)轉(zhuǎn)。
5結(jié)束語(yǔ)
本文針對(duì)EtherCAT總線協(xié)議應(yīng)用于伺服驅(qū)動(dòng)器這一類設(shè)備中所產(chǎn)生的故障診斷和容錯(cuò)技術(shù)進(jìn)行了深入研究,設(shè)計(jì)并實(shí)現(xiàn)了各類故障及容錯(cuò)技術(shù)的實(shí)現(xiàn)流程,實(shí)驗(yàn)達(dá)到了令人滿意的效果,對(duì)于提高EtherCAT總線式伺服驅(qū)動(dòng)器的穩(wěn)定性和可靠性有重要意義。
[參考文獻(xiàn)]
[1] 謝劍. 高檔數(shù)控系統(tǒng)中的現(xiàn)場(chǎng)總線接口技術(shù)設(shè)計(jì)與開(kāi)發(fā)[D]. 上海:上海交通大學(xué), 2010.
[2] 魏亞鵬, 韓衛(wèi)光. 實(shí)時(shí)工業(yè)以太網(wǎng)技術(shù)的研究[J]. 組合機(jī)床與自動(dòng)化加工技術(shù), 2013 (7): 49-53.
[3] 朱政紅, 王月娥. 工業(yè)以太網(wǎng)在控制領(lǐng)域中的實(shí)時(shí)性技術(shù)[J]. 低壓電器, 2010 (7): 31-34.
[4] Orfanus D, Indergaard R, Prytz G, et al. EtherCAT-based platform for distributed control in high-performance industrial applications[C]//Emerging Technologies & Factory Automation (ETFA), 2013 IEEE 18th Conference on. IEEE, 2013: 1-8.
[5] 郇極, 劉艷強(qiáng). 工業(yè)以太網(wǎng)現(xiàn)場(chǎng)總線 EtherCAT 驅(qū)動(dòng)程序設(shè)計(jì)及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社, 2010.
[6] 劉艷強(qiáng), 王健, 單春榮. 基于 EtherCAT 的多軸運(yùn)動(dòng)控制器研究[J]. 制造技術(shù)與機(jī)床, 2008(6): 100-103.
[7] 阮倩茹, 王輝, 施大發(fā), 等. 基于 EtherCAT 的高性能交流伺服控制系統(tǒng)設(shè)計(jì)[J]. 科技導(dǎo)報(bào), 2010, 28(20): 58-61.
[8] Sung M, Kim K, Jin H W, et al. An EtherCAT-based motor drive for high precision motion systems[C]//Industrial Informatics (INDIN), 2011 9th IEEE International Conference on. IEEE, 2011: 163-168.
[9] Kim Y J, Kim K H, Bae Y C. An implementation of vector control of AC servo motor based on optical-EtherCAT network[J]. The Journal of the Korea institute of electronic communication sciences, 2013, 8(4): 583-588.
(編輯趙蓉)
Research on Fault Diagnosis and Fault Tolerance Technology of Servo Driver’s EtherCAT Interface
XU Jian, SONG Bao, TANG Xiao-qi, YAN Wai-ping
(School of Mechanical Science and Engineering, HuaZhong University of Science and Technology, Wuhan 430074, China)
Abstract:To solve the EtherCAT protocol applied servo drives produced by fault diagnosis and fault tolerance of problems, first in-depth study of the servo control system architecture based EtherCAT protocol, analyze and summarize the operational failure and fault tolerance technology servo drive’s EtherCAT bus interface have produced, then design and implement mechanism process based on summarized the three fault diagnosis and fault tolerance, and experimental platform to experiment experimental results show that the application of this fault diagnosis and fault tolerance techniques well improve the EtherCAT bus servo drive’s reliability and stability.
Key words:EtherCAT; bus type servo driver; fault diagnosis; fault tolerance
文章編號(hào):1001-2265(2016)05-0083-04
DOI:10.13462/j.cnki.mmtamt.2016.05.022
收稿日期:2015-06-24;修回日期:2015-07-22
*基金項(xiàng)目:科技重大專項(xiàng):高檔數(shù)控機(jī)床與基礎(chǔ)制造裝備(2013ZX04007-021)
作者簡(jiǎn)介:徐健(1992—),男,江西宜春人,華中科技大學(xué)碩士研究生,研究方向?yàn)閿?shù)控技術(shù)、現(xiàn)場(chǎng)總線及網(wǎng)絡(luò),(E-mail)xujian0935@163.com。
中圖分類號(hào):TH166;TG506
文獻(xiàn)標(biāo)識(shí)碼:A