F_SHL
Einleitung
Der Funktionsblock F_SHL führt eine Linksverschiebung (Shift Left) auf einen beliebigen Bit-Datentyp aus. Dabei werden die Bits des Eingabewertes um eine bestimmte Anzahl von Stellen nach links verschoben und die freiwerdenden Stellen rechts mit Nullen aufgefüllt. Dieser Baustein ist gemäß dem Standard IEC 61131-3 klassifiziert und eignet sich für bitweise Operationen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Dienst-Anforderung. Löst die Linksverschiebung aus. Verknüpft mit den Daten-Eingängen
INundN.
Ereignis-Ausgänge
CNF: Bestätigung der angeforderten Dienstleistung. Signalisiert die Beendigung der Operation. Verknüpft mit dem Daten-Ausgang
OUT.
Daten-Eingänge
IN: Der Eingabewert, der linksverschoben werden soll. Der Datentyp ist
ANY_BIT(beliebiger Bit-Datentyp).N: Die Anzahl der Stellen, um die verschoben werden soll. Der Datentyp ist
ANY_INT(beliebiger Integer-Datentyp).
Daten-Ausgänge
OUT: Das Ergebnis der Linksverschiebung. Der Datentyp entspricht dem des Eingabewertes
IN. Die freiwerdenden Stellen rechts werden mit Nullen aufgefüllt.
Adapter
Es sind keine Adapter definiert.
Funktionsweise
Der Funktionsblock F_SHL führt eine bitweise Linksverschiebung des Eingabewertes IN um N Stellen durch. Dabei werden die Bits nach links verschoben und die neu entstehenden Stellen auf der rechten Seite mit Nullen aufgefüllt. Die Operation wird durch das Ereignis REQ ausgelöst und durch CNF bestätigt.
Technische Besonderheiten
Unterstützt beliebige Bit-Datentypen (
ANY_BIT) für den EingabewertIN.Die Verschiebungsanzahl
Nkann von jedem Integer-Datentyp (ANY_INT) sein.Die Operation ist gemäß IEC 61131-3 standardisiert.
Zustandsübersicht
Idle-Zustand: Wartet auf das Ereignis
REQ.Ausführungszustand: Führt die Linksverschiebung durch, wenn
REQempfangen wird.Bestätigungszustand: Sendet
CNFnach Abschluss der Operation.
Anwendungsszenarien
Bitmanipulation in Steuerungsanwendungen.
Verschiebeoperationen in digitalen Signalverarbeitungsalgorithmen.
Generelle bitweise Operationen in IEC 61131-3-konformen Steuerungssystemen.
⚖️ Vergleich mit ähnlichen Bausteinen
F_SHR: Führt eine Rechtsverschiebung durch, im Gegensatz zur Linksverschiebung von
F_SHL.F_ROL und F_ROR: Rotieren Bits statt sie zu verschieben, wobei überlaufende Bits auf der anderen Seite wieder eingefügt werden.
🛠️ Zugehörige Übungen
Fazit
Der F_SHL-Funktionsblock ist ein effizientes Werkzeug für bitweise Linksverschiebungen in Steuerungssystemen. Seine Flexibilität bei der Unterstützung verschiedener Bit- und Integer-Datentypen macht ihn vielseitig einsetzbar. Die klare Ereignissteuerung und Standardkonformität nach IEC 61131-3 gewährleisten eine zuverlässige Integration in bestehende Systeme.