李世成, 徐世保, 张云剑, 程 旭, 王石刚
(1.上海交通大学 机械与动力工程学院,上海 200240;2.中车戚墅堰机车有限公司,江苏 常州 213011)
设计与制造
mxAutomation接口的机器人通信协议开发
李世成1, 徐世保2, 张云剑1, 程 旭1, 王石刚1
(1.上海交通大学 机械与动力工程学院,上海 200240;2.中车戚墅堰机车有限公司,江苏 常州 213011)
在智能变电站中,带电检修机器人对隔离断路器进行带电检修的核心技术是实现对2台(工业)机器人的控制。变电站中强电磁场的干扰对机器人控制的可靠性提出了难题。因此,需要制定相应的上位机工控机(IPC)与控制机器人的可编程逻辑控制器(PLC)之间的通信协议,以实现两者之间可靠的通信,从而实现IPC对机器人的可靠控制。
隔离断路器; 带电检修机器人; 工控机; 可编程逻辑控制器; 机器人; 通信协议
2014年,我国新一代智能变电站的扩大示范与推广建设以及各类新型设备的引入,大幅推进变电站技术创新发展,实现变电站技术经济性能全面飞跃。其中,隔离断路器替代传统断路器与隔离开关的组合应用,减少了变电站占地面积,提升了设备可靠性。对于采用隔离断路器的户外敞开式新一代智能变电站,尽管隔离断路器本身可靠性较高,但仍然需要检修。为了检修隔离断路器时避免同停其他电气设备,减小设备停电范围,以减少经济损失,对隔离断路器实现带电检修作业就显得格外重要。
隔离断路器带电检修机器人用于对(配套了新型连接金具的)隔离断路器进行带电检修、维护,替代了以往基于绝缘操作杆的人工作业方式,将视觉辅助定位技术与机器人结合,并且实现了强电磁场环境下无线/有线的通信,实现了远程控制机器人进行带电检修。
从国内外文献来看,当前研制的带电检修机器人主要应用在检测和检修2个领域。
方斌的220 kV支柱磁绝缘子带电检测机器人,实现了在高压电环境下进行超声探伤,以对变电站支柱磁绝缘子进行带电检测[1]。李健等人研制出了满足220 kV变电站带电进行检修的机器人,它可以带电检测绝缘子零值[2]。陈中伟、戴锦春等人设计的高压巡线机器人,基于电磁传感器进行导航,可实现对架空高压输电线路的带电巡检作业[3,4]。陈晓伦等人研制的330 kV变电站带电清扫机器人,可实现遥控操作来清扫断路器等设备,其清扫效果符合行标[5]。Keiichi TAKAOKA等人研制的基于视觉和柔顺控制的全自动带电检修机器人robot-Phase III,采用柔性控制的方式实现了螺栓孔的识别及拧/松螺栓操作[6]。Lu Shouyin等人设计的对10 kV配电设备进行带电检修(更换绝缘子,接/断线等操作)的机器人,采用了主从人工控制与现场自动控制模式相结合的模式。通过现的测试,无论效率上还是鲁棒性都满足要求[7]。
本文所阐述的对隔离断路器进行带电检修的机器人,在国内外均为首例。
目前,基于IPC控制工业机器人,已出现了成熟的产品。如Beckhoff TwinCAT 3.1中的软件库与KUKA的mxAutomation接口基于EtherCAT通信实现对机器人的控制;FANUC机器人基于Ethernet TCP/IP协议的动态链接库(FRRJIF.DLL),或者基于EtherNet/IP协议的Rockwell PLC两种控制方式。新松机器人控制系统二次开发软件,是基于新松机器人(robot controller,RC)系统底层程序开发的离线编程接口库。
由于带电检修现场属于强电磁场环境,考虑到控制的可靠性,本文选用PLC来控制机器人;考虑到在机器人末端执行器相同负载情况下,需保证机器人本体更轻,另外,此检修作业对机器人精度要求高,故选用KUKA机器人。
隔离断路器带电检修机器人如图1所示,功能分为拆卸和安装金具,两者操作过程类似。如图1(b)所示,以拆卸金具为例来说明:将带电检修机器人移动到地面合适的位置,将操作平台提升到一定高度,通过视觉系统的定位,拧紧机器人将拧紧枪套上(L形套管上的)螺栓头,然后拧松螺栓,夹持机器人将金具拔出。
图1 隔离断路器带电机器人及拆卸/安装金具
其控制的复杂性主要体现在以下3方面:
1)现场环境的复杂性。由于该变电站为户外敞开式的,不可避免容易受到天气等因素的影响,因此,对系统的可靠性的要求较高。
2)操作空间狭小、受限,需要机器人运动精度高。具体表现在:供检修机器人行走的过道狭窄;操作时,左右其他相线的影响,需要同时保证相间(线与线)安全距离。
3)C#接口标准化,方便主程序调用相应的机器人运动等接口。
因此,要求主程序可以稳定、合理地控制机器人,让其按照指定的路径运动;机器人当前状态(当前错误、当前位置等信息)可以实时地显示到控制台主程序;可远程消除机器人的报警、错误信息,使其可以继续运动(或撤回)。因此,必须通过某种机制实现IPC与机器人之间的稳定、可靠通信。从IPC角度来看,机器人相当于一个外部设备,可以随时读取/改变其状态。为了实现这一要求,需要有独特的系统硬件架构及软件通信方式。
基于上述设计难点,选用mxAutomation作为PLC与机器人之间的通信接口。它提供相应的功能块(供PLC调用),保证机器人可以完全集成到此控制系统中,在这个过程中,保留机器人控制器KR C4 compact以及现有的机械结构。因此,可以方便地使用机器人现有的运动函数及安全函数。硬件架构如图2所示,PLC和2台机器人处于由交换机组成的局域网里,PLC与机器人的数据交换通过Ethernet/IP总线。无线网桥1、2的作用相当于一根网线,作为一个冗余设计,当光纤出故障,无线网桥启动,进行无线通信,实现了对操作平台以下的电气隔离。IPC与PLC的通信基于RS—485总线,IPC通过读/写PLC内部变量,实现对机器人的控制。
图2 系统的硬件结构
由于PLC与机器人之间的通信基于mxAutomation接口,为保证IPC与机器人之间的可靠通信,以实现IPC通过PLC间接控制机器人的目的,需要实现IPC与PLC之间的通信。两者之间的通信通过运行于两者中的软件实现。
PLC软件包含两部分,如图3(a)所示:与机器人基于mxAutomation通信,以控制机器人;与IPC基于RS-485通信,以交换数据(读/写PLC内部变量)。写PLC变量通过RS—485总线发送字符串到PLC,由PLC程序进行解析实现的;读PLC变量基于写PLC变量以使能PLC发送字符串到IPC,IPC对此解析出相应变量的值。
IPC软件的独特之处在于包含了3个线程,如图3(b):1)UI主线程,负责处理用户对界面的操作,并显示相应的数据;2)串口发送线程_ComSnd,负责发送串口数据,实现写PLC变量;3)串口接收线程_ComRec,负责接收串口数据,包括对接收到(PLC返回的)数据进行校验及从PLC发送的字符串中解析出相应的变量值。
图3 软件架构
为了保证IPC与PLC之间基于RS—485通信可以稳定进行,需要制定相应的专有通信协议。通过该协议,IPC与PLC对接收到的字符串进行解析,以提取出相应的信息,实现两者之间的通信。
此通信协议用于IPC与PLC之间的可靠通信,实现两者之间数据的交换。IPC通过修改PLC的内部变量,实现对机器人的运动控制以及对其内部变量的读取。
4.1 写PLC变量
IPC与PLC通信过程中,写的变量主要有以下几种:bool变量、int变量、position变量(包含X,Y,Z,A,B,C这6个float变量,Status、Turn这2个int变量)。
IPC通过RS-485总线向PLC发送字符串完成写变量操作,字符串结构如图4所示(其中“#”为分隔符),包含:
图4 PLC接收字符串格式
1)起始字符:当PLC接收到起始字符时,PLC开始存储;
2)机器人选择:“01”,#1 KUKA;“02”,#2 KUKA;
3)功能码:分别指定对bool(“01”),int(“02”),position(“03”)3种数据的写操作;
4)变量代号:(“001~”)每个变量在该种数据类型下面的唯一编号(相当于此变量在内存中的地址);
5)变量目标值:在写变量的时候,给该变量赋此值;
6)终止字符:当接收到终止字符时,PLC停止存储。
当PLC接收到包含上述结构的字符串后,通过其内部函数进行解析,完成对指定变量的赋值。
4.2 读PLC变量
IPC读PLC变量基于写PLC变量。每次读PLC变量时,分为2步:1)通过修改PLC bool变量执行Any2String功能块;2)通过修改PLC bool变量使能串口发送功能。
Any2String功能块的作用是将输入的5个bool,5个Int32,5个int,6个float类型数据组成1个string类型数据,并插入起始、终止字符。如图6所示,其中,“#”为分隔符。当IPC收到此字符串后,解析出其内部包含的变量值,就完成了读PLC变量操作。
图5 PLC发送字符串格式
4.3 通信时数据校验
考虑到PLC处理数据能力有限,对IPC到PLC的字符串,采取了最简单的校验,即PLC将接收到的字符串返还给IPC,IPC将之与之前发送的字符串比较进行校验以确认PLC是否已收到该字符串。对于PLC到IPC的字符串,采用了类似于1校验(Mark)的方式,即在PLC发送的字符串首、尾加上“/r”(回车符),IPC接收到PLC的字符串后,检测其首尾是否包含“/r”来完成校验。
为了验证上述通信协议的合理性与可靠性,设计了相应的实验来求证。
5.1 IPC与PLC通信实验
为了监控IPC与PLC之间的串口数据包,采用串口监控软件Bus Hound,它是美国Perisoft开发的专门用于PC各种总线数据包监视的工具软件。
1)写PLC变量
如表1所示,OUT1为IPC发给PLC的(控制)字符串,用以写变量代号为“001”的bool量,使其值为1。
表1 写/读PLC变量时IPC与PLC之间的数据交换
IN1是PLC接收到的并原样回发给IPC的(校验)字符串,以供IPC进行校验,确保PLC已收到此字符串。
2)读PLC变量
如表1所示,OUT1"/r01#01#010#1/r"用以执行Any2String功能块,将KRC_ReadActualPosition功能块的输出6个float量(X,Y,Z,A,B,C),2个int量(Status,Turn)拼接成的字符串;OUT2"/r01#01#009#1/r"用以使能PLC发送串口数据。IN1,IN2是PLC(对上面2个写操作)分别返回的校验字符,用于IPC校验,以确保PLC已收到该字符串。IN3是PLC返回的(包含当前机器人位置信息所拼接的)字符串。
3)写/读PLC变量实时性测试
在控制机器人过程中,IPC需要对机器人做相应的运动轨迹规划,以保证机器人在狭小、受限的操作空间作业时不至于碰到变电站其他设备。在每次控制机器人前,IPC将运动轨迹规划后得到的机器人目标位置一次性下发给PLC,PLC再控制机器人运动。图6为向PLC发送50组运动目标位置所消耗的时间,每组目标位置包含6个float量(X,Y,Z,A,B,C),2个int量(Status,Turn);以及读机器人当前位置(X,Y,Z,A,B,C,Status,Turn)所消耗的时间。
图6 写/读PLC变量所消耗的时间
消耗的时间包含:上位机发送数据时进行数据校验(总计约4.4 s(写),约0.55 s(读));发送数据时的延时(保证PLC有足够时间处理)(总计约10.3 s(写),约0.9 s(读))。
5.2 基于此通信协议控制机器人
由于IPC通过与PLC通信来控制机器人,因此,需要对这种控制方式进行测试。测试内容包含以下功能:下发运动目标位置并使能运动,读取机器人信息(错误信息,当前位置信息)。如图7所示。
图7 测试项目
如图7(a)所示,初始状态下,金具没有装入L形套管中,拧紧枪没有插入螺栓头。通过IPC下发运动目标位置到PLC,并使能机器人运动,2台机器人分别运动到位:将金具装入L形套管;将拧紧枪插入螺栓头。如图7(b)所示,读取的mxA.(mxAutomation)错误代号为510(“PLC与机器人连接中断”)。读取的KR C4错误代号为1447(“所设置的目标位置不可及”)。读取的位置信息为笛卡尔坐标系位置信息,包含6个float量(X,Y,Z,A,B,C),2个int量(Status,Turn)。
通过实验,对基于专有通信协议控制机器人的方式进行测试,可以可靠地实现以下功能:
1)主程序可以控制机器人按照指定的路径以不同方式运动(点到点、直线、JOG等);
2)机器人当前状态(错误信息,位置信息)可以实时地显示到控制台主程序;
3)可通过IPC程序来消除机器人的报警、错误信息,使其可以继续运动(或撤回)。
因此,本文提出的基于RS—485总线制定的IPC与PLC之间的专有通信协议是可行的。它将对机器人的控制集成到IPC软件中,从而将PLC对机器人的控制间接地转移到IPC对机器人的控制。
[1] 方 斌.220 kV支柱瓷绝缘子带电检测机器人技术及应用[D].上海:上海交通大学,2007.
[2] 李 健,鲁守银,王振利,等.220 kV变电站带电作业机器人的研制[J].制造业自动化,2013(17):76-79.
[3] 陈中伟,肖 华,吴功平.高压巡线机器人电磁传感器导航方法[J].传感器与微系统,2006,35(9):33-35,39.
[4] 戴锦春,胡 睿,方宏良,等.高压巡线机器人穿越耐张杆塔的控制算法[J].传感器与微系统,2008,27(8):106-108.
[5] 陈晓伦,彭夕岚,杨汝清,等.330 kV变电设备带电清扫机器人研究[J].电网技术,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-),男,硕士研究生,研究方向为复杂机电系统设计与控制。