Skip to main content

功能块: ModbusRequest

图书馆:IoDrvModbusTCP

除了在Modbus服务器通道选项卡中,此功能块允许在应用程序中动态执行其他命令。但是,对于这些通过编程创建的命令,没有 I/O映射,只有以下类型的输入/输出数据范围ARRAY OF BYTE或者ARRAY OF WORD

13. 输入(VAR_INPUT)

姓名

数据类型

初始值

描述

Slave

ModbusTCPSlave

xExecute

BOOL

上升沿:动作开始。

下降沿:如果在功能块结束操作之前发生下降沿,则输出将复位。输出将照常运行,并且仅在操作结束或中止时复位(xAbort ),或者发生错误。在这种情况下,相应的输出值(xDonexErroriError ) 在输出端存在恰好一个周期。

xAbort

BOOL

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

usiUnitID

UINT

16#FF

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

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

对于串行连接,Modbus 设备的单元 ID 寻址范围为 1 至 247(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枚举。