百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 文章教程 > 正文

零基础入门ABB机器人,仅需掌握6大编程技巧

yund56 2025-02-25 01:16 10 浏览

工业机器人的发展以及机器人智能化水平的提高,机器人的应用范围还在不断地扩大。那么机器人能干啥?自动识别、在线生成包含工艺参数的轨迹、自动作业。


只有你想不到没有他们做不到!今天小编就带大家见识下,ABB机器人的风采!

广泛采用工业机器人,不仅可提高产品的质量与产量,而且对保障人身安全,改善劳动环境,减轻劳动强度,提高劳动生产率,节约原材料消耗以及降低生产成本,有着十分重要的意义。

因为ABB机器人应用于焊接、搬运、装配、涂装、机加工、捡拾、包装、码垛、上下料等,逐渐替代人工,在工厂担任越来越重要的角色,为此需要大量的技术人员对机器人系统进行定时定点的维护与保养,并且在产生故障时及时解决问题,使机器人高效生产,高效运行。

下图是ABB机器人基于首创的底涂涂胶免示教编程技术为宇通客车打造了首条客车边窗底涂涂胶免示教编程智能生产线,已实现小批量、多品种的柔性生产模式。

机器正在进行底涂和涂胶工作

说了那么多机器人可以操作完成的工作,那下面咱们就一起来看看,ABB机器人的6大编程技巧!

Pdisp轨迹偏移使用、单工位多次预约程序、在robotstudio创建两台机器人的socket连接、双工位预约程序、与相机通讯的Socket收发数据处理与提取、如何创建数组等编程技巧,满满的实用干货!


1ABB机器人Pdisp 轨迹偏移使用

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;//回到Home;


MoveJTarget_ref_start,v1000,fine,tWeldGunWObj:=wobj0;//走到左边产品起点;


ConfJOff;//因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错 ConfLOff; //因为使用偏移,关闭轴配置监控,否则有可能使用原配置参数导致位置走不到而报错;


PDispOnRot,Target_20,tWeldGun;//设定当前位置和Target_20的偏差关系(包括平移和旋转),因为此时机器人停在Target_ref_start起点,即设定左边轨迹和右边轨迹的整体偏移关系。使用 ot表示平移和旋转均计算。如果不使用 ot,则只使用平移,旋转不计算;


Path_30;//运行原有轨迹,此时轨迹参考坐标移动关系,机器人实际走左边产品轨迹;


PDispOff;//轨迹完成,关闭平移关系;


MoveJ pHome,v1000,z100,tWeldGunWObj:=wobj0;


2ABB机器人单工位多次预约程序

1.机器人有程序如下:

2.工艺过程如下:


机器人在home等待。有人按过di信号,机器人开始执行。人工可以一次性多次预约,即如果人工一次性按过3次,机器人执行三次。


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


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


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



6.进入中断程序,插入指令如下,即当机器人执行中断程序时,给reg1记录次数加1。



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



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

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


8. 主要程序如下。即如果reg1=0,机器人在home等待



3在robotstudio创建两台机器人的socket连接

1.什么是socket通讯?

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


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选项。


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


c、之后插入创建连接socketCreate。


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

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


e、此处做测试,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful。


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


g、SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量。


h、发送完毕后client接收到server发回的数据并写屏。


6.以下为server端示例

a、重新创建一个工作站,创建时不要忘记添加pcinterface选项。

b、作为server,机器人需要创建2个socketdev变量。

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

d、


e、接着创建socketCreatetemp_socket 服务器端socketdev。

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机器人收到的讯息如下:



4双工位预约程序

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位等待。


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

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.成功后可以写屏测试,如下图:



6ABB机器人如何创建数组


1.什么是数组?

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


2.有什么用?

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


FOR i FROM 1 TO 10 DO


MoveL p_array{i},v500,z1,tool0;


ENDFOR


3.哪些数据类型能创建数组?

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


4.数组最大几维?

ABB机器人">ABB机器人数组最大三维!


5.数组起始序号是0还是1?

是1


6.如何创建?

a.程序数据

b.选中类型,比如Robtarget

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


d.创建完,就有了一个10个数据的p_array,


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


为了让大家更深入了解ABB机器人编程,可以看看ABB机器人相关语言基础、课程规划、坐标系的使用,作为初学者不知该如何入门,将引导大家一步步进阶并且做好规划。

对最基本常用的机器人的工具坐标系、工件坐标系、基坐标系做了详细的讲解,让学员理解透彻。

最后,有需要的伙伴,可以看下图,获取相关机器人编程资料!

相关推荐

今日起,办理游戏版号这么做就行了!真的太方便了

  在“大众创业,万众创新”的浪潮下,我国很多创业者也看到了游戏的前景,准备在游戏行业分一杯羹。  但根据国家新闻出版广电总局颁布的《关于移动游戏出版服务管理的通知》,游戏需要通过国家新闻出版广电总局...

给大家推荐些好的c语言代码的网站

C语言,那就来推荐几个吧,部分含有C++:1、TheLinuxKernelArchives(kernel.org)Linux内核源码,仅限于C,但内核庞大,不太适合新手;2、redis(redi...

手游平台没有源码的三大危害

搭建一款属于自己的手游平台可以直接和游戏研发商对接游戏,既减少中介的差价,还能根据自己需求去选择游戏。对于玩家而言,手游平台给予了玩家更多的选择机会,对于运营者而言,借助平台可以更好地服务玩家,通过对...

游戏源代码开发时需要什么,需要哪些团队成员?

游戏由于她轻松娱乐,对战刺激,寓教于乐等特点,吸引住了一大批不一样年龄阶段的用户,例如喜爱竞技游戏的年轻群体,需要益智游戏的儿童等。游戏源代码是游戏构建的基础,尽管将开发时分成开发软件和游戏开发2个概...

育碧经典游戏《孤岛惊魂1》源代码遭泄露,玩家表示可以运行

IT之家7月3日消息,一份名为“FarCry1.34Complete”的游戏源代码已经出现在了互联网档案网站“Archive.org”上,并且在Reddit论坛和各种社交媒体上得到...

神秘网站倒数结束 令人一头雾水

还记得那个疑似小岛秀夫作品的《黑色猎犬》倒计时网站吗?现在该网站已经停止倒计时,仅剩一段话“这里原来有一个倒计时,现在没了”……点击这句话会跳转到国外网站Funhaus的一个莫名其妙的视频,然而评论的...

LOL源代码娜美免费领取地址 LOL源代码娜美领取活动网址分享

[海峡网]在英雄联盟中近日国服的服务器一直不稳定,繁出现卡顿和功能错误等问题,官方现在正在努力维护,为表歉意将免费赠送给玩家一款“源代码·娜美”的皮肤,那么这个皮肤要怎么领取呢,小编相信小伙伴们一定都...

个人网站集成js小游戏《圈小猫》教程及源码

今天在某网站浏览帖子的时候,发现帖子被删除了,然后弹出了404页面,页面上集成了一个小游戏,小游戏长什么样子呢?看下面这个图!第一步查看小游戏源码,发现这个小游戏完全是由JavaScript编写的,因...

Scratch创意编程-数学问答游戏

项目名称:数学问答游戏目标年龄群体:8-12岁项目简介:在这个Scratch创意编程项目中,学生们将扮演数学家,通过解答数学题目来挑战自己的数学技能。游戏中包含了加法、减法、乘法和除法等基本算术题,以...

少时不努力长大程序猿 酷比魔方AI百变编程套件体验测评

本文产品为厂家送测,坚持独立的评价观点是笔者创作的基本底线,绝不会因商品来源不同而有所偏颇,请各位放心。写在开始讲讲今天男主的故事这篇体验到的目标群体是跟我一样,家中有个在上小学二年级的小学生。首先...

孩子的scratch作品只能演示?教你把它三步变为电脑软件

随着少儿编程的发展,越来越多的家长和孩子开始投身其中。对于初学者来说,最好的编程工具就是Scratch,它是麻省理工学院的“终身幼儿园团队”开发的图形化编程工具,主要面对青少年开放。这是对孩子最好的编...

打地鼠小游戏制作教程

打地鼠这个小游戏貌似比我的年龄都要大,这次我们使用scratch3.0图形化编程软件来制作一款我们自己的“打地鼠”。我们先准备4样角色,分别是:地鼠角色、锤子角色、地洞角色、草地角色。地鼠→使用猫...

Scratch2.0接苹果小游戏讲义整理

Scratch2.0接苹果小游戏概貌见动图:这又是一款经典的Scratch小游戏,是孩子们学习Scratch编程软件的良好载体,不容错过。(一)玩法说明接到慢速的红苹果一个加1分;接到中速的红苹果一个...

少儿编程太难?原来可以闯关玩游戏啊

随着编程学习全球化的趋势,国内编程学习热潮日盛,越来越多的家长开始让孩子接触学习编程。然而我们都不了解这个少儿编程是到底是什么,近年来,许多家长开始给小孩报编程学习班。最小的从幼儿园开始就在学习...

如何在Scratch中创建一个两人赛艇游戏

本分步指南将教您如何使用Scratch程序创建划船游戏。完成对这个简单游戏的编程后,两条船将使用按键命令一起竞赛。步骤1.打开Scratch。2.删除名为“Sprite1”的猫。您可以通过右键单击它...