工业机器人在线控制和远程监测系统设计与实现

阅读: 评论:0

工业机器人在线控制和远程监测系统设计与实现
陈亮; 杨晓艳; 彭林
【期刊名称】《《机电工程技术》》
【年(卷),期】2019(048)009
【总页数】4页(P121-123,170)
【关键词】工业机器人; MQTT; 网络通信
【作 者】陈亮; 杨晓艳; 彭林
【作者单位】四川工程职业技术学院四川省装备制造业机器人应用技术工程实验室 四川德阳 618000
【正文语种】防护服生产线设备中 文
【中图分类】TP242.2
0 引言
工业机器人应用技术在工业4.0发展中有着举足轻重的作用和广泛的应用前景,然而目前绝大部分工业机器人的应用方式还是示教编程和普通离线编程,存在过程复杂、自适应性差、精度低等缺点,且编程和调试过程会占用较多机器人的工作时间[1-2]。工业机器人的传统应用方式只适合单一且大批量的应用场合,无法满足智能制造的部分需要。随着检测技术和计算机技术的发展,使得机器人工作路径的获取方式更精确更方便,对机器人进行实时控制的需求越来越多,示教编程和普通离线编程的方式已经无法满足。
洗车房此外,设备的状态监测也是工业4.0的重要内容之一,在工业机器人的使用过程中对其状态进行实时监测也至关重要。目前国内外各品牌工业机器人大多数都提供了通信接口,通过机器人厂商提供的通信接口,可以实现对机器人的远程监测。本文以库卡工业机器人为例,设计实现了工业机器人的在线控制和远程监测系统。节能燃烧器
1 系统方案设计
1.1 库卡工业机器人的工作机制和通信接口
库卡工业机器人编程所使用的语言为KRL(KUKA Robot Language),使用KRL可以进行机器人运动和IO编程,还可以进行基本的数学运算、循环控制、流程控制等。通信接口方面库卡提供了KUKA.Ethernet KRL软件包,该软件包提供TCP和UDP通信编程的接口和函数,可以实现库卡工业机器人通过以太网和其他设备进行通信[3]。
圣诞树灯文章所使用的库卡机器人控制柜KRC4,控制系统为KSS8.3,该系统中会同时执行两个任务:机器人程序解释器和Submit解释器,机器人程序解释器用于运行机器人运动相关程序,Submit解释器用于运行一个并行控制程序。系统的两个任务都是单线程执行的,其中Submit解释器不能处理与机器人运动相关的指令,且优先级低于机器人程序解释器,所以Submit解释器中不能执行对时间要求严格的程序[4-6]。因此将在线控制机器人运动相关的指令写到机器人运动程序中,对机器人进行监测的指令写到Submit程序中。
ktkp-073
1.2 系统方案设计
工业机器人的在线控制一般用于在线加工等方面,很大一部分工作需要在现场完成,从安全和便于操作的角度考虑,将机器人在线控制的功能放到工业现场,即每个机器人工作站配置一台工业PC,机器人在线控制的上位机程序安装在现场工业PC上。
工业机器人的远程监测功能一般管理人员和高级技术人员使用较多,为便于管理和维护,监测程序部署在工厂内网的服务器上。系统的硬件结构图如图1所示。
图1 系统硬件结构图
软件方面,机器人在线控制部分有一定实时性和可靠性的要求,所以机器人实时控制部分采用TCP通信协议,机器人作为Client,工业PC作为Server。机器人远程监测部分对实时性的要求相对较低,因此机器人监测部分中和机器人进行通信,用于收集机器人数据的程序使用UDP通信协议,监测界面部分,为方便用户使用,采用B/S模式[7-8]。在数据从机器人到用户的过程中需要数据转发和存储,为提高系统性能,使用MQTT协议,将收到的机器人数据发布成消息,使用Mosquitto作为MQTT的代理服务器,通过一个持久化的订阅者,将所有消息数据保存到数据库中,便于历史记录的查询。用户通过浏览器访问监测系统中某些或者某个设备时将会订阅相关MQTT消息,从而进行远程的实时监测,系统的软件结构如图2所示。
图2 系统软件结构图
2 系统实现
2.1 在线控制机器人运动的程序实现
工业机器人在线控制程序分为两个部分,一个是运行于机器人上的机器人程序,用KRL编写,运行于机器人上的机器人程序解释器中。另一个是运行于工业PC上的上位机程序,使用C#编程,运行于Windows中。两部分之间通过TCP协议通信。主要的程序流程图如图3所示。
图3 机器人在线控制程序流程图
机器人和工业PC的通信模式为同步阻塞的模式,PC作为Server,目前PC和工业机器人只做一对一的通信,由机器人(Client)发起连接请求,PC通过发起请求的IP地址验证是否来自目标机器人,如果不是则关闭此次连接,继续等待新的连接请求,如果是则建立连接,开始发送数据,每次必须由工业机器人先发数据给工业PC,PC验证之后再发送数据给工业机器人,相当于在数据上做了握手,因为现场工业机器人的程序可修改,操作具有不确定性,为了防止未知的错误发生,必须严格验证,本文使用了数据编号的验证。通信结束由机器人通过收到的数据来判断,机器人主动断开,PC检测到连接断开后结束程序。在通信的过程中,如果PC收到的数据异常,为防止发生安全事故,则直接结束程序。
PC端使用C#编写,实现通过已知的机器人位置数据来在线控制机器人运动,同时在机器人运动过程中可以动态调整机器人运动速度,位置偏移等等。机器人运动位置数据通过其他手段实时获得,在此不做赘述。程序界面如图4所示,除了参数设置和基本操作功能外,使用Win-Form内嵌浏览器的方式,利用Echarts显示笛卡尔三维坐标系下机器人的运动轨迹,并且可以实时显示已走过的路径和当前位置。
图4 工业PC端程序界面
2.2 远程监测相关程序
远程监测部分的总的软件系统结构如图2所示,包含了机器人端Submit程序、服务器端监测程序、MQTT服务器、数据库、Web服务器和Web站点。其中机器人端Submit程序和服务器端监测程序的主要流程图如图5所示。
内孔撑圆涨紧夹具图5 远程监测程序流程图
远程监测部分,机器人端单独配置一个UDP通信通道用于数据的发送,编写Submit程序用于发送数据,并在SPS.SUB中调用此程序。服务器端数据监测程序,主要功能包含UDP接
收和MQTT消息发布,UDP接收部分用来接收多台机器人发送的数据。在收到数据后,程序将数据解析并发布成MQTT消息,由MQTT服务器来做数据转发,单独用一个订阅者做数据存储。
目前服务器系统为Windows Server,考虑到后期服务器跨平台部署的需求,服务器端程序编写和软件配置均选择跨平台语言或者软件,远程监测服务器端程序使用python编程,编写成服务程序,无用户界面。数据采集后封装成MQTT消息,发送给MQTTBroker。
MQTT全称为消息队列遥测传输协议(Message Queuing Telemetry Transport),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务[9]。使用MQTT协议可以简化机器人数据的转发过程,并且用户(消息订阅者)的管理更为方便。文中服务器端消息监测程序作为消息的发布者,用户端浏览器程序作为消息订阅者。MQTT代理服务器使用轻量级开源的Mosquitto,使用python编写一个MQTT订阅者,通过通配符订阅所有消息,然后将数据全部存入数据库,便于历史记录的访问。

本文发布于:2023-08-12 21:50:24,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/4/215580.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:机器人   程序   工业   数据   监测
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图