FB_WriteVar:写入数据功能块

概述

下图显示了功能块 FB_WriteVar 的引脚图:

G-SE-0047225.1.gif-high.gif

 

 

FB_WriteVar 功能块会使用 Modbus SL 或 Modbus TCP 协议向外部设备写入数据。

I/O 变量描述

下表描述了 TwidoEmulationSupport 库中功能块的输入变量:

输入

数据类型

描述

i_xExecute

BOOL

此功能在此输入的上升沿上执行。

注意: 如果在冷复位或热复位后的第一个运行模式下的任务循环中将 xExecute 设置为“真”,则检测不到上升沿。

i_xAbort

BOOL

停止上升沿上正在执行的操作。

i_iLink

INT

指示用于通讯的端口。

o1 = 串行端口 1

o2 = 串行端口 2

o3 = 以太网 / Modbus TCP

i_iId

INT

目标外部设备的设备标识符:

o串行线路从站地址:1 至 247 或

o以太网索引:1 至 16

(取决于链路配置)。

注意: 值 0 是一个无效值,而且并不代表一条广播消息。

i_iTimeout

INT

设置接收响应须等待的最长时间。指定时以毫秒作为单位。0 值表示没有强制执行超时。

i_etObjType

SEN.ObjectType

枚举数据类型的值 (SEN.ObjectType) 包含了可用于写入操作的对象类型:

oMW:写入多个寄存器(16 位)

oQ:写入多个线圈(1 位)

i_diFirstObj

DINT

从其中写入值的第一个对象的地址。

i_iQuantity

INT

要写入的对象的数量.

i_pbyBuffer

POINTER TO BYTE

用来存储要写入的对象值的缓冲区的地址。

i_astRemoteDevices

ARRAY [1..Gc_uiRemoteAddressTableLen] OF ST_RemoteDevice

包含 Modbus TCP 通讯所用远程设备地址的列表。

下表描述了 TwidoEmulationSupport 库中功能块的输出变量:

输出

数据类型

描述

q_xDone

BOOL

如果功能成功完成,q_xDone 将设置为“真”。

q_xBusy

BOOL

如果功能正在执行,q_xBusy 将设置为“真”。

q_xAborted

BOOL

如果使用 i_xAbort 输入中止功能,q_xAborted 将设置为“真”。

q_xError

BOOL

如果功能由于检测到错误而停止,q_xError 将设置为“真”。

q_etCommError

SEN.CommunicationErrorCodes

q_etCommError 包含了通讯错误代码 SEN.CommunicationErrorCodes 的值。

q_etOperError

SEN.OperationErrorCodes

q_etOperError 包含了操作错误代码 SEN.OperationErrorCodes 的值。