1)摄像机通常发送一个字符串给机器人比如“1.23,4.56,7.89D”,即X为1.23,Y为4.56,Z的角度为7.89,以D为终止符,数据之间用“,”隔开。
2)如果机器人收到上面的字符串后,如何提取字符串并支付给变量deltaX,deltaY,thetaZ?
3)建立几个num变量来存储过程数据,比如StartBit1表示x的数据的起始位置,Endbit1表示x的数据的结束位置,Lenbit1表示x的数据的长度,s1表示提取的x的值的字符串。
4)
5)我们假设X的第一位是1,给Startbit1赋值1。
6)插入函数strfind,找出第一个“,”在哪里,得到EndBit1的值。
7)
8)EndBit1减去StartBit1就是x的数据长度。
9)类似地获得y和θ的信息。
10)通过StrPart函数,提取从StartBit1到LenBit1结尾的字符串,即x的值的字符串。
11)
12)用同样的方法,得到Y和z的字符串。
13) s1通过Strotoval函数转换成num类型并支付给Delta _ X,Strotoval函数的反馈值是bool quantity,即转换成功为真,转换不成功为假。
14)用同样的方法得到delta_y和delta_theta。
15)成功后,可以写一个屏幕测试,如下图。
横丝机器人双站预约程序
1)以下两个工位生产可用。
2)流程如下:
在工位1手动结束进给后,按下按钮di_1(按钮不按住,即手动释放信号为0)。机器人焊接1#站。
在此过程中,2#站手动装卸,完成后按di_2完成预约(即无需等待)机器人完成1#工作)。
机器人在完成1#作业之后,由于接收到di_2预约信号,机器人自动完成2#站
3)我们通过打断来做到这一点。
4)中断的含义是,机器人后台不断扫描(类似PLC),并且机器人前台动作不冲突。当后台实时扫描到信号时,会执行设定的中断程序。中断程序中没有运动指令,前台机器人不停,不影响运动
5)创建一个新的例程,命名为tr_1。注意:类型为陷阱。
6)进入中断程序并插入以下指令,即当机器人执行中断程序时,将布尔量设置为真。
同样,设置第二个中断程序。
7)进入主程序,设置中断和相应的io信号。
第37行的意思是,每当di_1信号0变为1时,就会触发tr_1中断程序的执行,即置flag1为真。
35-40行程序可以运行一次,类似于设置一个开关,不需要重复运行。
8)主要程序如下。也就是说,如果没有人给阿迪信号,机器人在家等就好。
9)
【干货】ABB机器人编程技巧1: abb机器人Pdisp轨迹偏移使用
【干货】ABB机器人编程技巧2:单站多预约程序
【干货】ABB机器人编程技巧3:在robotstudio中创建两个。机器人套接字连接基于
【干货】ABB机器人编程技巧4:双站预订程序
【干货】ABB机器人编程技巧6: abb机器人如何创建数组
【干货】ABB机器人编程技巧7: abb机器人创建自定义数据类型
【干货】ABB机器人编程技巧8: abb机器人数据存储类型差异
【干货】ABB机器人编程技巧9:创建带参数的例程
【干货】ABB机器人编程技巧10: abb机器人建立码垛程序
【干货】ABB机器人编程技巧11:创建常规的机器人旋转机器人目标
【干货】ABB机器人编程技巧12:12:Fine和z0的区别