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

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
db是全局数组 DB,index是元素索引,value是要写入的值。Ret_Val返回码;EN/ENO是使能。- 示例使用 DB
DB_ArrayWriteDemo,导入面板会先导入 DB;导入后先编译 DB/PLC,再编译示例块。 - 这是 S7-1500 指令;S7-1200(1215C)上找不到。
常用场景
常见坑
- CPU 要求:S7-1500;1200 上不可用。
- DB 内存预留:DB 不能带 memory reserve;示例 DB 已设为 0。
- DB 未编译:先编译 DB/PLC,再编译块。
- 索引越界:
Index要在数组范围内。 - 并发写:多个写操作同一元素时定义好顺序。
