F_SHR
Einleitung
Der Funktionsblock F_SHR führt eine bitweise Rechtsverschiebung (Shift Right) durch. Er ist Teil der Standard-Bit-Operatoren gemäß IEC 61131-3 und wird für logische und arithmetische Operationen in Steuerungsanwendungen eingesetzt.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Rechtsverschiebung. Wird mit den DatenINundNverknüpft.
Ereignis-Ausgänge
CNF: Bestätigt die abgeschlossene Rechtsverschiebung. Liefert das ErgebnisOUT.
Daten-Eingänge
IN(ANY_BIT): Der Eingabewert, der rechtsverschoben werden soll.N(ANY_INT): Die Anzahl der Bits, um die verschoben werden soll.
Daten-Ausgänge
OUT(ANY_BIT): Das Ergebnis der Rechtsverschiebung. Die freiwerdenden Bits links werden mit Nullen aufgefüllt.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Bei einem
REQ-Ereignis wird der WertINumNBits nach rechts verschoben.Die freiwerdenden Bits auf der linken Seite werden mit Nullen aufgefüllt (logische Rechtsverschiebung).
Das Ergebnis wird über
OUTausgegeben und dasCNF-Ereignis ausgelöst.
Technische Besonderheiten
Unterstützt alle Bit-Datentypen (
ANY_BIT), z. B.BOOL,BYTE,WORD,DWORD,LWORD.Nkann jeden ganzzahligen Typ (ANY_INT) verwenden, z. B.SINT,INT,DINT,LINT,USINT,UINT,UDINT,ULINT.Die Rechtsverschiebung ist unabhängig vom Vorzeichen (logische Verschiebung).
Zustandsübersicht
Idle: Wartet auf
REQ.Processing: Führt die Rechtsverschiebung durch.
Completed: Sendet
CNFmit dem Ergebnis.
Anwendungsszenarien
Bitmanipulation in Steuerungsalgorithmen.
Datenkompression oder -extraktion.
Schnelle Division durch Zweierpotenzen (bei vorzeichenlosen Zahlen).
⚖️ Vergleich mit ähnlichen Bausteinen
F_SHL: Führt eine Linksverschiebung durch.F_ROR/F_ROL: Rotationsoperationen statt Verschiebungen.F_SHRist spezifisch für logische Rechtsverschiebungen (Null-Auffüllung).
Fazit
Der F_SHR-Funktionsblock ist ein effizientes Werkzeug für bitweise Operationen in IEC 61131-3-Umgebungen. Seine einfache Schnittstelle und Standardkonformität machen ihn ideal für Steuerungsanwendungen mit Bitmanipulationen.