一、通信socket

socket()函数

Python 中,我们用 socket()函数来创建套接字,语法格式如下:

socket.socket([family[, type[, proto]]])

参数

family: 套接字家族可以使AF_UNIX或者AF_INET

type: 套接字类型可以根据是面向连接的还是非连接分为SOCK_STREAM或SOCK_DGRAM

protocol: 一般不填默认为0.

二、ur接口(30001&30002)

Primary & Secondary 接口由机器人控制进程维护和执行的端口。 开机后,机器人

一直从这两个端口以 10Hz 频率对外发送机器人的状态信息(机器人位置, IO,运行状

态等), 除此之外 Primary 端口还会发送一些全局变量更新等信息。因此如果需要编写

上位机在线编程以及运行监视, 例如编写一个类似示教器界面的上位机程序时可以使

用 Primary 端口(当然对于加载程序,运行程序等操作需要使用 Dashboard(29999)

接口)。

Primary & Secondary 接口在接收到上位机发送的脚本指令(脚本指令下载) 字符

串后会立即中断当前执行程序(如果机器人正在运行), 然后运行接收到的脚本指令。

值得提醒的是,一些具有返回值的脚本指令,其返回值并不会通过这两个端口返回,因

为脚本的执行是在机器人控制进程中,其返回值只传递给该进程中的变量。

如果想一次性发送一段程序给机器人,需要将发送的程序按照如下格式发送:

_________________________________________

def functionName():

脚本指令

脚本指令

脚本指令

#对于函数或者 while 等结构语句

#需注意同层次具有相同缩进

脚本指令

……

end

**********************************************************

sec functionName():

非运动脚本指令

非运动脚本指令

非运动脚本指令

#对于函数或者 while 等结构语句

#需注意同层次具有相同缩进

非运动脚本指令

……

end

_______________________________________________

实际发送字符串(缩进用空格,换行用 ):

“def functionName(): 脚本指令 脚本指令 …… end “

“sec functionName(): 脚本指令 脚本指令 …… end “

________________________________________________

三、move 命令

移动命令分为moveJ、movel等,这两个是比较常见的,只是移动方式不同,J是指移动两点之间时按最快原则,路线不一定是直线,而L的话,则两点间移动必须是直线的;命令内部,带p关键字的是坐标移动,输入的内容为坐标值:

movej(p[239.7/1000, -54/1000, 336/1000, 2.18, -2.235, 0], a = 0.1, v = 0.1)

由于其xyz单位为米,所以如果输入示教器相同的数据时,需要除以1000转换成米。

不带p时候,表示为轴移动,控制的是各个轴的角度:

movej([d2r(-14),d2r(-64),d2r(-114),d2r(-94),d2r(87),d2r(158)],a=0.5, v=0.5)

其中d2r()为ur的脚本,把输入角度转换为弧度,因为这个接口的参数是弧度。

四、发送指令控制机器人

importsocket

target_ip= ("169.254.5.2" , 30001)print("start")

sk=socket.socket()

sk.connect(target_ip)

send_data1= "def svt(): movej(p[0.4,0.4,0.4,3.14,-1.57,1.57],a=1.4, v=1.05, t=0, r=0) end "sk.send(send_data1.encode("utf8"))print("end")

sk.close()

python开发上位机软件-UR机器人通信--上位机通信(python)相关推荐

  1. 上位机服务器通讯协议,基于TCP/IP协议实现上位机对UR机器人的远程控制

    1.引言 2010年,德国学术界和产业界提出"工业4.0"的概念,即是以智能制造为主导的第四次工业革命,或革命性的生产方法.该战略旨在通过充分利用信息通讯技术和网络空间虚拟系统-信 ...

  2. 机械臂控制软件,上位机软件 此机器人上位软件。 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能

    机械臂控制软件,上位机软件 此机器人上位软件. 运动采用通用G代码指令编程,具有G5三维的空间圆弧插补,空间直线插补功能,子程序编程功能,逻辑判断语句功能,示教编程功能(支持手柄),变量位置编程功能, ...

  3. Python开发多媒体管理软件实现方法

    软件开发环境 python 3.7.3 pycharm Community 2020 PYQT5 教师端控制界面 下拉列表显示全部已经连接的客户端ip地址 对选中的设备进行查看设备信息,重启电脑,关闭 ...

  4. 【好文】带你用Python开发个机器学习软件!

    Python 开发windows GUI程序是比较简单的,并且相比于C++学习成本比较低,并且其效果也不错.常用的Python GUI框架有: Tkinter,Wxpython,Pygtk,Pyqt, ...

  5. 最新教程:Python开发钉钉群自定义机器人

    最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用,真的让人觉得阿里的pm都是脑残才会设计出这种脑残产品,不过吐槽归吐槽,该用 ...

  6. 用python开发微信公众平台聊天机器人

    最近用python写了一个聊天机器人的微信公众号,网上找的开发文档参差不齐,官方文档也比较老旧,还有部分小问题.于是,分享一下我的思路. 开发环境 windows sever 2008+python3 ...

  7. python开发app的软件_python可以写APP吗(python能做手机软件吗)

    一枚程序媛程序媛2 人赞同了该文章用Python操作手机APP的项目,例如抖音.闲鱼之类的,看完后发现这些项目无一例外需要部署ADB环境.至于什么是ADB,很多大神都讲这里介绍几款可以在手机上编程的a ...

  8. python开发的著名软件公司_软件开发公司_软件外包_项目外包平台基于Python开发一个全文检索系统...

    基于Python开发一个全文检索系统.功能要求为: 使用全文检索引擎对文本进行检索.文本的格式为Word.PDF.TXT. 同时按数据域进行复合条件检索.数据域指文本对应的信息,例如创建人.文件编号. ...

  9. python开发app的软件_如何利用python开发手机app

    python语言虽然很万能,但用它来开发app还是显得有点不对路,因此用python开发的app应当是作为编码练习,加上目前这方面的模块还不是特别成熟,bug比较多. 准备工作 利用python开发a ...

最新文章

  1. 【转载】zookeeper学习
  2. OpenCASCADE:Modeling Data之边界框
  3. Dead Pixel CodeForces - 1315A(思维)
  4. java关键字const_Java 中的 volatile 关键字
  5. python的优点有哪些-python的优点和缺点是什么|python有哪些优缺点 - PS下
  6. (Oracle)rownum用法详解 转载的
  7. bzoj2002:[Hnoi2010]Bounce 弹飞绵羊
  8. OpenCasCade – 贴纹理
  9. Java常用正则表达式大全(史上最全的正则表达式-匹配中英文、字母和数字)
  10. 计算机电子书 2019 BiliDrive 备份
  11. UE4_屏幕位置与世界位置的相互转化
  12. msdos gpt
  13. 弧度制和角度制的换算
  14. 手把手教你架构3D引擎高级篇系列一
  15. win11运行gnuplot报错:This application failed to start because no Ot platform plugin could be initialized
  16. SVN修改提交后的文件名
  17. 2021年第六届数维杯B题 中小城市地铁运营与建设优化设计
  18. HM编码器代码阅读(15)——帧间预测之AMVP模式(三)xGetBlkBits函数
  19. 详细分析MySQL的日志(一)本文原创地址:博客园骏马金龙https://www.cnblogs.com/f-ck-need-u/p/9001061.html
  20. msysGit与TortoiseGit使用入门

热门文章

  1. hadoop-0.21.0-eclipse-plugin无法在eclipse中运行解决方案
  2. 使用south实现Django的数据库升级迁移
  3. EditPlus构建轻量级编译环境
  4. sql server 2005 COUNT_BIG (Transact-SQL)
  5. sohu读博——周忆清
  6. oracle 中累加函数,Oracle 分析函数分组累加!
  7. nginx 带宽_Nginx的Gzip功能
  8. 14.JAVA整型变量
  9. asp.net 获取全部在线用户_Qamp;A | 在线考试问卷答疑
  10. oracle中存储过程 =,oracle中的存储过程使用