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 following conditions described below is met:
Requirement: A suitable array is connected at the input InputArray connected. This is indicated by the output xInputArrayValid (= TRUE).
after an edge change at the input
xUpdateActual(FALSE >> TRUE) (once)after the elapsed time
tTimeUpdateActual(tTimeUpdateActual> 0) (cyclic)after a change in 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 the input
xEn(FALSE >> TRUE) (once)after each cold start (once)
After the completion of data transmission, the result is signaled (xDataValid = TRUE / FALSE) and the transmitted data in the array InputArray is stored.
Note: The data type of the array at the input InputArray cannot be detected and evaluated as of 07/07/2023 (CDS-43675 Compiler, AnyType: Extension for Arrays needed) In the tool tip help for the 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 the 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 = invalid,
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 display (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

