ARRAY 数据类型的变量

描述

要求

全局数据块已打开。

操作步骤

要声明一个 ARRAY 数据类型的变量,请按以下步骤操作:

在“名称”(Name) 列中,输入变量的名称。
在“数据类型”列中输入“Array”数据类型。在此步骤中,系统将提供自动完成功能。
将打开“数组”对话框。
在“数据类型”文本框中,指定数组元素的数据类型。
在“ARRAY 限值”(ARRAY limits) 输入字段中,指定各维度的上限和下限值。
一维 ARRAY 的示例:
ARRAY [0..3] of Bool
三维 ARRAY 的示例:
ARRAY[0..3, 0..15, 0..33] of Bool
局部常量作为 ARRAY 限值时,一维 ARRAY 的示例:
ARRAY[#My_local_const1..#My_local_const2] of Bool
全局常量作为 ARRAY 限值时,一维 ARRAY 的示例:
ARRAY["My_global_const1".."My_global_const1"] of Bool
确认输入。
可选:更改在其它列中显示的变量的属性。

这时变量已创建完成,但保持折叠状态。要展开 ARRAY,请单击变量前的三角形标记。请注意,为了清楚起见,不能展开包含超过 10000 个元素的 ARRAY。

输入 ARRAY 元素的启动值

要给 ARRAY 的各个元素设置默认启动值,请按以下步骤操作:

单击 ARRAY 数据类型变量前的三角形符号。
该 ARRAY 随即打开,且各 ARRAY 元素在单独的行中显示。
在“起始值”(Start value) 列中输入所需值。

为 ARRAY 添加注释

要为整个 ARRAY 添加注释,可在 ARRAY 声明的最上面一行中输入注释信息。该注释信息将用作所有低层级 ARRAY 元素的预设注释。

要为 ARRAY 的各元素指定具体的注释信息,请按以下步骤操作:

单击 ARRAY 数据类型变量前的三角形符号。
该 ARRAY 随即打开,且各 ARRAY 元素在单独的行中显示。
在“注释”(Comment) 列中,输入指定值。

在扩展模式下显示 ARRAY

在“扩展模式”下,所有 ARRAY 默认展开显示。

要启用扩展模式,请按下列步骤操作:

单击工具栏中的“扩展模式”(Expanded mode) 按钮。
说明
“扩展模式”显示的限制
根据计算机上可用的 RAM 大小,扩展模式下的最大限值为:
RAM < 8 GB:最多可显示 10000 行。
RAM >= 8 GB:最多可显示 40000 行。

ARRAY 元素的间接寻址

说明

要寻址 ARRAY 元素,可以输入整型变量以及常量作为下标。使用变量时,将在运行时计算下标。例如,在程序循环中,每次循环都使用不同的下标。

说明
下标变量 [i] 在开始块调用时读取一次,无法在处理期间由被调用的块进行更改。
在调用块并将间接索引的 ARRAY 元素 ("".["i"]) 作为输入/输出参数 (InOut) 传输到块时,无法在处理块时更改下标变量的值。因此值必须写入到与读取值时相同的 ARRAY 元素中。

语法

下列语法用于 ARRAY 的间接索引:

"".["i"] // 一维数组

"".["i"] // STRUCT 的一维数组

"".["i"] // 多维数组

"".["i"] // STRUCT 的多维数组

该语法包含以下部分:

部分 说明
数据块 ARRAY 所在数据块的名称
ARRAY ARRAY 数据类型的变量
i, j 用作指针的整型 PLC 变量
a 结构的附加局部变量

示例

下面以 SCL 为例,举例说明了对 ARRAY 元素进行的间接索引。MOTOR 是一个包含三行的一维 ARRAY_of_INT。VALUES 是一个整型的 PLC 变量。

在 SCL 中寻址 说明
MOTOR[2] := VALUES; (*直接寻址:将 VALUES 指定给 ARRAY MOTOR*) 的第二行
MOTOR["Tag_1"] := VALUES; (*间接寻址:将 VALUES 分配给由 "Tag_1" 指定的 ARRAY MOTOR*) 的行
#MOTOR["Tag_2"+"Tag_3"] := #Values; (*间接寻址:将 VALUES 分配给由表达式 "Tag_2"+"Tag_3" 指定的 ARRAY MOTOR*) 的行

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

全部0条评论

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

×
20
完善资料,
赚取积分