ABB[a]-J-8ABB机器人高级编程.doc_第1页
ABB[a]-J-8ABB机器人高级编程.doc_第2页
ABB[a]-J-8ABB机器人高级编程.doc_第3页
ABB[a]-J-8ABB机器人高级编程.doc_第4页
ABB[a]-J-8ABB机器人高级编程.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ABBa-J-8ABB 机器人高级编程8.1 任务目标掌握 ABB 机器人 RAPID高级编程方法。掌握常用的RAPID程序指令。8.2 任务实施8.2.1 事件程序EventRoutineEvent Routine 是使用 RAPID指令编写的例行程序去响应系统事件的功能。比如在系统启动时,检查IO 输入信号的状态,就可通过Event Routine 来完成。要注意的是,在Event Routine 中不能有移动指令,也不能有太复杂的逻辑判断,防止程序死循环,影响系统的正常运行。下面我们就以响应系统事件POWER_ON为例子,进行此功能的说明。任务描述:编写rEvent 例行程序,打印“St

2、artOK”字样,如果在开启后屏幕上显示,则说明这个例行程序与POWER_ON系统事件关联。操作步骤:1.进入 “控制面板”-“配置 ”画面,点击“主题”,选择“ Controller。 ”2. 双击 “ Event Routine。 ”3. 点击 “添加 ”。4. Event 选择 “ POWER_ON(”定义可参考手册) 。5. Routine 选择 “ rEvent。”6. Task 选 择 默 认 任 务 “ T_ROB1(”使用多任务系统要明确例行程序在哪个任务中)。7. 点击 “确定 ”后重启。8. 重启后,在操作员画面中能看到信息。8.2.2 多任务 MultiTaskingMu

3、ltiTasking 就是在有一个在前台运行用于控制机器人逻辑运算和运动的RAPID程序的同时,后台还有与前台并行运行的RAPID程序,也就是我们所说的多任务程序了。* 系统需要623-1 MultiTasking 选项。多任务程序最多可以有20 个不带机器人运动指令的后台并行的RAPID程序。多任务程序可用于机器人与 PC之间不间断的通讯处理,或作为一个简单的 PLC进行逻辑运算。后台的多任务程序在系统启动的同时就开始连续的运行,不受机器人控制状态的影响。多任务程序 任务间数据通讯的方法:任务间是可以通过程序数据进行数据的交换。在需要数据交换的任务中建立存储类型为可变量而且名字相同的程序数据

4、。在一个任务中修改了这个数据的数值,在另一个任务中名字相同的数据也会随之更新。1.建立多任务1.进入 “控制面板 ”-“配置 ”画面的 “Controller 主”题,选择 “Task。”2.点击 “添加 ”。3.设 置Task 值 为 “ T_Back ”(名字可自由起) 。4. Type 选择 “ NONMAL”。5. Main entry 进行重命名,命名为 “mainback”,与前台主程序区分开。6. 进行重启操作,使设置生效。重新启动后,点击右下角快捷菜单,再点击多任务按钮,将 T_ROB1 前台任务取消掉。7. 到程序编辑器添加程序模块和主例行程序( mainback ),并在程

5、序中添加一些指令。8.电机上电,运行程序,观察 IO 的变化。9.在Task 的编辑画面,将Type 设定为 “ SEMISTATIC,”后台连续运行(设置后,即使机器人前台程序没有执行,开机后,后台程序也会自动执行) 。2.多任务之间数据通信1.在“控制面板”-“配置 ”-“Controller 主” 题 的“ Task中”将 任 务 更 改 为“ NONMAL”。2. 在两个任务中建立两个存储类型为可变量的名称相同的 num 类型数据 abb1 。3. 将任务改为后台运行 “ SEMISTATIC。”4.在前台程序中编写赋值语句将 abb1 的值进行更改。5.执行指令,在程序数据界面观察程

6、序数据的值。8.2.3 错误处理ErrorHandle在 RAPID程序执行的过程中, 为了提高运行的可靠性, 减少人为干预, 对一些简单的错误 (如 WAITDI)进行自我处理。除了系统的出错处理。也可以根据控制的需要,定制对应的出错处理。出错处理常用指令指令说明EXIT当出现无法处理时将程序停止执行RAISE当定制出错处理时,用于激活出错处理RETRY再次执行激活出错处理的指令TRYNEXT执行激活出错处理的下一句指令RETURN回到之前的子程序ResetRestryCount复位重试的次数* 错误处理中最好不要放运动指令操作步骤:1.进入 “程序编辑器 ”,新建例行 程 序 “rErro

7、rHandle ,”在“错误处理程序 ”上打勾。2.添 加WaitDI指 令 , 选 择MaxTime 可选变量,值设置为 3。3.添加写屏指令TPWrite ,写一段信息。4.编辑出错处理, 在 ERROR下面添加处理指令(打开电子参考手册“技术参考手册 ”-“RAPID 手 册 ”下 的 RAPID Instructions 说明书,在 Instruction 章节找到WAITDI 指令的说明,找到MaxTime 找到此指令触发的错误标示符)。5.添加IF指令,条件为“ ERRNO=ERR_WAIT_MAXTIME”。6.THEN 中可填写错误处理的指令,在此处我们填写一个写屏指令。7.T

8、HEN中添加 TRYNEXT指令,继续执行激活出错指令的下一条指令。8.2.4TCP 轨迹限制加减速度的设定我们可以对机器人运动轨迹的加减速度进行限制来满足一些特殊应用的需要。如机器人搬运高温液态金属进行浇注的动作,为了防止液体的溢出,这个时候我们就需要对加减速度进行限定。示例:? PathAccLim FALSE, FALSE;TCP的加减速度被设定为最大值(一般默认情况)? PathAccLim TRUE AccMax:=4, TRUE DecelMax:=4; TCP的加减速度被限定在 4m/s2? MoveL p1, v1000, fine, tool0;?PathAccLim TRU

9、EAccMax:=4, FALSE;加速度被限定为4m/s2? MoveL p2, v1000, z30, tool0;? MoveL p3, v1000, fine, tool0;? PathAccLim FALSE,FALSE; TCP的加减速度被设定为最大值限制值最小只能设定为 0.5m/s28.2.5WorldZone 区域监控功能的使用WorldZone 是用于控制机器人在进入一个指定区域后停止或输出一个信号。应用实例:当两个机器人协同运动时设定保护区域。在压铸机的开/ 合模区设定为WorldZone 。机器人进入了指定区域后,输出信号给外围设备。? 通过定义 AB 两点的位置来确定

10、进行监控的区域。? 可以定义的 WorldZone 形状:矩形、圆柱形、关节位置型。WorldZone 监控的是当前的TCP的坐标值,监控的坐标区域是基于当前使用的工件坐标WOBJ 和工具坐标 TOOLDATA的。一定要使用Event Routine 的 POWER_ON在启动系统的时候运行一次,就会开始自动监控了。操作步骤:1. 使 用WorldZone必 须 添 加WorldZone的选项:608-1WorldZone。在“ ABB”-“系统信息” -“系统属性”-“控制模块” -“选项”中查看是否有 WorldZone 的选项。2.在 “手动操纵 ”界面选定要监控的工具。3.编制 Eve

11、nt Routine 对应的程序:设 置 两 个 矩 形 对 角 点Pos1 和Pos2,设定对应的坐标值;使用WZBoxDefInside,shPos,Pos1,Pos2;WZDOSetStat,wzPosInside,shPos,do1,1;指令来设定WorldZone 和关联的IO 信号。4.设定EventRoutine,与POWER_ON 关联,电机上电时自动开启 WorldZone 功能。8.2.6 限定单轴运动范围的操作目的: 因为工作环境或控制的需要,我们有时候会对单个轴进行运动范围的限定。方法: 我们可以对单轴的上限和下限值进行设定。设定的数据以弧度的方式进行表达。( 1 弧度

12、约等于57.3度)。注意: 对单轴限定后,会使机器人的可到达范围变小。1.进入 “控制面板 ”-“配置”画面的“Motion ”主题,双击“Arm”。2.选择要限定的轴,进入。3. 设 定UpperJointBound 和Lower JointBound的值来设定单轴的上限和下限, 单位为弧度(默认为180度,即 3.14159 ),实际的值与设定值留有一定的余量。4.进入手动操纵模式,当轴运动超出设定的范围后,就会报错。8.2.7 使用 IO 信号调用例行程序为了简化控制和对整个系统的一体化控制,我们通常会遇到以下的这种情况:操作员直接从人机界面直接调出机器人要执行的RAPID例行程序。要实

13、现这样的操作的设定方法:人机界面将程序编号发给PLC。PLC将编号发到机器人的组输入端。编写对应的RAPID程序。操作步骤:1.设定组输入gi1。2.编写几个测试程序 proc1()、proc2()和 rSelectProg()。rSelectProg 用来判断调用那个程序。3. rSelectProg 内容如图:使用CallByVar指 令 ,“ proc ”为固定值,根据后面数字的不同,选择调用proc1 或 proc2。4.对 gi1 的值进行仿真,运行rSelectProc 时,会调用与 gi1 的值对应的程序8.3 知识链接 -常用 RAPID 程序指令与功能表ABB 机器人提供了丰

14、富的 RAPID程序指令, 方便了大家对程序的编制, 同时也为复杂应用的实现提供了可能。以下就按照 RAPID 程序指令、功能的用途进行了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进行详细的了解,可以查看ABB 机器人随机光盘说明书中的详细说明。8.3.1 程序执行的控制1.程序的调用指令说明ProcCall调用例行程序CallByVar通过带变量的例行程序名称调用例行程序RETURN返回原例行程序2.例行程序内的逻辑控制指令说明Compact IFIFFORWHILETEST如果条件满足,就执行一条指令当满足不同的条件时,执行对应的程序根据指定的次数,重复执行对应的程序如

15、果条件满足,重复执行对应的程序对一个变量进行判断,从而执行不同的程序GOTOLabel跳转到例行程序内标签的位置跳转标签3.停止程序执行指令说明StopEXITBreak停止程序执行停止程序执行并禁止在停止处再开始临时停止程序的执行,用于手动调试SystemStopAction停止程序执行与机器人运动ExitCycle中止当前程序的运行并将程序指针PP 复位到主程序的第一条指令。如果选择了程序连续运行模式,程序将从主程序的第一句重新执行8.3.2 变量指令1.赋值指令指令说明:=对程序数据进行赋值2.等待指令指令WaitTimeWaitUntilWaitDIWaitDO说明等待一个指定的时间,

16、程序再往下执行等待一个条件满足后,程序继续往下执行等待一个输入信号状态为设定值等待一个输出信号状态为设定值3.程序注释指令说明comment对程序进行注释4.程序模块加载Load指令说明从机器人硬盘加载一个程序模块到运行内存UnLoad从运行内存中卸载一个程序模块Start LoadWait LoadCancelLoadCheckProgRefSaveEraseModule在程序执行的过程中,加载一个程序模块到运行内存中当 Start Load 使用后,使用此指令将程序模块连接到任务中使用取消加载程序模块检查程序引用保存程序模块从运行内存删除程序模块5.变量功能指令说明TryIntOpMode

17、RunModeNonMotionModeDimPresent判断数据是否是有效的整数读取当前机器人的操作模式读取当前机器人程序的运行模式读取程序任务当前是否无运动的执行模式获取一个数组的维数读取带参数例行程序的可选参数值IsPersIsVar判断一个参数是不是可变量判断一个参数是不是变量6.转换功能指令说明StrToByte将字符串转换为指定格式的字节数据ByteToStr将字节数据转换成字符串8.3.3 运动设定1.速度设定指令说明MaxRobSpeed获取当前型号机器人可实现的最大TCP速度VelSet设定最大的速度与倍率SpeedRefresh更新当前运动的速度倍率AccSet定义机器人

18、的加速度WorldAccLim设定大地坐标中工具与载荷的加速度PathAccLim设定运动路径中TCP的加速度2.轴配置管理指令说明ConfJ关节运动的轴配置控制ConfL线性运动的轴配置控制3.奇异点的管理指令说明SingArea设定机器人运动时,在奇异点的插补方式4.位置偏置功能指令说明PDispOnPDispSet激活位置偏置激活指定数值的位置偏置PDispOff关闭位置偏置EOffsOnEOffsSetEOffsOffDefDFrameDefFrameORobTDefAccFrame激活外轴偏置激活指定数值的外轴偏置关闭外轴位置偏置通过三个位置数据计算出位置的偏置通过六个位置数据计算出

19、位置的偏置从一个位置数据删除位置偏置从原始位置和替换位置定义一个框架5.软伺服功能指令说明SoftAct激活一个或多个轴的软伺服功能SoftDeact关闭软伺服功能6.机器人参数调整功能指令说明TuneServoTuneResetPathResolCirPathMode伺服调整伺服调整复位几何路径精度调整在圆弧插补运动时,工具姿态的变换方式7.空间监控管理指令说明WZBoxDef定义一个方形的监控空间WZCylDef定义一个圆柱形的监控空间WZSphDef定义一个球形的监控空间WZHomeJointDef定义一个关节轴坐标的监控空间WZLimJointDef定义一个限定为不可进入的关节轴坐标监

20、控空间WZLimSup激活一个监控空间并限定为不可进入WZDOSet激活一个监控空间并与一个输出信号关联WZEnable激活一个临时的监控空间WZFree关闭一个临时的监控空间8.3.4 运动控制1.机器人运动控制指令说明MoveCTCP圆弧运动MoveJ关节运动MoveLTCP线性运动MoveAbsJ轴绝对角度位置运动MoveExtJ外部直线轴和旋转轴运动MoveCDOTCP圆弧运动的同时触发一个输出信号MoveJDO关节运动的同时触发一个输出信号MoveLDOTCP线性运动的同时触发一个输出信号MoveCSyncTCP圆弧运动的同时执行一个例行程序MoveJSync关节运动的同时执行一个例

21、行程序MoveLSyncTCP线性运动的同时执行一个例行程序2.搜索功能指令SearchCSearchLSearchExtJ3.指定位置触发信号与中断功能指令TriggIOTriggIntTriggCheckIOTriggEquipTriggRampAOTriggCTriggJ说明TCP圆弧搜索运动TCP线性搜索运动外轴搜索运动说明定义触发条件在一个指定的位置触发输出信号定义触发条件在一个指定的位置触发中断程序定义一个指定的位置进行 I/O 状态的检查定义触发条件在一个指定的位置触发输出信号,并对信号响应的延迟进行补偿设定定义触发条件在一个指定的位置触发模拟信号,并对信号响应的延迟进行补偿设定

22、带触发事件的圆弧运动带触发事件的关节运动TriggL带触发事件的线性运动TriggLIOs在一个指定的位置触发输出信号的线性运动StepBwdPath在 RESTART的事件程序中进行路径的返回TriggStopProcTriggSpeed在系统中创建一个监控处理,用于在 STOP和位和程序数据复位的操作定义模拟输出信号与实机TCP速度之间的配合QSTOP中需要信号复4.出错或中断时的运动控制指令说明StopMoveStartMove停止机器人运动重新启动机器人运动StarMoveRetry重新启动机器人运动及相关的参数设定StopMoveReset对停止运动状态复位,但不重新启动机器人运动S

23、torePath1储存已生成的最近路径RestoPath1重新生成之前储存的路径ClearPath在当前的运动路径级别中,清空整个运动路径PathLevel获取当前路径级别SyncMoveSuspend1在 StorePath 的路径级别中暂停同步坐标的运动SyncMoveResume1在 StorePath 的路径级别中重返同步坐标的运动IsStopMoveAct获取当前停止运动标志符* 这些功能需要选项 “Path recovery配”合5.外轴的控制指令说明DeactUnit关闭一个外轴单元ActUnit激活一个外轴单元MechUnitLoad定义外轴单元的有效载荷GetNextMech

24、Unit检索外轴单元在机器人系统中的名字IsMechUnitActive检查一个外轴单元状态是关闭/ 激活6.独立轴控制指令说明IndAMove将一个轴设定为独立轴模式并进行绝对位置方式运动IndCMove将一个轴设定为独立轴模式并进行连续方式运动IndDMove将一个轴设定为独立轴模式并进行角度方式运动IndRMove将一个轴设定为独立轴模式并进行相对位置方式运动IndReset取消独立轴模式IndInpos检查独立轴是否已到达指定位置IndSpeed检查独立轴是都已到达指定的速度注:这些功能需要选项“Independent movement ”配合7.路径修正功能指令说明CorrCon连接

25、一个路径修正生成器CorrWrite将路径坐标系统中的修正值写到修正生成器CorrDiscon断开一个已连接的路径修正生成器CorrClear取消所有已连接的路径修正生成器CorrRead读取所有已连接的路径修正生成器的总修正值注:这些功能需要选项“Path offset or RobotWare-Are sensor ”配合8.路径记录功能指令说明PathRecStart开始记录机器人的路径PathRecStop停止记录机器人的路径PathRecMoveBwd机器人根据记录的路径作后退运动PathRecMoveFwd机器人运动到执行PathRecMoveBwd 这个指令的位置上PathRec

26、ValidBwd检查是否已激活路径记录和是否有可后退的路径PathRecValidFwd检查是否有可向前的记录路径注:这些功能需要选项“Path recovery配”合9.输送链跟踪功能指令说明WaitWObj等待输送链上的工件坐标DropWObj放弃输送链上的工件坐标注:这些功能需要选项“Conveyor tracking配合”10.传感器同步功能指令说明WaitSensor将一个在开始窗口的对象与传感器设备关联起来SyncToSensor开始 / 停止机器人与传感器设备的运动同步DropSensor断开当前对象的连接注:这些功能需要选项“Sensor synchronization配合”1

27、1.有效载荷与碰撞检测指令说明MotionSup 1激活 / 关闭运动监控LoadId工具或有效载荷的识别ManLoadId外轴有效载荷的识别注:此功能需要选项“Collision detection 配合”12.关于位置的功能指令说明Offs对机器人位置进行偏移RelTool对工具的位置和姿态进行偏移CalcRobT从 jointtarget 计算出 robtargetCPos读取机器人当前的X、 Y、ZCRobT读取机器人当前的robtargetCJointT读取机器人当前的关节轴角度ReadMotor读取轴电动机当前的角度CTool读取工具坐标当前的数据CWObj读取工件坐标当前的数据M

28、irPos镜像一个位置CalcJointT从 robtarget 计算出 jointtargetDistance计算两个位置的距离PFRestart检查当路径因电源关闭而中断的时候CSpeedOverride读取当前使用的速度倍率8.3.5 输入输出信号的处理1.对输入输出信号的值进行设定指令说明InvertDO对一个数字输出信号的值置反PulseDO数字输出信号进行脉冲输出Reset将数字输出信号置为0Set将数字输出信号置为1SetAO设定模拟输出信号的值SetDO设定数字输出信号的值SetGO设定组输出信号的值2.读取输入输出信号值指令说明AOutput读取模拟输出信号的当前值DOutp

29、ut读取数字输出信号的当前值GOutput读取组输出信号的当前值TestDI检查一个数字输入信号已置1ValidIO检查I/O信号是否有效WaitDI等待一个数字输入信号的指定状态WaitDO等待一个数字输出信号的指定状态WaitGI等待一个组输入信号的指定值WaitGO等待一个组输出信号的指定值WaitAI等待一个模拟输入信号的指定值WaitAO等待一个模拟输出信号的指定值3.IO模块的控制指令说明IODisableIOEnable关闭一个开启一个I/O I/O模块模块8.3.6 通信功能1.示教器上人机界面的功能指令说明TPEraseTPWriteErrWriteTPReadFKTPReadNum清屏在示教器操作界面上写信息在示教器事件日志中写报警信息并储存互动的功能键操作互动的数字键盘操作TPShow通过RAPID程序打开指定的窗口2.通过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论