ModbusRequest (FB)¶
FUNCTION_BLOCK ModbusRequest
In addition to the predefined Modbus commands defined in the tab Modbus Slave Channel, this function block allows to execute dynamically additional commands in the application. For this programmatically created commands CODESYS does not provide an I/O mapping but input/output data ranges of type ARRAY OF BYTE or ARRAY OF WORD.
- InOut:
- Scope - Name - Type - Initial - Comment - Inout - slave- Input - xExecute- BOOL- Rising edge: Action start
- Falling edge: Resets outputs If a falling edge occurs before the function block has completed its action, the outputs operate in the usual manner and are only reset if either the action is completed or aborted (xAbort), or in the event of an error. In this case, the corresponding output values (xDone, xError, iError) are present at the outputs for exactly one cycle. 
 - xAbort- BOOL- If this input is TRUE, the action is stopped immediately and all outputs are reset to their initial values. - usiUnitID- USINT- 16#FF - This field is used for routing purpose when addressing a MODBUS serial line sub-network.
- On TCP/IP, the MODBUS server is addressed using its IP address, the MODBUS Unit Identifier is useless (value 0xFF has to be used). On serial line, Modbus devcies are adressed with Uint-IDs from 1 to 247, 0 is used as broadcast address. 
 - ModbusCommand- The Modbus Command to be executed. Supports FCs for bit and word access - pSendData- POINTER TO BYTE - Pointer to a buffer holding the data to be send to the Slave
- For Register access the buffer is of type ARRAY[0..ModbusCommand.uiWriteLen - 1] OF WORD. For Bit access the buffer is of type ARRAY[0..ModbusCommand.uiWriteLen / 8] OF BYTE 
 - pRecvData- POINTER TO BYTE - Pointer to a buffer for writing the data received from a Slave
- For Register access the buffer is of type ARRAY[0..ModbusCommand.uiReadLen - 1] OF WORD. For Bit access the buffer is of type ARRAY[0..ModbusCommand.uiReadLen / 8] OF BYTE 
 - Output - xBusy- BOOL- Is TRUE as long as a request is in progress - xDone- BOOL- Is TRUE if a request finished successfully - xError- BOOL- Is TRUE if a request finished unsuccessfully - xAborted- BOOL- Is TRUE after a request in progress has been aborted by “xAbort” - ModbusError- MB_ErrorCodes.UNDEFINED - Specifies the current error as defined in the “MB_ErrorCodes” enumeration 
