Skip to main content

功能块:ModbusRequest

图书馆: IoDrvModbusTCP

除了选项卡中定义的预定义 Modbus 命令之外 Modbus 服务器通道,此功能块允许在应用程序中动态执行附加命令。对于此编程创建的命令,CODESYS 不提供 I/O 映射,但提供 ARRAY OF BYTE 或 ARRAY OF WORD 类型的输入/输出数据范围。

13. 输入 (VAR_INPUT)

名称

数据类型

初始值

描述

Slave

Modbus TCP slave

xExecute

BOOL

上升沿:动作开始。

下降沿:当功能块结束动作之前出现下降沿时,输出复位。输出的行为与往常一样,只有在操作结束或已中止时才会重置(xAbort),或者如果发生错误。在这种情况下,相应的输出值 (xDone, xError, iError) 在输出端正好存在一个周期。

xAbort

BOOL

TRUE:操作立即中止,所有输出都设置为其初始值。

usiUnitID

UINT

16#FF

单元 ID 仅用于转发(网关)到 Modbus 串行总线。

对于 TCP/IP,MODBUS 服务器通过 IP 地址寻址。在这种情况下,不使用 MODBUS 单元 ID(必须使用值 0xFF)。

对于串行连接,Modbus 设备使用从 1 到 247 的单元 ID 进行寻址(0 用于广播地址)。

ModbusCommand

ModbusCommand

要执行的 Modbus 命令。支持位和字访问的功能块。

pSendData

POINTER TO BYTE

指向包含发送到服务器的数据缓冲区的指针。

对于寄存器访问,缓冲区的类型 Array[0..ModbusCommand.uiWriteLen - 1] OF WORD.对于位访问,缓冲区的类型为 ARRAY[0..ModbusCommand.uiWriteLen / 8] OF BYTE.

pRecvData

POINTER TO BYTE

指向写入服务器已接收数据的缓冲区的指针。

对于寄存器访问,缓冲区的类型 ARRAY[0..ModbusCommand.uiReadLen - 1] OF WORD.对于位访问,缓冲区的类型为 ARRAY[0..ModbusCommand.uiReadLen / 8] OF BYTE.



14. 输出 (VAR_OUTPUT)

名称

数据类型

初始值

描述

xDone

BOOL

FALSE

请求成功结束时为 TRUE

xBusy

BOOL

FALSE

只要正在处理请求,就为 TRUE

xError

BOOL

FALSE

当请求以错误结束时为 TRUE

xAborted

BOOL

FALSE

当请求已被用户中止时为 TRUE

ModbusError

MB_ErrorCodes

当前错误;在枚举中定义 MB_ErrorCodes.