abb如何让程序按新定义的工件坐标系建立视频运行

ABB机器人服务运营商

ABB机器人如何去進行新示教器创建工具工件坐标系建立视频―ABB机器人 日期:

ABB机器人如何去进行新示教器创建工具工件坐标系建立视频

Omni Core 控制器是ABB机器人*新推出嘚控制系统控制柜如下。

搭配该系统需要使用Robotware7。系统使用下图的新型示教器

工具TCP和工件坐标系建立视频是ABB机器人两个非常重要的数據,在新示教器系统如何创建

点击左侧校准,选择工具

点击右上角可以新建工具点击tool1后的省略号可以定义工具

进入定义工具界面,如丅选择几点法,右侧图片实际示教器为动态图会提示如何示教该点位置(即ABB机器

}

原标题:ABB机器人【编程技巧】分享技术!

就是TCP/IP通讯无协议,在微软环境下称为socket

2)socket通讯能干什么

可以收发制定的数据,包括sting字符串byte数组等

3)创建socket机器人需要什么选项?

4)socket通讯网线插哪个网口

通常机器人和相机通讯,机器人作为client端

1)新建一个机器人系统,注意建立系统时加入pc-interface选项

2)为了避免之前的連接没有关闭先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量

4)插入建立连接SocketConnect后面需要制定Server的ip和端口,如果是在电脑和另一台虚拟控制器连接ip设为“127.0.0.1”,端口自定义,建议不要用默认的1025.

这一步作用为机器人会和server建立连接如果没有建立成功会一直等待,如果成功则往下执荇

6)接下去可以收发数据此处示例为client先发送数据给server,再接受server发送回来的数据

7)SocketSend后面可以发送string或者byte数组具体可以选择不同可选变量

8)发送完毕后,client接受到server发回的数据并写屏

1)重新创建一个工作站创建时不要忘记添加pcinterface选项

3)为了避免之前的连接没有关闭,同样建议先socketclose

9)建竝连接后机器人就可以执行死循环,即一直处于收发状态

7)client和server都写完后可以运行,注意先运行server端即server机器人处于监听状态,如果连上两台相互通讯,效果如下

8)server机器人收到的讯息如下:

9) client机器人收到的讯息如下:

4. ABB机器人双工位预约程序

人工完成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信号01,就会触发执行tr_1中断程序即置flag1true

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

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

5. 与相机通讯的Socket收发数据处理与提取

1)相机通常发送字符串给机器人比如”1.23,4.56,7.890D”,x1.23y4.56z的角度为7.89,用0D作为结束符数据之间用隔开

2)如果机器人收到上述字符串,如何把字符串提取出来并付给变量deltaXdeltaY,和thetaZ

3)建立若干num变量,用以存储过程数据比如StartBit1,表示x的数据从第几位开始Endbit1表示x的数据结束是苐几位,Lenbit1表示x数据的长度s1表示提取的x的值的字符串

5)先假设x的第一位是1,给Startbit1赋值为1

6)插入函数strfind,查找第一个“”在第几位,得到EndBit1值

9)同悝得到y和theta的信息

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

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

6. ABB机器人如何创建数组

将相同数据类型的元素按一定顺序排列的集合

仳如创建一个robtarget类型的数组p_array,p_array里有10个点位走完10个位置就可以用如下代码,方便简洁

3)哪些数据类型能创建数组

所有数据类型都可以创建数組

ABB机器人数组最大三维!

5)数组起始序号是0还是1

3)新建,设置名称维数(这里举例1维),每个维度的元素数量(举例为10)

4)创建完僦有了一个10个数据的p_array,

5)修改点位点击上图上某一行,修改位置即把数组里的某一个元素位置修改了

7. ABB机器人创建自定义数据类型

诸如robtarget,jointtarget等把一系列相关元素集合在一起,类似结构体

2)如何查看系统的数据类型

3)ABB机器人是否可以自定义数据类型

4)如何创建自定义数据類型

必须在创建在模块的最前面,使用关键字RECORD 和ENDRECORD

定义了一种数据类型叫student里面包括性别(bool量),班级(num)分数。分数又是一个自定义数據类型具体内容包括语文和数学分数。

6)可以在程序数据里查看到这个自定义的数据类型student

7)可以新建一个变量类型为student,可以对内容设置

8)也可以在示教器进行赋值类似p10.trans.x

8. ABB机器人数据存储类型区别

1)ABB机器人任何数据都有存储类型,分为常量CONST变量VAR和可变量PERS

2)常量CONST,即程序內不能赋值

3)变量和可变量程序都能赋值区别如下

变量-有初值和当前值。在执行打开程序移动指针到main,移动指针到routine时变量的当前值會被初始化,即值变为初值

可变量只有当前值。即任何时候做了修改其值就修改了。在执行打开程序移动指针到main,移动指针到routine时徝就是当前值,不会发生变化

4)默认插入的robtarget的存储类型是const即常量,此时无法赋值(如下图即使类型选到robtarget还是不显示已经建立的robtarget)

此时,到程序数据找到这个数据,编辑-更改申明修改为变量

此时插入赋值语句时,就能找到这个点位了

9. 创建带参数例行程序

1)什么是参數例行程序?

例行程序可以输入参数使用的时候看起来就像自定义指令

方便使用,用户不用关心内部实现过程

2)设置名称点击参数,設置输入参数

3)添加参数注意右边的数据类型即为该参数数据类型,此处举例输入为2个robtarget

5)程序内部根据自己需要添加内容

6)带参数例行程序不能直接使用必须有人调用,且输入参数如下

7)此处举例pknpl指令的创建,实现功能为从pHome位置吸取并到Target_10位置放置

10. ABB机器人创建码垛程序

囿规律的移动机器人进行抓取及放置

设置好工件坐标系建立视频工具,对第一个码垛放置点进行示教xyz方向的间距和个数可设

在init 程序里,设置xyz方向个数和各方向间距

在p_main程序里创建机器人移动到pHome点,pPick位置(抓取位置)以及第一个放置点pPlace_ini

通过三层for循环,进行码垛实例程序为先x方向,再y方向再z方向

1)如果有上图所示6个产品位置要吸取,如何最快速的创建点位(纯示教?Naive太体力活了。

2)如下图我們可以发现1号位置和0号位置姿态一样,1号相对于0号就是一个半径的偏移2-6号位置相对于0号也都是一个半径的偏移,2-6号姿态均朝向圆心由於图中为6个,即从2号开始每个点姿态相对于1号旋转了60°

3)是不是可以只要示教0号点位置,同时已知半径(未知的话自己量一下),就能自动算出其他6个点位置而不用示教了呢答案当然是可以的!

4)由于涉及到坐标系偏移和旋转,所以要做好Tool和工件坐标系建立视频

5)创建工具gripper_dual,假设z方向100工具的Z方向为工具延伸方向

6)如下图创建坐标系,圆心在中间0号到1号方向为X,y如图下图中的工件坐标系建立视頻Z朝下(满足右手法则)。这样创建主要是为了计算方便

7)在workwobject2坐标系gripper_dual工具下,示教中间产品位置Target_center此时工具的Z必须垂直于产品平面,即笁具的Z朝下(其实只是要用这个点的姿态和z,这个点的xy都是0因为这个点在workobject2坐标系处于原点,即xy都是0)

8)设置圆心到第一个产品的距离(即半径radius)这里举例21.45mm

10)通过上述例子,就得到了Target1位置注意是在workobject2坐标系下。

11)再配合test等流程就可以比较简单的完成6个位置的计算和移動,如下

机器人转弯半径即机器人在运行两句运动指令时,若设置了转弯半径机器人会平滑的过渡,转弯半径意义为机器人进入到設置点半径内的位置,机器人开始过渡

如果要准确到达一个位置使用fine

轨迹上,z0和fine类似但fine除了准确到达,还有一个阻止程序预读的功能

機器人运行的时候示教器有2个图标,一个是左侧的箭头表示程序已经读取到哪一行,还有一个是机器人图标表示机器人实际在走哪┅行。为了要实现平滑过渡等功能机器人要预读几行代码。

如果使用了图1的z0机器人在走第21行,程序已经执行到23行即机器人还没走到位置已经打开do

如果使用了图2 的fine,机器人在走第21行程序还在21行,即有了fine程序指针不会预读,即机器人走完21行后才会执行打开do

?来源ABB機器人实战技巧权归原作者,如有侵权请联系删除。谢谢

? 声明:本文素材系网络收集工控帮编辑整理。文中所用视频、图片、攵字版权归原作者所有但因转载众多,无法确认真正原始作者故仅标明转载来源。如涉及作品版权问题烦请及时联系(微信同号),我们将即刻确认版权并按国家相关规定支付稿酬!

? 建议:文中所述难免存在缺失或错漏之处烦请大家在留言区畅所欲言、发表评论,您知道的或许正是大家想了解的!这样我们可以帮助更多的人了解更多!谢谢您的支持!

}

我要回帖

更多关于 工件坐标系建立视频 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信