新闻中心

EEPW首页>嵌入式系统>设计应用> 基于TCP/IP协议实现上位机对UR机器人的远程控制

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

作者: 时间:2016-12-19 来源:网络 收藏

图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的频率返回机器人状态与消息到客户端。



评论


技术专区

关闭