KUKA使用SUBMIT解释器

描述

 

在 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 指令
  •  允许附加轴的异步运动
  • 可对系统变量进行读写访问
  •  可对输入 / 输出端进行读写访问 
      大众版SPS程序:

DEF  SPS ()

-SPS初始化-

VW (#VW_SPS_INIT,TRUE)

USR_S程序初始化-

VW_USR_S (#USR_INIT)

INTERRUPTDECL 91 WHEN $PRO_STATE1==#P_FREE DO VW(#VW_P_FREE,TRUE)

-没有选择程序-就执行这段VW程序-

INTERRUPTON 91

INTERRUPTDECL 92 WHEN $PRO_STATE1==#P_RESET DO VW(#VW_P_RESET,TRUE)

-程序复位-就执行这段VW程序-

INTERRUPTON 92

MAKROSTEP(1)STEP重回第1

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 程序

WAITFOR NOT $POWER_FAIL 有电源故障,不再循环-

ENDLOOP

END

  SUBMIT 解释器不能用于对时间要求严格的应用场合!对这类情况必须采用 PLC。原因:
  1.  SUBMIT 解释器与机器人解释器和 I/O 管理器共享系统功率,其中,机器人解释器和 I/O 管理器具有更高的优先级。因此,SUBMIT 解释器不会定期在机器人控制系统的 12 ms 插值周期内连续运行。 

  2.  此外,SUBMIT 解释器的运行时间也无规律可循。SUBMIT 解释器的运行时间受 SUB 程序行数的影响。注释行和空行对此也有影响。

  3.  自动启动 SUBMIT 解释器

  •    SUBMIT 解释器在机器人控制系统接通时自动启动

  •    启动的是在 KRC/STEU/MADA/$custom.dat 文件中定义的程序

    $PRO_I_O[]="/R1/SPS()"

4. 手动操作 SUBMIT 解释器
  •   通过菜单序列配置 > SUBMIT 解释器 > 启动 / 选择选择操作。
  •  

      通过状态显示 SUBMIT 解释器中的状态栏直接操作。触摸时将打开一个含有可执行选项的窗口。

     

     

     
  如果一个诸如 $config.dat 或 $custom.dat 的系统文件被改动因而出错,则 SUBMIT 解释器将被自动反选。纠正了系统文件中的错误后,必须再手动选择 SUBMIT 解释器。

 

给 SUBMIT 解释器编程时的特点

1. 不能执行任何机器人运动指令,如: 
  •    PTP 、LIN 、CIRC 等等
  •    包含机器人运动的子程序调用
  •    针对机器人运动的指令,TRIGGER 或  BRAKE
2. 可控制异步轴,如 E1 IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN ASYPTP {E1 45} ... IF ((NOT $IN[12] == TRUE) AND  ($IN[13] == TRUE)) THEN ASYPTP {E1 0}

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    

审核编辑 :李倩

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分