返回首页 hi, 欢迎来到机器人在线 请登录/ 免费注册 扫码关注

【干货】ABB机器人编程技巧5:与相机通讯的Socket收发数据处理与提取

时间:2018-08-13 来源:ABB机器人实战技巧 阅读:46380

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和theta的信息


10)通过StrPart函数,提取从StartBit1开始到LenBit1结束的字符串,即x的值的字符串


11)         


12) 同理得到y和z的字符串


13)通过StrToVal函数,把s1转为num型,付给delta_x, StrToVal函数的反馈值为bool量,即转换成功为true不成功为false


14)同理得到delta_y和delta_theta


15) 成功后可以写屏测试,如下图


ABB机器人双工位预约程序  

1)有如下双工位生产


2)工艺过程如下:

人工完成1#工位上料后按按钮di_1(按钮不带保持,即人手松开信号为0))机器人焊接1#工位。

此过程中人工对2#工位上下料,完成后按di_2完成预约(即不需要等机器人完成1#工作)。

机器人完成1#工作后,由于收到过di_2预约信号,机器人自动去完成2#工位


3)我们通过中断来实现。


4)中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动


5)新建一个例行程序,取名tr_1,注意:类型选中断(trap)


6)进入中断程序,插入指令如下,即当机器人执行中断程序时,给bool量置true


同理设置第二个中断程序


7)进入主程序,设置中断及对应的io信号


37行的意思是,任何时候di_1信号0变1,就会触发执行tr_1中断程序,即置flag1为true

35-40行程序只要运行过一遍即可,类似于设置开关,不需要反复运行

8)主要程序如下。即如果没有人给di信号,机器人就在home位等待。

9)



【干货】ABB机器人编程技巧1:ABB机器人Pdisp 轨迹偏移使用

【干货】ABB机器人编程技巧2:单工位多次预约程序

【干货】ABB机器人编程技巧3:在robotstudio创建两台机器人的socket连接
【干货】ABB机器人编程技巧4:双工位预约程序
【干货】ABB机器人编程技巧6:ABB机器人如何创建数组
【干货】ABB机器人编程技巧7:ABB机器人创建自定义数据类型
【干货】ABB机器人编程技巧8:ABB机器人数据存储类型区别
【干货】ABB机器人编程技巧9:创建带参数例行程序
【干货】ABB机器人编程技巧10:ABB机器人创建码垛程序
【干货】ABB机器人编程技巧11:创建有规律的机器人旋转Robtarget
【干货】ABB机器人编程技巧12:Fine与z0的区别


ABB操作技巧 ABB机器人 机器人 技术干货

好的文章,需要您的鼓励

11

  • 最新资讯
  • 最新问答
推荐