WRITE_VAR 功能块将数据写入到采用 Modbus 协议的外部设备。
输入 |
类型 |
注释 |
---|---|---|
ObjType |
ObjectType |
ObjType 描述要写入的对象的类型(MW、Q)。 |
FirstObj |
DINT |
FirstObj 为要写入的第一个对象的索引。 |
Quantity |
UINT |
Quantity 为要读取的对象数: o1...123:寄存器(MW 类型) o1...1968:位(Q 类型) |
Buffer |
POINTER TO BYTE |
数组的指针地址,该数组包含应写入到目标设备的数据。数组必须等于或大于应写入的数据。例如,如果应写入 4 个寄存器,则需要 4 字数组,如果要写入 32 位,则需要 2 字(或 4 字节)数组,其中的每个位被设置为相应的值。必须使用 ADR 功能来传送数组的第一个字节的地址(请参阅示例中的 CFC 图)。 |
注意: 为了防止因存储器指针访问无效(在范围外)引起的非法访问,必须确保链接到输入Buffer的数组的大小等于或大于要写入到目标设备的数据。理想的做法是,将要写入的数据的定义 Quantity链接到与以下示例相似的缓冲区声明。
所有 PLCCommunication 库功能块共有的输入和输出参数在其他部分中介绍。
|
交换的数据不兼容 |
验证交换的数据是否兼容,这是因为各设备的数据结构对齐方式不完全相同。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
这个示例显示结合 ADDM 功能块执行 WRITE_VAR 功能块以便从 Modbus 从站的地址 0 开始写入 10 个输出(线圈)。Modbus 从站被指定有地址 8,必须能够通过串行线路接口 1 到达。前提条件是通过串行线路接口 1 将 Modbus Manager 配置为主站。