Parallele Bearbeitung von Aufträgen einer asynchronen Anweisung
Eine CPU kann mehrere Aufträge einer asynchronen Anweisung parallel bearbeiten. Die CPU
bearbeitet die Aufträge unter folgenden Voraussetzungen parallel:
• Aufträge für eine asynchrone Anweisung werden gestartet, während andere Aufträge
dieser Anweisung noch laufen.
• Die Anzahl der maximal gleichzeitig laufenden Aufträge für die Anweisung ist nicht
überschritten.
Das folgende Bild zeigt die parallele Bearbeitung von zwei Aufträgen der Anweisung WRREC.
Die beiden Anweisungen werden dabei für eine gewisse Dauer gleichzeitig ausgeführt.
Bild 9-6
Hinweis
Abhängigkeiten zwischen asynchronen Anweisungen
Die Aufrufreihenfolge im Anwenderprogramm kann von der Abarbeitungsreihenfolge der
asynchronen Anweisungen abweichen. Das kann zu Problemen bei Abhängigkeiten zwischen
asynchronen Anweisungen führen.
Abhilfe: Um die zeitlich korrekte Abarbeitung sicherzustellen, verwenden Sie die Status-
Ausgaben der asynchronen Anweisungen in einer Ablaufkette. Wenn eine asynchrone
Anweisung fertig ist und dies über den Parameters DONE quittiert wird, dann sollte erst die
nächste asynchrone Anweisung starten.
Beispiel: Bei den Rezeptfunktionen RecipeImport und RecipeExport benötigen Sie für die
Rezeptdaten eine CSV-Datei. Wenn Sie für den Import und Export die gleiche CSV-Datei
verwenden, dann sind die beiden asynchronen Anweisungen voneinander abhängig.
Verknüpfen Sie in einer Ablaufkette den Status des Parameters DONE der Anweisung
RecipeImport in die Transition zum nächsten Schritt wo dann der RecipeExport ausgeführt
wird. Die Verknüpfung stellt somit die korrekte Abarbeitung sicher.
Redundantes System S7-1500R/H
Systemhandbuch, 01/2023, A5E41814780-AE
Parallele Bearbeitung der asynchron arbeitenden Anweisung WRREC
Grundlagen zur Programmbearbeitung
9.5 Asynchron arbeitende Anweisungen
269