SimpleWriteArrayOfInt

SimpleWriteArrayOfInt (FB)

FUNCTION_BLOCK SimpleWriteArrayOfInt

Triggering of the transmission of Modbus data

The data transmission is triggered if at least one of the conditions described below is met:

Prerequisite: A suitable array is connected to the input 'ariInputArray'. This is signaled by the output 'xInputArrayValid' ( = TRUE ).

  1. after an edge change on the input 'xUpdateSetp' ( FALSE >> TRUE ) ( one-time )

  2. after expiration of the time duration 'tTimeUpdateSetp' ( 'tTimeUpdateSetp' > 0 ) ( cyclic )

  3. after a change of the array at the input 'ariInputArray' (data type, size, contents) (one-time)

  4. after a change of essential parameters ( 'byUnitId', 'wRegisterAddr' ) ( one-time )

  5. after an edge change on the input 'xEn' ( FALSE >> TRUE ) ( one-time )

  6. after every cold start ( one-time )

Note: The data type of the array at the input 'ariInputArray' cannot be recognized and evaluated as of 07.07.2023 (CDS-43675 compiler, AnyType: Extension for arrays needed). The possible array data types depending on the selected function code are shown in the tooltip help for the input 'ariInputArray'.

InOut:

Scope
Name
Type
Initial
Comment

Input

xEn

BOOL

TRUE

Enable / disable communication ( TRUE = enabled )

Input

byUnitId

BYTE

0

Modbus address of the device

Input

ariInputArray

__SYSTEM.AnyType

Input for the array of data to be written (FC16, ARRAY OF INT (16 bit per element))

Input

xUpdateSetp

BOOL

FALSE

Update of setpoint values (on every rising edge )

Input

xResError

BOOL

FALSE

Reinitialization of the outputs ‘eErrorCodeCom’ and ‘eErrorCodeDev’ to the error-free state (on every rising edge)

Inout

ModbusClient

ModbusClientBase

Client of the device

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 'ariInputArray'

Output

xInputArrayValid

BOOL

FALSE

Validity of the array at the input 'ariInputArray' (data type, size) (FALSE = not valid, TRUE = valid)

Output

xAlarm

BOOL

FALSE

General fault ( TRUE = fault )

Output

xAlarmCom

BOOL

FALSE

General fault - communication ( TRUE = fault )

Output

eErrorCodeCom

ModbusErrorCode

ModbusErrorCode.NO_ERROR

Error code - communication ( 0 = no error )

Output

eErrorCodeDev

SIMPLE_WRITE_ARRAY_OF_INT_ERROR_CODE

SIMPLE_WRITE_ARRAY_OF_INT_ERROR_CODE.NO_ERROR

Error code - device (0 = no error)

Output

xBusy

BOOL

FALSE

Communication indicator ( TRUE = communication )

Input Const

wRegisterAddr

WORD

Start address of the register for the Modbus telegram

Input Const

tTimeUpdateSetp

TIME

TIME#0ms

Update interval for operations influenced by the input 'xUpdateSetp'

Last updated