Basics of program execution
8.2 Asynchronous instructions
Distributed I/O system
System Manual, 09/2019, A5E03576849-AJ
149
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 t
he relevant output parameters in your program.
Relationship between REQ, STATUS/RET_VAL, BUSY and DONE during a "running" job.
1
First call
1
Error code (for example, W#16#80C3 for lack
0 0 1
2 to (n - 1) Intermediate
Not rele-
W#16#7002 1 0 0
n
Last call
Not rele-
vant
W#16#0000, if no errors have occurred.
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 concurrent jobs for an instruction is exceeded, the following
occurs:
● The instruction returns error code 80C3 (lack of resources) in the block parameter
STATUS.
● The CPU does not execute the job until a resource becomes free again.
Note
Lower-level asynchronous instructions
Several asynchronou
s 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
at one time.