借助模板创建程
Cell:现有的 Cell 程序,只能被替换或者在删除 Cell 程序后重新创建。
Expert:模块由只有程序头和程序结尾的 SRC 和 DAT 文件构成。
Expert Submit :附加的 Submit 文件 (SUB) 由程序头和程序结尾构成。
Function:SRC 函数创建,在 SRC 中只创建带有 BOOL 变量的函数头。函数结尾已经存在,但必须对返回值进行编程。
Modul:Modul(模块)由具有程序头、程序结尾以及基本框架 (INI 和 2 个 PTP HOME) 的 SRC 和 DAT 文件构成。
Submit:附加的 Submit 文件 (SUB) 由程序头、程序结尾以及基本框架 (DECLARATION、INI、LOOP/ENDLOOP) 构成。
几乎所有的KRL指令都可以在SUB程序中使用。 但是,以下说明是不可能的——或者只有在有限制的情况下: 机器人动作说明 机器人动作只能由机器人解释器进行解释。因此,包含运动命令的SRC程序不能作为SUB程序的子程序调用。 关于机器人运动的说明 其中包括BRAKE和所有TRIGGER语句。 以下说明允许在系统提交中使用,但不允许在扩展提交中使用: ASYPTP VECTORMOVEON() VECTORMOVEOFF() SET_TORQUE_LIMITS() RESET_TORQUE_LIMITS() 例子: 本例中的外部轴的运动指令可以在SUB程序中使用,前提是它被分配给系统提交,而不是扩展提交。 IF (($IN[12] == TRUE) AND ( NOT $IN[13] == TRUE)) THEN ASYPTP {E2 45} ASYPTP {E3 200} ... IF ((NOT $IN[12] == TRUE) AND ($IN[13] == TRUE)) THEN ASYPTP {E2 0} ASYPTP {E3 90} 外部轴E2和E3根据特定输入进行移动。此处未使用WAIT语句或等待循环,因为它们会停止循环。 操作步骤 1.在数据列表中选中要创建该程序的文件夹。(不是在所有的文件夹中都能建立程序。) 2. 按下按钮 新。 选择模板 窗口打开。 3. 选中模板 Submit 或 Expert Submit 并用 OK 确认。 4. 输入程序名称,并用 OK 确认。 “Submit” 模板: Submit 模板用于生成具有以下结构的 SUB 文件: 1 DECLARATIONS 2 INI初始化部分。用于在启动之后只执行一次的指令。 3 4 LOOP 5 USER PLC 含有 USER PLC 折叠夹的 LOOP 指令。 USER PLC 规定用于要在后台连续运行的程序。 6 ENDLOOP 7 USER SUBROUTINE 用于自定义的子例程 “Expert Submit” 模板: Expert Submit 模板生成空的 SUB 文件。对 于该模板,所有的都必须由用户自己编程设定。 在编程时使用 LOOP 指令。提交解释器只执行不带 LOOP 指令的 SUB 程序一次。然后自动将其取消。 在 SUB 程序中几乎所有 KRL 指令均可用。但下列指令不可用: 机器人运动指令 机器人运动只能由机器人解释器解释。因此,从 SUB 程序中也无法作为子程序调用包含运动指令的 SRC 程序。 针对机器人运动的指令 其包括 BRAKE 和所有 TRIGGER。 与此完全相反,附加轴的运动指令可用在 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 根据特定的输入端运动。 在此不使用 WAIT 指令或等待循环,因其包含循环。 提交解释器可以读取访问所有系统变量,也可以写入访问许多系统变量。即使在系统变量同时被一个运动程序使用时,也可访问。 如果在 SUB 程序中更改提交解释器对其无写入访问权限的系统变量,则在启动程序时出现一个错误信息并且提交解释器停止。 在 SUB 程序中常用的系统变量:
$MODE_OP = 值 | |
值 | 说明 |
#T1 | 机器人控制系统在运行方式 T1 下。 |
#T2 | 机器人控制系统在运行方式 T2 下。 |
#AUT | 机器人控制系统在自动运行方式下。 |
$MODE_OP = 值 | |
值 | 说明 |
#EX | 机器人控制系统在外部自动运行方式下。 |
#INVALID | 机器人控制系统无定义的状态。 |
$OV_PRO = 值 | ||
元素 | 数据类型 | 说明 |
值 (%) | INT | 程序倍率的大小 |
示例: 如果没有达到编程设定的速度,则将输出端 2 设定为 FALSE。
… IF (($MODE_OP == #T1) OR ($OV_PRO < 100)) THEN $OUT[2] = FALSE ENDIF … |
在SUB程序中可以调用用作子程序的程序。可以是: 其他的 SUB程序 不带机器人运动指令的 SRC程序 从程序 SPS.SUB 中可以用 CWRITE 指令和 RUN 调用程序 CELL.SRC。调用只在冷启动时有效。也可以用cwrite指令来调用其他的主程序,可成和Ringo都已用过 sps.sub 在机器人解释器中选择 CELL.SRC 为了在运行中的运动程序和 SUB 程序之间实现二进制信息交换,可以使用机器人控制系统旗标。旗标由提交解释器设定并且由机器人解释器读取。 编辑SPS.SUB程序 SPS.SUB程序由KUKA用于控制器内部提交任务。用户特定的提交任务通常应在单独的SUB程序中进行编程。 然而,在某些情况下,用户可能需要在SPS.SUB程序中插入指令。follo翼折叠可用于以下用途: USER INIT USER PLC 用户不得修改SPS.SUB程序的其他部分。 程序SPS.SUB未被选择或已被停止。 用户组“专家” 1.在“导航器”中,选择目录R1System中的SPS.SUB程序,然后按“打开”。 2.输入更改: 在USER INIT(用户初始化)折叠框中输入初始化。该折叠位于INI折叠中。 USER INIT ; Please insert user defined initialization commands 在USER PLC折叠中输入所有其他更改。 USER PLC ; Make your modifications here 3.关闭程序。响应确认请求,询问是否应保存更改,方法是按“是”。 SPS.SUB程序的结构: 1 DEF SPS ( ) 2 DECLARATIONS 3 INI 4 5 LOOP 6 WAIT FOR NOT($POWER_FAIL) 7 TORQUE_MONITORING() 8 9 ATB PLC LOOP 10 USER PLC 11 ENDLOOP
3 | INI折叠 这个折叠包含USER INIT折叠:在这里,用户可以输入在引导后只执行一次的语句。 |
5..10 | LOOP语句。对于要在后台连续运行的程序。 |
9 | 一些软件选项在程序SPS.SUB中插入折叠。例如:技术包KU-KA.ArcTech Basic插入折叠ATB PLC LOOP。实际存在的折叠取决于机器人控制器上安装的选项。 |
10 | 用户PLC:在这里,用户可以输入要在LOOP中执行的指令。 |
-
程序
+关注
关注
117文章
3781浏览量
80990 -
sub
+关注
关注
0文章
12浏览量
2246
原文标题:KUKA:创建新的 SUB 程序V5.22
文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论