KUKA-DECL变量和协议介绍
2023-03-20 来源:机器人及PLC自动化应用
为了用同时初始化声明数组或数据列表中的常数数组:
不允许在一个行中进行声明和初始化。但是,必须直接在带声明的行上进行初始化。在此之间不允许有行,也不允许空行。
如果要初始化一个数组的多个元素,则必须按照数组下标升序 (从右侧的数组下标开始)指定元素。
如果 CHAR 类型数组的所有数组元素都拥有相同的字符串,则不必单独初始化每个数组元素。忽略右侧的数组下标。(对于一维数组下标,不写下标。)
声明数据列表中的数组,同时初始化:
名称 [1 <, 1, 1> ] = 值 1
< 名称 [1 <, 1, 2> ] = 值 2>
...
名称 [Dimension1 <, Dimension2, Dimension3> ] = 值 N
声明数据列表中的常数数组,同时初始化:
DECL
名称 [1 <, 1, 1> ] = 值 1
< 名称 [1 <, 1, 2> ] = 值 2>
...
名称 [Dimension1 <, Dimension2, Dimension3> ] = 值 N
元素 | 说明 |
DECL | 当数据类型为预定义数据类型时,DECL 可省略。当数据类型为用户自定义数据类型时,必须有 DECL。 |
GLOBAL | (>>> 11.4.4 " 适用范围 " 页面 326) |
CONST | 关键词 CONST 只允许在数据列表中使用。 |
数据类型 | 所需数据类型说明 |
名称 | 声明的对象 (变量、数组或常数)的名称 |
维数 |
类型:INT 维度为相应维度确定数组元素的数量。数组至少有 1 个最 多有 3 个维度。 |
值 | 数值的数据类型必须与数据类型兼容,但不需要相同。数据 类型兼容时,系统自动进行类型调整。 |
示例 1: 带有预定义数据类型的声明。也可以删去关键词 DECL。
DECL INT X DECL INT X1, X2 DECL REAL ARRAY_A[7], ARRAY_B[5], A |
示例 2
通过同时初始化声明数组 (只在数据列表中可行)。
INT A[7] A[1]=27 |
A[2]=313 A[6]=11 CHAR XT1[80] TEXT1[]="message" CHAR TEXT2[2,80] TEXT2[1,]="fit message" TEXT2[2,]="second message" |
命名规范
KRL 中的名称长度最多允许 24 个字符。
KRL 中的名称允许含有字母 (A - Z)、数字 (0 - 9) 以及特殊字符 "_" 和 "$"。
KRL 中的名称不允许以数字开头。
KRL 中的名称不允许为关键词。
大小写无关紧要。
变量的双重声明
双重声明总是产生于使用同样的变量名称 (字符串)时。
如果在不同的 *.SRC 或 *.DAT 文件中使用了相同的名称,则 不是双重声明。
在同一个 *.SRC 和 *.DAT 文件中不允许进行双重声明,否则将生成出错信息。
在以下情况下允许在 *.SRC 或 *.DAT 文件和 $CONFIG.DAT 中双重声明:
在其中声明了变量的程序结束时,仅改变本机上的值,不改变 $CONFIG.DAT 中的值。
一个 “ 外来 ” 程序结束时,仅对 $CONFIG.DAT 中的值有存取权,也只能改变该值。
KRL 中的数据类型
预定义的标准数据类型
BOOL:经典式 “ 是 ”/“ 否 ” 结果
REAL:实数,为了避免四舍五入出错的运算结果
INT:整数,用于计数循环或件数计数器的经典计数变量
CHAR:仅一个字符
审核编辑:刘清