基于TCP/IP协议实现上位机对UR机器人的远程控制

发布者:DelightWish123最新更新时间:2015-04-09 来源: e-works关键字:TCPIP协议  上位机  UR机器人  远程控制 手机看文章 扫描二维码
随时随地手机看文章
1、引言

  2010年,德国学术界和产业界提出“工业4.0”的概念,即是以智能制造为主导的第四次工业革命,或革命性的生产方法。该战略旨在通过充分利用信息通讯技术和网络空间虚拟系统—信息物理系统相结合的手段,将制造业向智能化转型。所以,近些年许多工业自动化厂商将自己的产品研发所考虑的一个重要方向定在是否能被远程控制。另一方面,随着国内人工成本的不断上升以及工厂人员流动的不确定性,机器人产业是近几年,相信也是未来几年的朝阳产业。所以对于工业机器人在工厂生产中的远程控制,是一个机器人集成方面比较不错的课题。我们知道,在工业机器人的队伍中,UR机器人是第一家在工业环境下工作的人机协作机器人,它以轻便、简单、安全著称。下面我们就来了解一下如何实现上位机对UR机器人的远程控制。

2、UR机器人提供的基于TCP/IP协议的接口

  TCP/IP协议源于1969年,是针对Internet开发的一种体系结构和协议标准,目的在于解决异种计算机网络的通信问题。使得网络在互联时能为用户提供一种通用、一致的通信服务。是Internet采用的协议标准。基于TCP/IP的通讯具有成本低、可靠性高、实用性强、性能高等特点,所以现在许多工业自动化产品都具有基于TCP/IP协议通讯的接口,从而实现设备与设备之间,设备与网络之间的通讯。UR机器人在TCP/IP协议的基础上,提供了丰富的接口用于与外部设备的交互,如表1所述。

  端口接口描述

  机器人作为服务器

  502ModbusTCP协议,机器人作为服务器

  22SSH/SFTP(安全文件传输协议)

  29999Dashboard功能

  30001第一客户端端口,自动返回机器人状态与补充消息

  30002第二客户端端口,自动返回机器人状态与消息

  30003实时反馈端口,自动返回机器人状态与消息,125Hz实时反馈接口

  机器人作为客户端

  自定义由UR脚本函数定义

  502ModbusTCP协议,机器人作为客户端

表1UR机器人TCP/IP接口表
 

  有了这些接口,上位机就可以远程控制机器人。如图1,简单描述了上位机对UR机器人远程监控的系统图。

 

图1远程控制系统图

  下面我们就来介绍UR机器人所提供的相关通讯接口,从而远程控制机器人。
 

3、ModbusTCP端口

  MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。自从1979年出现工业串行链路的事实标准以来,MODBUS使成千上万的自动化设备能够通信。目前,继续增加对简单而雅观的MODBUS结构支持。互联网组织能够使TCP/IP栈上的保留系统端口502访问MODBUS。MODBUS是一个请求/应答协议,并且提供功能码规定的服务。MODBUS功能码是MODBUS请求/应答PDU的元素。

  UR机器人既可以作为ModbusTCP服务器,也可以作为ModbusTCP客户端,两者的主要区别在于消息请求方的不同。在此,我们仅讨论UR机器人作为ModbusTCP服务器的情况,如图2所示。

 

图2ModbusTCP服务器

  既然UR机器人作为ModbusTCP服务器,它必定有一系列Modbus地址供上位机来访问。

  地址类型描述

  0-33Register可以访问机器人的所有IO

  128-255Register可配置寄存器

  256-265Register机器人状态

  270-315Register关节位置、速度、电流、温度、模式等信息

  400-425RegisterTCP位置、速度、偏移等信息

  768-770Register工具端状态

  0-159Bit可以访问机器人的所有IO

  260-265Bit机器人状态

表2Modbus地址简表
 

  通过UR机器人的相关Modbus地址,我们可以访问机器人的很多信息,进而可以把这些信息放到上位机上。下图就是通过访问Modbus地址,模仿Polyscope(UR机器人原版软件),制作出来一个界面,当然我们可以通过这个界面监控并控制机器人的所用IO。[page]

 

图3IO控制

4、Dashboard端口

  上位机可以通过29999端口直接发送一些简单的指令给机器人,这些指令是UR自己定义的,这种功能被称为Dashboard。下表就是Dashboard的指令列表。

  指令描述

  load.urp>加载被保存在控制器中的程序

  getloadedprogram返回当前机器人执行的程序

  play启动当前加载的程序

  stop停止机器人当前执行的程序

  pause暂停机器人当前执行的程序

  isProgramSaved当前机器人正在执行的程序是否被保存,返回“True”或“False”

  programState当前程序的运行状态,返回“PLAYING”或“STOPPED”或“PAUSED”

  shutdown关闭机器人系统

  running机器人的运行状态,返回“True”或“False”

  robotmode访问机器人模式

  popupPolyscope跳出对话框

  closepopup关闭对话框

  addToLog将消息添加到logfile中

  setUserRole,whereisclass设置用户权限

  polyscopeVersion返回当前Polyscope的版本号

  poweron使机器人本体通电

  poweroff使机器人本体断电

  brakerelease释放制动器

  safetymode返回机器人当前所处的安全模式状态

表3Dashboard指令列表
 

  显而易见,我们可以通过一些Dashboard指令,远程切换、加载程序,同时可以启动、暂停、停止程序,这样上位机就可以远程控制程序了。
 

5、上位机编程端口

  UR机器人有3种编程方式:Polyscope编程、脚本编程以及C-API编程。Polyscope编程指的是程序在示教器上被编辑,机器人然后执行,这是UI层的编程方式。C-API编程是在研发层上的编程方式。我们重点介绍的是脚本编程方式,脚本编程的语言是UR公司在python语言基础上,自己研发的URScript语言。URScript是在脚本层上控制机器人的编程语言,就像其他编程语言一样,它有变量类型,语法结构、方法等。另外,它有一系列的专用方法来控制机器人运动以及IO状态。

  UR机器人的控制器是运行在Mini-ITXPC上的,一旦PC启动机器人控制器(就像启动服务一样),Polyscope软件就通过PC本地的TCP/IP端口与机器人控制器建立连接了。同样,当上位机作为客户端,通过30001或30002或30003特定的编程端口,与机器人控制器建立TCP/IP连接,这样我们就可以在上位机上按照URScript语言的格式编写脚本程序,直接发送给机器人控制器,机器人就可以直接执行程序了。

  按照上面所述的机器人脚本编程原理,我就可以在上位机上制作如下界面,实现对UR机器人的远程编程。

 

图4脚本编程

6、实时反馈端口

  30001、30002、30003除了用于远程编程外,还有其他功能,如下表所述。

  端口名称功能

  30001第一客户端端口客户端可发送脚本代码至服务器;服务器自动以5Hz的频率返回机器人状态与补充消息到客户端。

  30002第二客户端端口客户端可发送脚本代码安全文件传输协议;服务器自动以5Hz的频率返回机器人状态与消息到客户端。

  30003实时反馈端口客户端可发送脚本代码安全文件传输协议;服务器自动以125Hz的频率返回机器人状态与消息到客户端。[page]

表4编程口
 

  这三个端口另一个共同的特点就是,一旦客户端打开端口,就会按照一定的频率收到来自机器人的信息。需要注意的是30003端口是实时反馈端口,客户端每8ms能收到一次来自机器人的信息。另外,通过测试,客户端通过30001和30002只能每200ms左右收到来自机器人的信息。

  其实客户端通过这三个端口收到的机器人信息也稍有不同。通过30003端口收到信息是最丰富的,包含了通过30002收到的信息以及通过30001收到的大部分信息。

  所以说通过实时反馈端口,客户端收到机器人信息效率是最高的,内容也是最全的。通过实时反馈端口每次收到的数据包有1044个字节,这些字节以标准的格式排列。注意在极少情况下客户端会收到小于1044个字节,但是字节排列的格式不变。下表是1044字节排列的顺序表。

  字节顺序内容

  1-4整个数据包的字节数

  5-12控制器通电时间,断电清零

  13-444关节目标位置、速度、加速度、电流、扭矩,实际位置、速度、电流,控制电流

  445-684TCP位置、速度、力,0目标位置、速度

  685-692输入位状态

  693-740电机温度

  740-748程序扫描时间

  749-756保留

  757-820机器人模式,关节模式,安全模式

  821-868保留

  869-892TCP加速度

  893-940保留

  941-948速度比例

  949-956机器人当前动量值

  957-972保留

  973-996控制板电压,机器人电压,机器人电流

  997-1044关节电压

表5实时反馈数据包
 

  有了这些数据,上位机的数据表现就会十分丰富。下面有2张上位机界面图,“点动图”获取了关节位置、TCP位置;“初始化图”获取了关节模式、关节实际电流、关节电压以及其他数据。

 

图5点动图
 

图6初始化图

7、结束语

  综上所述,机器人作为ModbusTCP服务器,上位机通过502端口可以控制机器人的所有IO;上位机可以通过30001或30002或30003端口远程下载程序到机器人;上位机通过29999端口可以远程控制程序运行状态;上位机通过30003端口可以实时得到机器人的状态信息。也就是说,利用UR机器人开放的基于TCP/IP协议的端口,可以制作自己的Polyscope软件,实现上位机的远程控制。

关键字:TCPIP协议  上位机  UR机器人  远程控制 引用地址:基于TCP/IP协议实现上位机对UR机器人的远程控制

上一篇:最新总线技术在仪器控制与连接方面应用
下一篇:数字化仪表系统的现场总线技术特点

推荐阅读最新更新时间:2024-05-02 23:35

远程环境在线监测系统的设计与应用
环保数据监测系统是环境保护中的重要环节,传统的环境监测是人工采集数据,监管效果差。针对这一问题设计了一种无线远程环境在线监测系统,下位机采用西门子S7-200 PLC(可编程控制器)采集、存储现场数据,通过GPRS(通用分组无线服务)DTU(数据传输单元)主动向数据中心发送采集到的实时数据,并能够在指定的时间段内接收上位机指令,进行历史数据查询;上位机利用VB 6.0的Winsock控件接收多台数据采集终端的数据,并进行分析处理。该系统已经在佛山市南海区运行,有效地提高了环境监管的效率。 传统的环境监测,大多是环保局工作人员到污染源现场采集数据,手工记录工厂的污染治理情况。由于要监测的厂家众多,且厂家地理位置分散,工厂偷排现象十
[测试测量]
远程环境在线监测系统的设计与应用
逆变器运行命令使用方式,可以远程控制
逆变电源运行除了频率信号外,还有两个基本条件,就是逆变电源的运行信号。 逆变器运行命令来源中常用方法 逆变电源的操作命令包括启动、停止、正反转、正转和反转、复位等。 与电力逆变电源的预速率设定模式一样,逆变电源的运行命令模式也有三种:操作员键盘控制、终端控制和通信控制。这些操作命令模式必须根据实际需要来选择和设置,并且也可以根据功能在彼此之间切换。 1.操作面板控制 操作员键盘控制是逆变电源最简单的操作命令模式。用户可以通过逆变电源操作键盘上的运行键、停止/复位键、正转/反转/点动键直接控制逆变电源的运行。 操作器的键盘控制最大的特点是方便实用,同时还可以起到报警和故障的作用,可以告知用户逆变电源是否在运行、故障或报警,用户无
[嵌入式]
校园无线广播智能远程控制系统的设计与实现
目前校园广播系统正朝着数字化、网络化、智能化方向发展。根据市场需求及前景预测,生产校园教学无线广播设备具有得天独厚的优势。本文结合智能远程控制校园无线广播系统,重点介绍无线广播控制系统的设计与实现。 1 新型智能远程控制校园无线广播系统简介 智能远程控制校园无线广播系统是集无线通信、音响以及数字技术为一体的全新校园无线广播系统。校园无线广播系统采用电话拨号收发的双音多频DTMF(Dual Tone Multi-Frequency)通信方式。双音多频是一项可靠、成熟的通信技术,因其提供更高的拨号速率,迅速取代了传统转盘式电话机使用的拨号脉冲信令。近年来,DTMF也应用于交互式控制系统中,如语言菜单、语言邮件、电话银行
[安防电子]
校园无线广播智能<font color='red'>远程控制</font>系统的设计与实现
NRF24L01无线模块多机通信单片机程序 上位机+下位机
最近在接了一个项目,要求各个设备能够联网(不是互联网)控制。nrf24l01刚好有这个功能。但是之前只做过一对一的通信,还是用例程的那一种。我在想,用两个地址,共用同一个通道应该也可以完成。后来他又要求发过去的数据还要能回传,这下我只好来研究多通道通信了。 多机通信和一对一通信基本上相同,就是要配置其他通道的地址和使能其他通道的有效数据宽度,还有自动应答。 这是接收机的: void NRF24L01_Init_RX(void) { CE=0; CSN=1; SCK=0; SPI_Write_Buf(WRITE_REG + TX_ADDR, RX_ADDRESS, TX_ADR_WIDTH); SPI_Write_Buf(W
[单片机]
远程控制集成化催生网络化门禁蓬勃发展
   时至今日,门禁已经不仅仅发挥开关门的作用,基于实时远程控制和集成化的需要,市场对门禁系统提出了网络化的要求。然而,大家对“网络化门禁”的定义依然各执一词。那么,究竟“网络化门禁”的普遍定义是什么?它与传统门禁的核心区别在哪里?其市场表现如何?   时至今日,门禁已经不仅仅发挥开关门的作用,基于实时远程控制和集成化的需要,市场对门禁系统提出了网络化的要求。然而,大家对“网络化门禁”的定义依然各执一词。那么,究竟“网络化门禁”的普遍定义是什么?它与传统门禁的核心区别在哪里?其市场表现如何?   最早出现网络化门禁是在上世纪九十年代。随着门禁系统应用范围的日渐广泛,人们对门禁系统的诉求不再局限于单一的出入口控制,而是要求
[安防电子]
上位机与PLC的通信与监控设计
   1 引 言   PLC是专为工业控制而设计的专用计算机,其体积小,具有高可靠性和很强的抗干扰能力,因而在工业控制中得到了广泛的使用。   随着工业的自动化程度的提高,对PLC的应用提出了更高的要求:更快的处理速度,更高的可靠性,控制与管理功能一体化。控制与管理一体化也就是将计算机信息处理技术,网络通信技术应用于PLC,使PLC用于下位分散控制,用计算机提供图形显示界面,同时对下位机进行监控。本文讨论的是上位计算机与欧姆龙CPM2A型PLC的通信与监控设计。    2 通信协议   2.1 CPM2A 的通信链接方式   CPM2A有三种通信联系方式:上位链接系统、同位链接系统、ComPoBus通信系统。工
[嵌入式]
GreenPeak推出用于远程控制的智能家居无线芯片GP565
GreenPeak推出用于远程控制的智能家居无线芯片GP565;新智能遥控器提供语音控制,管理众多智能家居系统和ZRC 2.0支持 GreenPeak Technologies, the industry leading Smart Home semi-conductor/system company, today launched the new GP565 Smart Home radio chip for remote controls, that supports voice control, motion sensing and the new ZRC 2.0 protocol.  Next generation r
[单片机]
基于单片机的开关磁阻电机远程控制系统的研究
  0 引 言   由于应用环境的复杂,地域的广阔等不利工作条件,给开关磁阻电机的调速控制与相关参数监控带来了很多影响。因此,设计研制一种基于开关磁阻电机的远程控制系统(SRD)具有十分重要的现实意义。   Controller Area Network(简称CAN),与一般的总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。本文主要探讨基于RS-485与CAN总线的开关磁阻电机远程监控系统的构成。SRD调速系统通常采用传统PID控制策略,系统很难保守良好性能。目前,神经网络控制与模糊控制技术应用于SRD取得了一定的成绩。   卡尔曼滤算法是一种递推算法,对于系统存在过程及测量噪声,状态变量受到污染,可以利用卡
[单片机]
基于单片机的开关磁阻电机<font color='red'>远程控制</font>系统的研究
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved