跳到正文
Learn-LAD
梯形图示例库/LAD 指令手册/WriteToArrayDB — 写数组 DB

WriteToArrayDB — 写数组 DB

按索引写入全局数组 DB 的元素(S7-1500)。

移动 S7-1500 TIA V19 别名:写数组DB / WriteToArrayDB

在 TIA 里试一下

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

本页会先导入前置对象:DB_ArrayWriteDemo,再导入示例块;默认不覆盖同名对象。

TiaLink 设置

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

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

一句话

WriteToArrayDB 按索引写入全局数组 DB 的元素(S7-1500)。

符号与引脚

分类:移动 不需要实例 模板值:无
引脚方向说明
en流输入使能输入
db输入全局数组 DB
index输入元素索引
value输入要写入的值
eno流输出使能输出
Ret_Val输出返回码

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

最小示例

Enable=1 时 DB_ArrayWriteDemo.Values[Index] = NewValue;Ret=0 表示成功。

WriteToArrayDB_Example:Network 1 — 写数组 DB

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

怎么工作

  • db 是全局数组 DB,index 是元素索引,value 是要写入的值。
  • Ret_Val 返回码;EN/ENO 是使能。
  • 示例使用 DB DB_ArrayWriteDemo,导入面板会先导入 DB;导入后先编译 DB/PLC,再编译示例块。
  • 这是 S7-1500 指令;S7-1200(1215C)上找不到。

常用场景

1. 按索引写入

同上面的最小示例。

2. 写配方/参数数组

把配方或参数按索引写入全局数组 DB。

WriteToArrayDB_WriteArray:Network 1 — 按索引写入

常见坑

  • CPU 要求:S7-1500;1200 上不可用。
  • DB 内存预留:DB 不能带 memory reserve;示例 DB 已设为 0。
  • DB 未编译:先编译 DB/PLC,再编译块。
  • 索引越界:Index 要在数组范围内。
  • 并发写:多个写操作同一元素时定义好顺序。

← 返回 LAD 指令手册