Communication
10.5 S7 communication
S7-1200 Programmable controller
590 System Manual, 03/2014, A5E02486680-AG
On the rising edge of the REQ parameter, the read operation (GET) or write operation (PUT)
loads the ID, ADDR_1, and RD_1 (GET) or SD_1 (PUT) parameters.
● For GET: The remote CPU returns the requested data to the receive areas (RD_x),
starting with the next scan. When the read operation has completed without error, the
NDR parameter is set to 1. A new operation can only be started only after the previous
operation has completed.
● For PUT: The local CPU starts sending the data (SD_x) to the memory location (ADDR_x)
in the remote CPU. When the write operation has completed without error, the remote
CPU returns an execution acknowledgement. The DONE parameter of the PUT
instruction is then set to 1. A new write operation can only be started after the previous
operation has completed.
Note
To ensure data consistency, always evaluate when the operation has been completed
(NDR
= 1 for GET, or DONE = 1 for PUT) before accessing the data or initiating another
The ERROR and STATUS parameters provide information about the status of the read
(GET) or write (PUT) operation.
Table 10- 38 Error information
0 11
• New job cannot take effect since previous job is not yet completed.
• The job is now being processed in a priority class having lower priority.
Communication has started. The job is being processed.
1 1 Communications problems, such as:
• Connection description not loaded (local or remote)
• Connection interrupted (for example: cable, CPU is turned off, or CM/CB/CP is in
STOP mode)
• Connection to partner not yet established
Negative acknowledgement from the partner device. The task cannot be executed.
1 4 Errors in the send area pointers (RD_x for GET, or SD_x for PUT) involving the data
Access error on the partner CPU
1 10 Access to the local user memory not possible (for example, attempting to access a
1 12 When the SFB was called:
• An instance DB was specified that does not belong to GET or PUT
• No instance DB was specified, but rather a shared DB
• No instance DB found (loading a new instance DB)