This function merges two input values into a single array and allows extracting a processed value from it.
In the function menu | On the diagram |
---|---|
![]() |
![]() |
Name | Value Type | Description |
---|---|---|
data 0..3 |
int32 |
Values to fill bytes 0..3 of the internal array |
data 4..7 |
int32 |
Values to fill bytes 4..7 of the internal array |
Name | Value Type | Description |
---|---|---|
y |
int32 |
Processing result |
Name | Description |
---|---|
Type | Size and type of the output value:UInt8 – 1-byte unsigned integerInt8 – 1-byte signed integerUInt16 – 2-byte unsigned integerInt16 – 2-byte signed integerUInt32 – 4-byte unsigned integerThe actual output is always Int32, since Complex Events only supports Int32 – 4-byte signed integer |
First Byte | The starting byte in the array for applying the mask (see Mask setting) |
Mask | Bitmask used to extract the number from the array |
Byte Order | The byte order used to interpret the value extracted using the Mask |
Bit Shift of Result | Additional bitwise right shift of the result (applied after the Byte Order setting) |
Below is an explanation of how the data flows from the inputs to the resulting value.
Input data:
data 0..3
= 0x44332211 (in decimal: 1144201745)
data 4..7
= 0x88776655 (in decimal: 2289526357)
The function takes the values from data 0..3
and data 4..7
, treating them as 4-byte integers in big-endian format (least significant byte on the right), and merges them into an 8-byte array.
The values are placed in sequence (first data 0..3
, then data 4..7
), starting from the least significant byte.
Internal array after writing input values:
Input values | data 0..3 = 0x44332211 | data 4..7 = 0x88776655 | |||||||
Array element index | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
Array contents | 11 |
22 |
33 |
44 |
55 |
66 |
77 |
88 |