打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
KUKA机器人的程序控制指令说明
FOR... TO ...ENDFOR:编程设定计数循环
1. 说明:
① 执行指令块,直到计数器超出或低于定义的值。
② 在应用块的最后一次执行后,用 ENDFOR 后的第一个指令继续程序。可以用 EXIT提前离开循环。
③ 循环可嵌套。在循环已嵌套时,则首先完整地执行外部循环。然后完整地执行内部循环。
2.语法格式:
FOR 计数器 = 起始值 TO 终值 <STEP 步幅><指令 >ENDFOR
参数说明:
参数
说明
计数器
类型:INT
计算循环次数的变量。预填写为起始值。必须事先声明变量。
在指令中可在循环内或循环外使用计数器的值。离开循环后,计数器有最后接受的值。
起始值,
终值
类型:INT
计数器必须预填写为起始值。每次循环执行结束后,计数器自动以步幅变化。超出或低于终值时,循环终止。
步幅
类型:INT
计数器在每次循环执行时变化的数值。该值不得为负。缺省值:1.
正值:当计数器大于终值时,循环终止。
负值:当计数器小于终值时,循环终止。
该值不允许为零或变量。
3. 举例:示例1:变量 B 在 5 个循环中分别增加 1,最后的值是5。
变量 A 的值分别是 1,3,5,7,9 ;最后的值是11。
DECL INT A,BINIB = 0FOR A=1 TO 10 STEP 2B=B+1ENDFOR
示例2:
变量 B 在 10 个循环中分别增加 1,最后的值是10。
变量 A 的值从1到10,依次累加,最后的值是11。
DECL INT A,BINIB = 0FOR A=1 TO 10B=B+1ENDFOR
GOTO:跳转至程序中的位置
1. 说明
务必跳至程序中指定的位置。程序在该位置上继续运行。跳转目标必须位于与 GOTO 指令相同的子程序或者功能中。
下列跳转是不可行的 :
①  从外部跳至 IF 指令。
② 从外部跳至循环语句。
③  从一个 CASE 指令跳至另一个 CASE 指令。
1.语法格式
GOTO 标签
...
标签:
参数说明:
参数
说明
标签
跳转的位置。在目标位置处在标签 结尾处必须有一个冒号。
2.示例
GOTO GLUESTOP...GLUESTOP:
务必从 IF 指令跳至程序位置结束。
IF X>100 THENGOTO ENDE ELSE X=X+1ENDIFA=A*X...ENDE: END
HALT:暂停程序
1.说明
停止程序。但是最后一次进行的运动指令仍然完整执行。程序仅可用启动键继续进行。随后执行“ 停止 ” 之后的下一个指令。中断程序中,程序在预进过程完整执行完毕后才被停止。
2.语法格式
HALT
IF...THEN ...ENDIF:编程设定有条件的分支
1.说明
条件分支。取决于条件,执行第一个指令块 (THEN块)或第二个指令块(ELSE 块)。然后在 ENDIF 后继续程序。允许缺少 ELSE 块。在条件不满足时,在 ENDIF 后立即继续程序。指令块中的指令数量没有限制。可以相互嵌套多个 IF 指令。
2.语法格式
IF 条件 THEN指令<ELSE指令 >ENDIF
参数说明:
参数
说明
条件
类型:BOOL
形式:
BOOL 类型变量
BOOL 类型函数
运算,例如与 BOOL 类型结果的比较
3. 示例
示例 1:不带 ELSE 的 IF 指令
IF A==17 THENB=1ENDIF
示例 2:带 ELSE 的 IF 指令
IF $IN[1]==TRUE THEN   $OUT[17]=TRUEELSE   $OUT[17]=FALSEENDIF
示例 3:有复杂执行条件的 if 分支
DEF MY_PROG( )DECL INT error_nr...INIerror_nr = 4...; 仅在 error_nr 1 或 10 或大于 99 时驶至 P21IF ((error_nr == 1) OR(error_nr == 10) OR (error_nr > 99)) THENPTP P21 Vel=100% PDAT21ENDIF...END
示例 4:有布尔表达式的 if 分支
DEF MY_PROG( )DECL BOOL no_error...INIno_error = TRUE...; 仅在无故障 (no_error) 时驶至 P21IF no_error == TRUE THENPTP P21 Vel=100% PDAT21ENDIF...END表达式 IF no_error==TRUE THEN 也可以简化为 IF no_error THEN,省略始终表示比较为真 (TRUE)。
LOOP...ENDLOOP:编程设定连续循环
1.说明
连续重复指令块的循环。可以用 EXIT 离开循环。循环可嵌套。在循环已嵌套时,则首先完整地执行外部循环。然后完整地执行内部循环。
2. 语法格式
LOOP指令ENDLOOP
3. 示例
执行循环,直到输入端 $IN[30] 变为 TRUE。
LOOPLIN P_1LIN P_2IF $IN[30]==TRUE THENEXITENDIFENDLOOP
REPEAT...UNTIL:编程设定采用的循环
1. 说明
直到型循环。重复指令块直到满足了特定条件的循环。至少执行该指令块一次。在每次循环执行之后检查条件。如果满足了条件,则执行 UNTIL 后的下一个指令继续程序。循环可嵌套。在循环已嵌套时,则首先完整地执行外部循环。然后完整地执行内部循环。
2. 语法格式
REPEAT指令UNTIL 中断条件
参数说明:
参数
说明
中断条件
类型:BOOL
形式:
BOOL 类型变量
BOOL 类型函数
运算,例如与 BOOL 类型结果的比较
3. 示例
示例1:执行循环,直到 $IN[1] 为TRUE,否则循环就一直循环。
REPEATR=R+1UNTIL $IN[1]==TRUE
示例 2:无论在循环执行之前是否已满足了中断条件,执行一次循环,因为只在循环结束时对中断条件进行询问,执行后 R 的值为 102。
R=101REPEATR=R+1UNTIL R>100
SWITCH ...CASE ...ENDSWITCH:编程设定多重分支
1.说明
1)根据选择标准从多个可能的指令块中选择一个。每个指令块拥有至少一个标记。选择其标记与选择标准一致的块。
2)如果该块已执行,则在 ENDSWITCH 后继续程序。
3)如果没有标记与选择标准一致,则执行 DEFAULT 块。如果没有 DEFAULT 块,则不执行任何块并在 ENDSWITCH 后继续程序。
4)无法用 EXIT 离开 SWITCH 指令。
2.语法格式
SWITCH 选择标准CASE 标记 1 <,标记 2,...>指令块<CASE 标记 M <,标记 N,...>指令块 ><DEFAULT默认指令块 > ENDSWITCH在 SWITCH 指令之内,DEFAULT 只允许出现一次。
参数说明:
参数
说明
选择标准
类型:INT、CHAR、ENUM
可能是所述数据类型的变量、功能调用或表达式。
标记
类型:INT、CHAR、ENUM
标记的数据类型必须与选择标准的数据类型一致。
一个指令块可以有任意多的标记。多个标记必须通过逗号相互隔开。
3. 示例 1:
选择标准和标记为 INT 类型。
INT VERSION...SWITCH VERSIONCASE 1UP_1()CASE 2UP_2()CASE 3UP_3()UP_3A()DEFAULTERROR_UP()ENDSWITCH
示例 2:
选择标准和标记为 CHAR 类型。在此绝不执行指令 Up_5()。
SWITCH NAMECASE 'A'UP_1()CASE'B','C'UP_2()UP_3()CASE 'C'UP_5()ENDSWITCH
WHILE ...ENDWHILE:编程设定当型循环
1.说明
1)当型循环。一直重复指令块直到满足了特定条件的循环。
2)如果不满足条件,则用 ENDWHILE 后的下一个指令继续程序。在每次循环执行之前检查条件。如果从一开始就不满足条件,则不执行指令块。
3)循环可嵌套。在循环已嵌套时,则首先完整地执行外部循环。然后完整地执行内部循环。
2.语法格式
WHILE 重复条件指令块ENDWHILE
参数说明:
参数
说明
重复条件
类型:BOOL
条件类型:
BOOL  类型变量
BOOL  类型函数
运算,例如与 BOOL 类型结果的比较
3.示例
示例 1:执行循环 99 次,最后一次执行后 W 的值为100。
W=1WHILE W<100W=W+1ENDWHILE
示例 2 :执行循环,直到 $IN[1] 为 TRUE。
WHILE $IN[1]==TRUEW=W+1ENDWHILE
WAIT FOR … : 等至条件已满足
1.说明
WAIT FOR 停止程序,直到已满足特定的条件。然后程序继续运行。WAIT FOR 将触发预进停止。
1.语法格式
WAIT FOR 条件
参数说明:
参数
说明
条件
类型:BOOL
要继续程序运行的条件
标记
如果该条件为  FLASE,则停止程序运行,直到条件变为TRUE
如果该条件在  WAIT 调用时已经为 TRUE,则不停止程序运行
3.示例
中断程序运行,直到 $IN[17] 为 TRUE:
WAIT FOR $IN[17]
中断程序运行,直到 BIT1 为 FALSE:
WAIT FOR BIT1==FALSE
WAIT SEC … :编程设定等待时间
1.说明
停止程序运行并在等待时间后继续程序运行。以秒为单位指定等待时间。WAIT SEC 将触发预进停止。
2.语法格式
WAIT SEC 等待时间
参数说明见:
参数
说明
等待时间
类型:INT、REAL
要中断程序运行的秒数。如果该值为负,则不等待。在等待时间很短时,通过 12 ms 的四倍确定精度。
3.示例
中断程序运行 17.156 s:
WAIT SEC 17.156
根据 V_ZEIT 的变量值 (单位:秒)中断程序运行:
WAIT SEC V_ZEIT
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
西门子SCL第二讲:指令介绍
KUKA 示教器 - 自定义按键(左下角4个白色按键),他来了!!!
为什么要用bool类型
InstallShield脚本语言的初识
S7-1200 1500 指令说明时间中断函数的编程示例
ABB机器人指令开发示例
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服