BSR (Bit-Verschiebung rechts)

Die BSR-Anweisung verschiebt ein Bit in einem Array-Element nach rechts.
Unterstützte Sprachen: Funktionsblockdiagramm, Kontaktplan und Strukturierter Text.
Diese Anweisung gilt für
Micro820
L20E-,
Micro850
L50E- und
Micro870
L70E-Controller.
Details zum Betrieb:
Die BSR-Anweisung ist ein sofortiger Prozess für FALSE-zu-TRUE-Strompfadwechsel und synchrone Ausgabe-Updates. Wenn der Ausführungsparameter TRUE ist, wird das Bit ganz rechts (Bit 0 des durch Src + SrcOffset adressierten Elements) in das Unload-Bit kopiert und alle Bits im Array oder Nicht-Array werden um ein Bit nach rechts verschoben. Length und 16-Bit-Begrenzung werden berücksichtigt, abgesehen von BOOL-Datentypen. Das externe Bit wird anschließend zu Bit 0 (Src + SrcOffset) des ersten Elements verschoben.
Setzen Sie für Übertragungsvorgänge die Position von BitAddr auf die letzte Bit-Position oder das Unload-Bit. Ein mögliches Beispiel zur Nutzung der BSL-Anweisung ist die Nachverfolgung von Flaschen aus einer Abfüllanlage, dabei stellt jedes Bit eine Flasche dar.
BSR
BSR
BSR-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
Execute
Eingang
BOOL
Anweisung aktivieren.
  • TRUE: Wird eine Anstiegsflanke erkannt, wird das Bit eine Position nach rechts verschoben.
  • FALSE: Wird keine Anstiegsflanke erkannt, wird die BSR-Operation nicht aktiviert.
Scr
Eingang
ANY_ELEMENTARY
Die Adresse des zu verschiebenden Src (Bit). Unterstützte Datentypen: BOOL, DWORD, INT, UINT, WORD, DINT und UDINT.
  • Arrays: Scr wird auf eine variablenbasierte Adresse wie Source1, Source1[0] oder Source1[1] gesetzt.
  • Nicht-Arrays: Scr wird auf eine Variablenadresse wie Source1 gesetzt.
SrcOffset
Eingang
UINT
Wenn SrcOffset 0 ist, wird beim ersten Element gestartet.
  • Arrays: SrcOffset wird auf 0 gesetzt. Wenn der Wert auf Source1[0] oder Source1[1] gesetzt ist, wird der Fehler „Versatz der Quelle überschreitet die Arraygröße“ angezeigt.
  • Nicht-Arrays: SrcOffset muss auf 0 gesetzt werden, andernfalls wird die Fehlermeldung „Offset der Quelle überschreitet die Arraygröße“ angezeigt.
BitAddr
Eingang
BOOL
Position des in die Quelle Src verschobenen Bits.
Length
Eingang
UINT
Length enthält die Anzahl von in Src zu verschiebenden Bits. Unterstützt Verschiebungen über Arrayelemente hinweg.
  • Für den Datentyp BOOL die Anzahl der im Array enthaltenen zu verschiebenden booleschen Datentypen.
  • Bei 16- und 32-Bit-Datentypen werden Bits in Vielfachen von 16 (z. B. 16, 32 und 64) verschoben. Wenn Length kein gerades Vielfaches von 16 ist, wird die Anzahl der verschobenen Bits an die nächste 16-Bit-Begrenzung gesendet.
  • Length basiert auf der Größe des Datentyps. Bei Überschreitung der Length des Bereichs tritt der Fehler „Versatz der Quelle überschreitet die Arraygröße“ auf. Length-Werte lauten:
    • BOOL: 1
    • 16-Bit-Wort: 1‒16
    • 32-Bit-Wort: 1‒32
    • 64-Bit-Wort: 1‒64
Unload
Ausgang
BOOL
Aus der Src-Adresse verschobenes Bit.
Error
Ausgang
BOOL
Wenn ein Fehler auftritt, wird Error auf „True“ gesetzt.
ErrorID
Ausgang
USINT
Wenn ein Fehler auftritt, enthält ErrorID den Fehlercode.
Done
Ausgang
BOOL
Wenn TRUE, wurde der Vorgang erfolgreich abgeschlossen. Wenn FALSE, ist beim Vorgang eine Fehlerbedingung aufgetreten.
BSR-Fehlercodes
Fehlercode
Fehlerbeschreibung
01
Dimension nicht unterstützt.
02
Datentyp nicht unterstützt.
03
Bit-Länge überschreitet 2048.
04
Quellenabstand überschreitet die Größe des Arrays.
05
Bit-Länge überschreitet die Größe des Arrays.
07
Ungültige Parameter.

BSR-Beispiele

Beispiel für ein BSR-Funktionsblockdiagramm
Beispiel für einen BSR-Kontaktplan
Beispiel für einen BSR-Kontaktplan
Beispiel für strukturierten BSR-Text
Beispiel für strukturierten BSR-Text
Ergebnisse
Ergebnisse
Rückmeldung geben
Haben Sie Fragen oder Feedback zu dieser Dokumentation? Bitte geben Sie hier Ihr Feedback ab.
Normal