Abarbeitungsreihenfolge, Priorität und Zykluszeit

1 Abarbeitungsreihenfolge/Bausteinnummer

Die Nummern an den rechten oberen Ecken der Bausteine beim Bearbeiten legen unter anderem ihre Abarbeitungsreihenfolge im Zielsystem fest. Bausteine mit geringerer Nummer werden vor Bausteinen mit höherer Nummer aufgerufen. Die Abarbeitungsreihenfolge kann wesentlichen Einfluss auf die Funktion des Programms besitzen und beispielsweise wie Klammern in einem arithmetischen Ausdruck wirken:

Bausteine ohne Nummer besitzen keine Zielfunktion. Sie werden meist nur zur Parametrierung und Visualisierung verwendet.

Die Bausteinnummer kann im Bearbeitungsmodus „Baustein-Reihenfolge" oder durch den gleichnamigen Befehl im Kontextmenü für einen Baustein im Modus „Zeichnung bearbeiten" festgelegt werden.

Unterschiedlichen Ergebnisse aufgrund unterschiedlicher Bausteinreihenfolge

Im folgenden Beispiel werden zwei gleichartige Operationen in unterschiedlicher Reihenfolge ausgeführt. Dadurch unterscheiden sich die Ergebnisse.

Bausteinreihenfolge

Zuerst wird ein Wert über einen Sinusgenerator bereit gestellt. In der oberen Reihe wird zuerst die Subtraktion und danach die Addition durchgeführt. In der unteren Reihe ist die Abarbeitungsreihenfolge umgedreht.

Die erste Subtraktion (Bausteinnummer 2) arbeitet sowohl mit einem aktuellen Wert aus dem Sinusgenerator als auch mit einem Wert, der von der Addition (Bausteinnummer 3) aus dem letzen Zyklus bereit gestellt wurde und erst nach der Durchführung der Subtraktion aktualisiert wird. Damit werden zwei unterschiedliche Werte subtrahiert.

Die zweite Subtraktion (Bausteinnummer 5) arbeitet immer mit Werten, die im aktuellen Programmzyklus erstellt wurden. Da die Addition mit Null (Bausteinnummer 4) den Wert nicht verändert, werden zwei gleiche Werte subtrahiert.

Dadurch kommen die unterschiedlichen Ergebnisse zustande.

2 Priorität

In der Konfiguration bezeichnet die Nummer am Programmbaustein die Priorität der zugeordneten Task. Dabei kennzeichnen kleinere Nummern Tasks mit höherer Priorität. Bei der Abarbeitung im Zielsystem können Tasks mit geringerer Priorität durch Tasks mit höherer unterbrochen werden.

3 Zykluszeit in test.con einstellen

Im Inbetriebnahmemodus enthalten die Kontextmenüs der Programmbausteine im Projektbaum und im Konfigurationsfenster Befehle zum Einstellen der Zykluszeit.

Inhalt

  1. Struktur der Q.station (00:20)
  2. Zykluszeit im test.commander einstellen (00:56)
  3. Einführung in test.con und Echtzeitanwendung (Real-Time-Applikation) (01:13)
  4. Echtzeitkern programmieren (Beispiel: Q.station und Pinzette mit Dehnmessstreifen) (04:06)

Sollten Sie das Video nicht abspielen können, klicken Sie hier

Zykluszeit

Die Zykluszeit einer Task wird im Inbetriebnahmemodus über der linken oberen Ecke eines Programmbausteins angezeigt. Als Defaultwert wird neu eingefügten Programmbausteinen der Wert 100 zugewiesen. Die Zykluszeit ist ein Vielfaches der kleinsten im Zielsystem messbaren Zeiteinheit (meist 1ms).