SimpleReadArray
SimpleReadArray (FB)
SimpleReadArray (FB)FUNCTION_BLOCK SimpleReadArray
Representation

Triggering the transmission of Modbus data
The data transmission is triggered if at least one of the conditions described below is met:
Requirement: A suitable array is connected to input InputArray . This is signaled by output xInputArrayValid (= TRUE).
after an edge change at input
xUpdateActual(FALSE >> TRUE) (once)after the expiry of the duration
tTimeUpdateActual(tTimeUpdateActual> 0) (cyclic)after a change to the array at the input
InputArray(data type, size) (once)after a change of essential parameters (
byUnitId,wRegisterAddr,eFunctionCode) (once)after an edge change at input
xEn(FALSE >> TRUE) (once)after each cold start (once)
After the data transmission is completed, the result is signaled (xDataValid = TRUE / FALSE) and the transmitted data in the array InputArray stored.
Note: The data type of the array at input InputArray cannot be recognized and evaluated as of 07/07/2023 (CDS-43675 Compiler, AnyType: Extension for Arrays needed) In the tooltip help for input InputArray the possible array data types are displayed depending on the selected function code.
InOut:
Input
xEn
BOOL
TRUE
Enable / disable communication (TRUE = enable)
Input
byUnitId
BYTE
0
Modbus address of the device
Input
InputArray
__SYSTEM.AnyType
Input for the array (FC01/02: ARRAY OF BOOL, ARRAY OF
BYTE) (FC03/04: ARRAY OF INT, ARRAY OF UINT, ARRAY OF WORD)
Input
xUpdateActual
BOOL
FALSE
Update of actual values (on every rising edge)
Input
xResError
BOOL
FALSE
Reinitialization of the outputs eErrorCodeCom or
eErrorCodeDev to the error-free state (on every
rising edge)
Inout
ModbusClient
ModbusClientBase
Client of the device
Output
eFunctionCodeFb
ReadFunctionCodes
ReadFunctionCodes.FC01_ReadCoils
Feedback - Modbus function code for the Modbus telegram
Output
wRegisterAddrFb
WORD
0
Feedback - start address of the register for the Modbus- telegram
Output
diInputArrayNumb
DINT
0
Number of array elements at the input InputArray depending on the Modbus function code
Output
xInputArrayValid
BOOL
FALSE
Validity of the array at the input InputArray (data type,
size) (FALSE = not valid, TRUE = valid)
Output
xDataValid
BOOL
FALSE
Validity of the data in the array InputArray (FALSE = not
valid, TRUE = valid)
Output
xAlarm
BOOL
FALSE
Collective fault (TRUE = fault)
Output
xAlarmCom
BOOL
FALSE
Collective fault - communication (TRUE = fault)
Output
eErrorCodeCom
ModbusErrorCode
ModbusErrorCode.NO_ERROR
Error code - communication (0 = no error)
Output
eErrorCodeDev
SIMPLE_READ_ARRAY_ERROR_CODE
SIMPLE_READ_ARRAY_ERROR_CODE.NO_ERROR
Error code - device (0 = no error)
Output
xBusy
BOOL
FALSE
Communication indicator (TRUE = communication)
Input Const
eFunctionCode
ReadFunctionCodes
ReadFunctionCodes.FC03_ReadHoldingRegisters
Modbus function code for the Modbus telegram
Input Const
wRegisterAddr
WORD
Start address of the register for the Modbus telegram
Input Const
tTimeUpdateActual
TIME
TIME#3s0ms
Update interval for the processes influenced by the input
xUpdateActual influenced
Last updated

