在 KSS 8.x 中有两个任务同时运行 机器人解释器 (运行机器人运动程序及其逻辑) 控制解释器 (运行一个并行控制程序) 程序 SPS.SUB 的结构 1 DEF SPS ( ) 2 DECLARATIONS 3 INI 4 5 LOOP 6 WAIT FOR NOT($POWER_FAIL) 7 TORQUE_MONITORING() 8 9 USER PLC 10 ENDLOOP SUBMIT 解释器的状态SUBMIT 解释器正在运行SUBMIT 解释器停止反选了 SUBMIT 解释器 控制解释器
- 可自动或手动启动
- 可手动停止或反选
- 可承担机器人环境的操作和控制任务
- 默认情况下以名称 SPS.sub 建立在目录 R1/SYSTEM 下
- 可用 KRL 指令语句编程
- 不能处理与机器人运动有关的 KRL 指令
- 允许附加轴的异步运动
- 可对系统变量进行读写访问
- 可对输入 / 输出端进行读写访问
DEF SPS()
-SPS初始化-
VW(#VW_SPS_INIT,TRUE)
USR_S程序初始化-
VW_USR_S(#USR_INIT)
INTERRUPTDECL91WHEN$PRO_STATE1==#P_FREEDOVW(#VW_P_FREE,TRUE)
-没有选择程序-就执行这段VW程序-
INTERRUPTON91
INTERRUPTDECL92WHEN$PRO_STATE1==#P_RESETDOVW(#VW_P_RESET,TRUE)
-程序复位-就执行这段VW程序-
INTERRUPTON92
MAKROTRIGGER(0,0)-TRIGGER控制值清0-
LOOP–SPS循环执行的程序-
VW(#VW_SPS_CYC,TRUE)-循环执行的SPS程序-
VW(#VW_ZANGE,TRUE)-钳工具程序-
MAKROSPS()-STEP重开始循环
MAKROSTEP(0) -TRIGGER控制值清0开始循环-
VW_USR_S(#USR_LOOP)-循环执行USR_S.LOOP 程序
WAITFORNOT $POWER_FAIL–有电源故障,不再循环-
ENDLOOP
END
SUBMIT 解释器不能用于对时间要求严格的应用场合!对这类情况必须采用 PLC。原因:-
SUBMIT 解释器与机器人解释器和 I/O 管理器共享系统功率,其中,机器人解释器和 I/O 管理器具有更高的优先级。因此,SUBMIT 解释器不会定期在机器人控制系统的 12 ms 插值周期内连续运行。
-
此外,SUBMIT 解释器的运行时间也无规律可循。SUBMIT 解释器的运行时间受 SUB 程序行数的影响。注释行和空行对此也有影响。
-
自动启动 SUBMIT 解释器
-
SUBMIT 解释器在机器人控制系统接通时自动启动
-
启动的是在 KRC/STEU/MADA/$custom.dat 文件中定义的程序
$PRO_I_O[]="/R1/SPS()"
- 通过菜单序列配置 > SUBMIT 解释器 > 启动 / 选择选择操作。
-
给 SUBMIT 解释器编程时的特点
1.不能执行任何机器人运动指令,如:- PTP 、LIN 、CIRC 等等
- 包含机器人运动的子程序调用
- 针对机器人运动的指令,TRIGGER 或 BRAKE
3. 位于 LOOP 和 ENDLOOP 行之间的指令始终在 “ 后台 ” 处理
4. 要避免由等待指令或等待循环造成任何会进一步推迟处理 SUBMIT 解释器的停止
5. 可切换输出端
警告!
对机器人解释器与 SUBMIT 解释器是否同时访问同一个输出端不予检查,因为在某些情况下可能希望如此。
因此,用户必须仔细检查输出端的分配。否则可能会在例如安全装置处出现意外的输出信号。会造成死亡、重伤或巨大的财产损失。
在测试运行方式下,不能从 SUBMIT 解释器写入 $OV_PRO,因为对于在工业机器人处工作的用户来说,这种变化可能是意想不到的。可能会造成人员死亡、严重身体伤害或巨大的财产损失。
警告!
尽量避免通过 SUBMIT 解释器更改与安全相关的信号和变量(例如:运行方式、紧急停止、保护门触点)。
如需进行更改,则在连接所有与安全有关的信号和变量时必须使其不会由 SUBMIT 解释器或 PLC 引致威胁安全的状态。
给 SUBMIT 解释器编程时的操作步骤:
1. 在停止或反选的状态编程
2. 标准程序 SPS.sub 被载入编辑器
3. 执行必要的声明和初始化。为此应使用准备好的 Fold
4. 在 Fold USER PLC 中扩展程序
5. 关闭并保存 SUBMIT 解释器
6. 如果不能自动提交 (Submit),则手动启动
根据 SUBMIT 解释器中快闪编程的程序举例
DEF SPS( ) DECLARATIONS DECL BOOL flash ;在 $CONFIG.dat 中声明 INI flash = FALSE $TIMER[32]=0 ; 复位 TIMER[32] $TIMER_STOP[32]=false ; 启动 TIMER[32] ... LOOP ... USER PLC IF ($TIMER[32]>500) AND (flash==FALSE) THEN flash=TRUE ENDIF IF $TIMER[32]>1000 THEN flash=FALSE $TIMER[32]=0 ENDIF ; 分配给一个灯 (输出端 99 ) $OUT[99] = flash ... ENDLOOP审核编辑 :李倩
-
机器人
+关注
关注
211文章
28380浏览量
206917 -
KUKA
+关注
关注
3文章
217浏览量
16516 -
解释器
+关注
关注
0文章
103浏览量
6509
原文标题:KUKA 使用 SUBMIT 解释器
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论