注:本文章文字、图片部分来自网络
版权归原作者,侵删。
工博士提供了 KUKA,Yaskawa, ABB,Kawasaki和 FANUC等各种新型机器人 。我们相信,我们真正地在协助第四次工业革命的进步,并为所有涉及机器人技术的人们增加优势和收益!如果您想获得更多信息,请在线或致电与我们联系 。
(一)程序文件的使用
1.1)创建程序模块
1.2)程序模块的属性
1.3)存档和还原机器人程序
(二)变量
2.1)课前准备
2.2)变量概述
2.3)变量命名规范
2.4)常用的变量类型
2.5)在KRL编辑器中声明、初始化变量
(三)利用机器人程序中的逻辑功能
3.1)逻辑编程入门
3.2)等待功能的编程
3.3 ) 简单切换功能的编程
3.4 )脉冲切换功能
3.5 )轨迹切换功能编程
(四)KRL的函数切换
4.1)简单切换函数的编程 (五)信号关联
5.1)数字量输入输出信号的关联
5.2)信号关联的应
(六)全局子程
6.1)用全局子程序工作
6.2)全局子程序的
七)使用程序流程控制
7.1)FOLD用法
7.2)LOOP循环
7.3)询问或IF分支
7.4)FOR循环
7.5)WHILE与REPEAT循环
7.6)SWITCH-CASE分支编程
(八)字符的使用
8.1)定义字符
8.2)字符的应用
(九)用系统变量工作
9.1)用计时器测量节拍
9.2)计时器的应用
9.3)更改自动倍率($ov_pro)
9.4)调用当前位置变量($pos_act)
(十)SUBMIT解释器
10.1)使用SUBMIT解释器
10.2)给 SUBMIT 解释器编程时的操作步骤
10.3)在SUBMIT 解释器里成功编程
(十一)KRL工作空间
11.1)笛卡尔工作空间监控
11.2)工作空间模式
11.3)配置工作空间
11.4)工作空间范围
(十二)用KRL进行信息编程
9.2)计时器的应用
9.3)更改自动倍率($ov_pro)
9.4)调用当前位置变量($pos_act)
(十)SUBMIT解释器
10.1)使用SUBMIT解释器
10.2)给 SUBMIT 解释器编程时的操作步骤
10.3)在SUBMIT 解释器里成功编程
(十一)KRL工作空间
11.1)笛卡尔工作空间监控
11.2)工作空间模式
11.3)配置工作空间
11.4)工作空间范围
(十二)用KRL进行信息编程
15.3)中断编程概述
15.4)中断编程应用
(十六)配置自动模式、外部自动模式
16.1)自动模式的配置过程
16.2)外部自动模式的配置过程
(十七)KRC4无上级控制系统作业
17.1)用workvisual对机器人进行配置
(十八)KRC4与SIEMENS 1200 PLC PROFIBUS-DP通讯
18.1)导入Beckhoff GSD文件
18.2)添加从站模块
18.3)输入输出接线
18.4)长文本编辑
18.5)用博图V13对Beckhoff从站模块进行组态
编程模块应始终保存在文件夹“Program” (程序)中。 也可建立新的文件夹
并将程序模块存放在那里。 模块用字母“M” 标示。 一个模块中可以加入注释。
此类注释中例如可含有程序的简短功能说明。
1 程序的主文件夹: “ 程序”
2 其他程序的子文件夹
3 程序模块/ 模块
4 程序模块的注释
.2)程序模块的属性
1.2.1 程序模块由两个部分组成
SRC 文件中含有程序源代码。
DAT 文件中含有固定数据和点坐
1.3)存档和还原机器人程序
1.3.1存档途径
在每个存档过程中均会在相应的目标媒质上生成一个 ZIP 文件,该文件与机器
人同名。 在机器人数据下可个别改变文件名。
存储位置: 有三个不同的存储位置可供选择:
1) USB (KCP) | KCP(smardPAD) 上的 U 盘
2) USB (控制柜) | 机器人控制柜上的 U 盘
3)网络 | 在一个网络路径上存档
1.3.2 存档的数据
1)全部:将还原当前系统所需的数据存档。
2)应用:所有用户自定义的 KRL 模块(程序)和相应的系统文件均被存档。
3)机器参数:将机器参数存档。
4)Log数据:将 Log 文件存档。
5)krcdiag:将数据存档,以便将其提供给库卡机器人有限公司进行故障分析此将
生成一个文件夹(名为 KRCDiag),其中可写入十个 ZIP 文件。 除此之外
还另外在控制器中将存档文件存放在 C:\KUKA\KRCDiag 下。
存档步骤:
1. 选择菜单序列 文件 > 存档 > USB (KCP) 或者 USB (控制柜)以及所需的
选项。
2. 点击是确认安全询问。
当存档过程结束时,将在信息窗口中显示出来。
3. 当 U 盘上的 LED 指示灯熄灭之后,可将其取下。
1.3.3 还原数据
还原时可选择以下菜单项:
1)全部
2)应用程序
3)配置
还原步骤:
1. 打开菜单序列:文件 > 还原 >,然后选择所需的子项
2. 点击是确认安全询问。 已存档的文件在机器人控制系统里重新恢复。 当恢
复过程结束时,屏幕出现相关的消息。
3. 如果已从 U 盘完成还原: 拔出 U 盘。
2.4)常用的变量类型
整数 INT
浮点数 REAL
布尔型 BOOL
字符(单个字符) CHAR
2.5)在KRL编辑器中声明、初始化变量
在SRC文件中声明
在$CONFIG.DAT中声明
DECL INT VAR
初始化为十进制 VAR= 0
3.1) 逻辑编程入门
3.1.1 在逻辑编程时使用输入端和输出端
为了实现与机器人控制系统的外围设备进行通讯,可以使用数字式和模拟式输入端
和输出端
对 KUKA 机器人编程时,使用的是表示逻辑指令
的输入端和输出端信号。
OUT | 在程序中的某个位置上关闭输出端
WAIT FOR | 与信号有关的等待功能: 控制系统在
此等待信号:
输入端 IN
输出端 OUT
定时信号 TIMER
WAIT | 与时间相关的等待功能:
控制器根据输入的时间在程序中的该位置上等
3.2.2 等待功能WAIT 的编程
运动程序中的等待功能可以很简单地通过联机表格进行编程。 在这种情况下,
等待功能被区分为与时间有关的等待功能和与信号有关的等待功能。用WAIT 可
以使机器人的运动按编程设定的时间暂停。 WAIT 总是触发一次预进停止。
WAIT的联机表格: 等待时间:≥ 0 S
.2.3 WAIT FOR 设定一个与信号有关的等待功能。
需要时可将多个信号(*多 12 个)按逻辑连接。 如果添加了一个逻辑连接则联机表格中会出现用于附加信号和其它逻辑连接的栏。
WAIT FOR 的联机表格:
①:添加外部连接。 运算符位于加括号的表达式之间。1)AND、2) OR、3) EXOR
②:添加内部连接。 运算符位于一个加括号的表达式内。 1)AND、2) OR、3) EXOR
③:等待的信号。1)IN、2) OUT、3)CYCFLAG、4)TIMER、5)FLAG
④:信号的编号。 1 ….. 4096
⑤:如果信号已有名称则会显示出来。
⑥:CONT 在预进过程中加工
【空白】 在预进停止过程中
3.3 ) 简单切换功能的编程
通过切换功能可将数字信号传送给外围设备。 为此要使用先前相应分配
给接口的输出端编号。
信号设为静态,即它一直存在,直至赋予输出端另一个值。 切换功能在程序中
通过联机表格实现:
①:输出端编号 1 … 4096
②:如果输出端已有名称则会显示出来
③:输出端接通的状态 TRUE OR FALSE
④:CONT 在预进中进行的编辑
【空白】 含预进停止的处理
3.4)脉冲切换功能
与简单的切换功能一样,在此输出端的数值也变化。 然而,在脉冲时,于定义
的时间过去之后,信号又重新取消。
编程同样使用联机表格,在该联机表格中
给脉冲设置了一定的时间长度。
①:输出端编号 1 … 4096
②:如果输出端已有名称则会显示出来
③:输出端接通的状态 TRUE OR FALSE
④:CONT 在预进过程中加工
【空白】 带预进停止的加工
⑤:脉冲长度 0.10 s … 3.00 s
轨迹切换功能可以用来在轨迹的目标点上设置起点,而无需中断机器人运动。
其中,切换可分为“ 静态”(SNY OUT) 和“ 动态” (SYN Pulse) 两种。 SYN
OUT 5 切换的信号与 SYN PULSE 5 切换的信号相同。只有切换的方式会发生
变化。
选项 Start/End
(起始/ 终止)
可以运动语句的起始点或目标点为基准触发切换动作。 切换动
作的时间可推移。 参照动作语句可以是 LIN、CIRC 或 PTP 运
动
5.1)数字量输入输出信号的关联
$Config.dat中定义输入输出信号
Signal DiLimt $IN[1]
Signal DoClose $OUT
DoClose = TRUE
Wait sec 1
DoClose = FALSE
Wait sec
;FOLD Set
$Out[2] = true
$Out[3] = true
;ENDFO
DEF MY_PROG( )
INI
LOOP
PTP P1 Vel=90% PDAT1
PTP P2 Vel=100% PDAT2
ENDLOOP
End
DEF MY_PROG( )
INI
Test_a = 1
IF Test_a == 1 THEN
PTP P1 Vel=100% PDAT1
ELSE
PTP P2 Vel=100% PDAT2
ENDIf
En'd
DECL INT I
For i = 1 to 4 ( step 2)
$out[i] = true
endfor
REPEAT
PTP P1 Vel=100% PDAT1
PTP P2 Vel=100% PDAT1
UNTIL Test_a == 0
PTP P3 Vel=100% PDAT1
HALT
SWITCH number
Case 1
Pro_1()
Case 2
Pro_2()
Case 3
Pro_3()
DEFAULT
Pro_error()
ENDSWITCH
9.3) 更改自动倍率($OV_PRO)
$CONFIG.DAT中新建变量PRO_SPEED
调用系统变量$OV_PRO
在程序中写法为:$OV_PRO = PRO_SPE
偏移
PTP HOME Vel= 100 % DEFAULT
PTP P1 Vel=100 % PDAT1 Tool[0] Base[0]
XP2 = $POS_ACT
XP2.X = XP2.X + 100
PTP P2 Vel=100 % PDAT1 Tool[0] Base[0]
XP3 = $POS_ACT
XP3.X = XP3.X + 100
PTP P3 Vel=100 % PDAT1 Tool[0] Base[0]
XP4 = $POS_ACT
XP4.X = XP4.X + 100
PTP P4 Vel=100 % PDAT1 Tool[0] Base[0]
XP5 = $POS_ACT
XP5.X = XP5.X + 100
PTP P5 Vel=100 % PDAT1 Tool[0] Base[0]
11.2)工作空间模式
#OFF 工作空间监控已关闭
#INSIDE 当 TCP 位于工作空间内时,给定义的输出端赋值。
#OUTSIDE 当TCP位于工作空间外时,给定义的输出端赋值。
#INSIDE_STOP 当 TCP 位于工作空间内时,给定义的输出端赋值。并停住机器
人只有在关闭或桥接了工作空间监控之后,机器人才可重新运行。
#OUTSIDE_STOP 当 TCP 位于工作空间外时,给定义的输出端赋值。并停住机器
人只有在关闭或桥接了工作空间监控之后,机器人才可重新运行
11.3)配置工作空间
原点 到原点的距离
X : 475 X1 : 5 X2 : -5
Y : -1012 Y1 : 5 Y2 : -5
Z : 2112 Z1 : 5 Z2 : -5
原点位置即TCP在笛卡尔坐标系内的位置
到原点的距离即空间大小
|5| + |-5| =10
所以工作空间体积为 10 * 10 * 10
1.确认信息#Quit:将该信息提示作为确认信息发出
状态信息#STATE: 将该信息提示作为状态信息发出
提示信息#NOTIFY: 将该信息提示作为提示信息发出
等待信息#WAITING: 将该信息提示作为等待信息发出
DECL KRLMSG_T Mess
DECL KRLMSGPAR_T Par[3]
DECL KRLMSGOPT_T Opt
DECL INT handle
MESS={MODUL[] "MATION", Nr 0001, MSG_TXT[] "It is a"}
handle = SET_KRLMSG(#NOTIFY, Mess, Par[ ], Opt)