Description
Original instructions
Function description
This procedure copies the number of elements listed in NumberOfElements wordwise, from position OffsetInSourceTable in the source table (SourceTable) to position OffsetInDestinationTable in the destination table (DestinationTable).
WARNING
FORCED VALUES NOT TAKEN INTO ACCOUNT
This procedure overwrites the values in State memory WITHOUT regard to possible forced values in the reference data editor. This can produce serious process conditions.
Failure to follow these instructions can result in death, serious injury, or equipment damage.
EN and ENO can be configured as additional parameters.
Representation in FBD
Representation:
Representation in LD
Representation:
Representation in IL
Representation:
LD SourceTable
IEC_BMDI OffsetInSourceTable, NumberOfElements,
    DestinationTable, OffsetInDestinationTable
Representation in ST
Representation:
IEC_BMDI (SourceTable, OffsetInSourceTable,
    NumberOfElements, DestinationTable,
    OffsetInDestinationTable);
Parameter description
Description of input parameters:
Parameter
Data type
Description
SourceTable
Quantum source table having contents copied. Selection of source table:
0 = Marker-Bits %MX
1 = Input Bits %IX
3 = Input words %IW
4 = Marker words %MW
OffsetInSourceTable
UINT
Offset in selected source table (SourceTable). As the copy operation is executed word-by-word, OffsetInSourceTable must be a multiple of 16+1 for 0x and 1x source tables (e.g. 17, 33, 49 etc.) The offset is subject to upper limit supervision and must be within the limits of the source table.
NumberOfElements
UINT
Table size for source and destination table. NumberOfElements indicates the number of elements in the source table to be copied. Because the copy operation is performed word-by-word, 0x and 1x source tables must have a multiple of 16 (e.g. 16, 32, 48, etc.) for NumberOfElements. NumberOfElements is subject to upper limit supervision and must be within the limits of the source and destination tables. Independent of the configured limits, the NumberOfElements value was additionally restricted to the following values to prevent the copy operation from taking up too much time:
%MX, %IX Bits: max NumberOfElements = 1600
%IW, %MW Registers: max NumberOfElements = 100
DestinationTable
UINT
Destination table to which contents of source table will be copied. Selection of destination table:
0 = Marker-Bits %MX
4 = Marker words %MW
OffsetInDestinationTable
UINT
Offset in selected source table. Because the copy operation is performed word-by-word, 0x and 1x source tables OffsetInDestinationTable must have a multiple of 16+1 (e.g. 17, 33, 49, etc.). The offset is subject to upper limit supervision and must be within the limits of the destination table.
Runtime error
The following standard user error messages are used:
User error message
Description
E_EFB_USER_ERROR_1
Input value is invalid register type (SourceTable).
E_EFB_USER_ERROR_2
The input offset (OffsetInSourceTable) selects an address outside acceptable limits.
E_EFB_USER_ERROR_3
The input offset (OffsetInSourceTable) is not 1 or a multiple of 16+1.
E_EFB_USER_ERROR_4
Output value is invalid register type (DestinationTable).
E_EFB_USER_ERROR_5
The output offset (OffsetInDestinationTable) selects an address outside acceptable limits.
E_EFB_USER_ERROR_6
The output offset (OffsetInDestinationTable) is not 1 or a multiple of 16+1.
E_EFB_USER_ERROR_7
The value for (NumberOfElements) is 0.
E_EFB_USER_ERROR_8
The value for (NumberOfElements) addresses more than 1600 bits.
E_EFB_USER_ERROR_9
The value for (NumberOfElements) addresses more than 100 words.
E_EFB_USER_ERROR_10
The value for (NumberOfElements) selects a source address outside the acceptable limits.
E_EFB_USER_ERROR_11
The value for (NumberOfElements) selects a destination address outside the acceptable limits.
E_EFB_USER_ERROR_12
The value for (NumberOfElements) is not a multiple of 16.
E_EFB_USER_ERROR_13
Warning: Address overlap of input and output addresses.
If there are no errors, the procedure copies the values from the indicated source to the destination address and sets the ENO output to 1.
The user errors 1 through 12 will block the copy operation and are setting the ENO output to 0.
If user error 13 occurs, the copy operation continues and the ENO output remains at 1 because this error is treated as a warning.
NOTE: For a list of all block error codes, see Extension/Compatibility.