TIA Portal Anweisungen

Programmsteuerung
Fluss & Ausführung

Beherrschen Sie den logischen Ablauf Ihres Programms. Von bedingten Sprüngen bis hin zu Echtzeit-Diagnosetools — optimieren Sie die Ausführungsstruktur Ihrer Steuerung.

Was ist die Programmsteuerung in TIA Portal?

Anweisungen zur Programmsteuerung ermöglichen es, die sequentielle Ausführungsreihenfolge von Netzwerken zu ändern. Sie werden verwendet, um Codeabschnitte zu überspringen (Sprünge), komplexe Verzweigungen zu erstellen (Verteiler) oder das interne Verhalten der CPU zu verwalten (Stop, Watchdog, Zeitmessung).

Diese Anweisungen sind leistungsstark, müssen aber mit Vorsicht verwendet werden, insbesondere die WAIT-Anweisung, die den Zyklus blockiert, oder Sprünge, die das Programm bei zu großer Anzahl schwer debuggbar machen können. TIA Portal bietet auch moderne Tools, um Fehler lokal in jedem Baustein abzufangen.

Sprünge und Fluss

Anweisungen zur Programmumleitung

JMP / JMPN — Bedingte Sprünge

JMP

Was es macht

JMP unterbricht die sequentielle Ausführung und springt zu einer Sprungmarke (LABEL), wenn das VKE 1 ist. JMPN tut dasselbe, wenn das VKE 0 ist.

Wann man es verwendet

Überspringen eines Codeabschnitts, der in einem bestimmten Modus nicht ausgeführt werden soll, oder Erstellen einfacher Schleifen in KOP/FUP.

Profi-Tipps

Das Sprungziel (LABEL) muss sich im selben Baustein (FC oder FB) befinden.

Verwenden Sie keine Rückwärtssprünge, um Schleifen ohne Abbruchbedingung zu erstellen, da sonst eine Zykluszeitüberschreitung droht.

Verwenden Sie in SCL stattdessen IF...THEN- oder CASE...OF-Strukturen.

SWITCH — Sprungverteiler

SWITCH

Was es macht

Vergleicht einen Eingangswert mit mehreren Zielwerten und springt zu dem Netzwerk, das dem ersten zutreffenden Fall entspricht. Grafisches Äquivalent zu Switch/Case.

Wann man es verwendet

Verwaltung von Maschinenzuständen (einfacher Grafcet), Auswahl von Betriebsarten oder Routen von Teilen nach einem Typcode.

Profi-Tipps

Sauberer und lesbarer als eine Reihe von hintereinandergeschalteten == Vergleichern.

Verwenden Sie den 'ELSE'-Eingang, um Fälle abzufangen, in denen kein Wert übereinstimmt.

Ideal für Menüstrukturen auf dem HMI.

RET — Rücksprung

RET

Was es macht

Erzwingt das Ende der Ausführung des aktuellen Bausteins (FC/FB) und kehrt zum aufrufenden Baustein zurück.

Wann man es verwendet

Vorzeitiger Abbruch einer Funktion, wenn am Bausteinanfang ein Fehler erkannt wird oder eine Sicherheitsbedingung nicht erfüllt ist.

Profi-Tipps

Nützlich zur Optimierung der Zykluszeit, indem der Rest des Codes nicht unnötig verarbeitet wird.

Vorsicht: Noch nicht verarbeitete Bausteinausgänge behalten ihren letzten Zustand bei.

Verwenden Sie in SCL die RETURN-Anweisung.

Runtime-Steuerung

CPU-Zyklusmanagement und Leistungsmessungen

RUNTIME — Zeit messen

RUNTIME

Was es macht

Misst die Ausführungszeit eines Programmabschnitts oder des gesamten Bausteins in Mikrosekunden (µs).

Wann man es verwendet

Code-Optimierung, Diagnose rechenintensiver Netzwerke oder Leistungsberechnungen der Maschine.

Profi-Tipps

Rufen Sie RUNTIME einmal auf, um die Messung zu initialisieren, und ein zweites Mal, um das Ergebnis zu erhalten.

Verwenden Sie den Datentyp LReal, um das Messergebnis zu speichern.

Praktisch, um zu prüfen, ob eine komplexe FOR-Schleife die Watchdog-Grenzen erreicht.

WAIT — Feste Verzögerung

WAIT

Was es macht

Unterbricht die Programmausführung für eine angegebene Dauer in Mikrosekunden. ACHTUNG: Im Gegensatz zu einem Timer blockiert WAIT den CPU-Zyklus vollständig.

Wann man es verwendet

Warten einiger Mikrosekunden, um ein elektronisches Signal auf einer ultraschnellen E/A-Karte zu stabilisieren.

Profi-Tipps

Mit äußerster Mäßigung verwenden. Ein zu langes WAIT löst einen Watchdog-Fehler aus und stoppt die SPS.

Niemals für Prozessverzögerungen (Sekunden/Minuten) verwenden; nutzen Sie dafür TON-Timer.

Nur auf S7-1500 verfügbar.

STP — CPU-Stopp

STP

Was es macht

Erzwingt den Übergang der CPU in den STOP-Zustand.

Wann man es verwendet

Fataler Fehlerzustand, in dem die Maschine nicht mehr gesteuert werden darf, oder Diagnosetest.

Profi-Tipps

Der Stopp erfolgt sofort. Zum Wiederanlauf ist ein manueller Eingriff (HMI oder Schalter) erforderlich.

Bevorzugen Sie nach Möglichkeit ein Alarmmanagement mit sicherem Rückfallwert gegenüber einem harten CPU-Stopp.

Nützlich in Inbetriebnahmeprojekten, um an einer bestimmten Stelle zu 'breaken'.

Fehlerbehandlung

Lokales Abfangen von Ausführungsfehlern

GET_ERROR / GET_ERR_ID

Was sie machen

Rufen Informationen über den ersten Fehler ab, der innerhalb eines Bausteins aufgetreten ist (z. B. Zugriff auf nicht existierenden Array-Index).

Wann man es verwendet

Machen Sie Ihre Bausteine robust, indem Sie Programmierfehler abfangen, ohne die SPS zu stoppen.

Profi-Tipps

GET_ERROR liefert eine detaillierte Struktur (ErrorStruct), GET_ERR_ID liefert nur die Fehlernummer.

Platzieren Sie diese Anweisungen am Ende Ihrer kritischen Bausteine.

Ermöglicht die Erstellung eines benutzerdefinierten Fehlerprotokolls.

Sprünge vs. Kontrollstrukturen

Welche Methode zur Programmumleitung nutzen?

Sie benötigen...Empfohlene AnweisungWarum?
Einfacher Sprung in KOPJMPNetzwerk überspringen
Komplexe MehrfachauswahlSWITCH / CASELesbarer als 10 JMPs
Interne Dauer messenRUNTIMELeistungsoptimierung
Sofortiger StoppSTPKritischer Hardwarefehler
Sehr kurzes WartenWAITElektronische Stabilisierung
Lokale DiagnoseGET_ERRORVermeidung von CPU-STOPP

Häufig gestellte Fragen

Was ist der Unterschied zwischen JMP und JMP_LIST?

JMP ist ein einzelner Sprung zu einem Ziel. Mit JMP_LIST kann eine Liste von Zielen definiert werden. Abhängig von einem numerischen Index springt das Programm zur 1., 2. oder N-ten Sprungmarke der Liste.

Ist die WAIT-Anweisung gefährlich?

Ja, bei falscher Anwendung. Sie unterbricht die Ausführung des GESAMTEN Anwenderprogramms. Wenn die Summe Ihrer WAITs und Ihres Codes die Watchdog-Zeit (oft 150 ms) überschreitet, geht die CPU in STOPP.

Wie misst man die gesamte Zykluszeit der SPS?

Dafür benötigen Sie die RUNTIME-Anweisung nicht. Sie können die Information direkt in den CPU-Eigenschaften online auslesen oder die Systemvariablen des OB1 nutzen.

Wo werden Sprungmarken (LABEL) platziert?

Sprungmarken können am Anfang jedes Netzwerks platziert werden. In KOP erscheinen sie über der linken Stromschiene. Ein Name einer Sprungmarke muss innerhalb des Bausteins eindeutig sein.

Automatisieren Sie Ihre Kontrollstrukturen

Beschreiben Sie Ihre Sprunglogik oder Diagnosebedarfe, T-IA Connect generiert die optimierten JMP- und SWITCH-Netzwerke für Ihre Anwendung.