Basics of program execution
7.3 Asynchronous instructions
Distributed I/O system
158
System Manual, 12/2016, A5E03576849-AG
Summary
The table below provides you with an overview of the relationships described above. It
shows in particular the possible values of the output parameters if processing is not
completed after a call.
Note
Following every call, you must evaluate the relevant output parameters in your program.
Relationship between REQ, STATUS/RET_VAL, BUSY and DONE during a "running" job.
Seq. no.
of the
call
Type of call REQ
STATUS/RET_VAL
BUSY
DONE
ERROR
1
First call
1
W#16#7001
1
0
0
Error code (for example,
W#16#80C3 for lack of
resources)
0
0
1
2 to (n - 1) Intermediate
call
Not rele-
vant
W#16#7002
1
0
0
n
Last call
Not rele-
vant
W#16#0000, if no errors
have occurred.
0
1
0
Error code, if errors have
occurred
0
0
1
Consumption of resources
Asynchronous instructions occupy resources in the CPU while they are being processed.
The resources are limited depending on the type of CPU and instruction; the CPU can only
process a maximum number of asynchronous instruction jobs simultaneously. The resources
are available again after a job has been successfully completed or processed with an error.
Example: For the RDREC instruction, a 1512SP-1 PN CPU can process up to 20 jobs in
parallel.
If the maximum number of simultaneous jobs for an instruction is exceeded, the instruction
returns the error code 80C3 (lack of resources) in the block parameter STATUS. The
execution of the job is stopped until a resource becomes free again.
Note
Lower-level asynchronous instructions
Several asynchronous instructions use one or more lower-level asynchronous instructions
for their processing. This dependence is shown in the tables below.
Please note that, if there are several lower-level instructions, typically only one lower-level
instruction is occupied at one time.
Summary of Contents for Simantic ET200SP
Page 1: ......