ABB机器人组成:机器人本体,控制柜,示教器;动力电缆-控制柜给机器人供电数据电缆-控制柜计算被每一个轴运动的角度用户电缆-根据自己需求选择,可以不接机器人需要安装机器人系统,软件模拟,需要手动创建MoveAbsJ jpos1,v1000,z50,\tool1\wobj:=wobj1;上面jpos1意为目标点位置数据;v1000意为运动速度1000mm/s;z50指转弯区数据;tool1和wobj1分别为工具坐标数据和工件坐标数据。基本-ABB模型库-选择型号-导入模型库-设备-myTool手动模式:单轴运动,线性运动和重定位运控制器-示教器-虚拟示教器1-3轴,4-6轴,线性,重定位工具数据tooldata用于描述安装在机器人第六轴上的工具的TCP、质量、重心等参数数据点击ABB,选择程序编辑器
开始创建工作站--选择ABB模型库--导入模型库设备工装--创建机器人系统系统选项:644-5中文选项、709x DeviceNet总线、840-2Profibus fieldbus适配器、其它根据需要等待控制器状态就绪。离线菜单--虚拟示教器--ABB控制面板--右边菜单切换到手动--切换到中文,重启生效系统生成器可以从备份文件生成系统。
开机,打开电源开关。红色按钮打到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系统模块里
描述在法兰盘上的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,打开菜单,选重定位模式,工具坐标,点击上电,不断移动摇杆旋转。
工件相对于大地坐标系的位置。可以有多个,表示不同工件或相同副本。以更换工件坐标后,程序内的轨迹数据都不需要改变就可以处理相同工件。
定义工件坐标:右手定则确定坐标系xyz轴后,定义三个点就可以定义工件坐标:X1点为原点;X1-X2为X正方向;Y1确定为坐标Y的正方向,根据右手定则就确定了。*手动操纵--坐标系选大地坐标工具选tool1--工件坐标创建后选中再编辑里选定义--用户方法选3点--用线性方式找X1点后保存,再X2,Y1*验证,选中工件坐标,线性,工件坐标系,编程序走个轨迹,改变工件的位置,重新定义新的工件坐标后,再跑看看对不对。
搬运用的。焊枪等比较轻的可以不设定。手动操纵--有效载荷--新建--初始值--设定mass/cog程序中GripLoad load0;切换为夹具松开,load1为夹具夹紧搬运。
包含一个或多个系统模块+程序模块。每个里面可以包含程序数据、例行程序、中断程序、功能等,其中有一个额外包含Main主程序。创建程序模块和例行程序和编辑:ABB--程序编辑器--新建模块--新建例行程序main和routine1--显示--添加指令后编辑
运动指令:MOVEJ--关节运动;MOVEL--线性运动;MOVEC--圆弧运动;MOVEABSJ--绝对位置运动指令数据:MoveAbsj *目标位置,v速度,z转弯半径,tool1\WObj:=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 ELSEFOR i FROM 1 TO 10 DO----ENDFOR 循环指令WHILE num1>num2 DO ----ENDWHILETEST 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 DOIF di1=1 THENrDoThing;rHome;ENDIFWaitTime 0.3;防止系统过负荷ENDWHILE
调试菜单--检查程序--pp到例行程序(移动到具体指令,按黄箭头)--选择单步调试按钮,右下角的示教按钮。注意如果路径太长,中间可能会过关节,需要插入中间点。
内置的功能使用增加效率Abs、Offs计算偏移
中断程序TRAP:处理紧急情况的程序,出错处理,外部信号响应,实时性高。IDelete:取消指定中断;CONNECT:连接一个中断符号到中断程序;ISignalDI:使用一个数字输入信号触发中断;新建一个例程tMonitorDI,类型TRAP陷阱在rInit中尾部增加:IDelete intno1;CONNECT intno1 WITH tMonitorDI;ISignalDI\Single,di1,1,intno1; --single 仅一次。去掉可以反复激活。
其他指令:*CallByVar指令:reg1:=Ginput(ai_Type);CallByVar "proc",reg1; --如果reg1=1,调用proc1