目录
1. 操作前说明... 7
1.1. 安全注意事项... 7
1.2. 安全操作规程... 9
1.3. 图标说明... 10
2. 机器人说明... 12
2.1. 工业机器人概览... 12
2.2. 示教器... 12
2.2.1. 示教器简介... 12
2.2.2. 示教器界面... 14
2.2.3. 示教器的使用... 17
2.3. 机器人零点与坐标系... 18
2.3.1. 机器人零点... 18
2.3.2. 坐标系... 19
2.3.3. 工具坐标... 20
2.3.4. 用户坐标... 25
3. (待优化)激光功能... 31
3.1. 原理... 31
3.2. 激光端通讯及安装标定... 33
3.3. UI软件配置说明... 37
3.3.1. 对接... 42
3.3.2. 角接... 44
3.3.3. 搭接... 45
3.3.4. 边缘... 45
3.3.5. 管板... 46
3.3.6. 外角接... 48
3.4. 探头安装说明... 48
3.5. 工艺参数设置通讯... 53
3.6. 激光探头标定... 56
4. 手动操作... 66
4.1. 操作前检查... 66
4.2. 单轴运行... 66
4.3. 坐标系下运行... 68
5. (待编)焊气... 70
6. (待编)送丝... 70
7. (ing)焊机... 71
9. (待编)PLC.. 72
9.1. 简介... 72
9.1.1. 定义和概念... 72
9.2. 编程语言简介... 73
9.2.1. 梯形图... 73
9.2.2. 指令表... 74
9.2.3. 功能块图... 75
9.2.4. 结构化文本... 75
9.2.5. 顺序功能图... 76
9.2.6. 结语... 77
9.3. 西门子PLC.. 78
9.3.1. 西门子PLC编程指令... 78
9.4. 三菱PLC.. 84
10. 卡诺普机器人PLC.. 85
10.1. 概述... 85
10.2. 梯形图中的基本元件符号... 85
10.3. 指令表中的基本逻辑指令... 86
10.3.1. LD、LDI、OUT指令... 86
10.3.2. AND与ANI指令... 86
10.3.3. OR与ORI指令... 87
10.3.4. ORB与ANB指令... 87
10.3.5. MPS、MRD、MPP等指令... 87
10.3.6. SET与RST指令... 87
10.3.7. NOP与END指令... 88
10.4. 元件说明... 88
10.4.1. 元件列表... 88
10.4.2. 元件详细说明书... 88
10.4.2.1. 输入继电器(X)... 88
10.4.2.2. 输出继电器(Y)... 89
10.4.2.3. 内部继电器(M)... 90
10.4.2.4. 定时器(T)... 91
10.4.2.5. 计数器(C)... 93
10.5. 系统的PLC资源... 94
10.6. PLC程序编辑... 94
10.6.1. PC机上PLC程序编辑简介... 95
10.6.2. PLC编辑软件基本操作... 95
10.6.3. 编辑PLC梯形图... 96
10.6.3.1. 编辑常开触点... 97
10.6.3.2. 编辑常闭触点... 98
10.6.3.3. 编辑输出线圈... 98
10.6.3.4. 编辑输出置位线圈... 99
10.6.3.5. 删除元件和直线连线... 100
10.6.3.6. 删除和增加梯形图行... 100
10.6.4. 生成指令表文件... 100
10.6.5. PLC梯形图举例... 102
10.6.5.1. 读取上升沿指令举例... 102
10.6.5.2. 读取下降沿指令举例... 103
10.7. PLC程序的备份与更新... 104
10.7.1. PLC备份... 104
10.7.2. PLC更新替换... 106
11. 编程指令说明... 108
11.1. 编程方法... 108
11.2. 指令行结构及内容说明... 109
11.3. 指令结构举例说明... 110
11.4. 运动指令要素... 111
11.5. 指令中常用变量说明... 112
11.5.1. 位置变量介绍... 112
11.5.2. 状态变量说明... 115
11.5.3. 整型变量说明... 115
11.5.4. 其他变量说明... 116
11.6. 编程指令列表... 117
11.7. 指令详情... 120
11.7.1. 运动指令... 120
11.7.1.1. 关节运动(MOVJ)... 120
11.7.1.2. 直线运动(MOVL)... 121
11.7.1.3. 圆弧运动(MOVC)... 122
11.7.1.4. 整圆运动(MOVCA)... 126
11.7.1.5. 运动指令附加项说明... 127
11.7.1.5.1. UNTIL用法举例... 128
11.7.1.5.2. DOUT用法举例... 129
11.7.1.5.3. AOUT用法举例... 129
11.7.1.5.4. COORD用法举例... 131
11.7.1.5.5. OP用法举例... 132
11.7.2. 逻辑指令... 132
11.7.2.1. 数字量输出(DOUT)... 132
11.7.2.2. 模拟量输出(AOUT)... 133
11.7.2.3. 条件等待(WAIT)... 133
11.7.2.4. 延时指令(TIME)... 134
11.7.2.5. 后台延时输出(TDOUT)... 134
11.7.2.6. 暂停(PAUSE)... 134
11.7.2.7. 跳转(JUMP)... 135
11.7.2.8. 子程序调用(CALL)... 136
11.7.2.9. 注释(;)... 137
11.7.2.10. 跳转标号(*)... 138
11.7.2.11. 子程序返回(RET)... 138
11.7.3. 运算指令... 138
11.7.3.1. 加法运算(ADD)... 138
11.7.3.2. 减法运算(SUB)... 139
11.7.3.3. 乘法运算(MUL)... 140
11.7.3.4. 除法运算(DIV)... 140
11.7.3.5. 加1运算(INC)... 141
11.7.3.6. 减1运算(DEC)... 141
11.7.3.7. 赋值指令(=)... 142
11.7.4. 码垛指令... 142
11.7.5. 焊接指令... 143
11.7.5.1. 起弧(ARCSTART)、收弧指令(ARCEND)... 143
11.7.5.2. 摆弧(WEAVE)、摆弧结束(WEAVEEND)... 143
11.7.5.3. 伺服通讯点焊(SPOT)... 144
11.7.5.4. 鱼鳞焊指令... 144
11.7.5.5. 打开、关闭激光指令... 145
11.7.5.6. 激光搜寻(SEARCHLASER)... 145
11.7.5.7. 打开、关闭激光跟踪指令... 145
11.7.6. 辅助指令... 146
11.7.6.1. 速度改变(SPEED)... 146
11.7.6.2. 条件判断(IF)... 147
11.7.6.3. FOR(备用)... 150
11.7.6.4. 循环(WHILE)(ENDWHILE)... 150
11.7.6.5. 条件选择(SWITCH→SWITCH)... 152
11.7.6.6. 条件选择(SWITCH→CASE)... 154
11.7.6.7. 条件选择(SWITCH→DEFAULT)... 155
11.7.6.8. 条件选择(SWITCH→ENDSWITCH)... 156
11.7.6.9. 轴脉冲跳转(PULSETRANSFORM)... 157
11.7.6.10. 轴脉冲跳转结束(PULSETARANSFORMEND)... 157
11.7.6.11. 定位完成(MOTIONFINISH)... 158
11.7.6.12. 轴禁止、轴禁止解除... 158
11.7.6.13. 坐标计算(COUNTCOORD)... 159
11.7.6.14. 冲压开始(JUDGESTART)、冲压结束(JUDGEEND). 159
11.7.6.15. 超时报警(OTALAR)... 159
11.7.7. 视觉指令... 160
11.7.7.1. 视觉运行(RUNVISION)... 160
11.7.7.2. 获得视觉数据(GETVISIONDATA)... 160
11.7.7.3. 清除视觉数据(CLEARVISONDATA)... 161
11.7.7.4. 视觉指令触发(TRIGGERVISON)... 161
11.7.7.5. 相机程序切换(CHANGE VISON)... 161
11.7.7.6. 等待触发结果(WAITTRIGGER)... 162
11.7.8. 跟踪指令... 163
11.7.8.1. 跟踪开始(TARCK START)... 163
11.7.8.2. 跟踪结束(TARCK END)... 163
11.7.8.3. 获得跟踪数据(GETTRACKDATA)... 164
11.7.8.4. 清除跟踪数据(CLEAR STACK DATA)... 164
11.7.8.5. 后台IO检测(RUN IO CUTIN)... 164
11.7.9. 通讯指令... 166
11.7.9.1. 读取IO口BCD数据(READIOBCD)... 166
11.7.9.2. 读取数据到(READDATATO)... 166
11.7.9.3. 把10进制输出到IO (SETBCDIO)... 166
11.7.9.4. SENDDATATO.. 167
11.7.10. 特殊指令... 167
11.7.10.1. 程序复位(RESET)... 167
11.7.10.2. 程序指针跳转(CHANGEP)... 168
11.7.10.3. 寻位开始(SEARCHSTART)... 168
11.7.10.4. 偏移开始、结束指令... 168
11.7.10.5. 计算偏移量(COUNTOFFSET)... 169
11.7.10.6. 计时开始、计时结束指令... 170
11.7.10.7. 多圈轨迹开始、多圈轨迹结束指令... 170
11.7.10.8. 计算负载率指令(COUNTLOADFAC)... 171
11.7.10.9. 计算静态转矩百分比指令(COUNTSTORQUE)... 171
11.7.10.10. 计算动态数据指令(COUNTDYNASTH)... 171
11.7.10.11. 缩放开始、缩放结束指令... 172
11.7.10.12. 焊枪角度显示开始、焊枪角度显示结束... 172
11.7.10.13. 开始塔角计算、结束塔角计算... 172
11.7.10.14. 塔角焊缝计算(TOWERCHANGEWELD)... 173
11.7.10.15. 塔角姿态计算开始、塔角姿态计算结束... 173
11.7.10.16. 角钢轨迹计算(COUNTSTEELANGLE)... 173
11.7.11. 压弯指令... 174
11.7.11.1. 折弯跟随(BENDTRACK)... 174
11.7.11.2. 折弯同步(BENDSYS)... 174
11.7.11.3. 折弯回平(BENDFLATBACK)... 174
11.7.12. 其他... 175
11.7.12.1. 碰撞等级设置(SHCKSET)... 175
11.7.12.2. 碰撞等级解除 (SHCKRET)... 175
11.7.12.3. 碰撞检测激活(SHCKACT)... 176
11.7.12.4. 碰撞检测禁用指令(SHCKDEACT)... 176
12. 程序的编辑与运行... 178
12.1. 编辑... 178
12.1.1. 编程方法... 178
12.1.2. 编辑程序... 179
12.1.3. 修改程序... 184
12.2. 实例... 186
12.2.1. 编程示例... 186
12.2.2. 流程图(保留)... 188
12.3. 程序运行... 189
12.3.1. 程序试运行... 189
12.3.2. 自动运行... 191
12.3.2.1. 单行运行... 192
12.3.2.2. 单次循环运行... 195
12.3.2.3. 无限循环运行... 198
12.3.3. 紧急停止... 201
13. (暂留)其他... 202
参考文献... 204
附:文档发布信息... 205
警告:
1、操作机器人前,请按下示教编程器上的急停按钮,并确认伺服主电源被切断,电机处于失电并抱闸状态。伺服电源切断后,示教编程器上的伺服电源指示按钮为红色。
在紧急情况下,若不能及时制动机器人,则可能引发人身伤害或设备损坏事故。
图-
2、解除急停后再接通伺服电源时,要解除造成急停的事故后再接通伺服电源。
由于误操作造成的机器人动作,可能引发人身伤害事故。
图-
3、在机器人动作范围内示教时,请遵守以下原则:
Ø 保证机器人在视野范围内。
Ø 严格遵守操作步骤。
Ø 考虑机器人突然向自己所处方位运动时的应变方案。
Ø 确保设置躲避场所,以防万一。
Ø 由于误操作造成的机器人动作,可能引发人身伤害事故。
4、进行以下作业时,请确认机器人的动作范围内操作人员和障碍物:
Ø 机器人控制电柜接通电源时。
Ø 用示教编程器操作机器人时。
Ø 试运行时。
Ø 自动再现时。
不慎进入机器人动作范围内或与机器人发生接触,都有可能引发人身伤害事故。发生异常时,请立即按下急停按钮。
5、操作机器人必须确认:
Ø 操作人员是否接受过机器人操作的相关培训。
Ø 对机器人的运动特性有足够的认识。
Ø 对机器人的危险性有足够的了解。
Ø 未酒后上岗。
Ø 未服用影响神经系统、反应迟钝的药物。
6、进行机器人示教作业前要检查以下事项,有异常则应及时修理或采取其他:
Ø 必要措施。
Ø 机器人动作有无异常。
Ø 原点是否校准正确。
Ø 与机器人相关联的外部辅助设备是否正常。
7、示教器用完后须放回原处,并确保放置牢固。
如不慎将示教编程器放在机器人、夹具或地上,当机器人运动时,示教编程器可能与机器人或夹具发生碰撞,从而引发人身伤害或设备损坏事故。
防止示教器意外跌落造成机器人误动作,从而引发人身伤害或设备损坏事故。
示教器IP防护等级较低。
安全操作规程:
1、所有工业机器人操作者,都必须参加机器人相关培训,学习安全防护措施和使用机器人的功能。
2、在开始运行机器人的之前,确认机器人和外围设备周围没有异常或者危险情况。
3、在进入操作区域内工作前,即便机器人没有运行,也要关掉电源,或者按下急停按钮。
4、当在机器人工作区内编程时,设置相应看守,保证机器人能在紧急情况,迅速停止。示教和点动机器人时不要带手套操作,点动机器人时要尽量采用低速操作,遇异常情况时可有效控制机器人停止。
5、必须知道机器人控制器和外围控制设备上的紧急停止按钮的位置,以便在紧急情况下能准确的按下这些按钮。
6、永远不要认为机器人处于静止状态时其程序就已经完成。此时机器人很有可能是在等待让它继续运动的输入信号。
图标说明:
对于文中将会使用的按键/图标将会以下表中的代号表示。其中物理按键用“< >”表示,屏幕按键用“【 】”表示。
代号
|
图标
|
说明
|
<◎>
|
|
运行按键
|
<II>
|
|
暂停按键
|
<■>
|
|
界面切换按键
|
【R】
|
|
复位键
|
【◥】\【◤】
|
|
点击可打开隐藏项
|
【伺服下电】
|
|
伺服下电状态,点击切换为伺服上电
|
【伺服上电】
|
|
伺服上电状态,点击切换为伺服下电
|
【轴禁止】
|
|
禁止轴运动
|
【按键移动】
|
|
通过按键运动各轴
|
【扩展轴】
|
|
控制扩展轴动作
|
【关节坐标】
|
|
点击使用关节坐标
|
【工具坐标】
|
|
点击使用工具坐标系
|
【用户坐标】
|
|
点击使用用户坐标系
|
【直角坐标系】
|
|
点击使用直接坐标系
|
【单行运行】
|
|
单行运行模式
|
【单次运行】
|
|
单次循环运行模式
|
【无限循环】
|
|
无限循环运行模式
|
【自动速度10%】
|
|
机器人自动速度为10%
|
“浅黄色”
|
|
|
“青色”
|
|
|
工业机器人组成部分(图1.1):
机械手
机器人控制柜
示教器
连接电缆
软件
其他附属设备
图-机器人组成部分
示教器正面如下:
图-示教器正面
图中说明:
1-报警指示 :机器人报警红灯亮
2-通电状态:示教器电源接通绿灯亮
3-显示/触摸屏:显示机器人状态
4-模式开关:TEACH(手动模式),PLAY(再现模式),REMOTE(远程模式)
5-急停按钮:紧急停止机器人
6-手轮:控制光标,在菜单列表、参数界面、变量表等
7-示教电缆:连接示教器与机器人控制柜
图-示教器背面
图中说明:
1-触摸笔
:操作示教器触摸屏
2-安全开关(握持开关):移动时控制电机抱闸
3-USB接口
示教器显示部分为8英寸的彩色显示屏加触摸屏。用于显示机器人操作界面及进行相应操作。
显示界面主要有三大显示区(通用显示区、监视区、信息提示区)为主,另外四周分布主菜单、坐标区、状态显示和子菜单,如下图所示。
图-
1-伺服开启/关闭
2-M快捷键窗口开启/关闭
3-机器人坐标系选择
4-机器人移动方式选择
5-主菜单区(图中蓝色虚线区域)
6-机器人速度调节
7-通用显示窗
8-监视窗口
9-信息提示窗口
10-状态窗口(图中红色虚线区域)
11-子菜单栏(图中绿色虚线区域)
具体而言:(要细化说明)
1、三大显示区可通过按<■>键切换或直接点击屏幕切换并激活显示区。
2、当某一显示区被切换选中时,该区域背景会改变或者出现光标条。当显示区切换时,状态控制、坐标区和子菜单将发生变化。
3、通用显示区激活状态:程序列表时,显示蓝色光标条;程序处于打开时,背景为“青色”。
4、监视区激活状态:背景为“青色”。
5、信息提示区激活状态:显示蓝色光标条。
6、三大显示区中监视区可以关闭,当监视区显示时,通用显示区将自动缩为半幅显示;监视区关闭后,通用显示区自动放大为整幅显示。
7、主菜单只能通过屏幕点击才能操作。
8、状态控制区,坐标区,子菜单区可以通过屏幕外侧对应按键进行切换操作,或直接屏幕点击操作;点击时,带角标按钮会弹出窗口,没有角标按钮切换状态。
9、图标或者区域,带三角型角标【◥】\【◤】的位置均可点击,并弹出对话框。
10、
安全开关按下时,坐标区、子菜单区“浅黄色”按钮(机器人移动键)可以移动机器人。
说明:
1、示教器可使用键盘加触摸操作。状态显示区、坐标区、子菜单区均可通过物理按键操作。同时所有按钮、输入框、选项等都可点击操作。
2、状态显示区、坐标区、子菜单区物理按键操作和点击操作有所不同;点击可以切换状态、弹出对话框等;物理键不会弹出对话框,只变化状态。
3、输入框点击后,系统自动识别数字或字符,并弹出对应虚拟全键盘或数字键盘。
4、所有可以动作机器人的按键旁状态显示区域为浅黄色,同时只有通过物理按键才能动作,点击无效。
步骤如下:
1、左手手臂放在示教盒线缆和扶手中间位置,手掌握住示教盒安全开关侧扶手,食指、中指放在安全开关上。(如图4.4)。
图-4.4(这里是示教器的背面和左手)
2、左手提起示教盒,翻转,显示界面向上,将示教盒托于腹部合适位置。右手操作示教盒触摸屏、按键、开关等。(如图-4.5)
图-4.5
3、站立位置。操作人员应站立在机器人工作区域外,机器人本体应在操作人员视野范围内。如遇紧急情况,需要立刻按紧急按钮停止机器人动作。
警告:工业机器人运行前请详细阅读《卡诺普机器人操作说明书》和《CRP使用手册》等相关文献。否则可能造成严重事故。
工业机器人只有在正确标定零点后,机器人在运行时才能达到最好的点位精度和轨迹精度,且完全适应编程运行。
卡诺普工业机器人出厂前经过严格的零位检查,使用前请认真核对。零位姿态如图5.1所示,零点标签样式如图5.2所示。
图-5.1
图-5.2
关节坐标:机器人基于每个轴单独运动。
直节坐标:机器人基于默认的直角坐标X、Y、Z、A、B、C轴运动。
工具坐标:机器人基于标定好的工具坐标X、Y、Z、A、B、C轴运动。
用户坐标:机器人基于自定义的用户坐标X、Y、Z、A、B、C轴运动。
根据工业机器人的使用情况建立工具坐标系,工具坐标系可建立多个。
六点校验:机器人通过6种不同姿态靠近目标点分别记录数据,机器人就可以自动算出工具控制点的位置,保存到相应的工具文件里。
用工具校验输入的是法兰盘坐标中工具控制点的坐标值。(如图5.3)
图-5.3工具尺寸是基于控制点坐标
图-5.4工具坐标与法兰坐标系
图-5.5六点校验取点
工具坐标系设置步骤如下:
1、点击【运行准备】-【工具坐标设置】(如下图)。
图-
2、进入界面设置工具坐标系,工具坐标系统设置界面如下图所示。
图-
3、如上图,选择“工具坐标系号”然后点击【六点校验】,进入工具坐系校验界面,如下图所示。
图-
4、在上图界面,依次选择记录点号并将TCP尖点、移动到相应的位置,点击【记录当前点】 ,此时相应点号指示灯变绿。P1-P6点记录完成后,如下图所示,所有指示灯都变绿。
说明:如图5.7所示P1-P4点以不同姿态靠近TCP尖点,姿态变化越大,越有利于TCP计算。校验P5点时TCP尖点必须与校枪器保持垂直。P6点用来确定工具坐标的X方向,即P5点与P6的连线方为工具坐标的X方向。
图-5.7
在图5.7界面点击【计算】,系统自动完成当前工具坐标的计算并确定工具坐标系及方向。在图5.7界面按【取消】,可得到工具尖点相对于机器人末端法兰坐标的尺寸。
图-5.8
说明:工具尺寸是根据上图(图5.8)所示的坐标系来确定的。
图-5.9
工具坐标系如图5.9示,是根据工具尖点的笛卡尔坐标。工具坐标系统计算完成后,可切换到工具坐标系下【工具坐标】验证工具坐标系及方向。验证完成后,点击【关闭】键退出。
如图5.10所示,根据工业机器人的使用情况建立用户(工件)坐标系,用户(工件)坐标系可建立多个。
图-5.10
步骤如下:
1、点击【运行准备】-【用户坐标设置】,如下图所示。
图-
2、进入用户坐标系统设置界面设置相关参数,如下图所示。
图-
3、选择好用户坐标系号后点【校验】进入用户坐标校验界面,如图5.13所示。
图-
4、首先设置用户(工件)坐标系的原点“ORG”,将机器人未端尖点(如:焊枪上的焊丝,夹具上的定位销等)走到工件原点。然后点击【记录当前点】记录用户(工件)坐标的原点。
5、选择“XX方向”确定X边,如图5.14所示。
图-
6、如图5.14界面,设置用户(工件)坐标系的X方向,将机器人未端尖点沿工件一侧X方向移动一段距离。之后点击【记录当前点】按键,记录用户(工件)坐标的XX方向。
7、选择“YY方向”确定Y边,如图5.15。
图-
8、如图5.15界面,设置用户(工件)坐标系的Y方向,将机器人未端尖点走到工件另一侧Y方向移动一段距离 。之后点击【记录当前点】键,记录用户(工件)坐标的Y方向。
图-
9、在确定好原点、XX方向、YY方向后,在图5.16界面点击【计算】键,系统自动完成当前用户(工件)坐标的计算,确定在工件上的坐标系及方向。
说明:用户坐标系的建立是参照右手法则(如图5.17所示),Z的正方向在X向Y旋转的大拇指方向。在建立工件坐标时,Z的正方向通常是远离工件,为此需要在建立工件坐标时考虑X、Y方向的边分别是哪一条。
图-5.17
用户坐标系计算完成后,可点击【用户坐标】键切换到用户坐标系下验证是否为想要的用户坐标方向。验证完成后,点击【取消】键退出。
卡诺普激光焊缝跟踪系统具有高精度(0.1mm)、抗干扰性强(抗弧光)、识别率高、自适应性强等特点;能够自动识别焊缝类型及焊缝特征,本身是一个非接触式的实时焊缝跟踪系统,能实现焊缝曲线的实时跟踪并纠正工件在焊接过程中由于热变形造成的焊缝偏移。克服了机械控针式系统不能处理薄工件或小间隙焊缝的缺陷。
激光发射器将激光发射向工件,摄像头成一定角度拍摄激光在工件形成的反射条纹(三角测量),根据反射条纹的图像特征,可以得到焊缝的高低、左右的偏差。
图-
图-
概述:激光发射器发射一道线激光,激光线打在不同的焊缝上,会形成各种各样的反射条纹,通过相机拍照采集,然后系统算法对反射条纹进行计算,得到视野范围内的焊缝特征点的位置信息。
图-
图-
图-
图-
图-
说明:
1-探头通讯接口(Detector)
2-机器人通讯接口(Robot)
机器人通讯接口套字信息:
IP地址:192.168.10.20
端口号:23463
3-用户操作界面通讯接口(UI)
用户操作界面通讯接口套字信息:
IP地址:192.168.10.20
端口号:42376
4-探头控制串接口(Control)
5-探头电源接口(12V)
此外,主机盒需要外部AC220V供电。
图-
①探头通讯接口。
②探头控制及电源接口。
B探头接口相反,安装方式相反
安装建议:
1.探头垂直焊枪安装(实时跟踪)。
2.探头与焊枪基本平行(无夹角)。
3.探头激光发射器末端至焊枪气嘴末端,垂直距离为约为160mm左右(通用激光探头A)。
传感器探头上有3个指示灯,从左至右依次为LED1、LED2、LED3,可能出现的灯的状态如下表所示。
表-
图-
操作步骤如下:
1、使用电脑双击打开“Common_ui.exe”,进行上位机软件的操作;
2、软件打开后,点击“传感器”,设置好对应的“网络地址”和“端口”号;
3、设置完成后,切换到“视觉控制”界面,点击“连接”;
4、连接成功后,如图所示,若连接失败,请检查网线和IP地址设置。
图-
图-
焊缝类型
|
焊缝ID
|
对接
|
0
|
角接
|
1
|
左边缘
|
2
|
右边缘
|
3
|
左搭接
|
4
|
右搭接
|
5
|
外角接
|
6
|
V型坡口
|
7
|
高度跟踪
|
8
|
环角接
|
19
|
管板左侧
|
23
|
管板右侧
|
24
|
表-
焊缝参数:设置多种不同的焊缝参数;使用该功能,可以对同一焊缝类型,设置不同的焊缝参数,如曝光时间,激光强度,识别范围等。
*焊缝参数号:选择焊缝参数号(0-10)
*参数编辑:对焊缝进行参数设置
曝光时间:相机对激光的采集能力,越大越强
激光强度:发射的激光强度,越大越强
开启:打开激光器,发射激光条纹
跟踪:开启算法对激光条纹处理
重启:重启激光跟踪器
图-
说明:
Ø 灰色十字:图像中心点,仅做参考用,无其它含义。
Ø 绿色十字:当打开跟踪后,如果识别到焊缝,会显示一个绿色十字,表示焊缝识别点。
Ø 红色线条:为激光线。
Ø 在图像界面,使用鼠标右键按住不放,移动鼠标可选择识别范围,效果为紫色矩形框。紫色矩形框图像处理区域,此区域外的图像不做处理。系统默认为图像全部处理,可以通过参数编辑,修改此区域的大小。
软件配置通用参数:
图-
1-焊缝检测有效区域设置,当焊缝点在该区域外时,检测会失败,左上角坐标原点(0,0)。
区域坐标X:焊缝有效区域的X;
区域坐标Y:焊缝有效区域的Y;
区域高度:焊缝有效区域的高度;
区域宽度:焊缝有效区域的高度;
2-是否图像模糊:通常需要图像模糊提高图像质量。
3-图像反射处理方法,取1或2:1表示全局图像处理,比较适合用在先扫后焊,存点等场景,2采用局部图像处理,适合实时跟踪。
4-激光线宽阈值:可调节激光条纹线宽:根据现场情况设置为6-10。
5-最小亮度值:5-255:工件反光较强时,可调整大最小亮度值,相反调小最小亮度值。
6-最小噪点阈值,通常取5;
7-平滑模式:取值1-11,数字越大,细节越丰富,冗错越差。高精度的细焊缝通常需要取较大的数值。。
8-不连续激光条阈值,通常取20。。
9-是否组件检测:仅部分激光焊缝跟踪产品具有该参数,如管板,工程围栏等。
10-组件间距(mm):仅部分激光焊缝跟踪产品具有该参数,如管板,工程围栏,设置管板间距各工程围栏栏杆间隔。。
11-样本图像检测精度,数值越大,精度越低,越容易丢弃一些细节取值范围4-20。
12-是否自动调节图像阈值,传感器将根据采集到的图像数据,自动分析调整曝光部份传感器参数(测试中)。
对接:
图-
1、是否检查焊缝连续性:如果该值设为true,当激光条纹有多个断续点时,检测结果将返回失败,如下图所示:
2、是否检查焊缝间隙:如果该值设为true,将检查焊缝间隙,只有符合条件的焊缝间隙才会检测正确,可以有效避免点焊点等造成的误识别。
3、中间下沉率:如下图所示,部份对接焊缝类型中间线条下沉,如果小于一定的下沉率,则不会被识别。
4、焊缝间隙与间隙变化范围:如果选择检查焊缝间隙,则需要设置焊缝间隙及间隙变化范围,如焊缝间隙是设为2.0mm,间隙变化范围设为0.5mm,那么只有间隙在1.5-2.5mm之间的间隙才能被有效识别。
5、线条最大度数:相对于水平方向的最大夹角,如下图所示,如夹角设为10度,大于该角度的对接焊缝不会被识别。
6、中间下沉距离:保留
角接:
图-
说明:
1、是否基于两边线条:如果选择该选项,焊缝点的计算以角接两条边的直线的交点来计算而忽略中间的点焊点干扰等。
2、左边偏移量:焊点与左边直线的相对偏移量
3、右边偏移量:焊点与右边直线的相对偏移量
4、搭接间隙与间隙范围:如果设置了检查间隙,将检查gap的范围,如gap设为5,gap范围设为0.5,只有范围在4.5—5.5mm间的搭接焊缝才能被识别。
搭接:
图-
1、是否检查间隙: 选中该选项则会检查搭接上下边的间隙,超出范围则焊缝识别失败;
2、前进方向级件长度:保留
3、相对水平面最大角度:搭接相对水平面的最大角度,大于该角度的焊缝则识别失败;
4、两条线的系数:如下图所示,A、B两条线的弯区系数
边缘:
1、边缘下沉距离:如下图所示,部份边缘的焊缝跟踪点位于左侧直线偏下一些,需要下沉点的与左侧直线在高度方向上的1偏差。
2、水平与垂直偏移:实际的焊缝点离边缘的偏移量;
3、线条角度与角度范围:激光条纹相对于水平方向的夹角及变化范围
4、跳变检查次数:部份边缘会存在突然跳变的情况,如果连续跳变达到该次数,则认为是新的焊缝点,否则忽略这些跳变;
5、最长线条长度及最短线条长度:在该范围内的线条才会加入边缘计算
6、X及Z轴跳动范围:适用于边缘不稳定的情况,边缘跳动在这个范围内的线条才会加入边缘计算
管板:
1、管扫描完时检测无管时的次数:当扫描完一个管,如果连续设定的次数没有检测到管,则认为该次扫描结束
2、管半壁厚:管子壁厚的半值
3、板最小下沉距离:适于用板子边缘下沉的板子,如下图所示板边缘下沉
4、管进入点相对管直径的比率:设定管子进入激光扫描范围时的比率
5、管直径:设定管子直径
6、管板高度及变化冗余量:设定管板高定,针对无凸起的管板,该值应小于0.1mm,针对管高度变化的管板,如设置管高度为10mm,高度变化冗余量为3mm,只有管高度在7-13mm的管才会被正确识别。
外角接:
焊缝点位置:如下图所示,设置实际焊缝跟踪点位置,1—内角, 0—外角
图-
确认好配件后,可以进行激光传感器探头的组装(文中介绍一种最常用的方式)
1、将摩擦垫用手按入两块夹块内,如图。
图-
2、将夹块夹在焊枪的枪杆上,并对称预拧紧夹块。注意夹块在焊枪弯头以下。夹块位置应如装配图。
图-
3、将安装板和探头用6颗M4*6的螺钉连接好,并紧固牢靠。再将其安装在上夹套上,并用支架连接好上夹套和安装板。调整位置,大概使探头激光出口处面到焊丝的端面距离为160mm,可正负偏差10mm。同时调整将探头和焊枪大概平行。如图所示。用工具复紧各螺栓,不得有一点松动。
图-
4、给激光仪连上控制线和通讯线,注意插入时必须要红点和红点对应插入。
图-
如下图,激光探头与主机盒接线,激光探头控制线与Control相连,激光探头通讯线与Detector相连。
图-
电脑通过网线与主机UI口相连。
机器人系统控制器通过与Robot口相连。
图-
可以通过以下几点确认安装正确:
1. 可以通过机器人正常打开/关闭激光
2. 可以通过上位机软件正常打开/关闭激光
3. 焊枪垂直标定板时,上位机监视激光显示界面,反射条纹应该水平,且大概位于界面中间位置
最后调整转接件的固定位置让激光线的出射方向和焊枪的前段保持平行。
图-
激光跟踪工艺参数设置通讯步骤如下:(需要修改)
①硬件接线完成后,在CRP示教器上依次操作:监视--总线--以太网
②检查机器人IP地址是否设置位为192.168.10.XX(XX≠20),如果为127.0.0.1,检查网线和以太网接口是否正常。
③如果为192.168.0.100,需要退后台设置IP值为192.168.10.XX(XX≠20)
IP设置方式见文档“CRP主机IP地址修改方法”。
图-
依次点击:用户工艺--弧焊工艺--激光跟踪,进入激光跟踪设置界面。
图-
在激光跟踪主界面设置激光跟踪工艺号:范围0~15,点击通讯设置进入激光跟踪通讯界面。
图-
①设置对应的参数:
激光跟踪厂家:均宏科技
IP地址:192.168.10.20
端口号:23463
连接超时:1000ms
读写超时时间:2000ms
②参数设置完成后,点击连接按钮,信息提示栏提示,连接成功,“连接”按钮变为“断开”,同时激光通讯状态灯变为绿色;
③如果连接失败,检查参数与机器人IP地址是否正确。
④点击“打开激光”按钮,激光探头发射出激光束,同时“打开激光”按钮变为“断开激光”;点击“断开激光”按钮,激光探头停止发射激光;
图-
图-
在主界面点击“标定界面”,进入标定界面1
图-
*标定前,请先进行进行20点检验,TCP精度应≤1.5mm。
标定物品:一台电脑(带激光跟踪上位机软件)、标定板
①在标定界面1填写如下参数:
标定模式:绝对
前置距离:根据标定结果填写,标定是之前清空
*绝对模式的激光,只需要填写上述两个参数*
②参数填写完成后,点击“标定界面”,进入标定界面2
图-
①焊缝类型选择为0号:对接;
②工具坐标选择标定好的工具坐标,示例图中使用的工具1(建议单独拷贝到工具2或者3)
详细的标定过程准备工作如下:
①将标定板放置在一个水平的工作台
②准备一台电脑,在电脑上安装均诺威视激光跟踪器调试软件,设置好参数连接到激光跟踪器
图-
*操作机器人末端接近标定板,调整A,B姿态,使焊枪与标定板垂直
*使用上位机打开激光,操作机器人,使激光线与标定板的参考线重合。过程中不能操作A,B姿态,只能操作X,Y,Z,C。
*此过程为姿态调节,目的是调整标定时激光传感器的姿态。
*上述操作完成后,机器人标定姿态确定,此后的标定过程只能操作X,Y,Z轴
*准备工作结束后,开始正式标定:
图-
P1点标定
①在示教器上,选择标定点为:P1
②操作机器人,将机器人焊丝末端对准标定板的参考点
③点击“记录”按钮,信息栏提示“记录成功”,P1点变为绿色
图-
图-
P2点标定
①在示教器上,选择标定点为:P2
②操作机器人,将激光线对准参考线,且左边的激光线远大于右边,调试软件上显示有绿色跟踪点
③点击“记录”按钮,信息栏提示“记录成功”,P2点变为绿色
B/HB激光探头,绿色跟踪点在UI图像右边
图-
图-
P3点标定
①在示教器上,选择标定点为:P3
②操作机器人,将激光线对准参考线,且右边的激光线远大于左边,调试软件上显示有绿色跟踪点
③点击“记录”按钮,信息栏提示“记录成功”,P3点变为绿色
B/HB激光探头,绿色跟踪点在UI图像左边
图-
图-
P4点标定
①在示教器上,选择标定点为:P4
②操作机器人,将机器人向Z方向提高大约20mm;
使激光线对准参考线且右边的激光线等于左边。
③点击“记录”按钮,信息栏提示“记录成功”,P4点变为绿色
图-
图-
P1~P4点记录完成后,点击“计算”,生成标定结果
计算结果与左图中标准标定相比较,偏差范围应该小于±0.1,如果超出偏差范围,请重新标定。(A款标定结果1、1,B款标定结果-1、1)
计算完成后,选择对应的工具坐标系号,点击“修改工具坐标值”,确认。
选择正确的工具坐标,点击“修改工具坐标值”,然后确定。
返回标定界面1,根据标定结果中的X填写前置距离
点击记录后,请确认激光参数值已被正确记录
图-
回到主界面点击“搜索参数”,进入搜索参数页面,如图,如果参数未设置,运行激光搜寻指令将报错搜寻失败。
图-
此时,标定准备工作完成。
使用设备前检查设备有无其他人员使用信息,机器人有无报警,确认设备工作区域无其他无关人员,急停按钮、安全开关、安全锁、安全光栅、传感器等均有效。
步骤如下:
1、将主机接通电源。
此时机器人控制系统开启。(如图6.1):
图-
等待系统开机完成如图6.2所示。如有报警,请点击【R】复位键,复位报警。如果报警不能复位,请按照信息提示检查对应线路或其他设置。
图-
2、将模式开关拨到示教模式,如下图6.3中标注3所示。
3、点击对应图标或图标对应按钮。
点击【伺服下电】将其更改为【伺服上电】;点击【轴禁止】将其更改为【按键移动】;点击【直角坐标】/【用户坐标】/【工具坐标】将其更改为【关节坐标】。
4、上述操作完成后,按下示教器安全开关并保持第二档闭合状态,示教器将显示如下图所示。
图-
1-机器人轴坐标显示(蓝色虚线区域)
2-机器人轴运动按键(红色虚线区域)
按下对应轴左侧物理按键(轴键),机器人对应单轴就会做出相应动作,此时,应仔细观察机器人运动,防止安全事故发生。
步骤如下:
1、坐标系下运动机器人操作步骤前4步与单轴运动一致见【单轴运行1-4步骤】(上述)
2、点击对应图标或图标对应按钮
点击【伺服下电】将其更改为【伺服上电】; 点击【轴禁止】将其更改为【按键移动】; 点击【直角坐标】/【用户坐标】/【工具坐标】将其更改为【关节坐标】。
3、上述操作完成后,按下示教器安全开关并保持第二档闭合状态,示教器将(如图6.4)显示:
图-
1-机器人轴坐标显示
2-机器人轴运动按键
按下对应运动坐标左侧物理按键(轴键),机器人就会沿着坐标系做出相应动作,仔细观察机器人运动方向,防止安全事故发生。
8.
可编程逻辑控制器(Programmable Logic Controller,PLC),是一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。可编程控制器由CPU、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。早期的可编程逻辑控制器只有逻辑控制的功能,所以被命名为可编程逻辑控制器,后来随着不断地发展,这些当初功能简单的计算机模块已经有了包括逻辑控制、时序控制、模拟控制、多机通信等各类功能,名称也改为可编程控制器(Programmable Controller),但是由于它的简写PC与个人电脑(Personal Computer)的简写相冲突,加上习惯的原因,人们还是经常使用可编程逻辑控制器这一称呼,并仍使用PLC这一缩写。
图-西门子PLC
目前而言,工业上使用的可编程逻辑控制器已经相当或接近于一台紧凑型电脑的主机,其在扩展性和可靠性方面的优势使其被广泛应用于各类工业控制领域。不管是在计算机直接控制系统还是集中分散式控制系统DCS,或者现场总线控制系统FCS中,总是有各类PLC控制器的大量使用。PLC的生产厂商很多,如西门子、施耐德、三菱、台达等,几乎涉及工业自动化领域的厂商都会有其PLC产品提供。
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。其中:
图形化编程语言包括:
1)梯形图(LD-Ladder Diagram)
2)功能块图(FBD - Function Block Diagram)
3)顺序功能图(SFC - Sequential Function Chart)
文本化编程语言包括:
1)指令表(IL-Instruction List)
2)结构化文本(ST-Strutured Text)
梯形图 (Ladder Diagram, LD)
图-梯形图
简单直观,入门首选。梯形图可以说是PLC编程界的“入门秘籍”。
其图形化的编程方式,让你只需要像画电路图一样连接各个“线圈”和“触点”,便能完成一段逻辑控制。对电气工程师来说,梯形图绝对是上手最快的选择。
优点:图形化界面,直观易懂。类似电气图纸,电气工程师上手快。
缺点:复杂逻辑实现较为困难。随着程序规模增大,维护变得困难。
指令表 (Instruction List, IL)
低层次的掌控,精准到位。指令表是PLC编程中的“硬核玩家”。其类似汇编语言的编程方式,让你能对每个指令进行精细的控制。如果你是喜欢钻研底层逻辑的技术控,指令表绝对能满足你的需求。
优点:适合实现复杂逻辑和算法。对硬件资源控制更精细。
缺点:学习曲线陡峭,不易掌握。不直观,调试困难。
功能块图 (Function Block Diagram, FBD)
图-功能块图
模块化编程,逻辑清晰。功能块图是一种模块化的编程方式,通过将逻辑分解成一个个功能块来实现复杂的控制系统。它让你像搭积木一样拼接出一个个功能模块,非常适合大型项目。
优点:模块化编程,逻辑清晰。便于复用,提高开发效率。
缺点:初学者需要时间适应。功能块间的关系可能会变得复杂。
结构化文本 (Structured Text, ST)
图-结构化文本
高级语言,逻辑严谨
结构化文本可以说是PLC编程界的“编程语言大师”。
其类似Pascal的编程方式,使其具备其他高级编程语言的灵活性和强大功能,非常适合需要编写复杂算法的应用场景。
优点:适合实现复杂的逻辑和算法。语法严谨,易于维护和调试。
缺点:入门难度较高。对非编程背景的工程师不友好。
顺序功能图 (Sequential Function Chart, SFC)
图-顺序功能图
流程控制,步骤明确。顺序功能图是一种流程图式的编程语言,非常适合用于描述复杂的过程控制。它让你能清晰地看到每一步的执行顺序和条件,非常适合连续生产过程的控制。
优点:流程控制清晰,步骤明确。适合复杂过程控制,直观易懂。
缺点:逻辑复杂时图形变得庞大。初学者需要时间适应。
选择最适合你的PLC编程语言,不仅仅是看哪种语言功能最强大,还要看你的背景和项目需求。无论你是追求直观的梯形图,还是钟情于逻辑严谨的结构化文本,每种语言都有其独特的魅力。如果你能在五种语言中游刃有余,那恭喜你,你已经是自动化界的“大神”了!
1、位逻辑指令
1.1 -||- 常开接点(地址)
1.2 -|/|- 常闭接点(地址)
1.3 XOR 位异或
1.4 -|NOT|- 信号流反向
1.5 -( ) 输出线圈
1.6 -(#)- 中间输出
1.7 -(R) 线圈复位
1.8 -(S) 线圈置位
1.9 RS 复位置位触发器
1.10 RS 置位复位触发器
1.11 -(N)- RLO下降沿检测
1.12 -(P)- PLO上升沿检测
1.13 -(SAVE) 将RLO存入BR存储器
1.14 MEG 地址下降沿检测
1.15 POS 地址上升沿检测
2、比较指令
2.1 CMP?I 整数比较
2.2 CMP?D 双整数比较
2.3 CMP?R 实数比较
3、转换指令
3.1 BCD_IBCD码转换为整数
3.2 I_BCD 整数转换为BCD码
3.3 I_DINT 整数转换为双整数
3.4 BCD_DIBCD码转换为双整数
3.5 DI_BCD 双整数转换为BCD码
3.6 DI_REAL 双整数转换为浮点数
3.7 INV_I 整数的二进制反码
3.8 INV_DI 双整数的二进制反码
3.9 NEG_I 整数的二进制补码
3.10 NEG_DI 双整数的二进制补码
3.11 NEG_R 浮点数求反
3.12 ROUND 舍入为双整数
3.13 TRUNC 舍去小数取整为双整数
3.14 CEIL 上取整
3.15 FLOOR 下取整
4、计数器指令
4.1 S_CUD 加减计数
4.2 S_CU 加计数器
4.3 S_CD 减计数器
4.4 -(SC) 计数器置初值
4.5 -(CU) 加计数器线圈
4.6 -(CD) 减计数器线圈
5、数据块指令
5.1 -(OPN) 打开数据块:DB或DI
6、逻辑控制指令
6.1 -(JMP) 无条件跳转
6.2 -(JMP) 条件跳转
6.3 -(JMPN) 若非则跳转
6.4 LABEL 标号
7、整数算术运算指令
7.1 ADD_I 整数加法
7.2 SUB_I 整数减法
7.3 MUL_I 整数乘法
7.4 DIV_I 整数除法
7.5 ADD_DI 双整数加法
7.6 SUB_DI 双整数减法
7.7 MUL_DI 双整数乘法
7.8 DIV_DI 双整数除法
7.9 MOD_DI 回送余数的双整数
8、浮点算术运算指令
8.1 基础指令
8.1.1 ADD_R 实数加法
8.1.2 SUB_R 实数减法
8.1.3 MUL_R 实数乘法
8.1.4 DIV_R 实数除法
8.1.5 ABS 浮点数绝对值运算
8.2 扩展指令
8.2.1 SQR 浮点数平方
8.2.2 SQRT 浮点数平方根
8.2.3 EXP 浮点数指数运算
8.2.4 LN 浮点数自然对数运算
8.2.5 SIN 浮点数正弦运算
8.4.6 COS 浮点数余弦运算
8.2.7 TAN 浮点数正切运算
8.2.8 ASIN 浮点数反正弦运算
8.2.9 ACOS 浮点数反余弦运算
8.2.10ATAN 浮点数反正切运算
9、赋值指令
9.1 MOVE 赋值
10、程序控制指令
10.1 -(Call) 从线圈调用FC/SFC(无参数)
10.2 CALL_FB 从方块调用FB
10.3 CALL_FC 从方块调用FC
10.4 CALL_SFB 从方块调用SFB
10.5 CALL_SFC 从方块调用SFC
10.6
-(MCR<) 主控继电器接通
10.7
-(MCR>) 主控继电器断开
10.8 -(MCRA) 主控继电器启动
10.9 -(MCRD) 主控继电器停止
10.10 -(RET) 返回
11、移位和循环指令
11.1 移位指令
11.1.1 SHR_I 整数右移
11.1.2 SHR_DI 双整数右移
11.1.3 SHL_W 字左移
11.1.4 SHR_W 字右移
11.1.5 SHL_DW 双字左移
11.1.6 SHR_DW 双字右移
11.2 循环指令
11.2.1 ROL_DW 双字左循环
11.2.2 ROR_DW 双字右循环
12、状态位指令
12.1 OV -||- 溢出异常位
12.2 OS -||- 存储溢出异常位
12.3 UO -||- 无序异常位
12.4 BR -||- 异常位二进制结果
12.5 ==0-||- 结果位等于"0"
12.6 <>0-||- 结果位不等于"0"
12.7 >0-||- 结果位大于"0"
12.8 <0-||- 结果位小于"0"
12.9 >=0-||- 结果位大于等于"0"
12.10 <=0-||- 结果位小于等于"0"
13、定时器指令
13.1 S_PULSE 脉冲S5定时器
13.2 S_PEXT 扩展脉冲S5定时器
13.3 S_ODT 接通延时S5定时器
13.4 S_ODTS 保持型接通延时S5定时器
13.5 S_OFFDT 断电延时S5定时器
13.6 -(SP) 脉冲定时器线圈
13.7 -(SE) 扩展脉冲定时器线圈
13.8 -(SD) 接通延时定时器线圈
13.9 -(SS) 保持型接通延时定时器线圈
13.10 -(SF) 断开延时定时器线圈
14、字逻辑指令
14.1 WAND_W 字和字相"与"
14.2 WOR_W 字和字相"或"
14.3 WAND_DW 双字和双字相"与"
14.4 WOR_DW 双字和双字相"或"
14.5 WXOR_W 字和字相"异或"
14.6 WXOR_DW 双字和双字相"异或“
卡诺普的控制系统具有软件PLC功能。可根据系统的可编程I/O、辅助继电器、定时器等资源管理系统所有I/O接口、内部辅助继电器,进行逻辑判断、计数等处理实现对输入口的检测和对输出口的控制以及与系统内核进行数据交换。
针对不同的系统其PLC的功能指标有所区别,系统的PLC指标如下:
PLC指标
|
编辑方式
|
梯形图
|
执行指令
|
指令表
|
程序容量
|
10000步
|
执行周期
|
10ms
|
执行方式
|
①顺序执行、②循环执行
|
基本指令
|
内部继电器、定时器、计数器、输入继电器X、输出继电器Y
|
表-
说明:
①顺序执行:PLC的执行是对指令表的程序文件一行一行逐步执行,和一般的继电器电路的工作原理相同。
②循环执行:PLC从梯形图(指令表)的开头执行直至梯形图的结束。梯形图(指令表)结束之后,再次从梯形图(指令表)的开头重新开始执行。
在系统中为了便于梯形图的编辑,特设定如下基本元件符号:
序号
|
符号名称
|
符号图形
|
说明
|
1
|
常开触点
|
-||-
|
各元件(继电器)的常开触点
|
2
|
常闭触点
|
-|/|-
|
各元件(继电器)的常闭触点
|
3
|
直接输出线圈
|
-(
)
|
各元件(继电器)的线圈
|
4
|
置位输出线圈
|
-(R)
|
各元件(继电器)的线圈(置位保持)
|
5
|
复位输出线圈
|
-(S)
|
各元件(继电器)的线圈(复位保持)
|
6
|
水平连接线
|
-----
|
用于水平连接各继电器的触点和线圈
|
7
|
垂直连接线
|
|
|
用于垂直连接各继电器的触点和线圈(通常为分支用)
|
表-
在系统中PLC指令表中共有16条基本的逻辑指令,用于实现基本逻辑控制。
LD:常开触点与母线连接指令。
LDI:常闭触点与母线连接指令。
OUT:继电器线圈输出指令。
LD与LDI指令可以用于X、Y、M、T和C,它们还可以与AND、ORB指令配合,用于分支电路的起点。OUT指令可以用于Y、M、T和C,但不能用于输入继电器X。
AND:常开触点串联连接指令。
ANI:常闭触点串联连接指令。
AND和ANI指令可以用于X、Y、M、T和C。
OR:常开触点并联连接指令。
ORI:常闭触点并联连接指令。
OR和ORI指令可以用于X、Y、M、T和C。
ORB:串联电路块的并联连接指令。两个以上的触点串联连接而成的电路称为“串联电路块”,将串联电路块并联时用ORB指令。
ANB:并联电路块的串联连接指令。ANB指令将并联电路块与前面的电路串联,在使用ANB指令之前,应先完成并联电路块的内部连接。
MPS、MRD、MPP栈存储器与多重输出指令:
MPS、MRD、MPP指令分别是进栈、读栈和出栈指令,它们用于多重输出电路。
SET:置位指令,使操作保持的指令。
RST:复位指令,使操作保持复位的指令。
SET指令可用于Y和M,RST指令可用于Y、M、T和C。
NOP:空操作指令。
END:结束指令,表示程序结束。
元件是用来识别在PLC 中处理的信号的地址符号。元件编号是分配给元件的系列号。在本系统PLC中的元件X 、Y 和M等的元件编号以十进制符号表示的。
下表为PLC系统所有元件列表
元件说明
|
X
|
系统输入信号
|
Y
|
系统输出信号
|
T
|
0ms通用定时器;10ms积算定时器;100ms通用定时器;100ms积算定时器;1s通用定时器;1s积算定时器。
|
C
|
系统计数器
|
M
|
系统辅助继电器
|
表-
输入继电器是系统PLC接收外部输入的开关量信号的窗口。从外部元件(如按钮、转换开关、限位开关或数字开关)的指令,由输入点电路引入到系统;假想每个输入点对应有一个继电器Xn,PLC程序可以用该继电器的常开和常闭触点进行程序编辑,并可多次使用,如下图所示。
图-4.1
★注:输入继电器编号用十进值表示。
输出继电器是系统PLC向外部负载发送信号的窗口。输出继电器用来将系统PLC的输出信号传送给输出点,再由其输出点驱动外部负载。输出点的每一个继电器仅有一对常开点,但是在梯形图每一个输出继电器的常开触点和常闭触点都可使用(并可多次使用),如下图所示:
图-
★注:输出继电器编号用十进值表示。
内部继电器是PLC 中的辅助继电器,不能直接输出到外部源,通常被定义为某个功能的输入、输出或状态,是PLC与系统核心控制软件的信息传递通道。他具有以下特点:
(a)关掉电源时这些继电器即被清除。
(b)可在梯形图中使用的内部继电器的常开触点和常闭触点。
(c)内部继电器编号以十进制数表示,多数内部继电器已被系统定义某个功能和控制方式,只有部分内部继电器作为临时中间信号使用。
系统PLC中的定时器相当于继电器系统中的时间继电器。在本系统中定时器分通用定时器和积算定时器。常数K作为定时器的设定值。
1. 通用定时器
其工作原理为:
当输入条件满足时定时器开始计时,当计时到达设定值时,该定时器触点接通。如果输入条件断开,定时器计数值将自动被重置为0,触点也将断开。定时器的设置值(K)为一个十进制数,可在1到9999范围内。
例:如图4.3,当输入继电器X5有效时,定时器T01开时计数,0.5秒(K值为50,T01为10ms定时器,定时时间=50*10ms)后T01触点接通,当输入继电器X5无效时,定时器T01被重置为0,触点也断开。
图-
2. 积算定时器
其工作原理为:
当输入条件满足开始计数,当计时到达设定值时,该定时器触点接通;即使输入条件断开,累计定时器当前值(计数值)仍将保持,触点状态也不改变。当执行RST指令时,累计定时器计数值将被设置为0,触点将断开。定时器的设置值(K)为一个十进制数,可在1到9999范围内。
例:如图4.4,当输入继电器X5有效时,定时器T04开始计时。1秒(K值为100,T04为10ms定时器,定时时间=100*10ms)后T04触点接通。如波形图所示,即使输入条件X5断开,累计定时器T04当前值(计数值)仍将保持,触点状态也不改变。当输入继电器X7有效时,定时器T04被复位为0,触点也断开,当输入信号再次有效时T04又从0开始计时。
图-4.4
计数器是用来对输入条件(X、Y、M、T)的上升沿进行累加和检测。所以,当输入条件是ON时,计数不发生变化。其响应周期为100ms。所以输入条件的接通和断开持续时间应大于100ms。本系统PLC共有16个计数器C01-C15,其有如下特征:
(a)计数值为一个十进制数可在1到9999范围内指定。
(b)即使输入条件关闭时计数器的计数值不会被清除,必须用RST指令清除计数器计数值。
(c)可在梯形图中使用计数器的常开触点和常闭触点。
例:如下图所示,X5输入信号有效后,C0被复位,它对应的计数值被置“0”,其常开触点断开(常闭触点接通)。X7输入信号用来提供计数输入信号,当计数器的复位输入断开,计数输入信号由断开变为接通(即计数脉冲的上升沿)时,计数器的当前值加1。在9个输入计数脉冲后,C0计数器有效(常数K为9),其常开触点接通(常闭触点断开),Y0输出有效。若再来输入脉冲计数器计数值不变,直到复位输入信号有效,计数器计数值被置“0”。
图-
元件
|
编号
|
数量
|
说明
|
X
|
X00-X22
|
23
|
通用输入接口
|
X24-X46
|
23
|
备用
|
X48-X63
|
16
|
运动控制输入接口
|
X64-X88
|
25
|
机器人示教器与专用端子输入接口
|
Y
|
Y00-Y23
|
24
|
通用输出接口
|
Y24-Y46
|
22
|
备用
|
Y48-Y55
|
8
|
运动控制输出接口
|
Y56-Y63
|
8
|
机器人示教器与专用端子输入接口
|
T
|
T00-T09
|
10
|
10ms通用定时器
|
T10-T19
|
10
|
10ms积算定时器
|
T20-T29
|
10
|
100ms通用定时器
|
T30-T39
|
10
|
100ms积算定时器
|
T40-T49
|
10
|
1s通用定时器
|
T50-T59
|
10
|
1s积算定时器
|
C
|
C00-C19
|
20
|
系统计数器
|
M
|
M00-M499
|
500
|
系统专用辅助继电器
|
M500-M799
|
300
|
通用辅助继电器
|
表-
各系统硬件接口的信号分布不同,具体详见各系统硬件说明书。
系统专用辅助继电器定义表格见附件1。强烈建议用户使用M500-M799之间的辅助继电器。其他范围系统已经使用。M继电器范围M00-M1023。普通M继电器,严禁双线圈输出。
控制系统的PLC梯形图编辑,可在PC机上用专用PLC编辑软件(PLC.EXE)编辑产生PLC文件plc.lad(梯形图文件)和plc.plc(指令表文件),编辑完后传送到系统上运行即可;也可直接在系统上编辑梯形图来运行。
控制系统基于Windows系统的PLC编辑软件名为PLC.EXE的可执行程序,无需安装,直接拷贝到PC机本地硬盘上就可以了,其支持Windows98/NT4.0/2000/XP中文版。
图-
a)
点击菜单栏中“文件”下的“新建”菜单(如下图所示)或点工具栏的“
”按钮新建一个PLC文件。
b)
点击菜单栏中“文件”下的“打开”菜单(如下图所示)或点工具栏的“
”按钮在相应的文件存储目录下打开已有PLC文件。
c)
点击菜单栏中“文件”下的“保存”菜单(如下图所示)或点工具栏的“
”按钮保存PLC文件。
图-
【说明】
1、梯形图编辑完成后,必须分别在梯形图与指令表的界面下做保存的操作,否则编辑的梯图会与实际执行的不符。
2、梯形图与指令表的文件名都需为plc,否则控制系统将无法视别。
d)
点击菜单栏中“文件”下的“退出”菜单(如下图所示)或点击控制栏的“
”按钮退出软件。
【注意】在退出程序之前请确认是否保存当前的PLC文件。
编辑梯形图时始以光标(如下图所示)为焦点,光标的移动可以用鼠标点击或用键盘方向键控制。
图-6.1
编辑水平连线:将光标移动到编辑处点击工具栏的“
”按钮即可。
编辑垂直连线:将光标移动到编辑处前面点击工具栏的“
”按钮即可。
将光标移动到编辑处点击工具栏的“
”,此时会出现下图所示的对话框,然后在对话框中选择相应的元件和输入对应编号,点击“确定”即可。
图-
★注意:其对话框中“参数”栏不需做任何设置。
将光标移动到编辑处点击工具栏的“”,此时会出现下图所示的对话框,然后在对话框中选择相应的元件和输入对应编号,点击“确定”即可。
图-
★注意:其对话框中“参数”栏不需做任何设置。
将光标移动到编辑处点击工具栏的“
”,此时会出现如下图所示的对话框,而后在对话框中选择相应的元件和输入对应编号,点击“确定”即可。
图-
★注意
1、其对话框中“元件名称”栏不能选X。
2、其对话框中“参数”栏只有元件为T或C时才需做相应设置,其余元件不需做任何设置。
3、在编辑PLC梯形图时,注意不要出现双线圈(一个线圈出现在两个不同的位置。
将光标移动到编辑处点击工具栏的“
”,此时会出现下图所示的对话框,而后在对话框中选择相应的元件和输入对应编号,点击“确定”即可。
图-
★注意
1、其对话中“元件名称”栏不能选X、T和C。
2、其对话中“参数”栏不需做任何设置。
删除元件:将光标移动到要删除元件处点击工具栏的“
”按钮即可。这时所指的元件包括:水平连线、常开触点、常闭触点、所有输出线圈。
删除垂直连线:将光标移动到要删除的垂直连线的前面点击工具栏的“
”按钮即可。
删除一行梯形图:将光标移动到要删除那一行点击工具栏的“
”按钮即可。
增加一行梯形图:要在某一行前面增加一行梯形图就将光标移动到那一行点击工具栏的“
”按钮,此时就会在那一行前出来一行空白行,用于编辑一行梯形图。
在本编辑软件中指令表是不能编辑的,其指令的产生是根据梯形图编译而来的。因此在产生指令表的同时也就是对梯形图进行编译。当梯形图编辑完成后,点工具栏的保存按钮将梯形图保存起来,之后再点击控制栏的“ 指令表”按钮就会产生指令文件。如下图所示:
图-
★注意
如果当梯形图有逻辑上原则性的错误的时候,软件会自动弹出一个对话框加以说明,此时将不会产生指令表(直到编译无错后才会产生指令表),如下图所示:
图-
★注意
指令表转成功后必须要保存,否则进行控制系统运行的情况会与梯图不符。
PLC文件编辑完成会在其相应有存储目录下产生PLC.plc和PLC.lad文件,即系统将执行的PLC程序文件。
图-
工作说明:利用PLC一个扫描周期内顺序执行,来读上升沿或下降沿。X00为需要读取的输入口,M200和M201为辅助继电器。读取的上升沿存储在M202中,需要再次读取时,需要对M202复位(程序或PLC复位)。
顺序执行第一行时,当X00由无效变为有效时,M200有效。
运行第二行时,由于之前的M200已经有效,则第二行的常开M200接通,常闭M201还没执行到,常闭M201处于接通状态,此时将M202置为有效。
运行到第三行时,由于之前M200有效,常开M200有效,则将M201为有效。
图-
工作说明:利用PLC一个扫描周期内顺序执行,来读上升沿或下降沿。X00为需要读取的输入口,M200和M201为辅助继电器。读取的下降沿存储在M203中,需要再次读取时,需要对M203复位(程序或PLC复位)。
顺序执行第一行时,当X00由有效变为无效时,M200由有效变无效。
运行第二行时,由于之前的M200已经无效,则第二行的常闭M200接通,上一周期M201已经有效,本周期还没执行到,常开M201处于接通状态,此时将M203置为有效。
运行到第三行时,由于之前M200无效,则将M201为无效。
为方便在电脑上编辑系统PLC程序,系统可通过U盘将PLC程序备分到U盘中,当编辑完成后也可通过U盘更新PLC,从而实现用户想要的逻辑功能。
为方便在电脑上编辑系统PLC程序,系统可通过U盘将PLC程序备分到U盘中,当编辑完成后也可通过U盘更新PLC,从而实现用户想要的逻辑功能。具体步骤如下:
1、将U盘插入系统主机的USB接口;
2、依次点击【文件操作】-【文件保存到U盘】-【用户PLC保存到U盘】,如下图所示:
图-
3、几秒后系统状态栏(屏幕正下方)会提示“plc.lad文件已经拷到E盘下,如要拔出请卸载U盘”和“plc.plc文件已经拷到E盘下,如要拔出请卸载U盘”,如下图所示:
图-
4、卸载U盘。
依次点击【文件操作】-【卸载U盘】,如下图所示:
图-
系统的状态栏提示如下图所示。
图-
5、检查备份文件。
从系统主机上拔出U盘,插入电脑,打开U盘,有下图所示文件:
图-
操作步骤如下:
1、将U盘插入系统主机的USB接口;
2、依次点击【文件操作】-【从U盘读入】-【读入用户PLC到系统】,如下图所示:
图-
3、用户PLC读入系统后,弹出下图所示界面:
图-
4、点击【OK】,系统重启。
5、等待正常开机后,用户PLC程序更新替换完成,拔下U盘。
1、 打开电源开关,等待开机完成。然后将模式开关拨到:示教(TEACH)模式。
2、 切换到程序列表界面,新建或打开已有程序。
图-
3、 点击主菜单中的【编程指令】键,或者功能键区域的对应键【运动】【逻辑】调用常用指令。使用功能区按键时,重复点击按键,将调用该目录下不同指令。点击【上一条指令】调用上次使用的指令,界面如下图所示。
图-
4、 输入正确指令参数后,按住安全开关,再点击【指令正确】输入指令;点击【指令退出】则取消指令输入。
图-
说明:
Ø 白色框为需要选择或输入内容。不使用则不需要输入或选择任何内容。
Ø 带有黑色下箭头标志 ,该位置内容,只能通过上下键选择,不可直接输入。
Ø 程序指令行可选择或输入内容分为:指令、数据(变量)、其他指令相关的要素(例如运动指令必须要指定速度,判断指令必须指定判断符),还有状态、编号等。
Ø 指令:需要调用的指令,如MOVJ、JUMP、CALL、INC 等。
Ø 数据(变量):例如变量GP及GP的变量号,延时的时间,运动速度,常数D的值等等,该数据根据指令的不同可以为小数、整数、负数以及字符等。
Ø 判断符:判断前后条件关系,如==、>、<、>=、<=、=。
Ø 状态:(ON=1,OFF=0),该状态可以转化为0、1数据使用。
Ø 编号:该编号只能为0及以上整数,根据指令的不同。编号范围也不相同。
Ø 各个指令所带的附加项不尽相同,输入指令时请加以注意。
图-
运动指令的要素有运动方式(指令),速度,点位(位置变量),平滑度,以及其他特殊功能的附加项。
运动方式(指令)
|
附加项格式、定义
|
说明
|
关节(MOVJ)
|
VJ=<百分比>:关节运行速度
|
单位1%,最大值为100%。实际轴速度=参数中轴运动最高速度×VJ×自动运行倍率。
|
直线(MOVL)
|
VL=<直线运行速度>:直线运行速度
|
单位MM/S,最大值为参数设定直线运动最高速度。实际运行速度=直线运动最高速度×VL×自动运行倍率。
|
圆弧(MOVC)
|
整圆(MOVCA)
|
圆弧(MOVC)
|
POINT=<圆弧上的点>
|
范围1-3;圆弧上的点,一段圆弧必须由3个点组成;
|
关节(MOVJ)
|
PL=<平滑度>:平滑度
|
范围0-9。简单的说就是过渡的弧度,确定您是以直角方式过渡还是以圆弧方式过渡。假如两条直线要连接起来,怎么连接,就需要您对此变量进行设置。PL数值选择参考下图。
|
直线(MOVL)
|
圆弧(MOVC)
|
整圆(MOVCA)
|
变量按照数据形式不同,可以分为:位置变量(GP,LP,OP,VP/NP)、状态变量(X,Y,M)、整型变量(GI,LI)、浮点型变量(GD,LD)、输出模拟量变量(AO)、字符串变量(GS)。
变量按照作用范围不同,可以分为:局部变量(LP,LI,LD)和全局变量(GP,GI,GD,GS)下面以数据形式分类分别介绍。
变量
|
说明
|
GP<变量号><数据号>:全局P变量
GP<变量号><数据号>:全局P变量
|
1.全局P变量,该变量值记录机器人各关节姿态,坐标等相关位置数据,是多个数据组合。变量号范围:0-999,数据号范围为:0-11。
|
2.GP数组中,系统开放了部分数据信息,用数据号标识。每一个数据号代表的含义不同;数据号范围为:0-11。
|
3.数据号表示可以单独调用GP变量的组合数据中某一数据,数据号的定义为:
0:对整个数据组合进行操作;1:对X轴数据进行操作;
2:对Y轴数据进行操作; 3:对Z轴数据进行操作;
4:对J1轴数据进行操作; 5:对J2轴数据进行操作;
6:对J3轴数据进行操作; 7:对J4轴数据进行操作;
8:对J5轴数据进行操作; 9:对J6轴数据进行操作;
10:对J7轴数据进行操作; 11:对J8轴数据进行操作;
|
4.不同程序调用同一变量号时,该变量的数据为同一个数据,当被第二次赋值时,将覆盖第一次的数据。所以在使用已经使用过的变量号时需要慎重,以免发生误动作或危险。
|
5.该变量可在“运行准备”-“变量”-“全局P变量”表中查看。
|
6.GP变量需要在变量表中记录,只要程序中使用了GP变量都需要先记录GP点位,程序中可以做GP点运算修改,不能直接记录和修改。
|
7.GP0-GP39为预留的通用全局位置变量,其余GP均被系统应用为专用全局位置变量;
|
8.专用GP的使用说明请详见《变量使用定义表A0》。
|
表-
变量
|
说明
|
LP<变量号><数据号>:局部P变量
|
1.局部P变量,该变量值记录机器人各关节姿态,坐标等相关位置数据,是多个数据组合。变量号范围:0-999。
|
2.数据号表示可以单独调用GP变量的组合数据中某一数据,数据号的定义为:
0:对整个数据组合进行操作; 1:对X轴数据进行操作;
2:对Y轴数据进行操作; 3:对Z轴数据进行操作:
4:对J1轴数据进行操作; 5:对J2轴数据进行操作;
6:对J3轴数据进行操作; 7:对J4轴数据进行操作;
8:对J5轴数据进行操作; 9:对J6轴数据进行操作;
10:对J7轴数据进行操作; 11:对J8轴数据进行操作;
|
3. 不同的程序调用同一变量号时,各自对应的数据不一样,互不干涉,各自独立。如一个程序调用变量LP0。第二个程序也调用了LP0,两个LP0互不干扰,各自独立。
|
4. 该变量只有在调用程序打开时,才会在变量表中出现。可在“运行准备”-“变量”-“局部P变量”表中查看,记录,清除,手动修改X、Y、Z的值;手动试运行此点位。
|
表-
变量
|
说明
|
OP<变量号>:偏移P变量
OP<变量号>:偏移P变量
|
1. 寻位偏移变量OP:该变量用于程序点位的偏移,其数值可以通过手动输入或寻位计算的方式进行设置,是多个数据组合。变量号范围:0-1000。
|
2. 数据号表示可以单独调用OP变量的组合数据中某一数据,数据号的定义为:
0:对整个数据组合进行操作;
1:对X轴数据进行操作; 2:对Y轴数据进行操作;
3:对Z轴数据进行操作; 4:对A姿态数据进行操作;
5:对B姿态数据进行操作; 6:对B姿态数据进行操作;
其中,位置偏移量X,Y,Z可以通过手动输入的方式设置,旋转偏移量A,B,C无法进行手动设置。
|
3. OP变量可以应用于直线或圆弧运动路径的偏移;
例:单个点的偏移:
MOVL VL=100mm/s PL=0 OFFSET
OP#(1)
例:几条路径整体偏移
OFFSETSTART OP#(2)
MOVL VL=100 mm/s PL=0
…
OFFSETEND
|
4.OP变量只能作用于直线/圆弧运动,不能作用于关节运动;禁止在偏移路径中存在关节运动行指令。
|
表-
变量
|
说明
|
VP/NP<变量号>:寻位变量
|
1.VP和NP为寻位基准位置变量和寻位位置变量,其作用是存储寻位的记录点。VP与NP成对使用,通过“寻位工艺”中的旗标进行管理。当旗标打开时,寻到的位置点存在VP变量中,作为基准位置;当旗标关闭时,寻到的位置点存在NP变量中,即为寻位位置;VP与NP变量号的范围均为:0~999。
|
2.VP/NP变量有如下的属性参数:
X、Y、Z:寻位点的空间位置。
T:寻位时使用的工具坐标系
U:寻位时使用的用户坐标系
|
3.在VP或NP列表中,选中一个VP/NP点位,可以进行该点位的试运行。但当前工具坐标系和NP的工具坐标系需要一致,否则可能会出现异常报警。
|
4.寻位应用中,通常在寻位的方向路径程序行中设置寻位变量,程序行中只能选择NP,通过旗标控制写入NP还是VP。
|
示例:
MOVL VL=100 PL=0 SEACH NP[0]
当工艺中设置旗标=ON时,寻位点存储在VP[0];旗标=OFF时,寻位点存储在NP[0];
|
表-
★注意:激光寻位的寻位点存储在VP中无效。
变量
|
说明
|
X<变量号>:通用输入口
|
1.通用输入X接口,为状态变量(ON=1,OFF=0),范围:0-559。其中X0-X23在IO板上有物理接口;X96-X111需要连接外部IO扩展模块,才有物理接口;其他X触点被系统占用。
|
2. 接口状态可在“监视”-“IO口”-“通用输入口监视”中查看。
|
3.系统占用的X接口说明请详见《CRP-CD□0-CRX8PLC说明书》。
|
Y<变量号>:通用输入口
|
1. 通用输出Y接口,该接口对应硬件物理接口,为状态变量(ON=1,OFF=0),范围0-559。其中Y0-Y23在IO板上有物理接口;Y64-Y79需要连接外部IO扩展模块,才有物理接口;其他Y线圈被系统占用。
|
2. 接口状态可在“监视”-“IO口”-“通用输出口监视”中查看。
|
3. 系统占用的Y接口说明请详见《CRP-CD□0-CRX8PLC说明书》。
|
M<变量号>:内部辅助继电器
|
1. 内部辅助M继电器。该继电器为状态变量(ON=1,OFF=0),范围:0-4095。M500-M4095是留给客户使用,M0-M499已被系统占用;系统占用的M含义请参阅《变量使用定义 A0》。
|
2. 该继电器状态可在“监视”-“PLC”-“M”下查看。
|
表-
变量
|
说明
|
GI<变量号>:全局整型寄存器
|
1.全局整型寄存器GI,存储整型数据。GI变量号范围:0-1023。其中GI0-GI49为预留的通用整型寄存器;其他GI,系统已占用为特殊寄存器。
|
2. GI值可在“运行变量”-“变量”-“全局I变量”中查看、修改。
|
3. 特殊寄存器GI的使用说明请详见《变量使用定义A0》。
|
4. 不同程序调用同一变量号时,该变量的数据为同一个数据,当被第二次赋值时,将覆盖第一次的数据。所以在使用已经使用过的变量号时需要慎重,以免发生误动作或危险。
|
LI<变量号>:局部整型寄存器
|
1. 局部整型寄存器LI,存储整型数据。LI变量号范围:0-1000。
|
2. 不同的程序调用同一变量号时,各自对应的数据不一样,互不干涉,各自独立。如一个程序调用变量LI0。第二个程序也调用了LI0,两个LI0互不干扰,各自独立。
|
3. 该变量只有在调用程序打开时,才会在变量表中出现。可在“运行准备”-“变量”-“局部I变量”表中查看、修改。
|
表-
变量
|
说明
|
GD<变量号>:全局整型寄存器
|
1.全局浮点型寄存器GD,存储浮点型数据。GI变量号范围:0-99。其中GD0-GD79为预留的通用整型寄存器;GD80-GD99,系统已占用为特殊寄存器。
|
2. GD值可在“运行变量”-“变量”-“全局D变量”中查看、修改。
|
3.不同程序调用同一变量号时,该变量的数据为同一个数据,当被第二次赋值时,将覆盖第一次的数据。所以在使用已经使用过的变量号时需要慎重,以免发生误动作或危险。
|
LD<变量号>:局部浮点型寄存器
|
1. 局部浮点型寄存器LD,存储浮点型数据。LD变量号范围:0-1000。
|
2. 不同的程序调用同一变量号时,各自对应的数据不一样,互不干涉,各自独立。如一个程序调用变量LD0。第二个程序也调用了LD0,两个LD0互不干扰,各自独立。
|
3. 该变量只有在调用程序打开时,才会在变量表中出现。可在“运行准备”-“变量”-“局部D变量”表中查看、修改。
|
AO<变量>:输出模拟量变量
|
1. 此变量为需要输出的模拟量电压值,值的范围为0-10v;
|
2. 变量号范围为:AO1-AO23,其中AO1-AO4在AVO接口有物理输出口,其他没有物理接口,可通过通讯写入或读取变量值。
|
3. 变量值为浮点型数据变量,该数值可定义到小数后三位(.000),带正负号。
|
4. 全局变量,不同程序调用同一变量号时,该变量的数据为同一个数据。当被第二次赋值时,将覆盖第一次的数据。
|
5. 该变量可在“监视”-“IO口”-“模拟量监视”中查看。
|
GS<变量号>:全局字符串变量
|
GS字符串变量,范围0-99。该变量主要用于读取条形码,外部IO口编码数据使用。配合READ DATA TO或READ IO BCD指令使用。如:
READDATATO GS#(0)
:读取条码到GS0变量
PAUSE IF GS#(0)=123456 :当GS0=123456时,暂停。
……
|
D<变量>:自定义数据变量
|
自定义数据变量,其中变量为用户自行输入的具体数据。该数据可以带正负号,可输入小数。
|
表-
类别
|
英文指令
|
中文说明
|
1. 运动
|
1. MOVJ
|
关节移动
|
2. MOVL
|
直线运动
|
3. MOVC
|
圆弧运动
|
4. MOVCA
|
整圆运动
|
2. 逻辑
|
1. DOUT
|
数字量输出
|
2. AOUT
|
模拟量输出
|
3. WAIT
|
条件等待
|
4. TIME
|
延时指令
|
5. PAUSE
|
暂停
|
6. JUMP
|
条件跳转
|
7. CALL
|
子程序调用
|
8. ;
|
注释
|
9. *
|
跳转标号
|
10. RET
|
子程序返回
|
11. TDOUT
|
输出带时间
|
3. 运算
|
1. ADD
|
加法运算
|
2. SUB
|
减法运算
|
3. MUL
|
乘法运算
|
4. DIV
|
除法运算
|
5. INC
|
加1运算
|
6. DEC
|
减1运算
|
7. SET
|
赋值
|
8. MOD
|
求余(留用)
|
4. 码垛
|
1 PALLET
|
搬运
|
5.焊接
|
1. ARC START
|
起弧
|
2. ARC END
|
起弧结束
|
3. WEAVE
|
摆弧
|
4. WEAVE END
|
摆弧结束
|
5. SPOT
|
点焊
|
6. STITCHSTART
|
鱼鳞纹焊接开始
|
7. STITCHEND
|
鱼鳞纹焊接结束
|
8. OPENLASER
|
打开激光
|
9. CLOSELASER
|
关闭激光
|
10. SEARCHLASER
|
激光搜寻
|
11. OPENLASERTRACK
|
开始激光跟踪
|
12. CLOSELASERTRACK
|
结束激光跟踪
|
13. ARCTRACKSTART
|
开始电弧跟踪
|
14. ARCTRACKEND
|
结束电弧跟踪
|
15. MP
|
多层多道焊接开始
|
16. MPEND
|
多层多道焊接结束
|
17. SETLASERPARA
|
改变激光参数组
|
18. SETARCJOB
|
调用焊机工作参数组
|
19. SETARCMODE
|
设置焊机工作模式
|
20.
ADLASERTRACKSTART
|
自适应激光跟踪开始
|
21. ADLASERTRACKEND
|
自适应激光跟踪结束
|
22. SETARCSPEED
|
设置焊接速度
|
6. 辅助指令
|
1. SPEED
|
速度改变
|
2. IF
|
1. IF
|
条件判断
|
2. ELSE IF
|
3. ELSE
|
4. END IF
|
3. FOR
|
备用
|
4. WHILE
|
1. WHILE
|
循环
|
2. END WHILE
|
5. SWITCH
|
1. SWITCH
|
条件选择
|
2. CASE
|
4. DEFAULT
|
5. BREAK
|
6. END SWITCH
|
6. PULSE TARANSFORM
|
轴脉冲跳转
|
7. PULSE TARANSFORM
END
|
轴脉冲跳转结束
|
10. MOTION FINISH
|
运动完成
|
12. FORBID AXIS
|
轴禁止开始
|
13. FORBID AXIS END
|
轴禁止解除
|
14. COUNTCOORD
|
坐标计算
|
15. JUDGE START
|
冲压状态开始
|
16. JUDGE END
|
冲压状态结束
|
17. OTALAR
|
超时报警
|
7. 视觉
|
1. RUN VISION
|
视觉运行
|
2. GET VISON DATA
|
获得视觉数据
|
3. CLEAR VISON DATA
|
清除视觉数据
|
4. TRIGGER VISON
|
视觉指令触发
|
5. CHANGE VISON
|
改变视觉模型
|
6. WAITTRIGGER
|
等待触发结果
|
8. 跟踪
|
1. TARCK START
|
跟踪开始
|
2. TARCK END
|
跟踪结束
|
3. GET TRACK DATA
|
获得跟踪数据
|
4. CLEAR TARCK DATA
|
清除跟踪数据
|
5 RUN IO CUTIN
|
后台IO检测
|
9. 通讯
|
1. READ BCD TO
|
读取IO口BCD数据
|
2. READ DATA TO
|
读取数据到
|
3. SET BCD IO
|
把十进制输出
|
4. SEND DATA TO
|
预留
|
10. 特殊指令
|
1. RESET
|
程序复位
|
2. CHAN GEP
|
程序指针跳转
|
3. SEARCH START
|
寻位开始
|
4. SEARCH END
|
寻位结束
|
5. OFFSET START
|
偏移开始
|
6. OFFSET END
|
偏移结束
|
7. COUNT OFFSET
|
计算偏移量
|
8. START TIME
|
计时开始
|
9. END TIME
|
计时结束
|
10. MULTI TURN START
|
预留
|
11. MULTI TURN END
|
预留
|
12. COUNT LOADFAC
|
计算负载率指令
|
13. COUNT STORQUE
|
计算静态转矩百分比指令
|
14. COUNT DYNASTH
|
计算动态数据指令
|
15. COUNT FRICTION
|
计算摩擦
|
16. END COUNT
FRICTION
|
结束计算摩擦
|
17. ZOOM START
|
缩放开始
|
18. ZOOM END
|
缩放结束
|
19. ANGLEDIS PLAY
|
焊枪角度显示开始
|
20. ANGLEDIS PLAY
RST
|
焊枪角度显示复位
|
21. TOWER COUNT
START
|
开始塔角计算
|
22. TOWER COUNT END
|
结束塔角计算
|
23. TOWER CHANGE
WELD
|
塔角焊缝计算
|
24. TOWER COUNT POSE
START
|
塔脚姿态计算开始
|
25. TOWER COUNT POSE
END
|
塔脚姿态计算完成
|
26. COUNT STEE
LANGLE
|
角钢轨迹计算
|
11. 折弯指令
|
1. BENDTRACK
|
折弯跟随
|
2. BENDSYS
|
折弯同步
|
3. BENDFLATBACK
|
折弯回平
|
12. 碰撞指令
|
1. SHCKSET
|
碰撞等级设置
|
2. SHCKRST
|
碰撞等级解除
|
3. SHCKACT
|
碰撞检测激活
|
4. SHCKDEACT
|
碰撞检测禁用
|
表-
指令
|
项目
|
说明
|
关节运动(MOVJ)
|
指令功能
|
机器人以最快捷的方式运动至目的点,其运动状态不完全可控,但运动路径保持唯一。
指令格式:
MOVJ VJ=100% LP#10 PL=9 。
MOVJ指令常用于机器人在空间大范围移动,如下图所示。
|
使用举例
|
Ø MOVJ VJ=30% PL=3
Ø MOVJ VJ=30 GP#0 PL=3 UNTIL M#(0)==ON
|
表-
说明:
Ø 各关节运动的速度为:各轴设定速度×VJ×自动倍率。
Ø 各轴设定的速度在<参数>-<速度参数>中查看,该设定值是由各轴电机的最大转速限制。
10
|
1轴关节最大速度(°/S)
|
65
|
11
|
2轴关节最大速度(°/S)
|
65
|
12
|
3轴关节最大速度(°/S)
|
60
|
13
|
4轴关节最大速度(°/S)
|
100
|
14
|
5轴关节最大速度(°/S)
|
95
|
15
|
6轴关节最大速度(°/S)
|
165
|
表-
指令
|
项目
|
说明
|
关节运动(MOVJ)
|
指令功能
|
MOVL指令功能:机器人从起始点沿直线路径运动至目的点;
指令格式:MOVL
VL=200mm/s LP#1 PL=0
MOVL指令常用于机器人在空间小范围移动或必须采用直线轨迹时,例如焊接直线焊缝。
|
程序举例
|
Ø MOVL VL=500MM/S PL=0
Ø MOVL VL=500MM/S GP # 3 PL = 5
UNTI LX#(0)==ON(这段代码有问题)
Ø MOVL VL=500MM/S PL=0 DOUT Y#(0)==ON
Ø START 10.0 END 10.0
Ø MOVL VL=500MM/S PL=0 AOUT A1=2.0 A2=2.0
|
表-
说明:
Ø 直线运动速度为:VL×自动倍率。
Ø 直线最大速度在<参数>-<速度参数>中查看,该设定值是由各轴电机的最大转速限制。直线最大运动速度为1500 mm/s。
指令
|
项目
|
说明
|
圆弧运动(MOVC)
|
指令功能
|
MOVL指令功能:机器人从起始点沿直线路径运动至目的点;
指令格式:MOVL
VL=200mm/s LP#1 PL=0
MOVL指令常用于机器人在空间小范围移动或必须采用直线轨迹时,例如焊接直线焊缝。
|
附加项
|
[空白]
GP<变量号>
LP<变量号>
|
位置数据,屏幕该栏显示空白
GP变量,变量号:0-999
LP变量,变量号:0-999
|
VL=<直线运行速度>
|
直线运行速度,单位MM/S,最大值为参数直线运动最高速度。
|
PL=<平滑度>
|
PL平滑度:0-9
|
<变量>POINT
|
变量范围:1-3。一段圆弧轨迹通必须是由三段圆弧指令实现的,三段圆弧指令分别定义了圆弧的起始点、中间点、结束点。1POINT表圆弧的起点,2POINT表圆弧的中间点,3POINT表圆弧的终点。
|
表-
编程示例1:
最简单的平面圆弧
Ø MOVC VL=100mm/s PL=0 POINT=1 //圆弧第一个点B
Ø MOVC VL=100mm/s PL=0 POINT=2 //圆弧第二个点C
Ø MOVC VL=100mm/s PL=0 POINT=3 //圆弧第三个点D
图-
编程示例2:
需要变换姿态,用圆弧的方式画一个姿态圆:
l 针对姿态圆运动,我们采用圆弧指令实现,在规划圆弧的至少要选取3段圆弧。(避免就近原则引起的反向运行)
l 编写姿态圆时,应当注意姿态变化的角度,尽量避免小距离,大姿态的运动轨迹。
l 在保证机器人末端轨迹的时候,距离小,姿态变化大,机器人在变化姿态的时候,速度会很快,造成机器人抖动或者超速报警,影响末端轨迹。
l 以下图为例:整圆运动,只是考虑C姿态的情况下,在寻找点位的时候,尽量保证坐标点与姿态都是均等分。从而来达到保证运动轨迹效果。
图-
编程示例三:
直线过度圆弧
l 系统可以默认直线末端点为圆弧的第一个点,减少重复记录点以及避免重复点位引起的停顿问题。即(L)MOVL-2-3的方式。
Ø MOVL VL=100mm/s PL=0 //直线末端点(圆弧起始点)
Ø MOVC VL=100mm/s PL=0 POINT=2 //圆弧第二个点
Ø MOVC VL=100mm/s PL=0 POINT=3 //圆弧第三个点
l 当需要在圆弧第一点启动焊接,ARCstart指令前的直线点和ARCstart指令后的点位必须同一个点,用复制程序行的方式保证同一个点(将第1行复制到第3行);
Ø MOVL VL=100mm/s PL=0 //直线末端点(圆弧起始点)
Ø ARCSTART 0
Ø MOVL VL=100mm/s PL=0 //直线末端点(圆弧起始点)
Ø MOVC VL=100mm/s PL=0 POINT=2 //圆弧第二个点
Ø MOVC VL=100mm/s PL=0 POINT=3 //圆弧第三个点
Ø ARCEND 0
★注意:即使第1行与第3行在同一个点手动示教记录,也不可以。因为在同一个点手动示教记录,坐标值会有细微的差别。当同时使用摆弧功能时,会出现异响。
l 带姿态运动时,同样要避免小距离、大姿态情况。
l 在直线到圆弧第一个点时,要保证圆弧第一个点的姿态,在直线运动过程中带姿态变化,到圆弧第一个点时同时也变化好姿态,提高效率。如在直线过程中姿态变化大,可以在中间多加几个点位来保证轨迹。如下图,直线段P1点至1P点,需要带姿态走,为保证末端轨迹,应当带姿态记录两个点,P1与P2点距离远即可变化稍大一点姿态来保证末端。
图-
编程示例四:
连续圆弧段
l 遵循1(L)-2-3-2-3-2-3的方式找点,即上一段圆弧的终点作为下一段圆弧的起点,保证圆弧的连贯性。
l 小圆弧段:距离短,先变换好预想姿态,再移动位置记录。
l 大圆弧段:严格按照取该段弧的弧顶位置。
针对连续圆弧轨迹精度要求高的情况,可尽量把连续圆弧细分化,从而来保证运动轨迹及姿态变化。
Ø MOVL VL=100mm/s PL=0 //直线末端点(圆弧1起始点)
Ø MOVC VL=100mm/s PL=0 POINT=2 //圆弧1第二个点
Ø MOVC VL=100mm/s PL=0 POINT=3 //圆弧1第三个点(圆弧2的起始点)
Ø MOVC VL=100mm/s PL=0 POINT=2 //圆弧2第二个点
Ø MOVC VL=100mm/s PL=0 POINT=3 //圆弧2第三个点
★注意:禁止编连续圆弧时采用1-2-3-1-2-3这种方式,这种方式在圆弧试运行时会出现无法预知的轨迹,可能会造成撞枪等故障。
图-
指令
|
项目
|
说明
|
整圆运动(MOVCA)
|
指令功能
|
用整圆弧插补方式实现一个整圆运动。各关节按照VL×自动倍率,以整圆插补运动。P1确定圆心,P2确定运动方向,P3同P1和P2确定一个圆弧面,即确定一个圆心一个半径,一个起始点和一个圆所在的平面。
|
附加项
|
[空白]
GP<变量号>
LP<变量号>
|
位置数据,屏幕该栏显示空白
GP变量,变量号:0-999
LP变量,变量号:0-999
|
VL=<直线运行速度>
|
直线运行速度,单位MM/S,最大值为参数直线运动最高速度。
|
PL=<平滑度>
|
PL平滑度:0-9
|
<变量>POINT
|
变量范围:1-3。一段完整的整圆指令必须要有三个点(P1点不能省略或用上一个点),每个点的意义如下:P1确定圆中心点,确定运动到圆心的速度,确定是顺时针还是逆时针画圆;P2点,确定圆的起始点方向,机器人画圆的速度;P3点,确定圆所在的平面)
|
注意
|
若在程序中使用不同的工具或用户坐标系,请使用CHANGE坐标系的指令
若在画圆的中途停止,再次运行时,机器人会运行到圆心位置再重新画圆。
若该指令中缺少一个点(P1-P3),机器人会报错。
|
表-
程序举例:
Ø MOVL VL=100 PL=0;过渡点
Ø MOVL VL=100 PL=0;圆心点
Ø MOVCA VL=100MM/S PL=0 POINT=1 R=10.0 Dir=CW; P1确定圆中心点,确定运动到圆心的速度,确定是顺时针还是逆时针画圆(CW表示顺时针 CCW表示逆时针)。
Ø MOVCA VL=100MM/S PL=0 POINT=2;P2点,确定圆的起始点方向,机器人画圆的速度。
指令
|
项目
|
说明
|
运动指令附加项
|
[空白]
|
不使用附加项。
|
UNTIL
|
[UNTIL]:使用条件,当条件满足,该程序行停止执行,转入下一行执行。否则执行当前行直到结束后,转入下一行。详见辅助项说明1。
|
COORD
|
附加轴1和附加轴2同时协同,详见辅助项说明4
|
COORD1
|
附加轴1单独协同,详见辅助项说明4
|
COORD2
|
附加轴2单独协同,详见辅助项说明4
|
ST+
|
强制执行远边动作
|
ST-
|
强制执行近边动作
|
ACC
|
关节加速度,值越大加速越快
|
OP
|
偏移变量,用于偏移示教轨迹
|
DOUT
|
运动中输出状态信号,详见下文“2.DOUT用法举例”
|
AOUT
|
运动中输出模拟量信号,详见下文“3.AOUT用法举例”
|
OP
|
偏移变量,用于偏移示教轨迹,详见下文“5.OP用法举例”
|
表-
使用条件,当条件满足,该程序行停A止执行,转入下一行执行。否则执行当前行直到结束后,转入下一行。条件可以使用X、M、T、C。本功能可用于沾浆、舀铝水、放板机等。
图-
点位
|
行数
|
程序
|
P1
|
1
|
MOVJ VJ=30% PL=0
|
P2
|
2
|
MOVL VL=500MM/S PL=0
|
P3
|
3
|
MOVL VL=200MM/S PL=0 UNTIL X#(1)==ON
|
|
4
|
JUMP *22 IF X#(1)==ON
|
P4
|
5
|
MOVL VL=200MM/S PL=0
|
|
6
|
*22
|
P5
|
7
|
MOVJ VJ=30% PL=0
|
★说明:
1.X1有效后,系统退出当前执行的第三行程序,直接跳转到第7行执行。
2.X1有效时间要长点,否则会执行5行程序。
本附加项用于,设定程序开始多少距离切换某个信号(M、Y)有效或无效,到离结束点多少距离再还原该信号。
图-
程序实例:
MOVL VL=500MM/S PL=0 DOUT Y#(0)==ON START
10.0 END 10.0
程序说明:执行本程序后,运动10MM后,Y0口开启(ON),机器人运动到距离结束点10MM时,关闭Y0口(OFF),然后程序运行到结束点。
本功能可用于喷涂运动中开关枪等。
AOUT用法举例
本附加项用于机器人在运动过程中或结束位置输出指定模拟量。
图-
1)V I模拟量输出:
V I模拟量输出只能用于焊接指令中间。指令不在焊接指令之间时,系统执行到该指令行,系统报警,并提示:没有焊接状态,不能在运动中使用AOUT改变焊接电流电压。
V对应焊机电压,I对应焊接电流。执行本指令从起点到终点时,模拟电压由焊接电压到指定电压线性变化。
程序举例:焊接电流200A对应模拟量4.95V,焊接电压20V对应模拟量4.95V;焊接电流400A对应模拟量9.95V,焊接电流40V对应模拟量9.95V。
ARCSTART#(0)
MOVL VL=500MM/S PL=0 AOUT V=40.0 I=400.0A
ARCEND#(0)
程序说明:程序执行到第1行时,A1 A2先输出起弧电压;第1行指令结束时,A1 A2模拟量输出4.95V(焊接电流电压)。执行第2行到结束时,A1 A2模拟量从4.95V线性变化到9.95V。执行第3行时电压又变为灭弧电压。
可用于焊接电流电压需要变化的场合。
2)A1 A2模拟量输出:
在焊接指令之间使用本指令时,将不生效。系统按照焊接工艺设定输出。不在焊接指令之间时,系统执行到本指令行结束再输出A1 A2对应模拟量。简称到点输出。
3)A3 A4模拟量输出:
指令不管在焊接指令之间,还是不在焊接指令之间,系统执行本指令行时,机器人从起点到终点,A3 A4模拟量从开始点的值线性变化到结束点指令指定数值。简称线性输出。
程序举例:
Ø MOVJ VJ=30% PL=0 ;A点 A3=0 A4=0
Ø MOVL VL=500MM/S PL=0 AOUT A3=10.0 A4=10.0 ;B点
程序说明:机器人移动从A点运行到B点,A3、A4模拟量由0V线性变化到10V。
COORD用法举例:
本附加项用于机器人在直线、圆弧运动时,和外部轴实现协同动作的作用。
图-
程序举例:
Ø MOVL VL=100MM/S PL=0 TOOL=1 COORD;直线运动,协同轴1、2同时开启。
Ø MOVL VL=200MM/S PL=0 TOOL=1 COORD1;直线运动,协同轴1开启。
Ø MOVC VL=100MM/S PL=0 TOOL=1 POINT=2 COORD2;圆弧运动,协同轴2开启
Ø MOVC VL=100MM/S PL=0 TOOL=1 POINT=3 COORD;圆弧运动,协同1、2同时开启。
OP用法指令:
本附加项用于机器人在直线、圆弧运动中带入局部OP偏移量。
图-
程序举例:
Ø MOVL VL=100MM/S PL=0 TOOL=1 OFFSET OP#(0);带入OP0局部偏移,移动到1点。
Ø MOVL VL=100MM/S PL=0 TOOL=1 OFFSET OP#(0);带入OP0局部偏移,移动到2点。
Ø MOVL VL=100MM/S PL=0 TOOL=1 OFFSET OP#(2);带入OP2局部偏移,移动到3点。
★注意:OP变量的值可以在:运行准备→变量→寻位变量→OP变量中查看和修改。
指令
|
项目
|
说明
|
数字量输出
(DOUT)
|
指令功能
|
控制变量的状态。数字量只有两种形式,因此在使用该指令时只有两种状态,即“ON(有效)”和“OFF(无效)”两种状态。
|
附加项
|
Y<变量号>=ON/OFF
|
控制输出口Y<变量号>,ON或OFF状态,变量号范围参考《硬件说明书》或《PLC说明书》。
|
M<变量号>=ON/OFF
|
程序举例
|
Ø DOUT Y#(0)=ON 控制输出口Y0为ON状态
Ø DOUT M#(0)=OFF 控制辅助继电器M0为OFF状态
|
表-
指令
|
项目
|
说明
|
模拟量输出
(AOUT)
|
指令功能
|
输出模拟量口的模拟电压。
|
附加项1
|
AO#<变量号>=
|
指定需要输出的模拟量端口号,范围S40两路A1-A2,S80四路A1-A4。
|
附加项2
|
<变量>
|
变量为需要输出的模拟量电压值,范围0.000-10.000V。
|
程序举例
|
Ø AOUT AO#(1)=0.000 输出A1口模拟电压为0V
Ø AOUT AO#(2)=10.000 输出A2口模拟电压为10V
|
表-
指令
|
项目
|
说明
|
条件等待(WAIT)
条件等待(WAIT)
|
指令功能
|
当您所设定的条件满足时,则程序往下执行;当您所设定的条件不满足时,则程序一直停在这里,直到满足您所设定的条件为止。若设定了后面的时间,当条件不满足时,设定时间满足后则会继续执行下面的程序。
|
附加项1
|
X<变量号>==ON/OFF
M<变量号>==ON/OFF
|
判断输入口X<变量号>的状态是ON还是OFF。变量号范围参考《硬件说明书》。
|
判断辅助继电器M<变量号>的状态是ON还是OFF。变量号范围参考《PLC说明书》。
|
附加项2
|
T=<变量>
|
等待时间,单位:1MS。T=0一直等待所设条件;T≠0时,条件和时间一个先到就往下执行。
|
程序举例
|
Ø WAIT X#(0)==ON T=0 持续等待X0口有效。
Ø WAIT M#(1)==OFF T=500 在500MS内等待M1继电器有效,否则顺序执行。
|
表-
指令
|
项目
|
说明
|
延时指令(TIME)
|
指令功能
|
在指定时间能等待(延时),时间结束,程序往下执行。
|
附加项
|
T=<变量>
|
指定(延时)等待时间,变量单位:1MS,范围:0-99999
|
程序举例
|
TIME T=50 ;延时50MS
|
表-
指令
|
项目
|
说明
|
后台延时
输出
(TDOUT)
|
指令功能
|
用于在后台延时输出状态,该指令在后台执行,不占用程序时间。
|
附加项1
|
Y<变量号>
|
=
|
ON/OFF
|
M<变量号>
|
附加项2
|
T=<变量>
|
指定(延时)等待时间,变量单位:MS,范围:0-99999
|
程序举例
|
Ø DOUT Y#(0)=ON ;输出Y#(0)为ON
Ø TDOUT Y#(0)=OFF T=1000 ;后台延时1000ms输出Y#(0)为OFF
|
表-
指令
|
项目
|
说明
|
暂停
(PAUSE)
|
指令功能
|
1. 无条件暂停,程序暂停,直到按“运行键”程序再继续执行。
2. 有条件暂停,只有当后面条件满足时,程序暂停,否则连续运行。
|
附加项1
|
[空白]
|
无条件暂停(无附加项2)
|
IF
|
条件暂停:条件满足暂停,否则顺序执行。
|
附加项2
|
X<变量号>
|
==
>
<
>=
<=
=
|
ON
OFF
|
各变量号范围:
X/Y:0-559
M:0-4059
GI:0-1023
LI:0-999
GD:0-299
LD/GP/LP:0-999
TC/T:0-59
C/CC:0-19
GS:0-99
|
M<变量号>
|
Y<变量号>
|
T<变量号>
|
C<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
LP<变量号>
TC<变量号>
CC<变量号>
D<变量号>
|
GS<变量号>
|
<字符串>
|
程序举例
|
PAUSE ;无条件暂停
PAUSE IF X#(0)==ON ; 只有当X0=ON时才暂停,否则继续执行。
PAUSE IF GD#(1)==LD#(1) ;只有当GD1=LD1时,程序才暂停,否则继续执行。
|
表-
指令
|
项目
|
说明
|
条件跳转
(JUMP)
条件跳转
(JUMP)
|
指令功能
|
程序跳转指令,分有条件和无条件跳转。
说明:
1、使用此条指令时,要配合使用标号指令(*)。标号就是您所要将程序跳转到的位置。
2、后面不加条件,只要程序执行到此行,则直接跳到标号所处的位置。
3、后面有条件,当程序执行到该行指令时,程序不一定跳转,只有当后面的条件满足时,程序才跳转到标号所处的位置。条件不满足,程序顺序执行。
|
附加项1
|
*<变量>
|
跳转标号、标记,表示跳转到具有*<变量>的位置;变量可以为任意字符、数字。
|
附加项2
|
[空白]
|
无条件跳转
|
IF
|
条件跳转:
若条件满足,跳转到*<变量>所在位置。
若条件不满足,程序顺序执行。
|
附加项3
|
X<变量号>
|
==
>
<
>=
<=
=
|
ON
OFF
|
各变量号范围:
X/Y:0-559
M:0-4059
GI:0-1023
LI:0-999
GD:0-299
LD/GP/LP:0-999
TC/T:0-59
C/CC:0-19
GS:0-99
|
M<变量号>
|
Y<变量号>
|
T<变量号>
|
C<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
LP<变量号>
TC<变量号>
CC<变量号>
D<变量号>
|
GS<变量号>
|
<字符串>
|
程序举例
|
1 * 345T
;标号*345T位置
……
6 JUMP
*SES IF M#(1)==ON ;如果M1=ON,跳转到*SES位
置。
……
12 JUMP
*345T ;无条件跳转*345T位置。
13 *SES ;标号*SES位置
…… ;后续程序
|
表-
指令
|
项目
|
说明
|
子程序
调用
(CALL)
|
指令功能
|
子程序调用指令,包含有条件调用和无条件调用。
说明:
1、子程序的建立和主程序的建立唯一的区别就是在编写完所有的程序之后,子程序的末尾加上RET指令。
2、直接选择或输入程序文件名即可(后面可不加条件),只要程序执行到此行,则直接调用该子程序;若后面有条件,只有当后面的条件满足时,才调用该子程序。
3、在使用call无条件指令时,我们在机器人内部设有固定的子程序调用,用来控制滑台及喷枪(例:自转90度、一枪开启等)。
|
附加项1
|
<程序名>
|
程序名为调用的子程序名称。可通过下拉菜单选择调用的子程序名。
|
附加项2
|
[空白]
|
无条件调用,运行到本行直接调用<程序名>(子程序的程序名)。
|
IF
|
条件调用:
条件满足,调用<程序名>指定的子程序。
条件不满足,程序顺序执行。
|
附加项3
|
X<变量号>
|
==
>
<
>=
<=
=
|
ON
OFF
|
各变量号范围:
X/Y:0-559
M:0-4059
GI:0-1023
LI:0-999
GD:0-299
LD/GP/LP:0-999
TC/T:0-59
C/CC:0-19
GS:0-99
|
M<变量号>
|
Y<变量号>
|
T<变量号>
|
C<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
LP<变量号>
TC<变量号>
CC<变量号>
D<变量号>
|
GS<变量号>
|
<字符串>
|
程序举例
|
Ø CALL 125
;调用程序名为125的子程序
Ø CALL
%SBS IF LD#(1) > LD#(2) ;如果LD1>LD2,则调用SBS子程序。
|
表-
指令
|
项目
|
说明
|
注释
(;)
|
指令功能
|
注释指令,解释说明。在执行程序时,此部分的内容不执行,相当于提示使用者这里是什么意思,主要方便读者更加轻松的理解该程序。
|
附加项
|
;<注释内容>
|
注释内容为用户自己定义内容。便于用户自己查看,理解程序。
|
程序举例
|
;tqzl :注释内容tqzl,本行不执行。
|
表-
指令
|
项目
|
说明
|
跳转标号(*)
|
指令功能
|
标记JUMP跳转位置,需和JUMP指令配合使用。
|
附加项
|
*<变量>
|
变量可以为任意字符或数字。
|
程序举例
|
Ø *ssb4 :标记跳转位置:*ssb4
Ø ……
|
表-
指令
|
项目
|
说明
|
RET
|
指令功能
|
用于子程序的返回。返回调用程序的界面,接CALL程序行后继续运行主程序。
|
附加项
|
无
|
|
程序举例
|
RET ;子程序返回
|
表-
指令
|
项目
|
说明
|
加法
运算
(ADD)
|
指令功能
|
将前一变量和后一变量相加,结果赋值给前一个变量。如:A=A+B。本指令只能使用数据变量。
|
附加项1
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
附加项2
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
D<变量>
|
将前一变量和后一变量相加,结果赋值给前一变量。
|
附加项3
|
[空白]
|
不参考点
|
只在做GP运算时使用。不用时均选择空白。
|
参考GP<变量号>
|
参考本GP点作点运算
|
附加项4
|
[空白]
|
无参考坐标系
|
用户
|
参考用户坐标系
|
工具
|
工具坐标系
|
协同
|
协同坐标系
|
程序举例
|
Ø ADD
TC#(4) GP#1(1) :TC4=TC4+GP1 ;X轴坐标
Ø ADD
CC#(1) 20.5 :CC1=CC1+20.5
|
表-
原文件编号如此,无附加项2。
指令
|
项目
|
说明
|
减法
运算
(SUB)
|
指令功能
|
将前一变量和后一变量相加,结果赋值给前一个变量。如:A=A-B。本指令只能使用数据变量。
|
附加项1
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
附加项2
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
D<变量>
|
将前一变量和后一变量相减,结果赋值给前一变量。
|
附加项3
|
[空白]
|
不参考点
|
只在做GP运算时使用。不用时均选择空白。
|
参考GP<变量号>
|
参考本GP点作点运算
|
附加项4
|
[空白]
|
无参考坐标系
|
用户
|
参考用户坐标系
|
工具
|
工具坐标系
|
协同
|
协同坐标系
|
程序举例
|
Ø SUB
TC#(4) GP#1(1) :TC4=TC4-GP1 ;X轴坐标
Ø SUB
CC#(1) 20.5 :CC1=CC1-20.5
|
表-
指令
|
项目
|
说明
|
乘法
运算
(MUL)
|
指令功能
|
将前一变量乘以后一变量,结果赋值给前一个变量。如:A=A×B。本指令只能使用数据变量。
|
附加项
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
D<变量>
|
将前一变量乘以后一变量,结果赋值给前一个变量。
|
程序举例
|
Ø MUL
TC#(4) GP#1(1) :TC4=TC4×GP1 X轴坐标
Ø MUL
CC#(1) 20.5 :CC1=CC1×20.5
|
表-
指令
|
项目
|
说明
|
除法
运算
(DIV)
|
指令功能
|
将前一变量除以后一变量,结果赋值给前一个变量。如:A=A÷B。本指令只能使用数据变量。
|
附加项
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
D<变量>
|
将前一变量除以后一变量,结果赋值给前一个变量。
|
程序举例
|
Ø DIV
TC#(4) GP#1(1) :TC4=TC4÷GP1 X轴坐标
Ø DIV
CC#(1) 20.5 :CC1=CC1÷20.5
|
表-
指令
|
项目
|
说明
|
加1
运算
(INC)
|
指令功能
|
将变量加数字1,结果赋值给变量。如:A=A+1。本指令只能使用数据变量,多用于计数。
|
附加项
|
GI<变量号>
|
将变量加数字1,结果赋值给变量。
|
LI<变量号>
|
GD<变量号>
|
LD<变量号>
|
GP<变量号>
<数据号>
|
LP<变量号>
<数据号>
|
TC<变量号>
|
CC<变量号>
|
程序举例
|
Ø INC
TC#(4) :TC4=TC4+1
Ø INC
CC#(1) :CC1=CC1+1
|
表-
指令
|
项目
|
说明
|
减1
运算
(DEC)
|
指令功能
|
将变量减数字1,结果赋值给变量。如:A=A-1。本指令只能使用数据变量,多用于计数。
|
附加项
|
GI<变量号>
|
将变量减数字1,结果赋值给变量。
|
LI<变量号>
|
GD<变量号>
|
LD<变量号>
|
GP<变量号>
<数据号>
|
LP<变量号>
<数据号>
|
TC<变量号>
|
CC<变量号>
|
程序举例
|
Ø INC
TC#(4) :TC4=TC4-1
Ø INC
CC#(1) :CC1=CC1-1
|
表-
指令
|
项目
|
说明
|
赋值
(SET)
|
指令功能
|
将后一变量的值赋给前一变量,如A=B。本指令只能使用数据变量。
|
附加项
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
D<变量>
|
将后一变量的值赋给前一变量。
|
程序举例
|
Ø SET
TC#(4) GP#1(1) :TC4=GP1 X轴坐标
Ø SET
CC#(1) TC#(1) :CC1=TC1
Ø SET
TC#(1) 5.000 :TC1=5
|
表-
指令
|
项目
|
说明
|
码垛
(PALLET)
|
指令功能
|
运行码垛工艺。运行本指令,程序将调用预先设定好的码垛工艺,变量号为工艺号码,范围0-199。码垛相关信息详见《码垛工艺说明》。
|
附加项
|
#<变量号>
|
变量号为需要调用的码垛工艺号码。
|
程序举例
|
PALLET#(1)
:调用码垛工艺1
|
表-
指令
|
项目
|
说明
|
起弧
(ARC
START)、
收弧(ARC
END)
|
指令功能
|
运行本指令,程序将调用预先设定好的焊接参数,起弧。变量号为焊接参数文件号,范围0-7。
该两条指令成对使用。焊接相关信息详见《焊接工艺说明》。
|
附加项
|
#<变量号>
|
变量号为需要调用的焊接参数文件号。
|
程序举例
|
Ø ARCSTART#(1)
调用焊接参数文件1,起弧开始,焊接
Ø ……
Ø ARCEND#(1)
起弧结束,焊接完成
|
表-
指令
|
项目
|
说明
|
摆弧
(WEAVE)
摆弧结束
(WEAVEEND)
|
指令功能
|
运行本指令,程序将调用预先设定好的摆弧参数,摆弧。变量号为摆动焊接参数文件号,范围0-7。
该两条指令成对使用。摆弧相关信息详见《焊接工艺说明》。
|
附加项
|
#<变量号>
|
变量号为配对使用摆弧指令的焊接参数文件号。
|
程序举例
|
WEAVE#(1)
……
WEAVEEND#(1)
|
调用摆弧参数文件1,摆弧。
摆弧路径
摆弧结束
|
表-
焊接摆弧综合实例:
Ø ARCSTART #(1) ;调用1号焊接参数进行焊接
Ø WEAVESINE #(1) ;调用1号摆动参数
Ø MOVL VL=100MM/S PL=0 ;走焊接轨迹
Ø WEAVEEND ;摆动结束
Ø ARCEND #(1) ;1号焊接工艺结束
指令
|
项目
|
说明
|
伺服通
讯点焊
(SPOT)
|
指令功能
|
针对焊接压力曲线工艺,配合点焊焊机使用。
注:要使用SPOT指令,需先在机构参数27号设置为5(点焊工艺),才能选择。
|
附加项
|
#<文件号>
|
焊接压力曲线文件号
|
S<文件号>
|
通讯焊机内焊接工艺
|
P<变量>
|
点焊保持压力
|
程序举例
|
Ø MOVL… ;直线运动一段距离
Ø SPOT(0)
S(0)P(20) ;调用系统点焊压力曲线文件(0)和焊机内部焊接工艺(0),保持压力(20)
Ø MOVL… ;直线运动一段距离
Ø SPOT(0)
S(0)P(20)
Ø MOVL…
|
表-
指令
|
项目
|
说明
|
鱼鳞焊开始
(STITCHSTART)
鱼鳞焊结束
(STITCHEND)
|
指令功能
|
STITCHSTART鱼鳞纹焊接开始,与起弧指令ARCSTART配合使用。
STITCHEND鱼鳞纹焊接结束,与收弧指令ARCEND配合使用。
|
附加项
|
T<变量>ms
|
点焊时间,单位ms
|
L2<变量>mm
|
空走距离,单位mm
|
L1<变量>mm
|
焊接距离,单位mm
|
KL1<变量>mm
|
焊接距离,单位mm使用鱼鳞焊KL1功能后,焊接时不检测起弧及灭弧反馈信号,机器人在鱼鳞焊时,不会停止,一直运动到灭弧点。
|
程序举例
|
Ø ARCSTART#(0)
;打开焊接工艺(0)
Ø STITCHSTART
T=300 L2=3.0 ;开始鱼鳞焊接,点焊300ms,空走3mm,再点焊300ms
Ø MOVL
VL=30MM/S PL=0 ;焊接轨迹,鱼鳞焊功能接入,空走的速度为30MM/S,焊接轨迹是直线
Ø STITCHEND
;鱼鳞焊接结束
Ø ARCEND#(0)
;焊接工艺(0)结束
|
表-
指令
|
项目
|
说明
|
打开激光
(OPENLASER)
关闭激光
(CLOSELASER)
|
指令功能
|
在激光寻位中,用于打开和关闭激光。
|
附加项
|
#<文件号>
|
系统设置的对应激光跟踪工艺号。
|
程序举例
|
Ø OPENLASER#(0)
;打开激光,调用激光工艺(0)
Ø CLOSELASER
;关闭激光
|
表-
指令
|
项目
|
说明
|
激光搜寻
(SEARCHLASER)
|
指令功能
|
在激光跟踪中,用于激光搜寻焊缝起点。
|
附加项
|
#<文件号>
|
激光跟踪器上设置的对应激光跟踪工艺号。
|
程序举例
|
Ø ASEARCHLASER#(0)
;激光搜寻焊缝起点,调用激光跟踪器工艺(0)
|
表-
指令
|
项目
|
说明
|
打开激光跟踪
(OPENLASERTRACK)
关闭激光跟踪
(CLOSELASERTRACK)
|
指令功能
|
在激光跟踪焊接中,用于打开和关闭激光跟踪。
|
附加项
|
#<文件号>
|
跟踪器对应激光跟踪工艺号。
|
程序举例
|
Ø OPENLASERTRACK#(0)
;打开激光功能,调用激光工艺(0)
Ø CLOSELASERTRACK
; 关闭激光跟踪
|
表-
激光跟踪综合示例:
Ø MOVJ VJ=50% PL=0 ;关节运动
Ø OPENLASER#(0) ;打开激光,调用系统(0)号激光工艺
Ø MOVL VL=100MM/S PL=0 ;直线运动到焊接起始点
Ø SEARCHLASER#(1) ;激光搜寻,调用跟踪器(1)号工艺
Ø ARCSTART #(0) ;焊接开始,调用(0)号焊接工艺
Ø OPENLASERTRACK#(1) ;打开激光跟踪,调用跟踪器(1)号工艺
Ø MOVL VL=10MM/S PL=0 ;焊接轨迹
Ø CLOSELASERTRACK ;关闭激光跟踪
Ø ARCEND#(0) ;焊接结束
Ø CLOSELASER ;关闭激光
指令
|
项目
|
说明
|
速度改变
(SPEED)
|
指令功能
|
本指令通过附加项的比例值,乘以之后程序行的速度,来调整其后关节运行行速度。
VJ<比例>对其后VJ速度有效。VL<比例>对气候VL速度有效。
SPEED
VJ=100或SPEED VL=100取消速度改变功能。
本指令主要用于需要对某部分程序行调速时使用。而再现模式中的运行倍率对整个程序都有效。
|
附加项1
|
VJ=<比例>
|
范围:0-100,对其后VJ速度有效。
|
VL=<比例>
|
范围:0-100,对其后VL速度有效。
|
附加项2
|
[空白]
|
|
GI<变量>
|
范围:1-4096
|
表-
程序举例:
Ø MOVL VL=500MM/S PL=0 ;VL速度变为:500X30%=150MM/S。
;之后VL速度均乘以100%。
Ø SPEDE VJ=100 ;
Ø MOVL VL=500MM/S PL=0 ; VL速度变为:500X100%=500MM/S,等同于没有变速、变速取消。
指令
|
项目
|
说明
|
1.(IF)
2.(ELSEIF)
|
指令功能
|
IF条件判断指令。本指令由IF、ELSEIF(可省略或重复使用)、ELSE、ENDIF构成一个完整结构。
首先判断IF条件是否成立,成立则执行IF之后的语句。
如果IF条件不成立,则判断ELSEIF之后条件(本指令行可根据实际选择使用或不使用),ELSEIF条件成立,则执行ELSEIF之后程序。如果ELSEIF条件不成立,则执行ELSE之后程序。程序结尾使用ENDIF。
|
附加项1
|
X<变量号>
|
==
>
<
>=
<=
=
|
ON/
OFF
|
IF条件判断,条件成立,执行该语句之后程序。
如果IF条件不成立,执行ELSEIF条件判断,如果ELSEIF之后条件成立,则执行ELSEIF之后程序。
如果IF和ELSEIF之后条件都不成立,则执行ELSE之后程序。
ENDIF结束IF判断。
|
M<变量号>
|
Y<变量号>
|
T<变量号>
|
C<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
LP<变量号>
TC<变量号>
CC<变量号>
D<变量号>
|
GS<变量号>
|
<字符串>
|
附加项2
|
编号
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
一个完整指令结构所使用的编号和另一个完整指令结构编号可以相同。
标号范围:0-8。
|
3.(ELSE)
4.(END
IF)
|
附加项
|
编号
|
指令结构标号,标号范围:0-8。
|
|
|
|
|
|
|
|
表-
程序举例1(IF):
Ø RIF X#(0)==ON 0 ;如果X0=ON执行下条指令。
Ø INC TC#(0) ;TC0=TC0+1
Ø ELSEIF X#(1) = =OFF ;如果X0=OFF,执行下条指令。
Ø DEC TC#(0) ;TC0=TC0-1
Ø ELSE 0 ;如果都不满足,则执行下条指令。
Ø ADD TC#(0) TC#(0) ;TC0=TC0+TC0
Ø END IF 0 ;IF指令结束
程序举例2(ELSEIF):
Ø IF X#(0)==ON 0 ;如果X0=ON。执行TC0=TC0+1
Ø INC TC#(0)
Ø ELSEIF X#(1)==ON 0 ;如果X1=ON,执行TC0=TC0+2
Ø ADD TC#(0) 2.000
Ø ELSEIF X#(2)==ON 0 ;如果X2=ON,执行TC0=TC0+3
Ø ADD TC#(0) 3.000
Ø ELSE 0 ;否则,执行
Ø TC0=TC0+TC0
Ø ADD TC#(0) TC#(0)
Ø ENDIF 0 ;0号IF指令结构结束
程序举例3(ELSE):
Ø IF X#(1)==ON 0 ;如果X1=ON。执行TC0=TC0+1
Ø INC TC#(0)
Ø ELSE 0 ;否则执行TC0=TC0+3
Ø ADD TC#(0) 3.000
Ø END IF 0 ;0号IF指令结构结束
Ø IF X#(1)==OFF 0 ;如果X1=OFF,执行TC0=TC0+4
Ø ADD TC#(0) 4.00
Ø ELSE 0 ;否则执行TC0=TC0+5
Ø ADD TC#(0) 5.00
Ø END IF 0 ;0号IF指令结构结束
(备用)
指令
|
项目
|
说明
|
循环
(WHILE)
|
指令功能
|
WHILE循环指令,本指令由WHILE和ENDWHILE构成一个完整结构。
当WHILE后的条件满足要求时,即条件为ON时,执行WHILE和ENDWHILE里面的程序,直到WHILE条件后的指令不满足要求,则退出该循环。
判断条件一定要在循环部分中进行设置,否则会死循环。
|
附加项1
|
X<变量号>
|
==
>
<
>=
<=
=
|
ON/
OFF
|
WHILE循环指令的条件判断。
当条件满足要求时,即条件为ON时,执行WHILE和ENDWHILE之间的程序行。
当条件不满足时,程序跳出该循环区间,执行ENDWHILE之后程序行。
|
M<变量号>
|
Y<变量号>
|
T<变量号>
|
C<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
LP<变量号>
TC<变量号>
CC<变量号>
D<变量号>
|
GS<变量号>
|
<字符串>
|
附加项2
|
编号
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
一个完整指令结构所使用的编号和另一个完整指令结构编号可以相同。
标号范围:0-8。
|
结束循环
(ENDWHILE)
|
附加项
|
编号
|
结束指令结构标号,标号范围:0-8。
|
|
|
|
|
|
|
|
表-
程序举例1:
Ø WHILE <条件><编号> ;判断条件,成立:执行……部分程序行; 不成立:执行ENDWHILE后程序行。
Ø ……
Ø ENDWHILE <编号>
Ø ……
程序举例2:
Ø SET TC#(1) 0.000 ;赋值TC1=0
Ø WHILE TC#(1) < 20 0 ;如果TC1<20,执行IF部分
Ø IF X#(1)==ON 0 ;IF判断:如果X1=ON则TC1=TC1+1
Ø INC TC#(1)
Ø ELSE 0 ;否则TC1=TC1+2
Ø ADD TC#(1) 2.000
Ø ENDIF 0 ;IF判断结束
Ø ENDWIHILE 0 ;如果TC1≮20,则执行TC1=15
Ø SET TC#(1) 15.000
指令
|
项目
|
说明
|
1.SWITCH
|
指令功能
|
SWITCH条件选择指令,本指令由SWITCH、CASE(可重复使用)、BREAK、DEFAULT、ENDSWITCH构成一个完整的指令结构。
计算SWITCH后变量的值,判断和那个CASE后的数值相等。
找到相等CASE后,程序从该位置开始执行,执行到第一个BREAK结束,并跳转到ENDSWITCH行。
|
附加项1
|
X<变量号>
M<变量号>
Y<变量号>
T<变量号>
C<变量号>
|
状态变量,CASE内容为0或者1。
|
GI<变量号>
LI<变量号>
GD<变量号>
LD<变量号>
GP<变量号>
<数据号>
LP<变量号>
<数据号>
TC<变量号>
CC<变量号>
|
数据变量,CASE内容为具体数据。
|
GS<变量号>
|
字符变量,CASE内容为具体字符。
|
附加项2
|
<编号>
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
同程序中指令结构标号可以相同。
标号范围:0-8。
|
表-
程序举例:
Ø SWITCH TC#(2) 0 ;SWITCH计算变量TC2,CASE10即TC2=10执行输出A1口1V电压
Ø CASE 10 0
Ø AOUT AO#(1)=1.000
Ø BREAK 0 ;CASE10结束转到ENDSWITCH
Ø CASE 20 0 ;CASE20即TC2=20执行输出A1口2V电压
Ø AOUT AO#(1)=2.000
Ø BREAK 0 ;CASE20结束转到ENDSWITCH
Ø CASE 30 0 CASE30即TC2=30执行输出A1口3V电压
Ø AOUT AO#(1)=3.000
Ø BREAK 0 ;CASE30结束转到ENDSWITCH
Ø CASE 40 0 ;CASE40即TC2=40执行输出A1口4V电压
Ø AOUT AO#(1)=4.000
Ø BREAK 0 ;CASE40结束转到ENDSWITCH
Ø CASE 50 0 ;CASE50即TC2=50执行输出A1口5V电压
Ø AOUT AO#(1)=5.000
Ø BREAK 0 ;CASE50结束转到ENDSWITCH
Ø CASE 60 0 ;CASE60即TC2=60执行输出A1口6V电压
Ø AOUT AO#(1)=6.000
Ø BREAK 0 ;CASE60结束转到ENDSWITCH
Ø CASE 70 0 ;CASE70即TC2=70执行输出A1口7V电压
Ø AOUT AO#(1)=7.000
Ø BREAK 0 ;CASE70结束转到ENDSWITCH
Ø CASE 80 0 ;CASE80即TC2=80执行输出A1口8V电压
Ø AOUT AO#(1)=8.000
Ø BREAK 0 ;CASE80结束转到ENDSWITCH
Ø CASE 90 0 ;CASE90即TC2=90执行输出A1口9V电压
Ø AOUT AO#(1)=9.000
Ø BREAK 0 ;CASE90结束转到ENDSWITCH
Ø DEFAULT 0 ;TC2的结果不等于以上数值,则执行输出A1口10V电压
Ø AOUT AO#(1)=10.000
Ø ENDSWITCH 0 ;SWITCH指令结束
指令
|
项目
|
说明
|
2.CASE
|
指令功能
|
SWITCH条件选择指令,本指令由SWITCH、CASE(可重复使用)、BREAK、DEFAULT、ENDSWITCH构成一个完整的指令结构。
计算SWITCH后变量的值,判断和那个CASE后的数值相等。
找到相等CASE后,程序从该位置开始执行,执行到第一个BREAK结束,并跳转到ENDSWITCH行。
|
附加项
|
<数据>
|
SWITCH后变量的可能值。
|
|
|
<编号>
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
同程序中指令结构标号可以相同。
标号范围:0-8。
|
表-
程序举例:
Ø SWITCH TC#(1) 0 ;SWITCH计算变量TC1
Ø CASE 1 0
Ø CASE 2 0
Ø CASE 3 0
Ø CASE 4 0
Ø CASE 5 0
Ø DOUT Y#(18)==ON ;TC1=1/2/3/4/5都执行输出Y18口有效(Y18=ON)
Ø BREAK 0 ;CASE1-5结束转到ENDSWITCH
Ø DEFAULT 0 ;;TC1不等于以上数据则,输出Y18关闭(Y18=OFF)
Ø DOUT Y#(18)==OFF
Ø ENDSWITCH 0 ;SWITCH指令结束
指令
|
项目
|
说明
|
条件选择(SWITCH
→DEFAULT)
|
指令功能
|
WITCH条件选择指令,本指令由SWITCH、CASE(可重复使用)、BREAK、DEFAULT、ENDSWITCH构成一个完整的指令结构。
如果计算变量的值都不等于CASE后数值,程序则执行DEFAULT行程序。
|
附加项
|
<编号>
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
同程序中指令结构标号可以相同。
标号范围:0-8。
|
表-
程序举例:
Ø SWITCH <变量><编号>
Ø CASE <数值><编号>
Ø ……
Ø BREAK <编号>
Ø DEFAULT <编号>
Ø ……
Ø ENDSWITCH <编号>
指令
|
项目
|
说明
|
条件选择(SWITCH
→ENDSWITCH)
|
指令功能
|
SWITCH条件选择指令,本指令由SWITCH、CASE(可重复使用)、BREAK、DEFAULT、ENDSWITCH构成一个完整的指令结构。
SWITCH指令结束标志,表示SWITCH指令结束。
|
附加项
|
<编号>
|
指令结构标号,一个完整的指令结构内该标号必须一致,否则程序将报错或跳出。
同程序中指令结构标号可以相同。
标号范围:0-8。
|
表-
程序举例:
Ø SWITCH <变量><编号>
Ø CASE <数值><编号>
Ø ……
Ø BREAK <编号>
Ø DEFAULT <编号>
Ø ……
Ø ENDSWITCH <编号>
指令
|
项目
|
说明
|
轴脉冲跳转
(PULSETRANSFORM)
|
指令功能
|
本指令由PULSETRANSFORM和PULSETRANSRORMEND构成一个完整指令结构。
本指令将输出轴的脉冲转移到输入轴上,即原来发脉冲给输出轴运动;执行本指令后,脉冲输入到输入轴,输入轴按照所输入脉冲运动,输出轴将停止运动,输入轴原有脉冲也无效。
本指令对关节坐标有效。
|
附加项
|
<输出轴号>
|
输出轴为需要被跳转的轴号,输入轴为跳转到的轴号,范围:1-8。
|
<转入轴号>
|
表-
程序举例:
Ø PULSETRANSFORM#(1)(2)
Ø ……
Ø PULSETRANSFORMEND
指令
|
项目
|
说明
|
轴脉冲跳转结束
(PULSETARANSFORMEND)
|
指令功能
|
本指令由PULSETRANSFORM和PULSETRANSRORMEND构成一个完整指令结构。
本指令将输出轴的脉冲转移到输入轴上,即原来发脉冲给输出轴运动;执行本指令后,脉冲输入到输入轴,输入轴按照所输入脉冲运动,输出轴将停止运动,输入轴原有脉冲也无效。
本指令对关节坐标有效。
|
附加项
|
(无)
|
|
程序举例
|
PULSETRANSFORM#(1)(2)
……
PULSETRANSFORMEND
|
表-
指令
|
项目
|
说明
|
定位完成
(MOTIONFINISH)
|
指令功能
|
定位完成对MOTIONFINISH指令前一行移动(MOVJ、MOVL、MOVC)程序有效。
工作过程:前一行移动程序将准确移动到程序设定位置,这个过程中,系统将走完该行程序缓冲区所有数据,然后比较电机编码器反馈数据,直到电机反馈位置与程序行设定位置一致(通俗讲:就是系统脉冲要发完,电机也要停止到位,误差要在允许范围),MOTIONFINISH指令才结束。否则将等待在该指令行,当超过该指令内部设定时间后,系统将提示:定位完成超时。
|
附加项
|
(无)
|
|
程序举例
|
Ø MOVL
VJ=10% PL=5 ;准确移动到该行指定位置
Ø MITIONFINISH
;运行定位完成指令,对上一行移动程序有效。
|
表-
指令
|
项目
|
说明
|
轴禁止
(FORBIDAXIS)
轴禁止解除
(FORBIDAXIS
END)
|
指令功能
|
FROBIDAXIS和FORBIDAXISEND两条指令需成对使用。
禁止设定轴移动和解除设定轴禁止移动状态。
用于需要某些需要禁止某轴移动的场合,禁止移动结束后需要解除该状态。
本指令对关节坐标有效。
|
附加项
|
<轴号>
|
设定需要禁止移动或解除禁止移动的轴号。
|
程序举例
|
Ø FORBIDAXIS#(1)
;禁止J1轴移动
Ø …… ;中间程序
Ø FORBIDAXISEND#
(1) ;解除J1轴禁止状态
|
表-
指令
|
项目
|
说明
|
坐标计算
(COUNTCOORD)
|
指令功能
|
执行该指令,系统读取当前各轴编码器数据,然后计算到当前坐标中。
|
附加项
|
[空白]
|
|
程序举例
|
COUNTCOORD
;读取所有轴编码器数据,计算坐标。
|
表-
指令
|
项目
|
说明
|
冲压状态开始
(JUDGESTART)
冲压状态结束
(JUDGEEND)
|
指令功能
|
冲压状态开始。
冲压状态结束。
|
附加项
|
X<变量号>
M<变量号>
Y<变量号>
|
==
|
OFF/
ON
|
JUDGESTART条件判断,条件成立,执行该语句之后程序。
|
<状态值>
|
stop=值(0和1两个选项,0代表不停机,1代表停机)。
|
<报警号>
|
报警内容为报警号JD001的内容。
|
<编号>
|
指标号范围:0-8。
|
程序举例
|
Ø JUDGESTART X0==OFF stop1 JD001 0
Ø ……
Ø JUDGEEND;如果X0=OFF,则系统报警,并停机。报警内容为报警号JD001的内容;掉料报警可添加多段;标号用以区分开始与结束的组别。默认标号为0。
|
表-
指令
|
项目
|
说明
|
超时报警
(OTALAR)
|
指令功能
|
执行该指令,系统后台检测相应的输入信号,条件不满足则报警。
|
附加项
|
X<变量号>
M<变量号>
Y<变量号>
|
==
|
OFF/
ON
|
执行超时报警指令,后台检测X,M,Y的信号 。
|
<时间>
|
等待时间
|
<报警号>
|
弹框显示报警号。
|
程序举例
|
Ø OTALAR X#(0)==OFF T=3000 OT008;后台检测X0的信号,等待1000ms,X0==OFF还不满足,则报警。
|
表-
指令
|
项目
|
说明
|
视觉运行
(RUN
VISION)
|
指令功能
|
视觉运行指令,系统将调用指令参数中设定的工艺号相关参数,然后与系统建立连接关系。
当工艺文件选择定时或定距触发时,运行本指令后,视觉系统将开始按照设定连续触发。获得数据存入系统。
连接过程在程序连续运行时,将保持,直到程序完成退出时才断开。即:一个程序有多个本指令时,只生效第一个,一个程序连续运行时,第一次执行本指令有效,后续执行无效。
|
附加项
|
#<工艺号>
|
视觉文件号码,范围:0-9。一个工艺文件号对应一套视觉系统。
|
程序举例
|
RUNVISION#(0)
;以0号工艺文件参数建立系统与视觉之间的连接。
|
表-
指令
|
项目
|
说明
|
获得视觉数据
(GET VISON
DATA)
|
指令功能
|
将视觉缓冲区内数据导入到GP52和GP53中(GP52和GP53数值相同)。
|
附加项
|
#<工艺号>
|
视觉文件号码,范围:0-9。一个工艺文件号对应一套视觉系统。
|
程序举例
|
GETVISONDATA
#(0) 将数据导入GP52和GP53中。
|
表-
指令
|
项目
|
说明
|
清除视觉数据
(CLEAR
VISONDATA)
|
指令功能
|
清除当前缓存区内所有视觉数据。
|
附加项
|
#<工艺号>
|
视觉文件号码,范围:0-9。一个工艺文件号对应一套视觉系统。
|
程序举例
|
CLEARVISONDATA#(0)
;清除缓存区内,0号工艺号对应相机所获得的工件数据。
|
表-
指令
|
项目
|
说明
|
视觉指令触发
(TRIGGER
VISON)
|
指令功能
|
当指令对应工艺号文件中选择指令触发时,使用本指令将触发视觉系统工作,计算工件数据,并将得到的数据存入视觉缓冲区中,将数据个数存入存入GI50中。
为了减少延迟,本指令直接通过输出口(Y)触发视觉系统。
|
附加项
|
#<工艺号>
|
视觉文件号码,范围:0-9。一个工艺文件号对应一套视觉系统。
|
程序举例
|
TRIGGERVISON#(0)
;触发0号工艺视觉系统工作。
|
表-
指令
|
项目
|
说明
|
相机程序切换
(CHANGE
VISON)
|
指令功能
|
执行本指令,将通过与视觉系统连接的数据线,切换视觉系统调用的工件计算参数文件。
|
附加项
|
# <文件号>
|
需要切换到的文件名,本系统只支持数字文件名,所以视觉系统中文件也需要使用数字命名。
|
程序举例
|
A工件对应工件计算参数文件为111,B工件对应工件计算参数文件为222。当前视觉系统运行A工件文件。
CHANGVISON#(222)
视觉系统将调用B工件(222)计算参数文件。
|
表-
指令
|
项目
|
说明
|
等待触发结果
(WAITTRIGGER)
|
指令功能
|
执行本指令,必须收到数据后才会往下执行,否则,在此指令一直等待结果。
|
附加项
|
无
|
无
|
程序举例
|
WAITTRIGGER
;等待触发结果,没有收到数据,一直在此等待。
|
表-
视觉综合实例:
Ø RUNVISON#(0) ;运行视觉0号工艺。
Ø *22 ;跳转标号:*22。
Ø TRIGGERVISON#(0) ;触发一次,获得相机计算工件数据。
Ø TIME T= 200 ;延时200毫秒
Ø JUMP *22 IF GI#(50)<=0.000 ;判断GI50是否有数据,没有跳转到标号*22,重新触发。
Ø GETVISONDATA#(0) ;得到视觉缓冲区的数据,放在GP52和GP53中。
Ø ADD GP#53(3) 10.000 ;GP53的Z方向上提10MM,防止装到物体。
Ø MOVL VL=500MM/S GP#53 PL=0 ;运行到GP53安全点。
Ø MOVL VL=100MM/S GP#52 PL=0 ;运行到GP52抓取点。
Ø DOUT Y#(1)=ON ;抓取
Ø MOVL VL=500MM/S GP#53 PL=0 ;运行到GP53安全点。
Ø ……
后续放物体轨迹、动作。
指令
|
项目
|
说明
|
跟踪开始(TARCKSTART)
|
指令功能
|
系统调用工艺跟踪文件参数,将缓存区当前物体位置数据放到GP50和GP51中(GP50和GP51相同),此时GP50和GP51数据均为适时动态的。直接调用GP50和GP51数据即可开始跟踪。
|
附加项
|
#<工艺号>
|
跟踪文件号,范围:0-9。
|
<阻塞/不阻塞>
|
阻塞,一直到物体过A点得到数据程序再往下执行。
不阻塞,不用等到数据,直接往下执行。
|
程序举例
|
TRACKSTART#(0)
阻塞 ;等物体过A点得到准备GP50和GP51数据。
|
表-
指令
|
项目
|
说明
|
跟踪结束(TARCK
END)
|
指令功能
|
追踪结束,机器人停止追踪工件。GP50和GP51数据不再适时。
|
附加项
|
# <工艺号>
|
跟踪文件号。范围:0-9。
|
程序举例
|
TRACKEND#(0)
停止工件追踪。
|
表-
指令
|
项目
|
说明
|
获得跟踪数据
(GET
TRACKDATA)
|
指令功能
|
调用跟踪文件号设定参数,判断跟踪缓存区的数据。如果没有数据,等待。工件没有进入AB范围,等待。工件超出B点放弃这组数据,等待。
|
附加项
|
# <工艺号>
|
跟踪文件号。范围:0-9。
|
X<数据>
Y<数据>
Z<数据>
|
各轴补偿数据,如果不需要补偿,则设置为0。
|
程序举例
|
GETRTACKDATA#(0)
X#(0.0) Y#(0.0) Z#(0.0);判断缓存区数据是否有效。XYZ轴补偿为0。
|
表-
指令
|
项目
|
说明
|
清除跟踪数据(CLEAR
STACK DATA)
|
指令功能
|
清除工艺文件对应跟踪缓存区数据。在某些需要清除缓存区的场合使用。
|
附加项
|
# <工艺号>
|
跟踪文件号。范围:0-9。
|
X<数据>
Y<数据>
Z<数据>
|
各轴补偿数据,如果不需要补偿,则设置为0。
|
程序举例
|
CLEARTRACKDATA#(0);清除0号跟踪文件对应缓存区数据。
|
表-
指令
|
项目
|
说明
|
后台IO检测(RUN IO
CUTIN)
|
指令功能
|
运行本指令,IO检测点将持续不停的检测,是否有物体通过该检测点。如有物体通过,则将当前数据存入缓存区,以备调用。
|
附加项
|
# <工艺号>
|
跟踪文件号。范围:0-9。
|
X<数据>
Y<数据>
Z<数据>
|
各轴补偿数据,如果不需要补偿,则设置为0。
|
程序举例
|
RUNIOCUTIN#(0)
;后台IO启动,监测点持续检测。
|
表-
跟踪综合实例:
Ø MOVL VL=500.00MM\S PL=0 ;运行到中间点上方,等待抓取。
Ø RUNIOCUTIN #(1) ;运行后台IO检测,如果有物体经过IO检测点,会把当前位置压入缓存区。
Ø GETTRACKDATA#(1) X#(0.0) Y#(0.0) Z#(0.0) ;判断跟踪缓存区的数据,如果没有数据,等待;数据没有进入AB范围,等待;数据超出B点,放弃这组数据,等待。
Ø TREACKSTART #(1) ;跟踪开始,将缓存区中当前工件数据放在GP50和GP51里面。
Ø ADD GP#51(3) 10.000 ;GP51的Z方向增加10mm,将GP51作为安全位置。(3)含义参考GP变量单轴数据操作。
Ø MOVL VL=500MM/S GP#51 PL=0 ;移动到GP51安全点。
Ø MOVL VL=100MM/S GP#50 PL=0 ;移动到GP50跟踪点。
Ø DOUT Y#(0) =ON ;输出Y0有效,抓取物体。
Ø MOVL VL=500MM/S GP#51 PL=0 ;提起物体,到GP51安全点。
Ø TRACKEND #(1) ;跟踪结束。
Ø ……
后续操作步骤。详见《跟踪工艺说明书》。
指令
|
项目
|
说明
|
读取IO口BCD数据
(READIOBCD)
|
指令功能
|
读取X输入口状态,输入到设定的变量中。
|
附加项
|
GI<变量>
X<端口>
B<个数>
|
数据存储变量。
读取X输入口的起始位置。
读取X口的个数。
|
程序举例
|
READIOBCD
#(20) #(0) #(4);读取X0-X3口(4个接口)状态数据,储存到GI20变量中。
|
表-
指令
|
项目
|
说明
|
读取数据到
(READ
DATA TO)
|
指令功能
|
通过串口通讯数据到后面的变量中,通讯串口号和通讯功能需在操作参数中设置。
本功能主要用于读取条码,代码等。
|
附加项
|
GI<变量号>
GD<变量号>
GS<变量号>
|
通讯数据到GI变量。
通讯数据到GD变量。
通讯数据到GS变量。
|
程序举例
|
READDATATO
GI#(20) ;读取串口数据到变量GI20中。
|
表-
指令
|
项目
|
说明
|
把10进制输出到IO
(SETBCDIO)
|
指令功能
|
通过串口通讯数据到后面的变量中,通讯串口号和通讯功能需在操作参数中设置。
本功能主要用于读取条码,代码等。
|
附加项
|
GI<变量号>
|
变量号,将该变量中的十进制数据转二进制通讯数据到GD变量。
|
Y<变量号>
|
输出起始口号,从该接口开始输出。为二进制的低位。
|
B<变量号>
|
接口数,输出多少个接口。
|
程序举例
|
SETBCDIO
GI2 Y#15 B#4;输出到Y15开始的4个接口Y15-Y18。8转二进制为1000,则Y18-Y15为1 0 0 0 。Y18输出有效。Y17、Y16、Y15输出无效。
|
表-
本指令为备用。
指令
|
项目
|
说明
|
程序复位(RESET)
|
指令功能
|
执行本指令,系统将逐级退回到程序的首行位置停止。
就算当前运行在子程序中,使用本指令后,系统也将退出子程序,并返回到主程序首行停止。
|
附加项
|
(无)
|
|
程序举例
|
1 …… ;主程序XX内容
8 CALL
123 ;调用123子程序
9 …… ;子程序结束后执行内容
---------
1 …… ;子程序123内容
4 RESET ; 程序复位
5 RET ;子程序返回
|
|
|
上述程序组合中,执行到子程序123中的第4行RESET指令时,系统将直接跳转到主程序XX的第一行停止。
如果子程序123中,没有RESET指令,执行到子程序的RET指令时,系统将跳转到主程序的第9行继续执行。
|
表-
指令
|
项目
|
说明
|
程序指针跳转(CHANGEP)
|
指令功能
|
移动自动运行时行数指针。
如:自动运行时停止在第18行。使用CHANGEP#(-2)指令,程序停止行位置将跳转到18-2=16行位置。
|
附加项
|
<行数>
|
需要跳转行数,正数向后;负数向前跳转。
|
程序举例
|
CHANGEP#(-2);停止行数向后跳转两行,如停止在18行,执行本指令后将跳转到18-2=16行。
|
表-
指令
|
项目
|
说明
|
寻位开始(SEARCHSTART)
|
指令功能
|
寻位开始,调用1号寻位工艺。
寻位结束。
|
附加项
|
<文件号>
|
需要调用的寻位文件号,寻位工艺参数中设置;
寻位完成后关闭寻位。
|
程序举例
|
SEARCHSTART#(1)
;调用寻位1号工艺
SEARVCHEND
;寻位结束
|
表-
指令
|
项目
|
说明
|
偏移开始
(OFFSETSTART)
偏移结束
(OFFSETEND)
|
指令功能
|
偏移开始,调用偏移量OP
偏移结束
|
附加项
|
<文件号>
|
需要调用的偏移变量OP,由旗标点和寻位位置计算生成;
偏移结束。
|
程序举例
|
Ø OFFSETSTART
OP#(1) ;偏移开始,偏移量为OP(1)变量
Ø OFFSETEND
;偏移结束
|
表-
指令
|
项目
|
说明
|
计算偏移量
(COUNT
OFFSET)
|
指令功能
|
移动自动运行时行数指针。如:自动运行时停止在第18行。使用CHANGEPOINT#(-2)指令,程序停止行位置将跳转到18-2=16行位置。
|
附加项
|
角焊缝
|
|
程序举例
|
Ø COUNTOFFSET
角焊缝 2D+ 参考OP#(1) 保存OP#(2)线:NP#(3)
NP#(4) 点:NP#(5) USE#(0);
Ø 角焊缝2D+旋转,在用户坐标系#(0)中,两个点NP3和NP4确定一条线,加上一个点NP5确定一个面,参考OP(1),计算出变量保存到OP(2)中。
Ø 详细使用方法请参考《CRP寻位功能说明书》
|
表-
寻位综合实例:
图-
如图上工件的寻位过程:
Ø SEACHSTART 0 ;寻位开始
Ø MOVL VL=100 PL=0 TOOL=1 ;a点
Ø MOVL VL=100 PL=0 TOOL=1 SEACH NP0 ;b点寻c点,自动退d点,数据存NP0
Ø MOVL VL=100 PL=0 TOOL=1 ;e点
Ø MOVL VL=100 PL=0 TOOL=1 SEACH NP1 ;f点寻g点,自动退h点,数据存NP1
Ø SEACHEND ;寻位结束
Ø COUNTOFFSET 角焊缝 2D NP0
NP1 OP1 ;数据计算。放入OP1中。
Ø OFFSETSTART OP[1] ;开始偏移OP1
Ø MOVL VL=100 PL=0 TOOL=1 ;偏移数据部分程序
Ø ……
Ø OFFSETEND ;偏移结束
指令
|
项目
|
说明
|
计时开始
(STARTTIME)
计时结束
(ENDTIME)
|
指令功能
|
计时开始。
计时结束。
|
附加项
|
(无)
|
程序举例
|
STARTTIME;计时开始
……
ENDTIME;计时结束
|
表-
指令
|
项目
|
说明
|
多圈轨迹开始
(MULTITURNSTART)
多圈轨迹结束
(MULTITURNEND)
|
指令功能
|
备用
|
附加项
|
(无)
|
程序举例
|
|
表-
指令
|
项目
|
说明
|
计算负载率指令
(COUNTLOADFAC)
|
指令功能
|
执行指令,系统会在程序停止时进行负载率计算,并将结果放在对应的寄存器中。
|
附加项
|
(无)
|
程序举例
|
COUNTLOADFAC
;将计算得出的各轴的负载率取整分别写在GI920- GI927中
|
表-
指令
|
项目
|
说明
|
计算静态转矩百分比指令
(COUNTSTORQUE)
|
指令功能
|
执行指令,系统会在程序停止时进行静态转矩百分比计算,并将结果放在对应的寄存器中。
|
附加项
|
(无)
|
程序举例
|
COUNTSTORQUE
;将计算得出的各轴的静态转矩百分比分别GI930-GI937中。
|
表-
指令
|
项目
|
说明
|
计算动态数据指令
(COUNTDYNASTH)
|
指令功能
|
执行指令,系统会在程序停止时进行动态数据计算,并将结果放在对应的寄存器中。
|
附加项
|
(无)
|
程序举例
|
COUNTDYNASTH
;将计算得出的各轴的静态转矩百分比分别GI94-GI101中。
|
表-
指令
|
项目
|
说明
|
缩放开始
(ZOOMSTART)
缩放结束
(ZOOMEND)
|
指令功能
|
缩放开始,调用1号缩放工艺。
缩放结束。
|
附加项
|
<工艺号>
|
缩放文件号,范围:0-99。
|
程序举例
|
Ø ZOOMSTART(1) ;缩放开始,调用(1)号工艺
Ø ……
Ø ZOOMEND ;缩放结束
|
表-
指令
|
项目
|
说明
|
焊枪角度显示开始
(ANGLEDISPLAY)
焊枪角度显示复位
(ANGLEDISPLAYRST)
|
指令功能
|
执行角度显示指令,才会显示此指令后的直线或者圆弧轨迹时的工具角度。
|
附加项
|
GP<变量号>
<数据号>
|
LP<变量号>
<数据号>
|
程序举例
|
Ø ANGLEDISPLAY
LP0 ;焊枪角度显示开始, 显示数据存放在LP0
Ø ……
Ø ANGLEDISPLAYRST
;焊枪角度显示复位
|
表-
指令
|
项目
|
说明
|
开始塔角计算
(TOWERCOUNTSTART)
结束塔角计算
(TOWERCOUNTEND)
|
指令功能
|
运行该指令,计算当前焊缝在船型状态时,外部轴的角度值,使后面运动程序外部轴强制到达计算出的角度。
|
附加项
|
<焊缝工艺号>0-99
|
<摆弧工艺号>1-4
|
程序举例
|
Ø ANGLEDISPLAY
LP0 ;焊枪角度显示开始,显示数据存放在LP0
Ø ……
Ø ANGLEDISPLAYRST
;焊枪角度显示复位
|
表-
指令
|
项目
|
说明
|
塔角焊缝计算
(TOWERCHANGEWELD)
|
指令功能
|
运行该指令,计算当前焊缝在船型状态时,外部轴的角度值,使后面运动程序外部轴强制到达计算出的角度。
|
附加项
|
<焊缝工艺号>0-99
|
<摆弧工艺号>1-4
|
程序举例
|
Ø TOWERCHANGEWELD(4)(1) ;塔角焊缝计算, 调用工艺号4和摆弧工艺1
Ø ……
Ø TOWERCOUNTEND
;结束塔角计算
|
表-
指令
|
项目
|
说明
|
塔角姿态计算开始
(TOWERCOUNTPOSESTART)
塔角姿态计算结束
(TOWERCOUNTPOSEEND)
|
指令功能
|
塔角姿态计算开始,调用1号姿态工艺。
塔角姿态计算结束。
|
附加项
|
<工艺号>
|
塔角姿态工艺号,范围:1-99。
|
程序举例
|
Ø TOWERCOUNTPOSESTART(1) ;开始塔角姿态计算,调用工艺号1
Ø ……
Ø TOWERCOUNTPOSEEND
;结束塔角姿态计算
|
表-
指令
|
项目
|
说明
|
角钢轨迹计算
(COUNTSTEELANGLE)
|
指令功能
|
角钢轨迹计算,调用1号轨迹工艺。
|
附加项
|
<工艺号>
|
角钢轨迹工艺号,范围:1-99。
|
程序举例
|
Ø TCOUNTSTEELANGLE(1) ;角钢轨迹计算,调用角钢轨迹工艺号1
Ø ……
|
表-
指令
|
项目
|
说明
|
折弯跟随
(BENDTRACK)
|
指令功能
|
折弯工艺中,调用折弯工艺的指令。
|
附加项
|
<工艺号>
|
<平滑度>(平滑越大跟随越慢,机器人越抖)
|
程序举例
|
Ø BENDTRACK#(0)
(13) ;开始跟随,调用折弯工艺(0),平滑度为13
|
表-
指令
|
项目
|
说明
|
折弯同步(BENDSYS)
|
指令功能
|
折弯工艺中,用于同步回程的工艺调用。
|
附加项
|
<工艺号>
|
UP/DOWN(同步回程(上、下))
|
程序举例
|
Ø (原文档有误,这里暂缺)
|
表-
指令
|
项目
|
说明
|
折弯回平(BENDFLATBACK)
|
指令功能
|
折弯工艺中,在检测到回程到位信号后,机器人回平姿态的指令。
|
附加项
|
<工艺号>
|
缩放文件号,范围:0-999。
|
程序举例
|
Ø BENDFLATBACK#(0)
;检测到回程到位信号,机器人回平姿态。
|
表-
折弯综合实例:
Ø MOVL VL=100 PL=0 TOOL=1 ;到折弯点
Ø DOUT Y#(7)=ON ;启动折弯机
Ø BENDTRACK#(0) (13) ;
检测到加压信号开始跟随
Ø BENDSYS#(0) UP ;检测到回程信号开始向上跟随
Ø BENDFLATBACK#(0) ;检测到回程信号到位,机器人回平姿态
Ø TIME T=1000 ;延时1S
Ø DOUT Y#(7)=OFF ;关闭折弯机
Ø WAIT M#(232)==ON DT=0 CT=500 ;等待折弯机回程到位信号,并持续500ms
Ø MOVL VL=200MM/S PL=0 TOOL=2 ;到折弯点
指令
|
项目
|
说明
|
碰撞等级设置(SHCKSET)
|
指令功能
|
设置碰撞检测等级。
|
附加项
|
<预设值号>
|
范围1-7。
|
程序举例
|
Ø SHCKSET#(1)
; 切换碰撞等级预设号1,遇见SHCKRET指令(重启)解除,切换回默认值8号。
|
表-
指令
|
项目
|
说明
|
碰撞等级解除
(SHCKRET)
|
指令功能
|
碰撞检测等级预设号解除。
|
附加项
|
<预设值号>
|
|
程序举例
|
Ø SHCKACT ;解除前面碰撞等级设置指令设置的预设号(没有通过指令设置预设号,使用此指令也不影响,使用系统默认预设号8)。使用再现远程默认设置8号。
|
表-
指令
|
项目
|
说明
|
碰撞检测激活(SHCKACT)
|
指令功能
|
临时激活碰撞检测功能,切换示教模式,关机重启、执行碰撞检测禁用指令失效。
|
附加项
|
(无)
|
|
程序举例
|
Ø SHCKACT ;临时作用,此指令不会改变碰撞检测预设文件中设置的是否启用碰撞检测的设置。
|
表-
指令
|
项目
|
说明
|
碰撞检测禁用指令(SHCKDEACT)
|
指令功能
|
临时激活碰撞检测功能,切换示教模式,关机重启、执行碰撞检测禁用指令失效。
|
附加项
|
(无)
|
|
程序举例
|
Ø SHCKDEACT
;临时作用,此指令不会改变碰撞检测预设文件中设置的是否启用碰撞检测的设置。主要用于某些场景需要的力较大,会报警碰撞,临时关闭,执行操作后开启
|
表-
碰撞等级实例:
Ø CHANGETOOL#(1) ;切换1号工具 必须正确使用工具号,1号为抓取时的带负载工具
Ø MOVJ VJ=100% PL=0 TOOL=1 ;关节运动到等待点
Ø MOVL VL=1000MM/S PL=9 TOOL=1 ;中间过程路径点位
Ø MOVL VL=1000MM/S PL=9 TOOL=1
Ø MOVL VL=200MM/S PL=0 TOOL=1 ;准备进入狭窄空间(机床)
Ø SHCKSET#(1) ;切换1号碰撞等级预设号 因为速度慢,可以将灵敏度加高,这样更容易报警,保护机械。
Ø MOVL VL=50MM/S PL=0 TOOL=1 ;慢速移动靠近
Ø DOUT Y#(0)=ON ;放置工件
Ø TIME T=50
Ø CHANGETOOL#(2) ;切换工具2号,2号为放下工件后的负载数据
Ø MOVL VL=50MM/S PL=0 TOOL=2 ;退出
Ø SHCKRET ;解除2号碰撞等级预设值,使用默认值碰撞检测激活 (SHCKACT)与碰撞检测禁用指令(SHCKDEACT):
Ø MOVL VL=200MM/S PL=0 TOOL=1 ;必须正确使用工具号,1号为抓取时的带负载工具
Ø SHCKDEACT ;碰撞检测禁用指令,工具重量过大
Ø MOVL VL=1000MM/S PL=9 TOOL=1 ;中间过程路径点位
Ø MOVL VL=1000MM/S PL=9 TOOL=1
Ø DOUT Y#(0)=ON ;放工件
Ø SHCKACT ;碰撞检测激活 ,放完工具后负载小
Ø MOVL VL=50MM/S PL=0 TOOL=1 ;运动指令
编辑步骤:
1、将模式开关转到示教模式。
2、选择适合的工具坐标系。
3、进入程序列表界面。(如下图)
图-
4、点击子菜单【新建】按钮(图7.1)。
5、在弹出的窗口中输入新建程序名称(如:5555)。如下图所示。
图-
文件名输入完成后,点击2次确认,此时在程序列表界面将显示新建的程序“5555”,如下图所示。
图-
编程程序的步骤如下:
1、点击子菜单区【打开】图标,打开5555程序后,进入程序编辑界面,如下图所示。
图-
程序光标移动键说明:
光标到屏幕第一行;
△光标向上移动一行;
▽光标向下移动一行;
光标移动到屏幕最后一行。
2、通过示教器上的轴键,移动机器人末端到 程序点1 的位置。点击子菜单【运动】图标,弹出如下窗口,点击【MOVJ】图标。
或者点击主菜单【编程指令】-【1 运动】-【1 MOVJ】,如下图所示。
图-
弹出指令编辑窗口,如下图所示。
可在“注释”后的空白框中直接编辑注释。
如果需要修改数据,直接点击数据区域,将自动弹出数字键盘,如下图所示。输入后点【确定】即可。
图-
按照要求输入相应参数后,点击【指令正确】。该指令行将显示到程序编辑窗口。如下图所示。
图-
程序点1的指令编辑完成。
3、通过示教器上的轴键,移动机器人末端到 程序点2的位置。点击子菜单【运动】图标,弹出如下窗口,点击【MOVJ】图标。
或者点击主菜单【编程指令】-【1 运动】-【1 MOVJ】。
图-
按照要求在窗口输入相应参数后,点击【指令正确】,该指令行将显示到程序编辑窗口,如下图。
图-
注意:同时按下安全开关和【指令正确】按钮才能记录点位信息。
程序点2 的指令编辑完成。
4、重复2或3步骤,编辑程序点3。将VJ速度改为25%,PL值改为0。输入程序点3 的指令行,如下图所示。
图-
5、点击主菜单【编程指令】-【5 焊接】-【1 ARC
START】,弹出如下窗口,如下图所示。
图-
按照要求输入相应参数后,点击【指令正确】按键,该指令行将显示到程序编辑窗口,如图7.13所示。
6、重复以上类似的步骤。将各程序点和各指令输入完成,如下图所示。
图-
7、点击子菜单区【保存】,再点击【关闭】,关闭程序编辑界面。
通过以上步骤,该实例程序创建完成。
注意:
Ø 在无限循环运行时,如果运行的程序中无运动指令,只有逻辑指令运行。程序结尾处,需要加入TIME指令,延时值设为10ms。
Ø 在无限循环运行时,如果程序只有一行运动指令,需要其后加入TIME指令,延时值设为10ms。
Ø 再现模式下,如果运行程序结尾使用无条件跳转指令,同时机器人无动作指令或者全是运动指令时。程序结尾处,需要加入TIME指令,延时值设为10ms。
Ø 程序最后一行无需用无条件跳转指令跳转至第一行,将运行模式切换到无限循环即可。
基于编辑好的程序行,需要进行程序指令修改,具体操作如下:
1、选择需要修改程序行,然后点击【改变指令】,如下图所示。
图-
2、调整好需要修改的参数、指令和点位后,按住安全开关同时点击【指令正确】,即程序修改完成,如下图所示。
图-
以下图焊接工件为例,说明编写程序的步骤。
图-
程序举例
如是图工件基本程序如下:
MOVJ VJ=50.0% PL=5
快速移动到程序点1,待机点。
MOVJ VJ=50.0% PL=5
快速移动到程序点2,焊接准备点。
MOVL VL=200 MM/S
PL=0 移动到程序点3,焊接开始点。
ARCSTART#1 调用1号焊接参数,起弧。
WEAVESINE #1 调用1号摆动参数
MOVL VL=50MM/S
PL=0 走焊接轨迹,直线移动到程序点4
WEAVEEND 摆动结束
ARCEND #1 1号焊接工艺结束
MOVJ VJ=50.0% PL=3
快速移动到程序点5,安全点。
程序示教步骤
说明:
a、处于待机位置的程序点1,要处于与工件、夹具不干涉的位置。
b、程序点5在向程序点1移动时,也要处于与工件、夹具不干涉的位置。
c、示教程序点3到程序点4,即焊接段时,焊丝与前进X向构成面需垂直焊接成形面(如下图),否则摆弧坐标的Y向成形面不平行。摆弧将一边高,一边低。
图-
d、再现时焊丝伸出的长度要和示教时伸出的长度相同。用点动按钮送出焊丝,请剪取适当长度(10mm左右)的焊丝。
e、在示教中,焊丝因和工件接触发生弯曲时,把焊丝送出50-100mm,剪取适当的长度,继续示教。
f、示教结束后,请用正向运行键试运行,确认轨迹是否正确。
算法示例
图-流程图(要修改)
步骤如下:
1、切换到【按键移动】状态和【伺服上电】状态。
2、调整手动速度到一个合适的速度。建议调整后速度倍率不要超过10%。调整后的速度倍率在状态显示区或状态控制栏显示速度为10%,如下图所示,图上圈出的两个位置均可修改速度。
图-
3、选中5555程序,如下图所示。
图-
4、双击5555程序或者点击子菜单中【打开】键,打开该程序,进入程序编辑界面。如下图所示。
图-
5、点击屏幕中的光标移动键,移动光标到需要试运行的程序行,例如第二行,如下图所示。
图-
6、持续按住<◎>按键。系统控制机器人执行光标所在行的指令。如机器人动作指令、IO输出指令、运算指令、逻辑指令等。
注意:当光标在IF、WHILE、SWITCH指令结构中时,系统将提示出错。试运行前,请将光标移动到指令结构之外。
若程序试运行无误后,则可开始程序自动运行。 状态说明见下表所示。
图标
|
表示
|
说明
|
|
【单行运行】 状态,单行运行
|
【单行运行】 状态,单行运行
|
|
【单次循环】 状态,单次循环运行
|
【单次循环】 状态,单次循环运行
|
|
【无限循环】 状态,无限循环运行
|
【无限循环】 状态,无限循环运行
|
|
【自动速度10%】 状态,自动速度为10%
|
【自动速度10%】 状态,自动速度为10%
|
|
|
|
表-
注意:
Ø 第一次自动运行时,建议选择单行运行模式,逐行运行,观察运行情况。单行运行方式下,节奏会比较慢,请注意!
Ø 当单行运行无误后,再选择单次循环运行,首次单次循环程序运行速度不超5%,多次运行准确无误后逐步加速到要求工艺速度。
Ø 单次循环运行无误后再选择无限循环运行,开始工作。
Ø 程序运行中无法调速,需要按下停止键再调速。
步骤如下:
1、切换控制模式开关为 再现模式(PLAY),如下图所示。
图-
状态栏显示“再现模式”,然后更改运行模式【单次循环】/【无限循环】为【单行运行】,更改自动速度为【自动速度10%】。
2、前面的准备工作完成后,按<◎>键运行程序,系统弹出提示框:
图-
3、再次按<◎>键运行,运行界面如下图所示。
图-
其中:
Ø 单步运行:
当机器人运行完选中命令行后,机器人停止。如需运行下一命令行,再次按<◎>键运行程序。
Ø 运行中停止机器人:
运行过程中,如果需要暂停(停止),请按<II>键,系统减速停止程序运行和机器人动作。
Ø 调速:
运行过程中,如果需要调高自动速度,需先停止机器人,再通过操作调速按钮实现调速功能。
Ø 切换运行模式:
程序运行中,可以直接点击运行模式图标,来回切换【无限循环】和【单次循环】。当需要切换到【单行循环】时,则需要先停止程序再切换。
在暂停(停止)状态下,点击运行模式图标,在弹出窗口中点击选择,或者按模式图标右侧物理按钮<+>和<->,任意切换运行模式。
Ø 程序运行中,工作模式切换:
当前处于再现模式,程序如果正处于运行中,则需要按<II>键,停止程序运行。然后切换模式开关到需要的模式(示教模式或远程模式)。
再现模式下停止程序运行该模式下,通过按停止键停止程序运行。系统减速停止程序运行和机器人动作。在该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
注意:
1、当程序运行方式为单程序行运行【单行运行】时,程序运行完一行后,系统减速停止程序和机器人运行,系统处于静止而不是停止状态,需要按<II>键,停止程序。
2、切换模式开关到示教模式或再现模式,程序强行停止。系统处理时,将直接切断脉冲、关闭使能、开启抱闸,该方式会造成机器人冲击,不建议使用。
3、程序运行过程中,如果需要暂停(停止),请按<II>键,系统减速停止程序运行和机器人动作。该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
4、为确定程序是否停止,按<II>键后观察状态栏是否有“自动停止”。
步骤如下:
1、切换控制模式开关为 再现模式(PLAY),如图8.7所示。
图-
状态栏显示“再现模式”,然后更改运行模式【单行运行】/【无限循环】为【单次循环】,更改自动速度为【自动速度10%】
2、前面的准备工作完成后,按<
◎ >键运行程序,系统弹出提示框:
图-
3、再次按<◎>键运行,运行界面如图7.8所示。
图-
其中:
Ø 运行中停止机器人:
运行过程中,如果需要暂停(停止),请按<II>键,系统减速停止程序运行和机器人动作。
Ø 调速:
运行过程中,如果需要调高自动速度,需先停止机器人,再通过操作调速按钮实现调速功能。
Ø 切换运行模式:
程序运行中,可以直接点击运行模式图标,来回切换【无限循环】\【单次循环】。当需要切换到【单行运行】时,则需要先停止程序再切换。
在暂停(停止)状态下,点击运行模式图标,在弹出窗口中点击选择,或者按模式图标右侧物理按钮<+>和<->,任意切换运行模式。
Ø 程序运行中,工作模式切换:
当前处于再现模式,程序如果正处于运行中,则需要按<II>键停止程序运行,然后切换模式开关到需要的模式(示教模式或远程模式)。
Ø 再现模式下停止程序运行:
该模式下,通过按停止键,程序停止运行。系统减速停止程序运行和机器人动作。在该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
注意:
1、当程序运行方式为单程序行运行时,程序运行完一行后,系统减速停止程序和机器人运行,系统处于静止而不是停止状态,需要按<II>键,停止程序。
2、切换模式开关到示教模式或再现模式,程序强行停止。系统处理时,将直接切断脉冲、关闭使能、开启抱闸,该方式会造成机器人冲击,不建议使用。
3、程序运行过程中,如果需要暂停(停止),请按<II>键,系统减速停止程序运行和机器人动作。该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
4、为确定程序是否停止,按<II>键后观察状态栏是否有“自动停止”。
步骤如下:
1、切换控制模式开关为再现模式(PLAY),如图8.9所示。
图-
2、状态栏显示“再现模式”,然后更改运行模式【单次循环】/【单行运行】为【无限循环】,更改自动速度为【自动速度10%】。
3、前面的准备工作完成后,按<◎>键运行程序,系统弹出提示框:
图-
4、再次按<◎>键运行,运行界面如图8.10所示。
图-
Ø 运行中停止机器人:
运行过程中,如果需要暂停(停止),请按【II】键,系统减速停止程序运行和机器人动作。
Ø 调速:
运行过程中,如果需要调高自动速度,需先停止机器人,再通过操作调速按钮实现调速功能
Ø 切换运行模式:
1.
程序运行中,可以直接点击运行模式图标,来回切换【单行运行】\【单次循环】。当需要切换到【无限循环】时,则需要先停止程序再切换。
2.
在暂停(停止)状态下,点击运行模式图标,在弹出窗口中点击选择,或者按模式图标右侧物理按钮<+>和<->,任意切换运行模式。
Ø 程序运行中,工作模式切换:
当前处于再现模式,程序如果正处于运行中,则需要按<II>键停止程序运行,然后切换模式开关到需要的模式(示教模式或远程模式)。
Ø 工作模式没有发生改变,还是为再现模式:
该模式下,通过按停止键,程序停止运行。系统减速停止程序运行和机器人动作。在该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
注意:
1、切换模式开关到示教模式或再现模式,程序强行停止。系统处理时,将直接切断脉冲、关闭使能、开启抱闸,该方式会造成机器人冲击,不建议使用。
2、程序运行过程中,如果需要暂停(停止),请按<II>键,系统减速停止程序运行和机器人动作。该方式下停止程序后,程序相关的所有内部状态、输出口、计数器、变量等均将保持。再次启动时,直接按<◎>键,程序继续正常执行。
3、为确定程序是否停止,请按<II>键后观察状态栏是否有“自动停止”。
注意:
Ø 自动运行中,如果发现机器人工作异常,应该快速按下紧急停止按钮。
Ø 紧急停止后,机器人当前工作状态有可能发生异常。复位机器人报警时,需要特别注意。
当机器人处于再现模式,且程序正处于运行中,使用紧急停止按钮停止程序后,再次启动机器人运行需按照以下步骤:
1、首先,检测机器人本体,工装夹具等是否异常?能否继续运行程序?
2、然后旋转松开紧急停止按钮;按【R】键,复位当前报警信息。
3、点击【伺服下电】切换为【伺服上电】。
4、降低再现运行速度,切换工作模式为单行运行。
5、重复按运行键,测试程序工作是否异常。
6、确认机器人工作没有异常后,提高运行速度,切换工作模式为循环模式。
7、点击程序运行键,机器人开始工作。
文件操作
程序编辑
参数设置
监视
运行准备
编程指令
用户工艺
PLC
轴禁止
坐标
伺服上电
手动速度
试运行
气检关
送丝控制
点动送丝
管理员
手动停止
示教模式
速度05%
工具1
用户0
时间
协1
协2
新建
更名
备份
删除
打开U盘
打开
拷贝到U盘
1. 《卡诺普机器人激光功能说明(一).pptx》,来源:吴俊东
2. 《卡诺普控制系统PLC说明书.pdf》
文档名称
|
|
编写人
|
|
评审日期:
|
|
评审意见及修订内容
|
|
评审人确认
|
|
总经理确认
|
|
备
注
|
|