TIA Portal Anweisungen

Bitverknüpfungen
Schließer, Spulen & Flankenauswertung

Das Herz der SPS-Programmierung. Bitverknüpfungen verarbeiten jede boolesche Operation — von einfachen Schließern und Spulen bis hin zu Flip-Flops und Flankenauswertung. Meistern Sie diese und Sie können jede Automatisierungslogik erstellen.

Was sind Bitverknüpfungen?

Bitverknüpfungen sind die grundlegendsten Anweisungen in der SPS-Programmierung. Sie arbeiten mit booleschen Signalen (TRUE/FALSE, 1/0) — sie lesen Eingangszustände, kombinieren Bedingungen mit UND/ODER-Logik und steuern Ausgänge. Im Kontaktplan (KOP) erscheinen diese als Schließer, Öffner und Spulen in Netzwerken. Im Funktionsplan (FUP) erscheinen sie als UND/ODER/NICHT-Boxen.

Jedes SPS-Programm nutzt Bitverknüpfungen intensiv. Eine Motor-Start/Stopp-Schaltung, eine Alarmbedingung, eine Ventilverriegelung — sie alle beginnen mit Schließern oder Öffnern, die Sensorzustände lesen, und enden mit Spulen, die Aktoren ansteuern.

Kontakte — Eingangszustände lesen

Kontakte lesen den booleschen Zustand einer Variablen und geben ihn entlang der Logikkette weiter

Schließer

—| |—
F9

Funktionsweise

Liest eine boolesche Variable (BOOL). Wenn die Variable TRUE (1) ist, schließt der Kontakt und gibt das Signal (Verknüpfungsergebnis = TRUE) an das nächste Element weiter. Wenn die Variable FALSE (0) ist, ist der Kontakt offen und blockiert den Signalfluss. Dies ist die am häufigsten verwendete Anweisung in der KOP-Programmierung.

Einsatzbereich

Jedes Mal, wenn Sie prüfen müssen, ob eine Bedingung TRUE ist: Ist ein Taster gedrückt? Ist ein Sensor aktiv? Ist ein Merker gesetzt? Platzieren Sie einen Schließer und weisen Sie ihm Ihre Variable zu.

Profi-Tipps

Der Name 'Schließer' stammt aus der Relaistechnik — der Kontakt ist im Normalzustand/Ruhezustand offen (leitet keinen Strom). Er schließt sich bei Betätigung.

Mehrere Schließer in Reihe bilden eine UND-Logik. Mehrere Schließer in parallelen Zweigen bilden eine ODER-Logik.

Im FUP entspricht dies einfach der Verdrahtung einer BOOL-Variablen mit einem UND/ODER-Eingang — es ist kein explizites Kontaktsymbol erforderlich.

Öffner

—|/|—
F10

Funktionsweise

Das Gegenstück zum Schließer. Wenn die Variable FALSE (0) ist, ist der Kontakt geschlossen und lässt das Signal durch. Wenn die Variable TRUE (1) ist, öffnet der Kontakt und blockiert den Signalfluss. Er wirkt wie eine NICHT-Operation auf den Variablenwert.

Einsatzbereich

Wenn Sie prüfen müssen, ob eine Bedingung NICHT wahr ist: Not-Halt nicht gedrückt, kein Fehler aktiv, Endschalter nicht erreicht. Sehr verbreitet für Sicherheitsverriegelungen und Alarmbedingungen.

Profi-Tipps

Verwenden Sie Öffner für Not-Halt- und Sicherheitskreise — sie sind drahtbruchsicher. Wenn das Kabel bricht, öffnet der Kontakt und stoppt die Maschine.

Im FUP entspricht dies einem negierten Eingang (kleiner Kreis am Eingangspin einer UND/ODER-Box).

Verwechseln Sie die Öffner-Anweisung nicht mit einem physischen Öffner-Taster. Dies sind unabhängige Konzepte.

VKE invertieren

—|NOT|—

Funktionsweise

Invertiert (negiert) das aktuelle Verknüpfungsergebnis (Verknüpfungsergebnis). Wenn die bisherige Logikkette TRUE ergibt, macht NOT sie zu FALSE und umgekehrt. Es operiert auf dem kumulierten Logikergebnis, nicht auf einer spezifischen Variablen.

Einsatzbereich

Wenn Sie einen komplexen Logikausdruck invertieren müssen, anstatt eine einzelne Variable. Anstatt die gesamte Bedingung mit invertierten Kontakten neu zu schreiben, platzieren Sie NOT am Ende, um das Ergebnis umzukehren.

Profi-Tipps

NOT invertiert das gesamte Verknüpfungsergebnis an diesem Punkt — im Gegensatz zu einem Öffner, der nur eine Variable invertiert.

Verwenden Sie im FUP die NICHT-Box oder negieren Sie den Ausgang eines Logikgatters.

Sparsam verwenden — ein übermäßiger Einsatz von NOT macht die Logik schwer lesbar. Oft ist eine Umstrukturierung der Logik klarer.

Spulen — Ausgänge steuern

Spulen schreiben das Ergebnis der Logikkette in eine Ausgangsvariable

Zuweisung

—( )—
Shift + F7

Funktionsweise

Schreibt das aktuelle Verknüpfungsergebnis (Verknüpfungsergebnis) in eine boolesche Variable. Wenn die Logikkette TRUE ist, wird die Variable TRUE. Wenn FALSE, wird die Variable FALSE. Dies ist die Standard-Ausgangsspule — sie spiegelt die Eingangslogik in jedem Scan-Zyklus direkt wider.

Einsatzbereich

Für jeden Ausgang, der direkt seinen Eingangsbedingungen folgen soll. Eine Meldeleuchte, die leuchtet, wenn ein Motor läuft, ein Ventil, das öffnet, wenn die Bedingungen erfüllt sind. Der Ausgang folgt dem Eingang — wenn die Bedingungen FALSE werden, wird auch der Ausgang FALSE.

Profi-Tipps

Die Zuweisung ist 'nicht-remanent' innerhalb des Zyklus — sie schreibt bei jedem Scan. Wenn die Logik FALSE wird, geht der Ausgang sofort auf FALSE.

Eine Variable sollte nur in EINEM Netzwerk zugewiesen werden. Mehrere Zuweisungen zur gleichen Variable führen dazu, dass die letzte gewinnt, was zu unvorhersehbarem Verhalten führt.

Im FUP ist die Zuweisung einfach die Verbindung des Ausgangs eines Logikgatters mit einer BOOL-Variablen.

Negierte Zuweisung

—(/)—

Funktionsweise

Schreibt das invertierte Verknüpfungsergebnis in eine boolesche Variable. Wenn die Logikkette TRUE ist, wird die Variable FALSE. Wenn die Logikkette FALSE ist, wird die Variable TRUE. Sie kombiniert Zuweisung + NOT in einer Anweisung.

Einsatzbereich

Wenn ein Ausgang genau im entgegengesetzten Zustand aktiv sein soll. Zum Beispiel eine Lampe 'System OK', die ausgeht, wenn ein Fehler erkannt wird. Anstatt die gesamte Logikkette zu invertieren, verwenden Sie die negierte Spule.

Profi-Tipps

Entspricht dem Platzieren eines NOT vor einer regulären Zuweisung, ist aber kompakter.

Mit Vorsicht genießen — negierte Spulen können beim Lesen verwirrend sein. Manchmal ist es klarer, die Logik umzustrukturieren.

Im FUP ist dies eine negierte Ausgangsverbindung.

Ausgang rücksetzen

—(R)—

Funktionsweise

Wenn das Verknüpfungsergebnis TRUE ist, wird die Variable auf FALSE (0) gesetzt. Wenn das Verknüpfungsergebnis FALSE ist, bleibt die Variable unverändert (behält ihren aktuellen Wert). Dies ist eine Einweg-Operation — sie kann Dinge nur AUSschalten, nie EIN.

Einsatzbereich

In Setzen/Rücksetzen-Schaltungen: Ein Netzwerk setzt den Ausgang (EIN), ein anderes setzt ihn zurück (AUS). Verwenden Sie Rücksetzen für Stopp-Bedingungen, Fehlerquittierung und Alarmquittierung. Das Rücksetzen hat in der Sicherheitslogik meist Vorrang.

Profi-Tipps

Rücksetzen wirkt nur, wenn sein Verknüpfungsergebnis TRUE ist. Wenn das Verknüpfungsergebnis FALSE ist, bleibt der Ausgang unverändert — er wird NICHT auf TRUE gesetzt.

In einem S/R-Paar hat die Anweisung Vorrang, die zuletzt im Programm erscheint (wenn beide Bedingungen gleichzeitig TRUE sind).

Rücksetzen ist speichernd — nach einem Rücksetzen bleibt der Ausgang FALSE, bis er explizit wieder gesetzt wird.

Ausgang setzen

—(S)—

Funktionsweise

Wenn das Verknüpfungsergebnis TRUE ist, wird die Variable auf TRUE (1) gesetzt. Wenn das Verknüpfungsergebnis FALSE ist, bleibt die Variable unverändert (behält ihren aktuellen Wert). Dies ist eine Einweg-Operation — sie kann Dinge nur EINschalten, nie AUS.

Einsatzbereich

In Setzen/Rücksetzen-Schaltungen: Verwenden Sie Setzen für Start-Bedingungen, Verriegelungssignale und Erstlauf-Merker. Einmal gesetzt, bleibt der Ausgang TRUE, bis er explizit zurückgesetzt wird — das macht ihn 'selbsthaltend', ohne einen Selbsthaltekontakt zu benötigen.

Profi-Tipps

Setzen wirkt nur, wenn sein Verknüpfungsergebnis TRUE ist. Wenn das Verknüpfungsergebnis FALSE ist, bleibt der Ausgang unverändert — er wird NICHT zurückgesetzt.

Klassische Motorsteuerung: Netzwerk 1 = Start-Taster → Motor setzen. Netzwerk 2 = Stopp-Taster ODER Fehler → Motor rücksetzen.

Vorsicht mit remanenten Variablen in Sicherheitskreisen — nach einem Power-Cycle können gesetzte Ausgänge ihren letzten Zustand beibehalten, abhängig von den DB-Einstellungen.

Bitfeld-Operationen

Einen Bereich von Bits in einer einzigen Operation setzen oder rücksetzen

SET_BF — Bitfeld setzen

Funktionsweise

Setzt eine zusammenhängende Gruppe von Bits ab einer angegebenen Adresse auf TRUE. Sie definieren das Start-Bit und die Anzahl der zu setzenden Bits. Wenn das Verknüpfungsergebnis TRUE ist, werden alle angegebenen Bits auf 1 gesetzt.

Einsatzbereich

Wenn Sie mehrere zusammengehörige Ausgänge gleichzeitig aktivieren müssen — zum Beispiel das Setzen aller Bits eines Statusworts, das Initialisieren einer Gruppe von Merkern oder das Aktivieren einer Bank von Ausgängen auf einmal.

Profi-Tipps

Nützlich für Batch-Operationen, anstatt individuelle Setzen-Anweisungen für jedes Bit zu schreiben.

Der Parameter für die Anzahl der Bits bestimmt, wie viele aufeinanderfolgende Bits betroffen sind.

Wie beim Setzen wirkt dies nur, wenn das Verknüpfungsergebnis TRUE ist — Bits bleiben unverändert, wenn das Verknüpfungsergebnis FALSE ist.

RESET_BF — Bitfeld rücksetzen

Funktionsweise

Setzt eine zusammenhängende Gruppe von Bits ab einer angegebenen Adresse auf FALSE zurück. Sie definieren das Start-Bit und die Anzahl der zurückzusetzenden Bits. Wenn das Verknüpfungsergebnis TRUE ist, werden alle angegebenen Bits auf 0 gelöscht.

Einsatzbereich

Wenn Sie mehrere Merker oder Ausgänge gleichzeitig löschen müssen — zum Beispiel das Löschen aller Alarm-Bits in einem Statuswort, das Rücksetzen einer Gruppe von Ausgängen während des Herunterfahrens oder das Initialisieren eines Datenbereichs.

Profi-Tipps

Das Gegenstück zu SET_BF — verwenden Sie sie zusammen für Setzen/Rücksetzen-Operationen auf Gruppenebene.

Besonders nützlich zum Löschen von Alarmwörtern oder Statusregistern in einer einzigen Operation.

Wie beim Rücksetzen wirkt dies nur, wenn das Verknüpfungsergebnis TRUE ist — Bits bleiben unverändert, wenn das Verknüpfungsergebnis FALSE ist.

Flipflops — Speicherschaltungen

Bistabile Elemente, die ihren Zustand speichern, bis sie explizit geändert werden

SR — SR-Flipflop

Funktionsweise

Ein bistabiles Flipflop mit Setz-Priorität. Es hat zwei Eingänge: S (Setzen) und R (Rücksetzen) sowie einen Ausgang Q. Wenn S=TRUE, wird Q TRUE. Wenn R=TRUE, wird Q FALSE. Wenn sowohl S als auch R gleichzeitig TRUE sind, ist Q TRUE (Setzen dominiert).

Einsatzbereich

Für Speicherschaltungen, bei denen die Setz-Bedingung Vorrang haben soll. Bei einem SR-Flipflop bleibt der Ausgang EIN, wenn Start und Stopp gleichzeitig gedrückt werden. Verwenden Sie dies, wenn 'Start-Priorität' akzeptabel ist.

Profi-Tipps

SR = Setz-Priorität. Wenn S=1 und R=1 → Q=1. Verwenden, wenn Starten wichtiger ist als Stoppen.

In sicherheitskritischen Anwendungen bevorzugen Sie RS (Rücksetz-Priorität) — es ist sicherer, wenn beide Bedingungen gleichzeitig ausgelöst werden.

Das Flipflop ist sowohl im KOP als auch im FUP eine einzelne Box mit S-, R-Eingängen und Q-Ausgang.

RS — RS-Flipflop

Funktionsweise

Ein bistabiles Flipflop mit Rücksetz-Priorität. Es hat zwei Eingänge: R (Rücksetzen) und S (Setzen) sowie einen Ausgang Q. Wenn S=TRUE, wird Q TRUE. Wenn R=TRUE, wird Q FALSE. Wenn sowohl R als auch S gleichzeitig TRUE sind, ist Q FALSE (Rücksetzen dominiert).

Einsatzbereich

Für Speicherschaltungen, bei denen Sicherheit an erster Stelle steht. Die Rücksetz-Bedingung (Stopp) hat Vorrang — wenn sowohl Start als auch Stopp aktiv sind, ist der Ausgang AUS. Dies ist die Standardwahl für Motorsteuerungen und Sicherheitsverriegelungen.

Profi-Tipps

RS = Rücksetz-Priorität. Wenn S=1 und R=1 → Q=0. Die sicherere Wahl für die meisten industriellen Anwendungen.

Klassisches Motorsteuerungsmuster: S = Start_Taster UND NICHT Fehler, R = Stopp_Taster ODER Not-Halt ODER Fehler.

Der Ausgang Q ist innerhalb des Zyklus speichernd — er behält seinen Wert, bis das Flipflop erneut ausgewertet wird.

Flankenauswertung — Signaländerungen erkennen

Erkennen, wenn ein Signal von FALSE→TRUE oder TRUE→FALSE wechselt

Operand auf positive Flanke abfragen

—|P|—

Funktionsweise

Erkennt eine steigende Flanke (Wechsel von FALSE auf TRUE) bei einem spezifischen Operanden. Die Anweisung vergleicht den aktuellen Wert mit dem Wert aus dem vorherigen Zyklus. Wenn sich der Wert von 0 auf 1 geändert hat, ist das Verknüpfungsergebnis für genau einen Zyklus TRUE. Erfordert einen Flankenmerker zur Speicherung des vorherigen Zustands.

Einsatzbereich

Wenn Sie einen Einzelimpuls aus einem Dauersignal benötigen: Tastendruck zählen, eine einzelne Aktion bei Pegeländerung auslösen, einen Zähler bei jeder Aktivierung inkrementieren. Ohne Flankenerkennung würde eine gedrückte Taste in jedem Zyklus auslösen.

Profi-Tipps

Sie MÜSSEN einen eindeutigen Flankenmerker zuweisen — verwenden Sie denselben Merker NICHT für mehrere Flankenauswertungen, da sie sich sonst gegenseitig beeinflussen.

Der Ausgang ist für genau einen SPS-Zyklus TRUE (typischerweise 1-50ms). Wenn Sie einen längeren Impuls benötigen, verwenden Sie einen Timer.

Im KOP erscheint dies als Kontakt mit 'P'-Markierung. Der Flankenmerker wird über/unter dem Kontakt angezeigt.

Operand auf negative Flanke abfragen

—|N|—

Funktionsweise

Erkennt eine fallende Flanke (Wechsel von TRUE auf FALSE) bei einem spezifischen Operanden. Die Anweisung vergleicht den aktuellen Wert mit dem Wert aus dem vorherigen Zyklus. Wenn sich der Wert von 1 auf 0 geändert hat, ist das Verknüpfungsergebnis für genau einen Zyklus TRUE. Erfordert einen Flankenmerker.

Einsatzbereich

Wenn Sie auf das AUSschalten eines Signals reagieren müssen: Erkennen, wenn eine Taste losgelassen wird, Auslösung bei Sensordeaktivierung oder Erfassen des Moments, in dem ein Prozessschritt abgeschlossen ist.

Profi-Tipps

Gleiche Regeln wie bei der positiven Flanke — jede negative Flankenauswertung benötigt ihren eigenen eindeutigen Merker.

Nützlich für Aktionen beim Loslassen: Starten eines Timers, wenn eine Taste losgelassen wird, nicht beim Drücken.

Verwenden Sie in einer Abschaltsequenz negative Flanken, um zu erkennen, wann jeder Schritt abgeschlossen ist (Ausgang wechselt von EIN zu AUS).

Operand bei positiver Flanke setzen

—(P)—

Funktionsweise

Setzt (schreibt TRUE) einen angegebenen Operanden für einen Zyklus, wenn eine positive Flanke (FALSE→TRUE) am Verknüpfungsergebnis erkannt wird. Kombiniert Flankenerkennung und Ausgangszuweisung in einer Anweisung.

Einsatzbereich

Wenn Sie bei einer steigenden Flanke einen Merker oder Ausgang für genau einen Scan setzen möchten, ohne einen separaten Flankenkontakt gefolgt von einer Spule zu benötigen.

Profi-Tipps

Dies ist eine spulenförmige Anweisung — sie steht am Ende eines Netzwerks, nicht in der Mitte.

Erfordert genau wie die Kontakt-Version einen Flankenmerker.

Der Operand ist nur für einen Scan TRUE und kehrt dann automatisch auf FALSE zurück.

Operand bei negativer Flanke setzen

—(N)—

Funktionsweise

Setzt (schreibt TRUE) einen angegebenen Operanden für einen Zyklus, wenn eine negative Flanke (TRUE→FALSE) am Verknüpfungsergebnis erkannt wird. Kombiniert fallende Flankenerkennung und Ausgangszuweisung in einer Anweisung.

Einsatzbereich

Wenn Sie bei einer fallenden Flanke einen Merker oder Ausgang für genau einen Scan setzen möchten. Nützlich für das Auslösen von Aktionen nach der Deaktivierung.

Profi-Tipps

Spulenförmige Anweisung — am Ende eines Netzwerks platzieren.

Erfordert einen eigenen eindeutigen Flankenmerker.

Wird oft für 'Aufräumaktionen' verwendet, die einmal beim Stoppen eines Prozesses ausgeführt werden sollen.

P_TRIG — Verknüpfungsergebnis auf positive Flanke abfragen

Funktionsweise

Erkennt eine steigende Flanke am Verknüpfungsergebnis (VKE) statt an einem spezifischen Operanden. Wenn das kombinierte Logikergebnis von FALSE auf TRUE wechselt, ist der Ausgang für einen Zyklus TRUE. Der Flankenmerker wird innerhalb der Instanz der Anweisung gespeichert.

Einsatzbereich

Wenn Sie eine steigende Flanke an einer komplexen Logikkombination erkennen wollen, nicht nur an einer einzelnen Variablen. Zum Beispiel: Erkennen, wann (Sensor1 UND Sensor2 UND NICHT Fehler) zum ersten Mal TRUE wird.

Profi-Tipps

P_TRIG arbeitet auf dem kumulierten Verknüpfungsergebnis — es erkennt die Flanke der gesamten Logikkette davor.

Der Flankenmerker ist in der Anweisung integriert — kein separater Merker erforderlich.

Im FUP ist P_TRIG eine Box mit CLK-Eingang und Q-Ausgang.

N_TRIG — Verknüpfungsergebnis auf negative Flanke abfragen

Funktionsweise

Erkennt eine fallende Flanke am Verknüpfungsergebnis. Wenn das kombinierte Logikergebnis von TRUE auf FALSE wechselt, ist der Ausgang für einen Zyklus TRUE. Der Flankenmerker wird innerhalb der Instanz der Anweisung gespeichert.

Einsatzbereich

Wenn Sie erkennen wollen, wann eine komplexe Bedingung nicht mehr wahr ist. Zum Beispiel: Erkennen des Moments, in dem (Automatik_Modus UND Alles_Bereit) von TRUE auf FALSE wechselt.

Profi-Tipps

N_TRIG ist das Gegenstück zu P_TRIG für die fallende Flanke.

Kein separater Merker erforderlich — der Flankenmerker ist intern.

Nützlich zum Erkennen des Endes einer kombinierten Bedingung anstelle eines einzelnen Signals.

R_TRIG — Positive Signalflanke erkennen

Funktionsweise

Ein IEC 61131-3 konformer Funktionsbaustein zur Erkennung steigender Flanken. Er hat einen CLK-Eingang und einen Q-Ausgang. Wenn CLK von FALSE auf TRUE wechselt, ist Q für einen Zyklus TRUE. Der Flankenmerker wird im Instanz-Datenbaustein des FB gespeichert.

Einsatzbereich

Wenn Sie eine IEC-konforme Flankenerkennung mit eigenen Instanzdaten wünschen. R_TRIG ist ein Funktionsbaustein — jede Instanz verwaltet ihren eigenen Flankenmerker automatisch. Bevorzugt in strukturiertem, wiederverwendbarem Code.

Profi-Tipps

R_TRIG ist ein FB — er benötigt Instanzdaten (entweder einen eigenen DB oder als Multiinstanz in einem übergeordneten FB). Dies macht ihn in sich geschlossen und wiederverwendbar.

Verfügbar seit V1.0 auf S7-1200/1500. Dies ist die standardmäßige Art der Flankenerkennung nach IEC 61131-3.

In SCL: myRTRIG(CLK := mySignal); IF myRTRIG.Q THEN ... END_IF;

F_TRIG — Negative Signalflanke erkennen

Funktionsweise

Ein IEC 61131-3 konformer Funktionsbaustein zur Erkennung fallender Flanken. Er hat einen CLK-Eingang und einen Q-Ausgang. Wenn CLK von TRUE auf FALSE wechselt, ist Q für einen Zyklus TRUE. Der Flankenmerker wird im Instanz-Datenbaustein des FB gespeichert.

Einsatzbereich

Wenn Sie eine IEC-konforme Erkennung fallender Flanken mit eigenen Instanzdaten wünschen. F_TRIG ist das Gegenstück zu R_TRIG für die fallende Flanke.

Profi-Tipps

F_TRIG ist ein FB mit eigener Instanz — wie R_TRIG ist er in sich geschlossen und IEC 61131-3 konform.

In SCL: myFTRIG(CLK := mySignal); IF myFTRIG.Q THEN ... END_IF;

Bevorzugen Sie R_TRIG/F_TRIG gegenüber |P|/|N|-Kontakten, wenn Sie wiederverwendbaren Bibliothekscode schreiben, da diese keine externen Merker benötigen.

Schnellreferenz — Alle 20 Bitverknüpfungen

#AnweisungKOP-SymbolShortcutBeschreibung
1Schließer—| |—F9Lässt Signal durch, wenn Variable TRUE ist
2Öffner—|/|—F10Lässt Signal durch, wenn Variable FALSE ist
3VKE invertieren—|NOT|—Invertiert das Verknüpfungsergebnis
4Zuweisung—( )—Shift + F7Schreibt VKE in Ausgangsvariable
5Negierte Zuweisung—(/)—Schreibt invertiertes VKE in Ausgangsvariable
6Ausgang rücksetzen—(R)—Setzt Variable auf FALSE, wenn VKE TRUE ist
7Ausgang setzen—(S)—Setzt Variable auf TRUE, wenn VKE TRUE ist
8SET_BF — Bitfeld setzenSetzt einen Bereich von Bits auf TRUE
9RESET_BF — Bitfeld rücksetzenSetzt einen Bereich von Bits auf FALSE zurück
10SR — SR-FlipflopFlipflop mit Setz-Priorität (S=1,R=1 → Q=1)
11RS — RS-FlipflopFlipflop mit Rücksetz-Priorität (S=1,R=1 → Q=0)
12Operand auf positive Flanke abfragen—|P|—Erkennt steigende Flanke an einem Operanden
13Operand auf negative Flanke abfragen—|N|—Erkennt fallende Flanke an einem Operanden
14Operand bei positiver Flanke setzen—(P)—Setzt Operand für 1 Zyklus bei steigender Flanke
15Operand bei negativer Flanke setzen—(N)—Setzt Operand für 1 Zyklus bei fallender Flanke
16P_TRIG — Verknüpfungsergebnis auf positive Flanke abfragenErkennt steigende Flanke am Verknüpfungsergebnis
17N_TRIG — Verknüpfungsergebnis auf negative Flanke abfragenErkennt fallende Flanke am Verknüpfungsergebnis
18R_TRIG — Positive Signalflanke erkennenIEC-Detektor für steigende Flanken (FB)
19F_TRIG — Negative Signalflanke erkennenIEC-Detektor für fallende Flanken (FB)

Häufig gestellte Fragen (FAQ)

Was ist der Unterschied zwischen Setzen/Rücksetzen-Spulen und SR/RS-Flipflops?

Setzen (S) und Rücksetzen (R) Spulen sind einzelne Anweisungen, die in separaten Netzwerken platziert werden — Sie steuern die Priorität dadurch, welches Netzwerk zuletzt kommt. SR/RS-Flipflops sind einzelne Boxen mit beiden Eingängen — die Priorität ist fest eingebaut (SR = Setz-Priorität, RS = Rücksetz-Priorität). Flipflops sind kompakter und machen die Priorität explizit.

Welche Flankenerkennung sollte ich verwenden: |P|/|N|, (P)/(N), P_TRIG/N_TRIG oder R_TRIG/F_TRIG?

|P|/|N|-Kontakte erkennen Flanken an einer spezifischen Variable und benötigen einen externen Merker. (P)/(N)-Spulen kombinieren Flankenerkennung mit Ausgangszuweisung. P_TRIG/N_TRIG erkennen Flanken am Verknüpfungsergebnis (kombinierte Logik). R_TRIG/F_TRIG sind IEC-standardisierte FBs mit integriertem Speicher. Für wiederverwendbaren Bibliothekscode bevorzugen Sie R_TRIG/F_TRIG. Für einfache Inline-Logik sind |P|/|N|-Kontakte ausreichend.

Warum verhält sich meine Setzen/Rücksetzen-Schaltung unerwartet?

Die häufigste Ursache ist, dass sowohl die Setz- als auch die Rücksetz-Bedingung gleichzeitig TRUE sind. In diesem Fall gewinnt die letzte Anweisung im Programm. Wenn Ihr Rücksetz-Netzwerk vor Ihrem Setz-Netzwerk steht, wird der Ausgang gesetzt. Lösung: Verwenden Sie ein RS-Flipflop (Rücksetz-Priorität) für sicherheitskritische Schaltungen oder stellen Sie sicher, dass Ihre Bedingungen sich gegenseitig ausschließen.

Kann die Flankenauswertung bei Analogwerten oder nur bei BOOL funktionieren?

Anweisungen zur Flankenauswertung (|P|, |N|, R_TRIG, F_TRIG) funktionieren nur bei booleschen Signalen. Für Analogwerte müssen Sie einen Vergleich erstellen (z. B. Wert > Schwellenwert), der ein BOOL-Ergebnis liefert, und dann die Flankenauswertung auf dieses BOOL anwenden.

Bitverknüpfungen mit KI generieren

Beschreiben Sie Ihre Steuerungslogik in einfachem Text und T-IA Connect generiert den SPS-Code — einschließlich Schließern, Spulen, Flipflops und Flankenauswertung.