
ReadFromArrayDB — 读数组 DB
按索引读取全局数组 DB 的元素(S7-1500)。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
本页会先导入前置对象:DB_ArrayReadDemo,再导入示例块;默认不覆盖同名对象。
一句话
ReadFromArrayDB 按索引读取全局数组 DB 的元素(S7-1500)。
符号与引脚
分类:移动
不需要实例
模板值:无
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
db | 输入 | 全局数组 DB |
index | 输入 | 元素索引 |
eno | 流输出 | 使能输出 |
value | 输出 | 读出的值 |
Ret_Val | 输出 | 返回码 |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Value = DB_ArrayReadDemo.Values[Index];Ret=0 表示成功。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
db是全局数组 DB,index是元素索引,value是读出的值。Ret_Val返回码;EN/ENO是使能。- 示例使用 DB
DB_ArrayReadDemo,导入面板会先导入 DB;导入后先编译 DB/PLC,再编译示例块。 - 这是 S7-1500 指令;S7-1200(1215C)上找不到。
常用场景
常见坑
- CPU 要求:S7-1500;1200 上不可用。
- DB 内存预留:DB 不能带 memory reserve,否则报“not permitted here”;示例 DB 已设为 0。
- DB 未编译:先编译 DB/PLC,再编译块。
- 索引越界:
Index要在数组范围内。 - DB 名称冲突:导入面板默认不覆盖同名 DB。
