深入探索KUKA KRL中的数组应用

描述

数组的声明

程序中数组的声明:

数据类型名称 1 [Dimension1 <, ..., Dimension3> ] <, ...,NameN [DimensionN1 <,..., DimensionN3>] >

数据列表中数组的声明:

数据类型名称 1 [Dimension1 <, ..., Dimension3> ] <, ..., NameN [DimensionN1 <,..., DimensionN3>] >

为了用同时初始化声明数组或数据列表中的常数数组:

 不允许在一个行中进行声明和初始化。但是,必须直接在带声明的行上进行初始化。在此之间不允许有行,也不允许空行。

 如果要初始化一个数组的多个元素,则必须按照数组下标升序 (从右侧的数组下标开始)指定元素。

 如果 CHAR 类型数组的所有数组元素都拥有相同的字符串,则不必单独初始化每个数组元素。忽略右侧的数组下标。(对于一维数组下标,不写下标。)

声明数据列表中的数组,同时初始化:

  数据类型名称 [Dimension1 <,..., Dimension3> ] 

名称 [1 <, 1, 1> ] = 值 1

< 名称 [1 <, 1, 2> ] = 值 2>

...

名称 [Dimension1 <, Dimension2, Dimension3> ] = 值 N

声明数据列表中的常数数组,同时初始化:

DECL CONST 数据类型名称 [Dimension1 <,..., Dimension3> ] 

名称 [1 <, 1, 1> ] = 值 1

< 名称 [1 <, 1, 2> ] = 值 2>

...

名称 [Dimension1 <, Dimension2, Dimension3> ] = 值 N

带有预定义数据类型的声明。也可以删去关键词 DECL。

DECL INT X 

DECL INT X1, X2 

DECL REAL ARRAY_A[7], ARRAY_B[5], A

通过同时初始化声明数组 (只在数据列表中可行)。

INT A[7] 

A[1]=27 

A[2]=313 

A[6]=11 

CHAR TEXT1[80] 

TEXT1[]="message" 

CHAR TEXT2[2,80]

TEXT2[1,]="first message" 

TEXT2[2,]="second message"

FOR Counter  = Start TO End

Statement

ENDFOR

DEF INIT_OUTPUTS ( )

DECL INT COUNTER

INI

FOR COUNTER=1 TO 10

;Set output 1-10 to FALSE

$OUT[counter]=FALSE

ENDFOR

...

END

DEF INIT_OUTPUTS ( )

DECL INT COUNTER

INI

FOR COUNTER=1 TO 10

;Set output 1-10 to FALSE

$OUT[counter]=FALSE

ENDFOR

...

END

字符串

字符串

字符串

字符串

DEF MAIN_PROGRAM( )

DECL INT MEAS_VALUE [2,4]

DECL INT ROW,COLUMN

INI

; --- Pre-assignment of an array ---

FOR ROW = 1 TO 2

FOR COLUMN = 1 TO 4

MEAS_VALUE [ROW,COLUMN] = 0

ENDFOR

...

END

DEF MAIN_PROGRAM( )

DECL INT MEAS_VALUE [2,4]

DECL INT ROW,COLUMN

INI

; --- Pre-assignment of an array ---

FOR ROW = 1 TO 2

FOR COLUMN = 1 TO 4

MEAS_VALUE [ROW,COLUMN] = 0

ENDFOR

...

END

字符串

BOOL MATRIX [3, 3, 3]

DEF MAIN_PROGRAM( )

BOOL MATRIX [3,3,3]

INT ROW, COLUMN, LEVEL

INI

FOR LEVEL = 1 TO 3

FOR COLUMN = 1 TO 3

FOR ROW = 1 TO 3

MATRIX [ROW, COLUMN, LEVEL] = FALSE

ENDFOR

ENDFOR

...

END

DEF MAIN_PROGRAM( )

BOOL MATRIX [3,3,3]

INT ROW, COLUMN, LEVEL

INI

FOR LEVEL = 1 TO 3

FOR COLUMN = 1 TO 3

FOR ROW = 1 TO 3

MATRIX [ROW, COLUMN, LEVEL] = FALSE

ENDFOR

ENDFOR

...

END

字符串

在声明简单数据类型时,也可以省略关键字“DECL”。

审核编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分