一篇进入ABB机器人世界-以前学习视频的笔记

ABB机器人开发其实入门还是不难的,有软件开发基本概念,然后对机器人相关的术语很清晰,基本很快的。
当然工程上的实际经验还是要时间去堆。

以前的笔记,记录在这保存一下,希望能帮助你快速了解ABB机器人开发

ABB机器人组成:机器人本体,控制柜,示教器;
动力电缆-控制柜给机器人供电
数据电缆-控制柜计算被每一个轴运动的角度
用户电缆-根据自己需求选择,可以不接
机器人需要安装机器人系统,软件模拟,需要手动创建
MoveAbsJ jpos1,v1000,z50, ool1wobj:=wobj1;上面jpos1意为目标点位置数据;v1000意为运动速度1000mm/s;z50指转弯区数据;tool1和wobj1分别为工具坐标数据和工件坐标数据。
基本-ABB模型库-选择型号-导入模型库-设备-myTool
手动模式:单轴运动,线性运动和重定位运
控制器-示教器-虚拟示教器
1-3轴,4-6轴,线性,重定位
工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据
点击ABB,选择程序编辑器

安装RobotStudio软件:
www.robotpartner.cn下载
安装RobotWare和RobotStudio软件(选稍后激活可以用30天)永久激活如下:
Windows+R快捷键打开运行,输入regedit打开注册表
HKEY_LOCAL_MACHINE---SOFTWARE--Microsoft--SLP Services 这是Window 32位电脑的位置
HKEY_LOCAL_MACHINE--SOFTWARE---Wow6432Node--Microsoft--SLP Services 这是电脑是64位的位置,然后在右侧找到NoLockData键。
双击NoLockData键,打开一个面板,里面的数据都是十六进制的选择表中倒数第6行中的Dx(x为数字),修改为Ex,按确定后刷新注册表
重新打开Robotstudio后可以看到试用期延长到2032年

开始创建工作站--选择ABB模型库--导入模型库设备工装--创建机器人系统
系统选项:
644-5中文选项、709x DeviceNet总线、840-2Profibus fieldbus适配器、其它根据需要
等待控制器状态就绪。
离线菜单--虚拟示教器--ABB控制面板--右边菜单切换到手动--切换到中文,重启生效
系统生成器可以从备份文件生成系统。


新建工作站时选择从备份导入,注意选择RobotWare版本正确就好了。
如果版本不正确,导入错误,在Add-in中下载正确的版本安装
studio和ware也必须同一版本,否则容易打开不了示教器控制面板
如果示教器的控制面板打不开要修复RobotStudio,有杀毒软件杀了进程。

开机,打开电源开关。红色按钮打到on
关机,示教器中按停止。重新启动菜单中选择高级--关机,再关闭电源开关。
关后等两分钟再开机。
示教器状态栏点击可以看日志信息
示教器控制面板中备份与恢复

示教器使用:

使能器按下可以进行操作和调试。虚拟里用Enable按钮替代使能器。

手动操作:控制面板--手动操纵
动作模式:示教器右边有快捷按钮,触摸屏下面也有按钮
基座1-3轴,摇杆的方向与一二三轴匹配
线性运动:内部协调确保法兰盘的线性运动,不直接控制关节,增量模式,工具选择tool1,增量模式选择大
重定位运动:法兰盘上TCP的旋转运动,TCP点不变,坐标系选工具,增量选大。

一般转数电池更换,故障修复后,断电后关节轴移动,系统报未更新时,需要对转数计数器进行更新
转数计数器更新操作,手动操纵按456123顺序更新,刻度对上凹陷的中心就可以。
再ABB--校准--校准参数--编辑电机校准偏移,确认和铭牌中一致
在点 转数计数器--更新转数计数器--更新

IO通讯
与PC:RS232、OPCserver、Socket
与现场总线:Device Net、Profibus
与ABB标准板:标准IO板、PLC

IO板 DSQC651:
DI,DO都是8位口,652是16位口
IO板都是挂在DeviceNet网络上,设好地址跳线后,ABB--控制面板--配置--Unit--添加板参数:
Name:board10;模块类型:d651;总线:DeviceNet1;总线地址:10
可以用信号成组来输入信号,代表多位数的数字。
设定模拟信号参数要多几个

Profilebus-DSQC667总线:512个数字输入和512个数字输出
ABB中设定,PLC中设定,一一对应

关联系统状态和IO输出状态。
控制面板--配置--系统输出--设置关联

示教器的最上方四个按钮是可编程输出按钮
ABB--控制面板--配置--配置可编程按键 方便控制IO信号

程序数据:指令后面的一串就是程序数据,ABB一共有76个,可创建。在程序数据窗口中可以查看。
VAR 局部变量,跳转后就消失。
PERS 可变量,再下次更改前,一直保持最后的原值
CONST 常量 赋值后无法修改,只能程序编辑手动修改。

设定程序数据:ABB--程序数据--显示数据--选类型--新建中设定
程序数据选择对应的模块有效,如果需要共享,放在user系统模块里

工具数据ToolData:

描述在法兰盘上的TCP的重量,重心等参数的。执行程序时程序内的速度位置为TCP点的速度和位置。默认为tool0
设定TCP:ABB--手动操纵--工具坐标--新建tool1--初始值
trans中Z=300;moss重量=25;cog重心Z=250
设定好后,选择默认从tool0为这个tcp,tool1

TCP设定原理:
*首先找个非常精准的固定点为参考点
*在工具中确定一个参考点(最好是工具的中心点TCP)
*用上面的手动操纵移动工具参考点以最少四种不同姿态触碰固定点。也可以用六点,前三个最好相差大一点。提高精度
*机器人根据四个位置点计算TCP的数据。将数据保存在ToolData程序数据中。

实际操作:先创建一个tool1后,设定好基本的重量和重心等。
*选择tool1,选择编辑--定义--方法里选择TCP和ZX(有6个点)
*手动操作增量模式靠近塑料尖点,选择点1,修改位置记录下点1位置。
*改变4-6轴关节位置后,形成3个点,并记录,第4点垂直姿态靠近并记录。
*从点4在X轴移动后,后记录,不用碰到点。
*从固定点在Z方向移动后,记录,不用碰到点。
*全部完成后,点击确定后,得到TCP的数据。
*验证是否准确,选择tool1,打开菜单,选重定位模式,工具坐标,点击上电,不断移动摇杆旋转。

工件坐标WOBJData:

工件相对于大地坐标系的位置。可以有多个,表示不同工件或相同副本。
以更换工件坐标后,程序内的轨迹数据都不需要改变就可以处理相同工件。

定义工件坐标:右手定则确定坐标系xyz轴后,定义三个点就可以定义工件坐标:X1点为原点;X1-X2为X正方向;Y1确定为坐标Y的正方向,根据右手定则就确定了。
*手动操纵--坐标系选大地坐标工具选tool1--工件坐标创建后选中再编辑里选定义--用户方法选3点--用线性方式找X1点后保存,再X2,Y1
*验证,选中工件坐标,线性,工件坐标系,编程序走个轨迹,改变工件的位置,重新定义新的工件坐标后,再跑看看对不对。

有效载荷LoadData:

搬运用的。焊枪等比较轻的可以不设定。
手动操纵--有效载荷--新建--初始值--设定mass/cog
程序中GripLoad load0;切换为夹具松开,load1为夹具夹紧搬运。

RAPID程序指令:

包含一个或多个系统模块+程序模块。每个里面可以包含程序数据、例行程序、中断程序、功能等,其中有一个额外包含Main主程序。
创建程序模块和例行程序和编辑:
ABB--程序编辑器--新建模块--新建例行程序main和routine1--显示--添加指令后编辑

运动指令:
MOVEJ--关节运动;MOVEL--线性运动;MOVEC--圆弧运动;MOVEABSJ--绝对位置运动
指令数据:MoveAbsj *目标位置,v速度,z转弯半径,tool1WObj:=wobj1;
选目标位置后选调试,查看值--将六个关节都设定为0,机器人回到原点
最后一个移动指令时,Z转弯半径改成fine速度降为0,必须的。
注:速度最高v5000,手动限速下只有250mm/s;

IO控制指令:
Set do1;do1是定义的,置为1,Reset为0;前有move指令时记得设为fine。
WaitDI di1,1; 等待di1的值为1再继续,默认最多300秒,否则报警或异常处理。WaitDO类似;
WaitUntil指令可以等待布尔值和数字量
WaitTime 4;等四秒继续执行下面

IF flag1=TRUE Set do1;条件判断语句。ELSEIF ELSE
FOR i FROM 1 TO 10 DO----ENDFOR 循环指令
WHILE num1>num2 DO ----ENDWHILE
TEST data ---CASE value: ---ENDTEST 判断值后做对应操作
Label ---GOTO Label 标签并跳转标签指令
SystemStopAction:停止程序并中止机器人运行
ExitCycle指令:中止运行把PP指向主程序第一行,如果连续运行模式下,会继续运行。

模块根据功能分开,position模块,utility模块工具用;每个模块下的例行程序相当于无返回值函数。
rInit:AccSet加速度设定 VelSet速度设定 回home点等
rHome:MoveJ 返回Home点,手动移动到home后修改位置就记录下来,记得fine。
rDoThing:做具体执行操作。
main:
rInit;--先调用初始化
WHILE true DO
IF di1=1 THEN
rDoThing;
rHome;
ENDIF
WaitTime 0.3;防止系统过负荷
ENDWHILE

调试菜单--检查程序--pp到例行程序(移动到具体指令,按黄箭头)--选择单步调试按钮,右下角的示教按钮。
注意如果路径太长,中间可能会过关节,需要插入中间点。

内置的功能使用增加效率
Abs、Offs计算偏移

中断程序TRAP:处理紧急情况的程序,出错处理,外部信号响应,实时性高。
IDelete:取消指定中断;
CONNECT:连接一个中断符号到中断程序;
ISignalDI:使用一个数字输入信号触发中断;
新建一个例程tMonitorDI,类型TRAP陷阱
在rInit中尾部增加:
IDelete intno1;
CONNECT intno1 WITH tMonitorDI;
ISignalDISingle,di1,1,intno1; --single 仅一次。去掉可以反复激活。

其他指令:
*CallByVar指令:
reg1:=Ginput(ai_Type);
CallByVar "proc",reg1; --如果reg1=1,调用proc1

机器人的控制柜:

四种安全模式:
GS全有效;AS自动模式有效;SS任何模式都有效;ES急停按钮按下有效
急停开关按下后:先把开关按回来,然后面板下的白按钮点下,才可以使能。
六个轴的位置数据有电池来进行保存。注意没电了要更换。

安装调试步骤:
*本体和控制柜吊装到位,电缆连接。示教器与控制柜连接
*接入主电源,正常后上电
*六个轴的机械原点的校准操作
*IO信号设定
*安装工具和周边设备
*编程调试
*投入自动运行

系统属性信息查看
注意:控制模块里有个密钥,是系统生成器里需要输入的密钥
驱动模块也有密码

重启操作:
热启动:用当前设置重新启动当前系统;
关机:关闭主机;
B-启动:重启并尝试回到上一次无错的状态。系统故障时用
P-启动:重启里面RAPID程序会删除
I-启动:重启到出厂设置
ABB--重新启动--热启动、高级--各种启动方式


看了感觉怎么样?来说说吧。。。
喜欢记得关注起来!赶紧的。


原文地址:https://www.cnblogs.com/eyesonchip/p/13698079.html