跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/CountOfElements — 数组元素个数

CountOfElements — 数组元素个数

返回 Variant 数组的元素个数。

移动 S7-1200/1500 TIA V19 别名:元素个数 / CountOfElements

在 TIA 里试一下

选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。

TiaLink 设置

默认 http://localhost:8080。也可以在本页地址后加 ?tialink= 临时指定。

TiaLink 启动时若设置了 --api-token,这里要填相同的值;只保存在本机浏览器 localStorage,不会上传。

一句话

CountOfElements 返回 Variant 数组的元素个数。

符号与引脚

分类:移动 不需要实例 模板值:var_type
引脚方向说明
en流输入使能输入
in输入Variant 数组
eno流输出使能输出
ret_val输出元素个数(UDInt)

符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。

最小示例

Enable=1 时 Count = CountOfElements(Data);传入 Array[0..7] 得 8。

CountOfElements_Example:Network 1 — 元素个数

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。

怎么工作

  • in 是 Variant,调用时传数组;ret_val 是元素个数(UDInt)。
  • var_type=Variant;不是数组的实参无法正常计数。
  • 返回的是元素个数,不是上界;Array[1..10] 也是 10 个元素。
  • EN/ENO 是使能。

常用场景

1. 取元素个数

同上面的最小示例。

2. 按元素个数循环

用 Count 作为循环上限,避免把数组长度写死。

CountOfElements_Count:Network 1 — 按元素个数循环

常见坑

  • 和 LEN 混淆:CountOfElements 数数组元素;LEN 数字符串字符。
  • 传非数组:实参要传数组;具体错误行为按 TIA 规则。
  • 把个数当上界:上界用 Upper_Bound;个数 = 上界 - 下界 + 1。
  • ENO 未接:后面的指令可能不执行;需要串联时检查 ENO。

← 返回 LAD 指令手册