浅析KUKA机器人系统变量和系统文件
2023-08-28 来源:elecfans
处理复杂的机器人应用的一个重要的前提条件是一个自由的和容易使用的可编程控制器。
为了满足该需求,机器人控制器的功能性必须在机器人语言中可编程。机器人控制器全部的功能仅当控制参数完整地和集成在机器人程序中时才可使用。通过预定系统变量和文件,在KRC...中得到了最好的解决。
预定变量的例子是$POS_ACT(当前机器人位置),$BASE(基本坐标系)或$VEL.CP(CP速度)。更详细的说明和。
所有预定变量的列表见单独资料[系统变量]。
系统变量被完整地集成在KRL的变量概念中。系统变量拥有相对应的数据类型,可以象其它变量一样可在程序中读和写,没有数据的类型的限制。当前机器人的位置,例如,仅可以读而不能写。控制器检查和限制该状态。
基于安全观念的允许,您有可能会写系统数据。从KCP或编程系统中可以装载和改变大量的系统数据,这样就建立一个宽范围的诊断能力 写系统变量的例子是$TIMER[ ]和$FLAG[ ]。
16个计时器变量$TIMER[1]…$TIMER[16]可用于测量时间顺序,可用作“秒表”。开
始和停止计时使用系统变量$TIMER_STOP[1]…$TIMER_STOP[16]:
$TIMER_STOP[4]=FALSE
开始计时器4,举例。
$TIMER_STOP[4]=TRUE
开始计时器4。使用一般变量分配可在任何时候复位有关的计时器变量。举例来说:
$TIMER[4]=0
如果计时器变量值从负向正变化,对应的标记则设置为TRUE(暂停条件),举例来说:
$TIMER_FLAG[4]=TRUE
当控制器启动时,所有的计时器变量预设置为0,标记
$TIMER_FLAG[1]…$TIMER_FLAG[16] 预设置为FALSE,变量$TIMER_STOP[1]...$TIMER_STOP[16] 预设置为TRUE。
计时器变量的单位是毫秒(ms)。$TIMER[1]…$TIMER[16]和$TIMER_FLAG[1]...$TIMER_FLAG[16]以12ms循环更新。
1024个标记$FLAG[1]…$FLAG[1024]被用作全局标记。这些BU布尔变量预设置为FALSE。
您可以随时在用户界面上通过“监视”菜单看标记的当前值。
KRC...中可用32个循环标记$CYCFLAG[1]…$CYCFLAG[32],控制器启动后预设为FALSE。
机器人中标记仅是循环被激活。在提交文件中允许循环标记,但是它们不循环求值。
循环标记可在子程序、函数和中断子程序中定义和激活。
$CYCFLAG[1]…$CYCFLAG[32]的数据类型为BOOL型。任何布尔表达式可分配给循环标记。
下列是允许的:
G布尔系统变量
G在数据表中声明和初始化过的布尔变量。
不允许的是
G函数返回的布尔值
语句
$CYCFLAG[10]=$IN[2] AND $IN[13]
布尔表达式“$IN[2]AND$IN[13]”循环求值。例如,一旦输入12或输入13变化,$CYCFLAG[10]也变化,上述表达式执行后与程序指针的位置无关。
定义过的所有的循环标记保持有效直到选择一个模态或通过复位进行程序块选择。所有的循环标记保持有效直到程序的最后。
$符号
预定变量一般选择一个容易记忆的名称。以$符号开始和有意义的英文缩写组成。它们象一般变量一样处理,所以您不必记忆任何不寻常的命令和稀有的选项。
为避免发生混乱,您在声明自己的变量的时候应该以$符号开头。
有的预定变量针对整个KRC...控制器(例如$ALARM_STOP用于定义输出到到PLC的急停信号PLC).其它,然而仅用于机器人(例如$BASE用于基本坐标系)。
机器人驱动器中有关控制的数据存储在目录“Steu”中,有关机器人的数据存储在目录“R1”中,并可在KUKA GUI上显示。
KUKA图形用户界面上的不同级别
当编程KRC...,您可以建立程序文件和数据表。程序文件是数据定义和可执行指令。而数据表仅包含数据定义和可能的初始化。
除了编程期间建立的数据表外,在KRC...中还有KUKA定义的和控制软件一起的数据表。这些数据表被称为预定数据表,主要包含预定变量。
您自己并不删除和建立预定数据表,当软件安装时自动产生,然后永远可以使用。就象预定数据的名称一样,预定数据表的名称也以$符号开始。
KRC...中存在以下预定数据表:
● $MACHINE.DAT
是预定数据表,包含专有的系统变量。适配控制器和所连接机器人(运动信息,控制参数等)的机床数据。控制系统和机器人系统中都有一个$MACHINE.DAT,您不可以新建或删除现存的。
例如:
$ALARM_STOP 急停信号 (控制器特有)
$NUM_AX 机器人轴数 (机器人特有)
● $CUSTOM.DAT
仅在控制系统中存在的数据表。包含可以配置或参数化特定控制函数的数据。编程师仅可以改变预定变量的值。不可以新建或删除现存的。
例如:
$PSER_1 串行接口1的协议参数
$IBUS_ON 激活可选的联络母线组
● $CONFIG.DAT
KUKA预定的数据表,不包含任何系统变量,然而,在控制级和机器人级都有一个
$CONFIG.DAT 可用。其中可定义长时间有效的变量、结构、通道和信号,对许多程序普通重要。
数据表分为以下几个程序块:
-- BAS
-- AUTOEXT
-- GRIPPER
-- PERCEPT
-- SPOT
A10
A50
A20
-- TOUCHSENSE
-- USER
用户的全局声明应该输入USER程序块,因为仅该处的声明在以后的软件升级中被转移。
● $ROBCOR.DAT
文件$ROBCOR.DAT包含特定机器人的机器人动态模型的数据。在轨迹计划编排中需要这些数据。在文件中您不可以新建一个新变量或删除现存的。
数据表 | 系统 | 值分配 | ||
数据表 | 控制 | 机器人 | at | by |
$MACHINE.DAT | Y | Y | 试运转 | KUKA/user |
$CUSTOM.DAT | Y | 试运转 | user/KUKA | |
$CONFIG.DAT | Y | Y | 单元安装或变换 | user/KUKA |
$ROBCOR.DAT | Y | Y | 运输 | KUKA |