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.