ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:1.20MB ,
资源ID:11095588      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11095588.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ABBaJ8ABB机器人高级编程.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ABBaJ8ABB机器人高级编程.docx

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

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

3、用于控制机器人逻辑运算和运动的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),并在程序中添加一些指令。8. 电机上电,运行程序,观察IO的变化。9. 在Task的编辑画面,将T

5、ype设定为“SEMISTATIC”,后台连续运行(设置后,即使机器人前台程序没有执行,开机后,后台程序也会自动执行)。2.多任务之间数据通信1. 在“控制面板”-“配置”-“Controller”主题的“Task”中将任务更改为“NONMAL”。2. 在两个任务中建立两个存储类型为可变量的名称相同的num类型数据abb1。3. 将任务改为后台运行“SEMISTATIC”。4. 在前台程序中编写赋值语句将abb1的值进行更改。5. 执行指令,在程序数据界面观察程序数据的值。8.2.3错误处理ErrorHandle在RAPID程序执行的过程中,为了提高运行的可靠性,减少人为干预,对一些简单的错误

6、(如WAITDI)进行自我处理。除了系统的出错处理。也可以根据控制的需要,定制对应的出错处理。出错处理常用指令指令说明EXIT当出现无法处理时将程序停止执行RAISE当定制出错处理时,用于激活出错处理RETRY再次执行激活出错处理的指令TRYNEXT执行激活出错处理的下一句指令RETURN回到之前的子程序ResetRestryCount复位重试的次数*错误处理中最好不要放运动指令操作步骤:1. 进入“程序编辑器”,新建例行程序“rErrorHandle”,在“错误处理程序”上打勾。2. 添加WaitDI指令,选择MaxTime可选变量,值设置为3。3. 添加写屏指令TPWrite,写一段信息。

7、4. 编辑出错处理,在ERROR下面添加处理指令(打开电子参考手册“技术参考手册”-“RAPID手册”下的RAPID Instructions说明书,在Instruction章节找到WAITDI指令的说明,找到MaxTime找到此指令触发的错误标示符)。5. 添加IF指令,条件为“ERRNO=ERR_WAIT_MAXTIME”。6. THEN中可填写错误处理的指令,在此处我们填写一个写屏指令。7. THEN中添加TRYNEXT指令,继续执行激活出错指令的下一条指令。8.2.4TCP轨迹限制加减速度的设定我们可以对机器人运动轨迹的加减速度进行限制来满足一些特殊应用的需要。如机器人搬运高温液态金属

8、进行浇注的动作,为了防止液体的溢出,这个时候我们就需要对加减速度进行限定。示例: PathAccLim FALSE, FALSE;TCP的加减速度被设定为最大值(一般默认情况) PathAccLim TRUE AccMax:=4, TRUE DecelMax:=4;TCP的加减速度被限定在4m/s2 MoveL p1, v1000, fine, tool0; PathAccLim TRUEAccMax:=4, FALSE; 加速度被限定为4m/s2 MoveL p2, v1000, z30, tool0; MoveL p3, v1000, fine, tool0; PathAccLim FAL

9、SE,FALSE; TCP的加减速度被设定为最大值限制值最小只能设定为0.5m/s28.2.5WorldZone区域监控功能的使用WorldZone是用于控制机器人在进入一个指定区域后停止或输出一个信号。应用实例: 当两个机器人协同运动时设定保护区域。 在压铸机的开/合模区设定为WorldZone。 机器人进入了指定区域后,输出信号给外围设备。 通过定义AB两点的位置来确定进行监控的区域。 可以定义的WorldZone形状:矩形、圆柱形、关节位置型。WorldZone监控的是当前的TCP的坐标值,监控的坐标区域是基于当前使用的工件坐标WOBJ和工具坐标TOOLDATA的。一定要使用Event

10、Routine的POWER_ON在启动系统的时候运行一次,就会开始自动监控了。操作步骤:1.使用WorldZone必须添加WorldZone的选项:608-1WorldZone。在“ABB”-“系统信息”-“系统属性”-“控制模块”-“选项”中查看是否有WorldZone的选项。2.在“手动操纵”界面选定要监控的工具。3.编制Event Routine对应的程序:设置两个矩形对角点Pos1和Pos2,设定对应的坐标值;使用WZBoxDefInside,shPos,Pos1,Pos2;WZDOSetStat,wzPosInside,shPos,do1,1;指令来设定WorldZone和关联的IO

11、信号。4.设定EventRoutine,与POWER_ON关联,电机上电时自动开启WorldZone功能。8.2.6限定单轴运动范围的操作目的:因为工作环境或控制的需要,我们有时候会对单个轴进行运动范围的限定。方法:我们可以对单轴的上限和下限值进行设定。设定的数据以弧度的方式进行表达。(1弧度约等于57.3度)。注意:对单轴限定后,会使机器人的可到达范围变小。1.进入“控制面板”-“配置”画面的“Motion”主题,双击“Arm”。2.选择要限定的轴,进入。3.设定Upper Joint Bound和Lower Joint Bound的值来设定单轴的上限和下限,单位为弧度(默认为180度,即3

12、.14159),实际的值与设定值留有一定的余量。4.进入手动操纵模式,当轴运动超出设定的范围后,就会报错。8.2.7使用IO信号调用例行程序为了简化控制和对整个系统的一体化控制,我们通常会遇到以下的这种情况:操作员直接从人机界面直接调出机器人要执行的RAPID例行程序。要实现这样的操作的设定方法: 人机界面将程序编号发给PLC。 PLC将编号发到机器人的组输入端。 编写对应的RAPID程序。操作步骤:1.设定组输入gi1。2.编写几个测试程序proc1()、proc2()和rSelectProg()。rSelectProg用来判断调用那个程序。3. rSelectProg内容如图:使用Call

13、ByVar指令,“proc”为固定值,根据后面数字的不同,选择调用proc1或proc2。4.对gi1的值进行仿真,运行rSelectProc时,会调用与gi1的值对应的程序8.3知识链接-常用RAPID程序指令与功能表ABB机器人提供了丰富的RAPID程序指令,方便了大家对程序的编制,同时也为复杂应用的实现提供了可能。以下就按照RAPID程序指令、功能的用途进行了一个分类,并对每个指令的功能作一个说明,如需对指令的使用与参数进行详细的了解,可以查看ABB机器人随机光盘说明书中的详细说明。8.3.1程序执行的控制1.程序的调用指令说明ProcCall调用例行程序CallByVar通过带变量的例

14、行程序名称调用例行程序RETURN返回原例行程序2.例行程序内的逻辑控制指令说明Compact IF如果条件满足,就执行一条指令IF当满足不同的条件时,执行对应的程序FOR根据指定的次数,重复执行对应的程序WHILE如果条件满足,重复执行对应的程序TEST对一个变量进行判断,从而执行不同的程序GOTO跳转到例行程序内标签的位置Label跳转标签3.停止程序执行指令说明Stop停止程序执行EXIT停止程序执行并禁止在停止处再开始Break临时停止程序的执行,用于手动调试SystemStopAction停止程序执行与机器人运动ExitCycle中止当前程序的运行并将程序指针PP复位到主程序的第一条

15、指令。如果选择了程序连续运行模式,程序将从主程序的第一句重新执行8.3.2变量指令1.赋值指令指令说明:=对程序数据进行赋值2.等待指令指令说明WaitTime等待一个指定的时间,程序再往下执行WaitUntil等待一个条件满足后,程序继续往下执行WaitDI等待一个输入信号状态为设定值WaitDO等待一个输出信号状态为设定值3.程序注释指令说明comment对程序进行注释4.程序模块加载指令说明Load从机器人硬盘加载一个程序模块到运行内存UnLoad从运行内存中卸载一个程序模块Start Load在程序执行的过程中,加载一个程序模块到运行内存中Wait Load当Start Load使用后

16、,使用此指令将程序模块连接到任务中使用CancelLoad取消加载程序模块CheckProgRef检查程序引用Save保存程序模块EraseModule从运行内存删除程序模块5.变量功能指令说明TryInt判断数据是否是有效的整数OpMode读取当前机器人的操作模式RunMode读取当前机器人程序的运行模式NonMotionMode读取程序任务当前是否无运动的执行模式Dim获取一个数组的维数Present读取带参数例行程序的可选参数值IsPers判断一个参数是不是可变量IsVar判断一个参数是不是变量6.转换功能指令说明StrToByte将字符串转换为指定格式的字节数据ByteToStr将字节

17、数据转换成字符串8.3.3运动设定1.速度设定指令说明MaxRobSpeed获取当前型号机器人可实现的最大TCP速度VelSet设定最大的速度与倍率SpeedRefresh更新当前运动的速度倍率AccSet定义机器人的加速度WorldAccLim设定大地坐标中工具与载荷的加速度PathAccLim设定运动路径中TCP的加速度2.轴配置管理指令说明ConfJ关节运动的轴配置控制ConfL线性运动的轴配置控制3.奇异点的管理指令说明SingArea设定机器人运动时,在奇异点的插补方式4.位置偏置功能指令说明PDispOn激活位置偏置PDispSet激活指定数值的位置偏置PDispOff关闭位置偏置

18、EOffsOn激活外轴偏置EOffsSet激活指定数值的外轴偏置EOffsOff关闭外轴位置偏置DefDFrame通过三个位置数据计算出位置的偏置DefFrame通过六个位置数据计算出位置的偏置ORobT从一个位置数据删除位置偏置DefAccFrame从原始位置和替换位置定义一个框架5.软伺服功能指令说明SoftAct激活一个或多个轴的软伺服功能SoftDeact关闭软伺服功能6.机器人参数调整功能指令说明TuneServo伺服调整TuneReset伺服调整复位PathResol几何路径精度调整CirPathMode在圆弧插补运动时,工具姿态的变换方式7.空间监控管理指令说明WZBoxDef定

19、义一个方形的监控空间WZCylDef定义一个圆柱形的监控空间WZSphDef定义一个球形的监控空间WZHomeJointDef定义一个关节轴坐标的监控空间WZLimJointDef定义一个限定为不可进入的关节轴坐标监控空间WZLimSup激活一个监控空间并限定为不可进入WZDOSet激活一个监控空间并与一个输出信号关联WZEnable激活一个临时的监控空间WZFree关闭一个临时的监控空间8.3.4运动控制1.机器人运动控制指令说明MoveCTCP圆弧运动MoveJ关节运动MoveLTCP线性运动MoveAbsJ轴绝对角度位置运动MoveExtJ外部直线轴和旋转轴运动MoveCDOTCP圆弧运

20、动的同时触发一个输出信号MoveJDO关节运动的同时触发一个输出信号MoveLDOTCP线性运动的同时触发一个输出信号MoveCSyncTCP圆弧运动的同时执行一个例行程序MoveJSync关节运动的同时执行一个例行程序MoveLSyncTCP线性运动的同时执行一个例行程序2.搜索功能指令说明SearchCTCP圆弧搜索运动SearchLTCP线性搜索运动SearchExtJ外轴搜索运动3.指定位置触发信号与中断功能指令说明TriggIO定义触发条件在一个指定的位置触发输出信号TriggInt定义触发条件在一个指定的位置触发中断程序TriggCheckIO定义一个指定的位置进行I/O状态的检查

21、TriggEquip定义触发条件在一个指定的位置触发输出信号,并对信号响应的延迟进行补偿设定TriggRampAO定义触发条件在一个指定的位置触发模拟信号,并对信号响应的延迟进行补偿设定TriggC带触发事件的圆弧运动TriggJ带触发事件的关节运动TriggL带触发事件的线性运动TriggLIOs在一个指定的位置触发输出信号的线性运动StepBwdPath在RESTART的事件程序中进行路径的返回TriggStopProc在系统中创建一个监控处理,用于在STOP和QSTOP中需要信号复位和程序数据复位的操作TriggSpeed定义模拟输出信号与实机TCP速度之间的配合4.出错或中断时的运动控

22、制指令说明StopMove停止机器人运动StartMove重新启动机器人运动StarMoveRetry重新启动机器人运动及相关的参数设定StopMoveReset对停止运动状态复位,但不重新启动机器人运动StorePath储存已生成的最近路径RestoPath重新生成之前储存的路径ClearPath在当前的运动路径级别中,清空整个运动路径PathLevel获取当前路径级别SyncMoveSuspend在StorePath的路径级别中暂停同步坐标的运动SyncMoveResume在StorePath的路径级别中重返同步坐标的运动IsStopMoveAct获取当前停止运动标志符*这些功能需要选项“

23、Path recovery”配合5.外轴的控制指令说明DeactUnit关闭一个外轴单元ActUnit激活一个外轴单元MechUnitLoad定义外轴单元的有效载荷GetNextMechUnit检索外轴单元在机器人系统中的名字IsMechUnitActive检查一个外轴单元状态是关闭/激活6.独立轴控制指令说明IndAMove将一个轴设定为独立轴模式并进行绝对位置方式运动IndCMove将一个轴设定为独立轴模式并进行连续方式运动IndDMove将一个轴设定为独立轴模式并进行角度方式运动IndRMove将一个轴设定为独立轴模式并进行相对位置方式运动IndReset取消独立轴模式IndInpos检

24、查独立轴是否已到达指定位置IndSpeed检查独立轴是都已到达指定的速度注:这些功能需要选项“Independent movement”配合7.路径修正功能指令说明CorrCon连接一个路径修正生成器CorrWrite将路径坐标系统中的修正值写到修正生成器CorrDiscon断开一个已连接的路径修正生成器CorrClear取消所有已连接的路径修正生成器CorrRead读取所有已连接的路径修正生成器的总修正值注:这些功能需要选项“Path offset or RobotWare-Are sensor”配合8.路径记录功能指令说明PathRecStart开始记录机器人的路径PathRecStop停

25、止记录机器人的路径PathRecMoveBwd机器人根据记录的路径作后退运动PathRecMoveFwd机器人运动到执行PathRecMoveBwd这个指令的位置上PathRecValidBwd检查是否已激活路径记录和是否有可后退的路径PathRecValidFwd检查是否有可向前的记录路径注:这些功能需要选项“Path recovery”配合9.输送链跟踪功能指令说明WaitWObj等待输送链上的工件坐标DropWObj放弃输送链上的工件坐标注:这些功能需要选项“Conveyor tracking”配合10.传感器同步功能指令说明WaitSensor将一个在开始窗口的对象与传感器设备关联起来

26、SyncToSensor开始/停止机器人与传感器设备的运动同步DropSensor断开当前对象的连接注:这些功能需要选项“Sensor synchronization”配合11.有效载荷与碰撞检测指令说明MotionSup激活/关闭运动监控LoadId工具或有效载荷的识别ManLoadId外轴有效载荷的识别注:此功能需要选项“Collision detection”配合12.关于位置的功能指令说明Offs对机器人位置进行偏移RelTool对工具的位置和姿态进行偏移CalcRobT从jointtarget计算出robtargetCPos读取机器人当前的X、Y、ZCRobT读取机器人当前的robt

27、argetCJointT读取机器人当前的关节轴角度ReadMotor读取轴电动机当前的角度CTool读取工具坐标当前的数据CWObj读取工件坐标当前的数据MirPos镜像一个位置CalcJointT从robtarget计算出jointtargetDistance计算两个位置的距离PFRestart检查当路径因电源关闭而中断的时候CSpeedOverride读取当前使用的速度倍率8.3.5输入输出信号的处理1.对输入输出信号的值进行设定指令说明InvertDO对一个数字输出信号的值置反PulseDO数字输出信号进行脉冲输出Reset将数字输出信号置为0Set将数字输出信号置为1SetAO设定模拟

28、输出信号的值SetDO设定数字输出信号的值SetGO设定组输出信号的值2.读取输入输出信号值指令说明AOutput读取模拟输出信号的当前值DOutput读取数字输出信号的当前值GOutput读取组输出信号的当前值TestDI检查一个数字输入信号已置1ValidIO检查I/O信号是否有效WaitDI等待一个数字输入信号的指定状态WaitDO等待一个数字输出信号的指定状态WaitGI等待一个组输入信号的指定值WaitGO等待一个组输出信号的指定值WaitAI等待一个模拟输入信号的指定值WaitAO等待一个模拟输出信号的指定值3.IO模块的控制指令说明IODisable关闭一个I/O模块IOEnable开启一个I/O模块8.3.6通信功能1.示教器上人机界面的功能指令说明TPErase清屏TPWrite在示教器操作界面上写信息ErrWrite在示教器事件日志中写报警信息并储存TPReadFK互动的功能键操作TPReadNum

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1