Technical data

Table Of Contents
Communication SFCs for Non-Configured S7 Connections
System Software for S7-300/400 System and Standard Functions - Volume 2/2
22-10
A5E00739858-01
Entering Data in the Receive Area with EN_DT=1
When you call SFC 66 "X_RCV" with EN_DT=1, the oldest block of data in the
queue is copied to the area of the work memory specified by RD. RD must be
larger or the same size as the send area of the corresponding SFC 65 "X_SEND"
defined by the SD parameter. If the input parameter SD is of the BOOL data type,
RD must also be the BOOL data type. If you want to enter the received data in
different areas, you can query REQ_ID (SFC call with EN_DT = 0) and select a
suitable RD in the follow-on call (with EN_DT = 1).If no error occurs when the data
are copied, RET_VAL contains the length of the copied block of data in bytes and a
positive acknowledgment is sent to the sender.
EN_DT
REQ_ID
X_RCV
NDA
RD
Queue
Receive area
Transfer data
1
Entering Data from the Queue
Data acceptance
Discarding Data
If you do not want to enter the data from the queue, assign the value NIL to RD
(see /232/). In this case, the sender receives a negative acknowledgment
(RET_VAL of the corresponding SFC 65 "X_SEND" has the value W#1680B8).
RET_VAL of the SFC 66 "X_RCV" has the value 0.
Data consistency
After a call with EN_DT=1 and RETVAL=W#16#00xy, the receive area RD
contains new data. These data may be overwritten with a subsequent block call. To
prevent this, do not call SFC 66 "X_RCV" with the same receive area RD until you
have evaluated the received data.
Changing to the STOP Mode
If the CPU changes to the STOP mode
all newly arriving jobs are acknowledged negatively.
all jobs that have arrived and are in the queue are acknowledged negatively.
- If the STOP is followed by a warm or cold restart, the blocks of data are all
discarded.
- If the STOP is followed by a restart, (not possible on an S7-300 and an
S7-400H) the block of data belonging to the oldest job is entered in the
user program, if the queue was queried before the change to the STOP
mode (by calling SFC 66 "X_RCV" with EN_DT=0). Otherwise it is
discarded.
All other blocks of data are discarded.