CWRITE可以通过$CMD命令通道将指令传递给解释器。与Single Submit模式相比,Multi-Submit模式中某些命令的含义发生了变化。
修改的命令
与单一提交模式相比,以下命令的含义发生了变化:
•RUN[口译员ID]
•STOP[口译员ID]
•RESET[口译员ID]
•取消[口译员ID]
口译员ID:
•0:所有提交口译员
•1:机器人翻译
•2:系统提交口译员
•3:扩展提交口译员1
•4:扩展提交口译员2
•等等。
RUN还通过可选添加[>Interpreter ID]进行了扩展。
示例1
CWRITE ($CMD, STAT, MODE, "RUN/R1/CELL()")
单一提交模式下的行为:
启动程序CELL()。由于CELL()是一个SRC程序,在机器人解释器中启动。
多重提交模式下的行为:
类似于单一提交模式。
此程序行可用于系统提交或扩展提交。
示例2
CWRITE ($CMD, STAT, MODE, "RUN/R1/SPS()")
单一提交模式下的行为:
启动程序SPS()。由于SPS()是一个SUB程序,在系统提交解释器中启动(=single提交模式下的单个提交解释器)。
多重提交模式下的行为:
启动程序SPS()。由于SPS()是一个SUB程序,在系统中启动提交解释器。
示例3
CWRITE ($CMD, STAT, MODE, "STOP 0")
这一行只有在机器人程序中才有意义。
单一提交模式下的行为:
停止系统提交解释器。
多重提交模式下的行为:
停止所有当前提交解释器。
示例4
CWRITE ($CMD, STAT, MODE, "CANCEL 0")
单一提交模式下的行为:
取消选择系统提交解释器。
多重提交模式下的行为:
取消选择所有提交的口译员。
示例5
CWRITE ($CMD, STAT, MODE, "RUN/R1/MySubProg() > 5")
在单一提交模式下不允许使用此语句。
多重提交模式下的行为:
如果MySubProg()是一个SUB程序,它在ExtendedSub中以3开始。
该程序行可以用于其他提交解释器或机器人程序。
示例6
CWRITE ($CMD, STAT, MODE, "STOP 5")
在单一提交模式下不允许使用此语句。
多重提交模式下的行为:
停止Extended Submit解释器3。
该程序行可以用于其他提交解释器或机器人程序。
示例7
CWRITE ($CMD, STAT, MODE, "CANCEL 5")
在单一提交模式下不允许使用此语句。
多重提交模式下的行为:
选择ExtendedSubmit解释器3。
该程序行可以用于其他提交解释器或机器人程序。
KRL提交程序
VW_USR_S
VW_USR_S中的以下折叠由提交解释器调用。KRL可以在以下折叠中编程:
•Init:在初始化期间从sp.sub调用
•Loop:从sp.sub调用,循环
•Init Sub[Nr]:来自Sps[Nr.].Sub的呼叫
SUB程序中不可能出现以下KRL语句:
•机器人运动说明
机器人动作只能由机器人解释器进行解释。因此,SUB程序不能将包含移动指令的SRC程序调用为子程序。
•与机器人运动相关的说明
这包括制动器和所有触发器。
以下KRL声明允许在系统提交中使用,但不允许在扩展提交中使用:
• ASYPTP
• VECTORMOVEON()
• VECTORMOVEOFF()
• SET_TORQUE_LIMITS()
• RESET_TORQUE_LIMITS()
本例中的附加轴的运动指令可以在SUB程序中使用,只要它与系统提交而不是扩展提交相关。
IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN
$VEL_EXTAX[2]=10
$ACC_EXTAX[2]=10
ASYPTP {E2 45}
...
IF ((NOT $IN[12] == TRUE) AND ($IN[13] == TRUE)) THEN
$VEL_EXTAX[2]=10
$ACC_EXTAX[2]=10
ASYPTP {E2 0}
附加轴E2根据特定的输入进行操作。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !