Status of an asynchronous instruction
An asynchronous instruction shows its status via the block parameters STATUS/RET_VAL and
BUSY. Many asynchronous instructions also use the block parameters DONE and ERROR.
The figure below shows the two asynchronous instructions WRREC and RD_DPARA.
① The input parameter REQ starts the job to execute the asynchronous instruction.
② The output parameter DONE indicates that the job was completed without error.
③ The output parameter BUSY indicates whether the job is currently being executed. When
BUSY=1, a resource is allocated for the asynchronous instruction. When BUSY= 0, the resource
is free.
④ The output parameter ERROR indicates that an error has occurred.
⑤ The output parameter STATUS/RET_VAL provides information on the status of the job execu
tion. The output parameter STATUS/RET_VAL receives the error information after the occur
rence of an error.
Figure 9-7Block parameters of asynchronous instructions using the instructions WRREC and RD_DPARA
as examples.
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 execution of the instruction is not
complete after a call.
NOTE
The output parameters of an synchronous instruction can change on every call.
You therefore evaluate the relevant output parameters after each call of the asynchronous
instruction.
Table 9-6Relationship 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
W#16#7001 1 0 01 First call 1
Error code (e.g. W#16#80C3
for lack of resources)
0 0 1
232
S7-1500R/H redundant system
System Manual, 11/2022, A5E41814787-AD
Basics of program execution
9.5 Asynchronous instructions