简介:1、 ABB机器人Pdisp 轨迹偏移使用 1) 如果有下图两个产品,已经完成了右边产品轨迹,左边产品估计一样,如何快速生成左边轨迹(左边产品可能有平移和旋转) 2)完成右边轨迹示教Path_30,如上图。起点为Target_20。 3) 完成左边起点的示教,为Target_ref_s……
1) 如果有下图两个产品,已经完成了右边产品轨迹,左边产品估计一样,如何快速生成左边轨迹(左边产品可能有平移和旋转)
2)完成右边轨迹示教Path_30,如上图。起点为Target_20。
3) 完成左边起点的示教,为Target_ref_start,如下图。
注:如果左边产品轨迹有旋转,示教的Target_ref_start相对于左边产品的姿态要和Target_20相对于右边产品的姿态一致(此处左边产品旋转了30°,示教的角度z方向也旋转了30°)
4) 插入指令如下
MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;//移动到Home位置
Path_30;//运行右边产品轨迹
MoveJpHome,v1000,z100,tWeldGunWObj:=wobj0;//回到
MoveJTarget_ref_start,v1000,fine,tWeldGunWObj:=wobj0;//走到左边产品起点
ConfJOff;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错 ConfLOff; //因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错
PDispOnRot,Target_20,tWeldGun;//设定当前位置和Target_20的偏差关系(包括平移和旋转),因为此时机器人停在Target_ref_start起点,即设定左边轨迹和右边轨迹的整体偏移关系。使用 ot表示平移和旋转均计算。如果不使用 ot,则只使用平移,旋转不计算
Path_30;//运行原有轨迹,此时轨迹参考坐标移动关系,机器人实际走左边产品轨迹
PDispOff;//轨迹完成,关闭平移关系
2、单工位多次预约程序
1)机器人有程序如下:
3)工艺过程如下:
机器人在home等待。有人按过di信号,机器人开始执行。人工可以一次性多次预约,即如果人工一次性按过3次,机器人执行三次
4)我们通过中断来实现。
5)中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动
6)新建一个例行程序,取名tr_1,注意:类型选中断(trap)
7)进入中断程序,插入指令如下,即当机器人执行中断程序时,给reg1记录次数加
8)进入主程序,设置中断及对应的io信号
37行的意思是,任何时候di_1信号0变1,就会触发执行tr_1中断程序,即置flag1为
35-37行程序只要运行过一遍即可,类似于设置开关,不需要反复运行
9)主要程序如下。即如果reg1=0,机器人在home等待
3、在robotstudio创建两台机器人的socket连接
1)什么是socket通讯?
就是TCP/IP通讯,无协议,在微软环境下称为
2)socket通讯能干什么?
可以收发制定的数据,包括sting字符串,byte数组等
3)创建socket机器人需要什么选项?
机器人需要616-1 PC-INTERFACE选项
4)socket通讯网线插哪个网口?
Service口(IP固定:192.168.125.1)或者Wan口都可以,(可以自己设置)
5)创建client端的实例
通常机器人和相机通讯,机器人作为client端。
a、新建一个机器人系统,注意建立系统时加入pc-interface选项
免之前的连接没有关闭,先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量
入创建连接
d、插入建立连接SocketConnect,后面需要制定Server的ip和端口,如果是在电脑和另一台虚拟控制器连接,ip设为“127.0.0.1”,端口自定义,建议不要用默认的
这一步作用为机器人会和server建立连接,如果没有建立成功会一直等待,如果成功则往下执行。
测试,在建立成功后,插入TPWrite指令,可以在示教器看到
f、接下去可以收发数据,此处示例为client先发送数据给server,再接受server发送回来的数据
g、SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量
h、发送完毕后,client接受到server发回的数据并写屏
6)以下为server端示例
a、重新创建一个工作站,创建时不要忘记添加pcinterface选项
b、作为server,机器人需要创建2个socketdev变量
c、为了避免之前的连接没有关闭,同样建议先
d、建socketCreatetemp_socket 服务器端
f、SocketBind为绑定socket要监控的ip和端口,如果是虚拟仿真,ip为127.0.0.1,端口自定义(和client端设置一致)
g、SocketListen为机器人server监听是否有client连接
h、socketAccept为接受client的连接
i、建立连接后,机器人就可以执行死循环,即一直处于收发状态
j、 之前client程序为client先发后收,故这里server先收后发
7)client和server都写完后,可以运行,注意先运行server端,即server机器人处于监听状态,如果连上,两台相互通讯,效果如下
8)server机器人收到的讯息如下:
9) client机器人收到的讯息如下:
文章来源,
工业机器人维修官网:www.zr-abb.com