0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2024-04-18 10:37 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

数组的声明

程序中数组的声明:

数据类型名称 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

d830f738-fcca-11ee-a297-92fbcf53809c.png

d84e5fa8-fcca-11ee-a297-92fbcf53809c.png

d85eff70-fcca-11ee-a297-92fbcf53809c.png

d870b9e0-fcca-11ee-a297-92fbcf53809c.png

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

d87e7cc4-fcca-11ee-a297-92fbcf53809c.png

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

d88503f0-fcca-11ee-a297-92fbcf53809c.png

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

审核编辑:黄飞

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

    关注

    1

    文章

    594

    浏览量

    23038
  • 数组
    +关注

    关注

    1

    文章

    420

    浏览量

    27114
  • KUKA
    +关注

    关注

    3

    文章

    218

    浏览量

    17355

原文标题:KUKA KRL:Arrays 数组

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Labview 深入探索

    Labview深入探索的很好资料哦
    发表于 04-27 21:29

    LabVIEW_深入探索

    `LabVIEW_深入探索`
    发表于 08-19 13:38

    LabVIEW_深入探索

    LabVIEW_深入探索
    发表于 08-31 13:53

    Labview 深入探索

    Labview 深入探索
    发表于 04-11 18:09

    LabVIEW 深入探索

    LabVIEW 深入探索
    发表于 07-01 10:54

    java数组的三种定义方式_java数组的定义及使用方法(推荐)

    java数组是一种很常用的工具,本文将介绍来java数组的三种定义方式以及java数组
    发表于 01-29 09:53 3.3w次阅读

    KUKA.Ethernet KRL.学习心得

    EhternetKRL是KUKA提供的一个以太网通信功能的软件包,支持TCP和UDP协议.首先是软件包的安装,软件包的安装有两种方式,一种是操作示教器安装(常用的方法),另一种是通过WorkVisual安装,通过示教器安装是常用的方法,
    的头像 发表于 07-07 10:52 2467次阅读

    KUKA:简单数据和数组的使用V1.24

    使用KRL对机器人进行编程时,在程序中使用的数据会有相应的类型来处理这些数据,变量就是用来保存这些数据的容器,每个变量都属于一个专门的数据类型,在使用前必须声明数据类型。
    发表于 01-29 09:35 3214次阅读

    深入探索Linux的C语言

    本章将深入探索 Linux 的 C 语言。在本章,我们将学到更多关于编译器、从源码到二进制程序的 4 个步骤、如何使用 Make 工具以及系统调用和 C 标准库函数的差别的知识。我
    的头像 发表于 03-14 16:48 2668次阅读

    带你了解SystemVerilog的关联数组

    在SystemVerilog,我们知道可以使用动态数组实现数组元素个数的动态分配,即随用随分
    的头像 发表于 06-09 09:46 8959次阅读
    带你了解SystemVerilog<b class='flag-5'>中</b>的关联<b class='flag-5'>数组</b>

    深入探索感应马达的生产过程

    本文将深入探索感应马达的生产过程。尽管各厂商的马达细节设计有所异同,我们还是将以最基础的生产模式为主要脉络来进行阐述。
    的头像 发表于 08-16 16:23 1954次阅读
    <b class='flag-5'>深入</b><b class='flag-5'>探索</b>感应马达的生产过程

    js判断是否在数组存在

    JavaScript 是一种用于客户端和服务器端编程的脚本语言。它提供了许多内置函数和方法,以便进行数组操作。 在本文中,我们将学习如何使用 JavaScript 来判断一个元素是否存在于数组
    的头像 发表于 11-30 16:23 1929次阅读

    labview怎么查数组相同元素的个数

    要查找LabVIEW数组相同元素的个数,可以使用以下步骤: 创建一个包含要查找的数值的数组。这可以通过手动输入数组元素或从文件/其他数据
    的头像 发表于 12-28 16:42 5956次阅读

    PHP数组的使用方法!

    PHP数组的使用方法! PHP是一种广泛使用的网络编程语言,它的数组功能非常强大且灵活。数组是一种数据结构,它允许我们在单个变量存储多个
    的头像 发表于 01-12 15:11 1098次阅读

    数组和链表在内存的区别 数组和链表的优缺点

    数组和链表在内存的区别 数组和链表的优缺点  数组和链表是常见的数据结构,用于组织和存储数据。它们在内存的存储方式以及优缺点方面存在一些
    的头像 发表于 02-21 11:30 1865次阅读