《KUKA工业机器人编程高级教程》林祥 | PDF下载|ePub下载
KUKA工业机器人编程高级教程 版权信息
- 出版社:机械工业出版社
- 出版时间:2020-01-01
- ISBN:9787111642312
- 条形码:9787111642312 ; 978-7-111-64231-2
KUKA工业机器人编程高级教程 本书特色
《KUKA工业机器人编程高级教程》是为已经能够独立完成KUKA工业机器人基本操作的读者准备的进阶教程,详细介绍了KUKA工业机器人高级编程相关的知识与技能,KUKA工业机器人高级编程作业的每一项具体操作方法,从而使读者对KUKA工业机器人编程应用有一个更高、更全面的认识。为便于读者学习,本书提供随书PPT课件,请联系QQ296447532获取。
《KUKA工业机器人编程高级教程》适合从事KUKA工业机器人应用的编程人员、普通高校以及中高职院校相关专业教师,以及即将毕业的相关专业学生,特别是已经接触了KUKA工业机器人并对KUKA机器人有一定认识的工程技术人员和学生。
KUKA工业机器人编程高级教程 内容简介
图解库卡工业机器人编程知识和技巧,轻松成就工业机器人技术能手,随书赠送PPT。
KUKA工业机器人编程高级教程 目录
目 录
前 言
第1章 投入运行模式 ………………………………………………………………………………………………………………………..1
1.1 检查机器人数据 …………………………………………………………………………………………………………………………..2
1.2 投入运行模式 ………………………………………………………………………………………………………………………………2
1.3 零点标定 ……………………………………………………………………………………………………………………………………..3
1.3.1 零点标定方法 ………………………………………………………………………………………………………………………….4
1.3.2 借助零点标定标记将轴移入预零点标定位置 ……………………………………………………………………………5
1.3.3 借助测头将轴移入预零点标定位置 ………………………………………………………………………………………….6
1.3.4 零点标定LED指示灯 ……………………………………………………………………………………………………………..6
1.3.5 使用SEMD进行零点标定……………………………………………………………………………………………………….7
1.3.5.1 进行首次零点标定 ……………………………………………………………………………………………………………8
1.3.5.2 偏量学习 ………………………………………………………………………………………………………………………….9
1.3.5.3 检查带偏量的负载零点标定 ……………………………………………………………………………………………10
1.3.5.4 使用千分表进行调整 ………………………………………………………………………………………………………11
1.3.6 调整附加轴(外部轴) ………………………………………………………………………………………………………….12
1.3.7 参照调整 ……………………………………………………………………………………………………………………………….13
1.3.8 用MEMD和标记线进行零点标定 …………………………………………………………………………………………13
1.3.8.1 将轴A6移动到零点标定位置(用标记线) ……………………………………………………………………14
1.3.8.2 进行首次零点标定(用MEMD) ……………………………………………………………………………………14
1.3.8.3 偏量学习(用MEMD) ………………………………………………………………………………………………….17
1.3.8.4 检查带偏量的负载零点标定(用MEMD) ……………………………………………………………………..18
1.3.9 手动删除轴的零点 …………………………………………………………………………………………………………………19
1.3.10 更改软件限位开关 ……………………………………………………………………………………………………………….20
第2章 工具坐标和基坐标 ……………………………………………………………………………………………………………..23
2.1 工具坐标(TCP) ………………………………………………………………………………………………………………………24
2.1.1 XYZ 4点法测量TCP …………………………………………………………………………………………………………….25
2.1.2 XYZ参照法测量TCP ……………………………………………………………………………………………………………28
2.1.3 ABC世界坐标法确定姿态 …………………………………………………………………………………………………….31
2.1.4 ABC 2点法确定姿态 …………………………………………………………………………………………………………….33
2.1.5 数字输入法 ……………………………………………………………………………………………………………………………34
2.2 基坐标系测量 …………………………………………………………………………………………………………………………….35
2.2.1 3点法测定基坐标系 ………………………………………………………………………………………………………………35
2.2.2 间接法测定基坐标系 …………………………………………………………………………………………………………….38
2.2.3 输入基准数值 ………………………………………………………………………………………………………………………..41
2.3 固定工具测量 …………………………………………………………………………………………………………………………….42
2.3.1 测量外部TCP ……………………………………………………………………………………………………………………….42
2.3.2 输入外部TCP数值 ……………………………………………………………………………………………………………….442.3.3 直接法测量工件 …………………………………………………………………………………………………………………….45
2.3.4 间接法测量工件 …………………………………………………………………………………………………………………….48
2.4 负载数据 ……………………………………………………………………………………………………………………………………52
2.4.1 用KUKA-Load 检测负载 ……………………………………………………………………………………………………….52
2.4.2 用KUKA Load Data Determination 计算负载 ………………………………………………………………………….55
2.4.3 在线负载数据检查 …………………………………………………………………………………………………………………63
第3 章 专家界面、结构化编程、KRL 运动编程 ……………………………………………………………………….67
3.1 专家界面 ……………………………………………………………………………………………………………………………………68
3.1.1 专家用户组的扩展功能 ………………………………………………………………………………………………………….68
3.1.2 借助模板创建程序功能 ………………………………………………………………………………………………………….70
3.1.3 激活专家界面和纠错的操作步骤 ……………………………………………………………………………………………73
3.2 结构化编程 ………………………………………………………………………………………………………………………………..74
3.2.1 注释 ………………………………………………………………………………………………………………………………………75
3.2.2 FOLD(折合) ……………………………………………………………………………………………………………………..77
3.2.3 子程序 …………………………………………………………………………………………………………………………………..78
3.2.4 缩进 ………………………………………………………………………………………………………………………………………78
3.2.5 合理命名 ……………………………………………………………………………………………………………………………….79
3.2.6 创建程序流程图 …………………………………………………………………………………………………………………….79
3.3 用KRL 进行运动编程 ………………………………………………………………………………………………………………..80
3.3.1 KRL 运动编程 ……………………………………………………………………………………………………………………….80
3.3.1.1 运动方式PTP …………………………………………………………………………………………………………………81
3.3.1.2 运动方式LIN ………………………………………………………………………………………………………………….83
3.3.1.3 运行方式CIRC ……………………………………………………………………………………………………………….84
3.3.1.4 运动参数的功能 ……………………………………………………………………………………………………………..86
3.3.1.5 用KRL 给运动编程时的操作步骤 …………………………………………………………………………………..90
3.3.2 借助KRL 给相对运动编程 …………………………………………………………………………………………………….90
3.3.2.1 相对运动PTP_REL …………………………………………………………………………………………………………91
3.3.2.2 相对运动LIN_RE …………………………………………………………………………………………………………..92
3.3.2.3 相对运动CIRC_REL ………………………………………………………………………………………………………93
3.3.2.4 用KRL 给相对运动编程时的操作步骤 ……………………………………………………………………………94
3.3.3 计算或操纵机器人位置 ………………………………………………………………………………………………………….94
第4 章 变量和协定 ………………………………………………………………………………………………………………………….97
4.1 KRL 中的数据保存 …………………………………………………………………………………………………………………….98
4.2 简单数据类型 …………………………………………………………………………………………………………………………..100
4.2.1 变量的声明 ………………………………………………………………………………………………………………………….100
4.2.2 变量声明的原理 …………………………………………………………………………………………………………………..101
4.2.3 简单数据类型变量声明的操作步骤 ………………………………………………………………………………………101
4.2.4 简单数据类型变量的初始化 …………………………………………………………………………………………………105
4.2.5 KRL 简单数据类型变量的编程 …………………………………………………………………………………………….1074.2.6 变量值的查看 ……………………………………………………………………………………………………………………… 112
4.3 复杂数据类型:Arrays(数组) ………………………………………………………………………………………………. 113
4.4 复杂数据类型:结构/STRUC ………………………………………………………………………………………………….. 117
4.5 复杂数据类型:枚举数据类型(ENUM) ………………………………………………………………………………… 119
4.6 系统数据类型 …………………………………………………………………………………………………………………………..120
4.7 变量类型的运用练习 ………………………………………………………………………………………………………………..122
4.7.1 具有简单数据类型和计数循环的数组 …………………………………………………………………………………..122
4.7.2 用 KRL 创建结构 …………………………………………………………………………………………………………………123
4.7.3 用KRL 创建枚举类型 ………………………………………………………………………………………………………….125
第5 章 子程序和函数 …………………………………………………………………………………………………………………….127
5.1 用局部子程序工作 ……………………………………………………………………………………………………………………128
5.2 用全局子程序工作 ……………………………………………………………………………………………………………………130
5.3 将参数传递给子程序 ………………………………………………………………………………………………………………..132
5.4 函数编程 ………………………………………………………………………………………………………………………………….137
5.5 使用KUKA 标准函数工作 ………………………………………………………………………………………………………..142
5.5.1 数学函数 ……………………………………………………………………………………………………………………………..142
5.5.2 字符串变量函数 …………………………………………………………………………………………………………………..143
5.5.3 用于信息输出的函数 ……………………………………………………………………………………………………………147
5.5.3.1 提示信息 ………………………………………………………………………………………………………………………148
5.5.3.2 状态信息 ………………………………………………………………………………………………………………………149
5.5.3.3 确认信息 ………………………………………………………………………………………………………………………150
5.5.3.4 等待信息 ………………………………………………………………………………………………………………………151
5.5.3.5 对话信息 ………………………………………………………………………………………………………………………153
第6 章 中断编程 …………………………………………………………………………………………………………………………….159
6.1 中断功能 ………………………………………………………………………………………………………………………………….160
6.1.1 中断程序说明 ………………………………………………………………………………………………………………………160
6.1.2 BRAKE:从中断程序上停止机器人 …………………………………………………………………………………….163
6.1.3 RESUME:中止中断程序 ……………………………………………………………………………………………………164
6.1.4 有关制动机器人或用中断程序中断当前运行的说明 ……………………………………………………………..165
6.2 中断程序编程 …………………………………………………………………………………………………………………………..167
第7 章 程序流程控制 …………………………………………………………………………………………………………………….171
7.1 CONTINUE:防止预进停止 ……………………………………………………………………………………………………..172
7.2 EXIT:离开循环 ………………………………………………………………………………………………………………………172
7.3 FOR…TO…ENDFOR:编程设定计数循环 ……………………………………………………………………………….172
7.4 GOTO:跳转至程序中的位置 …………………………………………………………………………………………………..174
7.5 HALT:暂停程序 ……………………………………………………………………………………………………………………..174
7.6 IF…THEN…ENDIF:编程设定有条件的分支 …………………………………………………………………………..175
7.7 LOOP…ENDLOOP:编程设定连续循环 …………………………………………………………………………………..1767.8 REPEAT…UNTIL:编程设定采用的循环 ………………………………………………………………………………….177
7.9 SWITCH…CASE…ENDSWITCH:编程设定多重分支 ……………………………………………………………..177
7.10 WAIT FOR…:等至条件已满足 ………………………………………………………………………………………………179
7.11 WAIT SEC…:编程设定等待时间 …………………………………………………………………………………………..179
7.12 WHILE…ENDWHILE:编程设定当型循环 …………………………………………………………………………….180
第8 章 提交解释器 ………………………………………………………………………………………………………………………..181
8.1 SUBMIT 解释器(提交解释器) ………………………………………………………………………………………………182
8.2 启动提交解释器 ……………………………………………………………………………………………………………………….183
8.3 SUBMIT 解释器编程时的关联 ………………………………………………………………………………………………….184
8.4 SUBMIT 解释器编程时的特点 ………………………………………………………………………………………………….186
8.5 SUBMIT 解释器编程的操作步骤 ………………………………………………………………………………………………187
第9 章 双工位码垛工作站 ……………………………………………………………………………………………………………189
9.1 工作站布局 ………………………………………………………………………………………………………………………………190
9.2 工作流程 ………………………………………………………………………………………………………………………………….191
9.3 程序详细说明 …………………………………………………………………………………………………………………………..191
9.3.1 在config.dat 中定义信号和相关变量 …………………………………………………………………………………..192
9.3.2 定义全局位置点数据 ……………………………………………………………………………………………………………193
9.3.3 程序框架和详细说明 ……………………………………………………………………………………………………………194
9.3.3.1 主程序MAIN.src 和中断程序 ………………………………………………………………………………………..195
9.3.3.2 初始化程序InitALL.src …………………………………………………………………………………………………196
9.3.3.3 抓取程序Pick.src ………………………………………………………………………………………………………….196
9.3.3.4 放置程序Place.src …………………………………………………………………………………………………………197
9.3.3.5 周期循环检查程序CycleCheck.src …………………………………………………………………………………197
9.3.3.6 位置计算程序CalPosition.src …………………………………………………………………………………………198
9.3.3.7 计算摆放位置功能程序Pattern.src …………………………………………………………………………………199
9.3.3.8 码垛计数程序PlaceRD.src …………………………………………………………………………………………….201
9.3.3.9 检查HOME 位程序CheckHomePos.src ………………………………………………………………………….202
前 言
第1章 投入运行模式 ………………………………………………………………………………………………………………………..1
1.1 检查机器人数据 …………………………………………………………………………………………………………………………..2
1.2 投入运行模式 ………………………………………………………………………………………………………………………………2
1.3 零点标定 ……………………………………………………………………………………………………………………………………..3
1.3.1 零点标定方法 ………………………………………………………………………………………………………………………….4
1.3.2 借助零点标定标记将轴移入预零点标定位置 ……………………………………………………………………………5
1.3.3 借助测头将轴移入预零点标定位置 ………………………………………………………………………………………….6
1.3.4 零点标定LED指示灯 ……………………………………………………………………………………………………………..6
1.3.5 使用SEMD进行零点标定……………………………………………………………………………………………………….7
1.3.5.1 进行首次零点标定 ……………………………………………………………………………………………………………8
1.3.5.2 偏量学习 ………………………………………………………………………………………………………………………….9
1.3.5.3 检查带偏量的负载零点标定 ……………………………………………………………………………………………10
1.3.5.4 使用千分表进行调整 ………………………………………………………………………………………………………11
1.3.6 调整附加轴(外部轴) ………………………………………………………………………………………………………….12
1.3.7 参照调整 ……………………………………………………………………………………………………………………………….13
1.3.8 用MEMD和标记线进行零点标定 …………………………………………………………………………………………13
1.3.8.1 将轴A6移动到零点标定位置(用标记线) ……………………………………………………………………14
1.3.8.2 进行首次零点标定(用MEMD) ……………………………………………………………………………………14
1.3.8.3 偏量学习(用MEMD) ………………………………………………………………………………………………….17
1.3.8.4 检查带偏量的负载零点标定(用MEMD) ……………………………………………………………………..18
1.3.9 手动删除轴的零点 …………………………………………………………………………………………………………………19
1.3.10 更改软件限位开关 ……………………………………………………………………………………………………………….20
第2章 工具坐标和基坐标 ……………………………………………………………………………………………………………..23
2.1 工具坐标(TCP) ………………………………………………………………………………………………………………………24
2.1.1 XYZ 4点法测量TCP …………………………………………………………………………………………………………….25
2.1.2 XYZ参照法测量TCP ……………………………………………………………………………………………………………28
2.1.3 ABC世界坐标法确定姿态 …………………………………………………………………………………………………….31
2.1.4 ABC 2点法确定姿态 …………………………………………………………………………………………………………….33
2.1.5 数字输入法 ……………………………………………………………………………………………………………………………34
2.2 基坐标系测量 …………………………………………………………………………………………………………………………….35
2.2.1 3点法测定基坐标系 ………………………………………………………………………………………………………………35
2.2.2 间接法测定基坐标系 …………………………………………………………………………………………………………….38
2.2.3 输入基准数值 ………………………………………………………………………………………………………………………..41
2.3 固定工具测量 …………………………………………………………………………………………………………………………….42
2.3.1 测量外部TCP ……………………………………………………………………………………………………………………….42
2.3.2 输入外部TCP数值 ……………………………………………………………………………………………………………….442.3.3 直接法测量工件 …………………………………………………………………………………………………………………….45
2.3.4 间接法测量工件 …………………………………………………………………………………………………………………….48
2.4 负载数据 ……………………………………………………………………………………………………………………………………52
2.4.1 用KUKA-Load 检测负载 ……………………………………………………………………………………………………….52
2.4.2 用KUKA Load Data Determination 计算负载 ………………………………………………………………………….55
2.4.3 在线负载数据检查 …………………………………………………………………………………………………………………63
第3 章 专家界面、结构化编程、KRL 运动编程 ……………………………………………………………………….67
3.1 专家界面 ……………………………………………………………………………………………………………………………………68
3.1.1 专家用户组的扩展功能 ………………………………………………………………………………………………………….68
3.1.2 借助模板创建程序功能 ………………………………………………………………………………………………………….70
3.1.3 激活专家界面和纠错的操作步骤 ……………………………………………………………………………………………73
3.2 结构化编程 ………………………………………………………………………………………………………………………………..74
3.2.1 注释 ………………………………………………………………………………………………………………………………………75
3.2.2 FOLD(折合) ……………………………………………………………………………………………………………………..77
3.2.3 子程序 …………………………………………………………………………………………………………………………………..78
3.2.4 缩进 ………………………………………………………………………………………………………………………………………78
3.2.5 合理命名 ……………………………………………………………………………………………………………………………….79
3.2.6 创建程序流程图 …………………………………………………………………………………………………………………….79
3.3 用KRL 进行运动编程 ………………………………………………………………………………………………………………..80
3.3.1 KRL 运动编程 ……………………………………………………………………………………………………………………….80
3.3.1.1 运动方式PTP …………………………………………………………………………………………………………………81
3.3.1.2 运动方式LIN ………………………………………………………………………………………………………………….83
3.3.1.3 运行方式CIRC ……………………………………………………………………………………………………………….84
3.3.1.4 运动参数的功能 ……………………………………………………………………………………………………………..86
3.3.1.5 用KRL 给运动编程时的操作步骤 …………………………………………………………………………………..90
3.3.2 借助KRL 给相对运动编程 …………………………………………………………………………………………………….90
3.3.2.1 相对运动PTP_REL …………………………………………………………………………………………………………91
3.3.2.2 相对运动LIN_RE …………………………………………………………………………………………………………..92
3.3.2.3 相对运动CIRC_REL ………………………………………………………………………………………………………93
3.3.2.4 用KRL 给相对运动编程时的操作步骤 ……………………………………………………………………………94
3.3.3 计算或操纵机器人位置 ………………………………………………………………………………………………………….94
第4 章 变量和协定 ………………………………………………………………………………………………………………………….97
4.1 KRL 中的数据保存 …………………………………………………………………………………………………………………….98
4.2 简单数据类型 …………………………………………………………………………………………………………………………..100
4.2.1 变量的声明 ………………………………………………………………………………………………………………………….100
4.2.2 变量声明的原理 …………………………………………………………………………………………………………………..101
4.2.3 简单数据类型变量声明的操作步骤 ………………………………………………………………………………………101
4.2.4 简单数据类型变量的初始化 …………………………………………………………………………………………………105
4.2.5 KRL 简单数据类型变量的编程 …………………………………………………………………………………………….1074.2.6 变量值的查看 ……………………………………………………………………………………………………………………… 112
4.3 复杂数据类型:Arrays(数组) ………………………………………………………………………………………………. 113
4.4 复杂数据类型:结构/STRUC ………………………………………………………………………………………………….. 117
4.5 复杂数据类型:枚举数据类型(ENUM) ………………………………………………………………………………… 119
4.6 系统数据类型 …………………………………………………………………………………………………………………………..120
4.7 变量类型的运用练习 ………………………………………………………………………………………………………………..122
4.7.1 具有简单数据类型和计数循环的数组 …………………………………………………………………………………..122
4.7.2 用 KRL 创建结构 …………………………………………………………………………………………………………………123
4.7.3 用KRL 创建枚举类型 ………………………………………………………………………………………………………….125
第5 章 子程序和函数 …………………………………………………………………………………………………………………….127
5.1 用局部子程序工作 ……………………………………………………………………………………………………………………128
5.2 用全局子程序工作 ……………………………………………………………………………………………………………………130
5.3 将参数传递给子程序 ………………………………………………………………………………………………………………..132
5.4 函数编程 ………………………………………………………………………………………………………………………………….137
5.5 使用KUKA 标准函数工作 ………………………………………………………………………………………………………..142
5.5.1 数学函数 ……………………………………………………………………………………………………………………………..142
5.5.2 字符串变量函数 …………………………………………………………………………………………………………………..143
5.5.3 用于信息输出的函数 ……………………………………………………………………………………………………………147
5.5.3.1 提示信息 ………………………………………………………………………………………………………………………148
5.5.3.2 状态信息 ………………………………………………………………………………………………………………………149
5.5.3.3 确认信息 ………………………………………………………………………………………………………………………150
5.5.3.4 等待信息 ………………………………………………………………………………………………………………………151
5.5.3.5 对话信息 ………………………………………………………………………………………………………………………153
第6 章 中断编程 …………………………………………………………………………………………………………………………….159
6.1 中断功能 ………………………………………………………………………………………………………………………………….160
6.1.1 中断程序说明 ………………………………………………………………………………………………………………………160
6.1.2 BRAKE:从中断程序上停止机器人 …………………………………………………………………………………….163
6.1.3 RESUME:中止中断程序 ……………………………………………………………………………………………………164
6.1.4 有关制动机器人或用中断程序中断当前运行的说明 ……………………………………………………………..165
6.2 中断程序编程 …………………………………………………………………………………………………………………………..167
第7 章 程序流程控制 …………………………………………………………………………………………………………………….171
7.1 CONTINUE:防止预进停止 ……………………………………………………………………………………………………..172
7.2 EXIT:离开循环 ………………………………………………………………………………………………………………………172
7.3 FOR…TO…ENDFOR:编程设定计数循环 ……………………………………………………………………………….172
7.4 GOTO:跳转至程序中的位置 …………………………………………………………………………………………………..174
7.5 HALT:暂停程序 ……………………………………………………………………………………………………………………..174
7.6 IF…THEN…ENDIF:编程设定有条件的分支 …………………………………………………………………………..175
7.7 LOOP…ENDLOOP:编程设定连续循环 …………………………………………………………………………………..1767.8 REPEAT…UNTIL:编程设定采用的循环 ………………………………………………………………………………….177
7.9 SWITCH…CASE…ENDSWITCH:编程设定多重分支 ……………………………………………………………..177
7.10 WAIT FOR…:等至条件已满足 ………………………………………………………………………………………………179
7.11 WAIT SEC…:编程设定等待时间 …………………………………………………………………………………………..179
7.12 WHILE…ENDWHILE:编程设定当型循环 …………………………………………………………………………….180
第8 章 提交解释器 ………………………………………………………………………………………………………………………..181
8.1 SUBMIT 解释器(提交解释器) ………………………………………………………………………………………………182
8.2 启动提交解释器 ……………………………………………………………………………………………………………………….183
8.3 SUBMIT 解释器编程时的关联 ………………………………………………………………………………………………….184
8.4 SUBMIT 解释器编程时的特点 ………………………………………………………………………………………………….186
8.5 SUBMIT 解释器编程的操作步骤 ………………………………………………………………………………………………187
第9 章 双工位码垛工作站 ……………………………………………………………………………………………………………189
9.1 工作站布局 ………………………………………………………………………………………………………………………………190
9.2 工作流程 ………………………………………………………………………………………………………………………………….191
9.3 程序详细说明 …………………………………………………………………………………………………………………………..191
9.3.1 在config.dat 中定义信号和相关变量 …………………………………………………………………………………..192
9.3.2 定义全局位置点数据 ……………………………………………………………………………………………………………193
9.3.3 程序框架和详细说明 ……………………………………………………………………………………………………………194
9.3.3.1 主程序MAIN.src 和中断程序 ………………………………………………………………………………………..195
9.3.3.2 初始化程序InitALL.src …………………………………………………………………………………………………196
9.3.3.3 抓取程序Pick.src ………………………………………………………………………………………………………….196
9.3.3.4 放置程序Place.src …………………………………………………………………………………………………………197
9.3.3.5 周期循环检查程序CycleCheck.src …………………………………………………………………………………197
9.3.3.6 位置计算程序CalPosition.src …………………………………………………………………………………………198
9.3.3.7 计算摆放位置功能程序Pattern.src …………………………………………………………………………………199
9.3.3.8 码垛计数程序PlaceRD.src …………………………………………………………………………………………….201
9.3.3.9 检查HOME 位程序CheckHomePos.src ………………………………………………………………………….202