Mehrere Tasks im SPS-Objekt deklarieren

So deklarieren Sie mehrere →Tasks im SPS-Objekt:

  1. Öffnen Sie das SPS-Objekt.

  2. Suchen Sie im geöffneten Editor für das SPS-Objekt die bereits vorhandene Zeile mit dem bereits vorhandenen Task.

    Beispiel für Zeilen mit Task
    TASK DefaultTask(INTERVAL := TIME#500ms, PRIORITY := 38229);
  3. Kopieren Sie diese Zeile in die Zwischenablage und fügen Sie diese direkt unterhalb der Zeile mit dem bereits vorhandenen Task ein.
    images/s/b2ic8e/9012/1ca6q62/_/images/icons/emoticons/warning.svg Die maximale Anzahl von Tasks pro Ressource ist durch das Zielsystem beschränkt. Siehe " Zielsystem-spezifische Eigenschaften und Einschränkungen" für Informationen, wie viele Tasks für die verwendete SPS möglich sind.

  4. Korrigieren Sie alle eingefügten Zeilen.

    Beispiel für Zeilen mit Tasks (nach der Korrektur)
    TASK DefaultTask(INTERVAL := TIME#500ms, PRIORITY := 38229);
    { IO } TASK FastTask(INTERVAL := TIME#100ms, PRIORITY := 20000);
    TASK SlowTask(INTERVAL := TIME#800ms, PRIORITY := 40000);

    Erforderliche Korrekturen in den kopierten Zeilen:

    1. Ersetzen Sie den Namen der bereits vorhandenen Tasks DefaultTask durch einen neuen Namen (z.B. SlowTask).

    Optionale Korrekturen in den kopierten Zeilen:

    1. Ersetzen Sie die Zykluszeit (z.B. TIME#500ms) durch den gewünschten Wert für den neuen Task (z.B. TIME#100ms). Details: siehe "Zykluszeit im SPS-Objekt eingeben".

    2. Falls Sie in der Anwendung auf die Hardware-IOs des Zielsystems zugreifen wollen, müssen Sie einen Task als IO-Task auszeichnen: Fügen Sie { IO } vor TASK ein. Falls Sie keinen Task für den Zugriff auf Hardware-IOs auszeichnen, verwendet logi.CAD 3 den Task, der in der ersten Zeile mit TASK eingetragen ist.
      Anwendungsszenario 1: Falls sich die Werte der IOs während der Ausführung der Anwendung nicht ändern sollen, weisen Sie dem IO-Task außerdem die niedrigste Priorität aller Tasks zu (siehe nächster Schritt für Informationen zur Priorität).
      Anwendungsszenario 2: Falls die Werte der IOs möglichst frühzeitig bei der Ausführung der Anwendung übernommen werden sollen, weisen Sie dem IO-Task die höchste Priorität aller Tasks zu.

    3. Zusätzlich können Sie ein oder mehrere IO-Services für den IO-Task in der Form von { IO := IO-service1, IO-service2, ...} spezifizieren. Bedingung: Das IO-Service muss definiert sein (z.B. durch die Angabe für IO_IMPORT; Informationen über diese Angabe finden Sie unter "Fehler beim Bearbeiten eines SPS-Objekts im Editor, Korrekte Syntax für SPS-Objekt"). Falls kein IO-Service für einen IO-Task spezifiziert wird, verwendet logi.CAD 3 alle nicht belegten IO-Services.
      Es ist auch möglich, einen IO-Task ohne IO-Service und mehrere IO-Tasks mit IO-Services zu spezifizieren. Beachten Sie dabei aber, dass ein IO-Service nicht bei mehreren IO-Tasks spezifiziert werden darf.

    4. Ersetzen Sie die Priorität 38229 durch den gewünschten Wert für den neuen Task (z.B. 40000).
      Die Priorität des Tasks definiert die Aufrufpriorität des zugeordneten →Programmtyps. Möglicher Bereich: 065535, wobei 0 der höchsten Priorität entspricht und 65535 der niedrigsten Priorität. Beachten Sie, dass Ihr eingesetztes →Zielsystem ebenfalls die Abarbeitung von →POE in der Anwendung beeinflussen kann (siehe "Zielsystem-spezifische Eigenschaften und Einschränkungen").

      Empfehlung für Vergabe der Task-Prioritäten

      • Für einen Task, der schnell auf Ereignisse reagieren muss, vergeben Sie eine höhere Priorität (im Vergleich zu den anderen Tasks). Beispiel: 10

      • Für einen Task, der zeitintensive Berechnungen durchführt oder der auf das Dateisystem zugreift (wie z.B. das Laden/Speichern von →gepufferten Variablen mit Hilfe des LoadRetainData-Bausteins und/oder SaveRetainData-Bausteins), vergeben Sie die niedrigste Priorität 65535.

  5. Speichern Sie das SPS-Objekt: Menü DateiSpeichern

Bevor Sie die Anwendung auf die SPS laden, ordnen Sie Programminstanzen den entsprechenden Tasks zu. Details: siehe "Mehrere Programmtypen zuordnen (= neue Instanzen erstellen)".