
FieldWrite — 写字段
按索引把值写入 UDT/DB 字段(数组元素)。
在 TIA 里试一下
选一个示例块,通过 TiaLink 导入当前 TIA 项目:预检、默认不覆盖、不自动保存。示例块不会自动运行;导入后请在 OB1 调用并接变量。
本页会先导入前置对象:UDT_FieldWriteDemo,再导入示例块;默认不覆盖同名对象。
一句话
FieldWrite 按索引把值写入 UDT/DB 字段(数组元素)。
符号与引脚
分类:移动
不需要实例
模板值:源类型(SrcType)
| 引脚 | 方向 | 说明 |
|---|---|---|
en | 流输入 | 使能输入 |
index | 输入 | 字段/数组索引 |
value | 输入 | 要写入的值 |
eno | 流输出 | 使能输出 |
member | 输出 | 字段访问(如 Data.Values[0]) |
符号见下面的最小示例;引脚名与方向来自 lad-ir 指令目录,说明为本站补充。
最小示例
Enable=1 时 Data.Values[Index] = NewValue;Index=2 写 Values[2]。

图中 # 前缀表示块内局部变量;实际工程里也可以是全局标签或 DB 变量。
怎么工作
index是数组/字段索引,value是要写入的值。member是输出,表示字段访问(如Data.Values[0]);注意它和FieldRead的方向相反。SrcType=Real,要和字段元素类型一致。EN/ENO是使能。- 示例使用 UDT
UDT_FieldWriteDemo,导入面板会先导入 UDT,再导入示例块;默认不覆盖同名 UDT。
常用场景
常见坑
- member 方向:
FieldWrite的member是输出,不是输入;别和FieldRead搞混。 - index 越界:
Index要在数组范围内。 - UDT 结构:字段名/类型要匹配;同名 UDT 结构不同时不要覆盖。
- 并发写:多个写操作同一字段时定义好顺序。
