Ejecución paralela de órdenes de una instrucción asíncrona
Una CPU puede procesar paralelamente varias órdenes de una instrucción asíncrona. La CPU
procesa las órdenes paralelamente cuando se cumplen las condiciones siguientes:
• Las órdenes de una instrucción asíncrona se inician mientras se están ejecutando otras
órdenes de la misma instrucción.
• No se ha sobrepasado el número máximo de órdenes simultáneas para la instrucción.
La figura siguiente muestra la ejecución paralela de dos órdenes de la instrucción WRREC.
Ambas instrucciones se ejecutan paralelamente durante cierto tiempo.
Figura 10-6
Nota
Dependencias entre instrucciones asíncronas
El orden de llamada en el programa de usuario puede variar del orden de ejecución de las
instrucciones asíncronas. Esto puede provocar problemas en caso de dependencias entre
instrucciones asíncronas.
Solución: Para garantizar la ejecución temporal correcta, utilice las salidas de estado de las
instrucciones asíncronas en una cadena secuencial. Una instrucción asíncrona no debe
iniciarse hasta que la instrucción asíncrona anterior ha terminado y la finalización se acusa
mediante el parámetro DONE.
Ejemplo: En las funciones de receta RecipeImport y RecipeExport se necesita un archivo CSV
para los datos de receta. Si para la importación y la exportación se utiliza el mismo archivo
CSV, las dos instrucciones asíncronas dependen la una de la otra. Vincule en una cadena
secuencial el estado del parámetro DONE de la instrucción RecipeImport a la transición hacia
la etapa siguiente, en la que se ejecutará RecipeExport. La vinculación garantiza la ejecución
correcta.
Sistema redundante S7-1500R/H
Manual de sistema, 01/2024, A5E41815172-AF
Ejecución paralela de la instrucción WRREC que funciona asíncronamente
Principios básicos de la ejecución del programa
10.5 Instrucciones que funcionan asíncronamente
347