Principios básicos de la ejecución del programa
10.5 Instrucciones que funcionan asíncronamente
Asignación de llamadas de una instrucción a una orden
Para ejecutar una instrucción a lo largo de varias llamadas, la CPU debe poder asignar
claramente una llamada subsiguiente a una orden en curso de la instrucción.
Para asignar la llamada a la orden, la CPU utiliza uno de los dos mecanismos siguientes, en
función del tipo de instrucción:
• Por medio del bloque de datos de instancia de la instrucción (si es del tipo "SFB")
• Por medio de los parámetros de entrada de la instrucción que identifican la orden. Estos
parámetros de entrada deben coincidir en cada llamada mientras se procesa la instrucción
asíncrona.
Ejemplo: La instrucción "RD_DPARA" se identifica con LADDR y RECNUM.
Estado de una instrucción que funciona asíncronamente
Una instrucción que funciona asíncronamente indica su estado mediante los parámetros de
bloque STATUS/RET_VAL y BUSY. Además, muchas instrucciones que funcionan
asíncronamente utilizan también los parámetros de bloque DONE y ERROR.
La figura siguiente muestra las instrucciones asíncronas WRREC y RD_DPARA.
①
②
③
④
⑤
Figura 10-7
348
El parámetro de entrada REQ lanza la orden para ejecutar la instrucción asíncrona.
El parámetro de salida DONE indica que la orden ha finalizado correctamente.
El parámetro de salida BUSY indica si la orden se está ejecutando. Si BUSY=1, hay un recurso
ocupado para la instrucción asíncrona. Si BUSY= 0, el recurso está libre.
El parámetro de salida ERROR indica que se ha producido un error.
El parámetro de salida STATUS/RET_VAL informa sobre el estado de ejecución de la orden.
Cuando se produce un error, el parámetro de salida STATUS/RET_VAL contiene la información
de error.
Parámetros de bloque de instrucciones asíncronas tomando como ejemplo las
instrucciones WRREC y RD_DPARA
Sistema redundante S7-1500R/H
Manual de sistema, 01/2024, A5E41815172-AF