李世成, 徐世保, 張云劍, 程 旭, 王石剛
(1.上海交通大學 機械與動力工程學院,上海 200240;2.中車戚墅堰機車有限公司,江蘇 常州 213011)
?
設計與制造
mxAutomation接口的機器人通信協(xié)議開發(fā)
李世成1, 徐世保2, 張云劍1, 程 旭1, 王石剛1
(1.上海交通大學 機械與動力工程學院,上海 200240;2.中車戚墅堰機車有限公司,江蘇 常州 213011)
在智能變電站中,帶電檢修機器人對隔離斷路器進行帶電檢修的核心技術是實現(xiàn)對2臺(工業(yè))機器人的控制。變電站中強電磁場的干擾對機器人控制的可靠性提出了難題。因此,需要制定相應的上位機工控機(IPC)與控制機器人的可編程邏輯控制器(PLC)之間的通信協(xié)議,以實現(xiàn)兩者之間可靠的通信,從而實現(xiàn)IPC對機器人的可靠控制。
隔離斷路器; 帶電檢修機器人; 工控機; 可編程邏輯控制器; 機器人; 通信協(xié)議
2014年,我國新一代智能變電站的擴大示范與推廣建設以及各類新型設備的引入,大幅推進變電站技術創(chuàng)新發(fā)展,實現(xiàn)變電站技術經(jīng)濟性能全面飛躍。其中,隔離斷路器替代傳統(tǒng)斷路器與隔離開關的組合應用,減少了變電站占地面積,提升了設備可靠性。對于采用隔離斷路器的戶外敞開式新一代智能變電站,盡管隔離斷路器本身可靠性較高,但仍然需要檢修。為了檢修隔離斷路器時避免同停其他電氣設備,減小設備停電范圍,以減少經(jīng)濟損失,對隔離斷路器實現(xiàn)帶電檢修作業(yè)就顯得格外重要。
隔離斷路器帶電檢修機器人用于對(配套了新型連接金具的)隔離斷路器進行帶電檢修、維護,替代了以往基于絕緣操作桿的人工作業(yè)方式,將視覺輔助定位技術與機器人結合,并且實現(xiàn)了強電磁場環(huán)境下無線/有線的通信,實現(xiàn)了遠程控制機器人進行帶電檢修。
從國內外文獻來看,當前研制的帶電檢修機器人主要應用在檢測和檢修2個領域。
方斌的220 kV支柱磁絕緣子帶電檢測機器人,實現(xiàn)了在高壓電環(huán)境下進行超聲探傷,以對變電站支柱磁絕緣子進行帶電檢測[1]。李健等人研制出了滿足220 kV變電站帶電進行檢修的機器人,它可以帶電檢測絕緣子零值[2]。陳中偉、戴錦春等人設計的高壓巡線機器人,基于電磁傳感器進行導航,可實現(xiàn)對架空高壓輸電線路的帶電巡檢作業(yè)[3,4]。陳曉倫等人研制的330 kV變電站帶電清掃機器人,可實現(xiàn)遙控操作來清掃斷路器等設備,其清掃效果符合行標[5]。Keiichi TAKAOKA等人研制的基于視覺和柔順控制的全自動帶電檢修機器人robot-Phase III,采用柔性控制的方式實現(xiàn)了螺栓孔的識別及擰/松螺栓操作[6]。Lu Shouyin等人設計的對10 kV配電設備進行帶電檢修(更換絕緣子,接/斷線等操作)的機器人,采用了主從人工控制與現(xiàn)場自動控制模式相結合的模式。通過現(xiàn)的測試,無論效率上還是魯棒性都滿足要求[7]。
本文所闡述的對隔離斷路器進行帶電檢修的機器人,在國內外均為首例。
目前,基于IPC控制工業(yè)機器人,已出現(xiàn)了成熟的產(chǎn)品。如Beckhoff TwinCAT 3.1中的軟件庫與KUKA的mxAutomation接口基于EtherCAT通信實現(xiàn)對機器人的控制;FANUC機器人基于Ethernet TCP/IP協(xié)議的動態(tài)鏈接庫(FRRJIF.DLL),或者基于EtherNet/IP協(xié)議的Rockwell PLC兩種控制方式。新松機器人控制系統(tǒng)二次開發(fā)軟件,是基于新松機器人(robot controller,RC)系統(tǒng)底層程序開發(fā)的離線編程接口庫。
由于帶電檢修現(xiàn)場屬于強電磁場環(huán)境,考慮到控制的可靠性,本文選用PLC來控制機器人;考慮到在機器人末端執(zhí)行器相同負載情況下,需保證機器人本體更輕,另外,此檢修作業(yè)對機器人精度要求高,故選用KUKA機器人。
隔離斷路器帶電檢修機器人如圖1所示,功能分為拆卸和安裝金具,兩者操作過程類似。如圖1(b)所示,以拆卸金具為例來說明:將帶電檢修機器人移動到地面合適的位置,將操作平臺提升到一定高度,通過視覺系統(tǒng)的定位,擰緊機器人將擰緊槍套上(L形套管上的)螺栓頭,然后擰松螺栓,夾持機器人將金具拔出。

圖1 隔離斷路器帶電機器人及拆卸/安裝金具
其控制的復雜性主要體現(xiàn)在以下3方面:
1)現(xiàn)場環(huán)境的復雜性。由于該變電站為戶外敞開式的,不可避免容易受到天氣等因素的影響,因此,對系統(tǒng)的可靠性的要求較高。
2)操作空間狹小、受限,需要機器人運動精度高。具體表現(xiàn)在:供檢修機器人行走的過道狹窄;操作時,左右其他相線的影響,需要同時保證相間(線與線)安全距離。
3)C#接口標準化,方便主程序調用相應的機器人運動等接口。
因此,要求主程序可以穩(wěn)定、合理地控制機器人,讓其按照指定的路徑運動;機器人當前狀態(tài)(當前錯誤、當前位置等信息)可以實時地顯示到控制臺主程序;可遠程消除機器人的報警、錯誤信息,使其可以繼續(xù)運動(或撤回)。因此,必須通過某種機制實現(xiàn)IPC與機器人之間的穩(wěn)定、可靠通信。從IPC角度來看,機器人相當于一個外部設備,可以隨時讀取/改變其狀態(tài)。為了實現(xiàn)這一要求,需要有獨特的系統(tǒng)硬件架構及軟件通信方式。
基于上述設計難點,選用mxAutomation作為PLC與機器人之間的通信接口。它提供相應的功能塊(供PLC調用),保證機器人可以完全集成到此控制系統(tǒng)中,在這個過程中,保留機器人控制器KR C4 compact以及現(xiàn)有的機械結構。因此,可以方便地使用機器人現(xiàn)有的運動函數(shù)及安全函數(shù)。硬件架構如圖2所示,PLC和2臺機器人處于由交換機組成的局域網(wǎng)里,PLC與機器人的數(shù)據(jù)交換通過Ethernet/IP總線。無線網(wǎng)橋1、2的作用相當于一根網(wǎng)線,作為一個冗余設計,當光纖出故障,無線網(wǎng)橋啟動,進行無線通信,實現(xiàn)了對操作平臺以下的電氣隔離。IPC與PLC的通信基于RS—485總線,IPC通過讀/寫PLC內部變量,實現(xiàn)對機器人的控制。

圖2 系統(tǒng)的硬件結構
由于PLC與機器人之間的通信基于mxAutomation接口,為保證IPC與機器人之間的可靠通信,以實現(xiàn)IPC通過PLC間接控制機器人的目的,需要實現(xiàn)IPC與PLC之間的通信。兩者之間的通信通過運行于兩者中的軟件實現(xiàn)。
PLC軟件包含兩部分,如圖3(a)所示:與機器人基于mxAutomation通信,以控制機器人;與IPC基于RS-485通信,以交換數(shù)據(jù)(讀/寫PLC內部變量)。寫PLC變量通過RS—485總線發(fā)送字符串到PLC,由PLC程序進行解析實現(xiàn)的;讀PLC變量基于寫PLC變量以使能PLC發(fā)送字符串到IPC,IPC對此解析出相應變量的值。
IPC軟件的獨特之處在于包含了3個線程,如圖3(b):1)UI主線程,負責處理用戶對界面的操作,并顯示相應的數(shù)據(jù);2)串口發(fā)送線程_ComSnd,負責發(fā)送串口數(shù)據(jù),實現(xiàn)寫PLC變量;3)串口接收線程_ComRec,負責接收串口數(shù)據(jù),包括對接收到(PLC返回的)數(shù)據(jù)進行校驗及從PLC發(fā)送的字符串中解析出相應的變量值。

圖3 軟件架構
為了保證IPC與PLC之間基于RS—485通信可以穩(wěn)定進行,需要制定相應的專有通信協(xié)議。通過該協(xié)議,IPC與PLC對接收到的字符串進行解析,以提取出相應的信息,實現(xiàn)兩者之間的通信。
此通信協(xié)議用于IPC與PLC之間的可靠通信,實現(xiàn)兩者之間數(shù)據(jù)的交換。IPC通過修改PLC的內部變量,實現(xiàn)對機器人的運動控制以及對其內部變量的讀取。
4.1 寫PLC變量
IPC與PLC通信過程中,寫的變量主要有以下幾種:bool變量、int變量、position變量(包含X,Y,Z,A,B,C這6個float變量,Status、Turn這2個int變量)。
IPC通過RS-485總線向PLC發(fā)送字符串完成寫變量操作,字符串結構如圖4所示(其中“#”為分隔符),包含:

圖4 PLC接收字符串格式
1)起始字符:當PLC接收到起始字符時,PLC開始存儲;
2)機器人選擇:“01”,#1 KUKA;“02”,#2 KUKA;
3)功能碼:分別指定對bool(“01”),int(“02”),position(“03”)3種數(shù)據(jù)的寫操作;
4)變量代號:(“001~”)每個變量在該種數(shù)據(jù)類型下面的唯一編號(相當于此變量在內存中的地址);
5)變量目標值:在寫變量的時候,給該變量賦此值;
6)終止字符:當接收到終止字符時,PLC停止存儲。
當PLC接收到包含上述結構的字符串后,通過其內部函數(shù)進行解析,完成對指定變量的賦值。
4.2 讀PLC變量
IPC讀PLC變量基于寫PLC變量。每次讀PLC變量時,分為2步:1)通過修改PLC bool變量執(zhí)行Any2String功能塊;2)通過修改PLC bool變量使能串口發(fā)送功能。
Any2String功能塊的作用是將輸入的5個bool,5個Int32,5個int,6個float類型數(shù)據(jù)組成1個string類型數(shù)據(jù),并插入起始、終止字符。如圖6所示,其中,“#”為分隔符。當IPC收到此字符串后,解析出其內部包含的變量值,就完成了讀PLC變量操作。

圖5 PLC發(fā)送字符串格式
4.3 通信時數(shù)據(jù)校驗
考慮到PLC處理數(shù)據(jù)能力有限,對IPC到PLC的字符串,采取了最簡單的校驗,即PLC將接收到的字符串返還給IPC,IPC將之與之前發(fā)送的字符串比較進行校驗以確認PLC是否已收到該字符串。對于PLC到IPC的字符串,采用了類似于1校驗(Mark)的方式,即在PLC發(fā)送的字符串首、尾加上“/r”(回車符),IPC接收到PLC的字符串后,檢測其首尾是否包含“/r”來完成校驗。
為了驗證上述通信協(xié)議的合理性與可靠性,設計了相應的實驗來求證。
5.1 IPC與PLC通信實驗
為了監(jiān)控IPC與PLC之間的串口數(shù)據(jù)包,采用串口監(jiān)控軟件Bus Hound,它是美國Perisoft開發(fā)的專門用于PC各種總線數(shù)據(jù)包監(jiān)視的工具軟件。
1)寫PLC變量
如表1所示,OUT1為IPC發(fā)給PLC的(控制)字符串,用以寫變量代號為“001”的bool量,使其值為1。

表1 寫/讀PLC變量時IPC與PLC之間的數(shù)據(jù)交換
IN1是PLC接收到的并原樣回發(fā)給IPC的(校驗)字符串,以供IPC進行校驗,確保PLC已收到此字符串。
2)讀PLC變量
如表1所示,OUT1"/r01#01#010#1/r"用以執(zhí)行Any2String功能塊,將KRC_ReadActualPosition功能塊的輸出6個float量(X,Y,Z,A,B,C),2個int量(Status,Turn)拼接成的字符串;OUT2"/r01#01#009#1/r"用以使能PLC發(fā)送串口數(shù)據(jù)。IN1,IN2是PLC(對上面2個寫操作)分別返回的校驗字符,用于IPC校驗,以確保PLC已收到該字符串。IN3是PLC返回的(包含當前機器人位置信息所拼接的)字符串。
3)寫/讀PLC變量實時性測試
在控制機器人過程中,IPC需要對機器人做相應的運動軌跡規(guī)劃,以保證機器人在狹小、受限的操作空間作業(yè)時不至于碰到變電站其他設備。在每次控制機器人前,IPC將運動軌跡規(guī)劃后得到的機器人目標位置一次性下發(fā)給PLC,PLC再控制機器人運動。圖6為向PLC發(fā)送50組運動目標位置所消耗的時間,每組目標位置包含6個float量(X,Y,Z,A,B,C),2個int量(Status,Turn);以及讀機器人當前位置(X,Y,Z,A,B,C,Status,Turn)所消耗的時間。

圖6 寫/讀PLC變量所消耗的時間
消耗的時間包含:上位機發(fā)送數(shù)據(jù)時進行數(shù)據(jù)校驗(總計約4.4 s(寫),約0.55 s(讀));發(fā)送數(shù)據(jù)時的延時(保證PLC有足夠時間處理)(總計約10.3 s(寫),約0.9 s(讀))。
5.2 基于此通信協(xié)議控制機器人
由于IPC通過與PLC通信來控制機器人,因此,需要對這種控制方式進行測試。測試內容包含以下功能:下發(fā)運動目標位置并使能運動,讀取機器人信息(錯誤信息,當前位置信息)。如圖7所示。

圖7 測試項目
如圖7(a)所示,初始狀態(tài)下,金具沒有裝入L形套管中,擰緊槍沒有插入螺栓頭。通過IPC下發(fā)運動目標位置到PLC,并使能機器人運動,2臺機器人分別運動到位:將金具裝入L形套管;將擰緊槍插入螺栓頭。如圖7(b)所示,讀取的mxA.(mxAutomation)錯誤代號為510(“PLC與機器人連接中斷”)。讀取的KR C4錯誤代號為1447(“所設置的目標位置不可及”)。讀取的位置信息為笛卡爾坐標系位置信息,包含6個float量(X,Y,Z,A,B,C),2個int量(Status,Turn)。
通過實驗,對基于專有通信協(xié)議控制機器人的方式進行測試,可以可靠地實現(xiàn)以下功能:
1)主程序可以控制機器人按照指定的路徑以不同方式運動(點到點、直線、JOG等);
2)機器人當前狀態(tài)(錯誤信息,位置信息)可以實時地顯示到控制臺主程序;
3)可通過IPC程序來消除機器人的報警、錯誤信息,使其可以繼續(xù)運動(或撤回)。
因此,本文提出的基于RS—485總線制定的IPC與PLC之間的專有通信協(xié)議是可行的。它將對機器人的控制集成到IPC軟件中,從而將PLC對機器人的控制間接地轉移到IPC對機器人的控制。
[1] 方 斌.220 kV支柱瓷絕緣子帶電檢測機器人技術及應用[D].上海:上海交通大學,2007.
[2] 李 健,魯守銀,王振利,等.220 kV變電站帶電作業(yè)機器人的研制[J].制造業(yè)自動化,2013(17):76-79.
[3] 陳中偉,肖 華,吳功平.高壓巡線機器人電磁傳感器導航方法[J].傳感器與微系統(tǒng),2006,35(9):33-35,39.
[4] 戴錦春,胡 睿,方宏良,等.高壓巡線機器人穿越耐張桿塔的控制算法[J].傳感器與微系統(tǒng),2008,27(8):106-108.
[5] 陳曉倫,彭夕嵐,楊汝清,等.330 kV變電設備帶電清掃機器人研究[J].電網(wǎng)技術,2007(19):56-59.
[6] Takaoka K,Yokoyama K,Wakisako H,et al.Development of the fully-automatic live-line maintenance robot-Phase III[C]∥Proceedings of the IEEE International Symposium on Assembly and Task Planning,Fukuoka,2001:423-428.
[7] Lu Shouyin,Ma Peisun,Li Bingqiang,et al.Live woking robot for power distribution systems[C]∥2003 Proceedings of 4th International Conference on Control and Automation,ICCA’03,Montreal,Que,Canada,2003:906-910.
Development of communication protocol for robot based on mxAutomation Interface
LI Shi-cheng1, XU Shi-bao2, ZHANG Yun-jian1, CHENG Xu1, WANG Shi-gang1
(1.School of Mechanical Engineering,Shanghai Jiao Tong University,Shanghai 200240,China;2.China Railway Rolling Stock Qi Shuyan Institute Co Ltd,Changzhou 213011,China)
In intelligent substations,the core technology of the robot used for hot-line isolated circuit breaker maintenance is the control of two industrial robots,because of strong electromagnetic interference in substation,which makes it difficult to control robots stably.As a result,suitable communication protocol between industrial personal computer(IPC) and programmable logic controller(PLC) is needed to realize stable communication between them,and control robots using IPC.
isolated circuit breaker;live-line maintenance robot;industrial personal computer(IPC); programmable logic controller(PLC); industrial robot;communication protocol
10.13873/J.1000—9787(2017)07—0075—04
2016—07—25
TP 273
A
1000—9787(2017)07—0075—04
李世成(1990-),男,碩士研究生,研究方向為復雜機電系統(tǒng)設計與控制。