Technical data

Table Of Contents
Copy and Block Functions
System Software for S7-300/400 System and Standard Functions - Volume 1/2
3-2
A5E00709327-01
Interruptability
As long as the source area is not part of a data block that only exists in the load
memory, there is no limit to the nesting depth.
If, however, SFC 20 is interrupted while copying from a DB that is not relevant to
program execution, the execution of SFC 20 can no longer be nested.
Parameter
Declaration
Data Type
Memory
Area
Description
SRCBLK INPUT ANY I, Q, M, D, L Specifies the memory area to be copied (source
area). Arrays of the data type STRING are not
permitted.
RET_VAL OUTPUT INT I, Q, M, D, L If an error occurs when the function is being
executed, the return value contains an error
code.
DSTBLK OUTPUT ANY I, Q, M, D, L Specifies the memory area to which the data will
be copied (destination area). Arrays of the data
type STRING are not permitted.
Note
The source and destination areas must not overlap. If the specified destination
area is larger than the source area, the function only copies as much data to the
destination area as is contained in the source area.
If the specified destination area (DSTBLK parameter) is smaller than the source
area (SRCBLK parameter ), the function only copies as much data as can be
written to the destination area.
If the destination or source area actually present is smaller than the size of the
parameter set for the memory area of the source or destination area (SRCBLK,
DSTBLK parameters), no data will be transferred.
If the ANY pointer (source or destination) is of the type BOOL, the length specified
must be divisible by 8; otherwise the SFC will not be executed.
Source or destination parameters (or both) should also be STRING data types. If
the source is a string, only the current characters in the string will be copied. If the
source and destination is a string, the current length of the number of copied
characters will be written.
If you want to copy a string including maximum length and actual length, proceed
as follows: Create the ANY pointer that you use in the SRCBLK and DSTBLK
parameters yourself. Use the BYTE data type for this.
Special feature: If an unlinked data block is copied to the RAM with SFC 20
BLKMOV and loaded at the same time, for example, through the programming
device, the SFC can be delayed up to several milliseconds. This results in a longer
OB cycle and may alert the cycle monitoring. Avoid loading the block during the
time in which the CPU is copying this block with SFC 20.