在 SUB 程序中几乎所有 KRL 指令均可用。但下列指令不可用:
机器人运动指令
机器人运动只能由机器人解释器解释。因此,从 SUB 程序中也无法作为子
程序调用包含运动指令的 SRC 程序。
针对机器人运动的指令
其包括 BRAKE 和所有 TRIGGER。
与此完全相反,附加轴的运动指令可用在 SUB 程序中。示例:
IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN$VEL_EXTAX[2]=10$ACC_EXTAX[2]=10ASYPTP {E2 45}...IF ((NOT $IN[12] == TRUE) AND ($IN[13] == TRUE)) THEN$VEL_EXTAX[2]=10$ACC_EXTAX[2]=10ASYPTP {E2 0}附加轴 E2 根据特定的输入端运动。在此不使用 WAIT 指令或等待循环,因其包含循环。提交解释器可以读取访问所有系统变量,也可以写入访问许多系统变量。即使在系统变量同时被一个运动程序使用时,也可访问。如果在 SUB 程序中更改提交解释器对其无写入访问权限的系统变量,则在启动程序时出现一个错误信息并且提交解释器停止。在 SUB 程序中常用的系统变量:示例:如果没有达到编程设定的速度,则将输出端 2 设定为 FALSE。…IF (($MODE_OP == #T1) OR ($OV_PRO < 100)) THEN$OUT[2] = FALSEENDIF…在测试运行方式下,不能从 SUBMIT 解释器写入 $OV_PRO,因为对于在工业机器人处工作的用户来说,这种变化可能是意想不到的。否则会造成死亡、身体伤害或财产损失。尽量避免通过 SUBMIT 解释器更改与安全相关的信号和变量(例如:运行方式、紧急停止、保护门触点)。如需进行更改,则在连接所有与安全有关的信号和变量时必须使其不会被提交解释器或 PLC 控制而进入有安全危险的状态。对机器人解释器与 SUBMIT 解释器是否同时访问同一个输出端不予检查,因为在某些情况下可能希望如此。因此,用户必须仔细检查输出端的分配。否则可能会在例如安全装置处出现意外的输出信号。否则会造成死亡、严重身体伤害或巨大的财产损失。在 SUB 程序中可以调用用作子程序的程序。可以是:
其他的 SUB 程序
不带机器人运动指令的 SRC 程序
示例:
从程序 SPS.SUB 中可以用 CWRITE 指令和 RUN 调用程序 CELL.SRC。调用只在冷启动时有效。
也可以用cwrite指令来调用其他的主程序,可成和Ringo都已用过
sps.sub 在机器人解释器中选择 CELL.SRC为了在运行中的运动程序和 SUB 程序之间实现二进制信息交换,可以使用机器人控制系统旗标。旗标由提交解释器设定并且由机器人解释器读取。