西门子博途中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
完善资料,
赚取积分