BSL (Bit-Verschiebung links)

Die BSL-Anweisung verschiebt ein Bit in einem Array-Element nach links.
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 BSL-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 links (adressiert durch Src + SrcOffset und Length) in das Unload-Bit kopiert und alle Bits im Array oder Nicht-Array werden um ein Bit nach links 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.
BSL
BSL
BSL-Parameter
Parameter
Parametertyp
Datentyp
Beschreibung
Execute
Eingang
BOOL
Anweisung aktivieren.
  • TRUE: Wird eine Anstiegsflanke erkannt, wird das Bit eine Position nach links verschoben.
    • Überprüfen Sie zunächst die Fehlerbedingungen.
    • Wenn Length = 0, wird das externe Bit in das Unload-Bit verschoben. Bei Scr erfolgt keine Bit-Verschiebung. Error- und ErrorID-Bits werden zurückgesetzt. Das Done-Bit wird gesetzt.
    • Wenn Länge > 0 und Länge <= 2048, werden die Error- und ErrorID-Bits zurückgesetzt. Nachdem die Bit-Verschiebung abgeschlossen ist, wird das Done-Bit gesetzt.
    • Wenn Länge > 0 und Länge <= 2048, wird das Bit ganz links (adressiert durch Src + SrcOffset und Länge) in das Unload-Bit kopiert und alle Bits, die Teil des Array oder Nicht-Arrays sind, werden um ein Bit nach links verschoben (bis zum Länge-Bit und zur 16-Bit-Begrenzung außer für BOOL). Das externe Bit wird zu Bit 0 (Src + SrcOffset) des ersten Elements verschoben.
  • FALSE: Wird keine Anstiegsflanke erkannt, wird die BSL-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 gesetzt, beispielsweise: Source1, Source1[0] oder Source1[1].
  • 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.
BSL-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.

BSL-Beispiele

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