TIA Portal Anweisungen

Schieben und Rotieren
Bit-Manipulation

Optimieren Sie Ihre Registerverarbeitung. Von ultraschnellen mathematischen Berechnungen bis hin zum komplexen Kommunikationsprotokoll-Management — beherrschen Sie die Bitbewegung.

Warum Bits schieben oder rotieren?

Schiebe- (Shift) und Rotier- (Rotate) Operationen ermöglichen es, die Bits eines Wortes nach links oder rechts zu verschieben. In der Industrie werden sie verwendet, um präzise Informationen aus einem Kommunikationstelegramm zu extrahieren, Schieberegister zur Verfolgung von Teilen auf einem Förderband zu erstellen oder Multiplikationen/Divisionen durch Zweierpotenzen extrem performant durchzuführen.

Der wesentliche Unterschied liegt in der Behandlung der 'auslaufenden' Bits: Während Schieben (Shift) diese verwirft und durch Nullen ersetzt, führt Rotieren (Rotate) sie am anderen Ende des Wortes wieder ein, wodurch eine kontinuierliche kreisförmige Schleife entsteht.

Schieben (Shift)

Lineare Bewegung mit Bitverlust

SHL / SHR — Links/Rechts schieben

SHL

Was es macht

Verschiebt die Bits um eine durch den Eingang N definierte Anzahl von Positionen nach links (SHL) oder rechts (SHR). Bits, die aus dem Register laufen, gehen verloren, und neue einlaufende Bits werden auf 0 gesetzt.

Wann man es verwendet

Schnelle Multiplikation mit 2 (SHL), Division durch 2 (SHR) oder Isolieren eines bestimmten Bytes in einem 32-Bit-Wort.

Profi-Tipps

Das Schieben einer Ganzzahl um 1 Bit nach links entspricht einer Multiplikation mit 2, ohne das Rechenwerk zu belasten.

Bei vorzeichenbehafteten Typen (Int, DInt) behält SHR oft das Vorzeichenbit bei (arithmetisches Schieben).

Wenn N größer als die Wortbreite ist (z.B. N=20 bei einem WORD), ist das Ergebnis 0.

Rotieren (Rotate)

Kreisförmige Bewegung ohne Verlust

ROL / ROR — Links/Rechts rotieren

ROL

Was es macht

Rotiert die Bits kreisförmig. Das Bit, das an einer Seite ausläuft (z.B. links bei ROL), läuft an der anderen Seite (rechts) sofort wieder ein. Es gehen keine Daten verloren.

Wann man es verwendet

Erstellen von Lauflichtmustern, einfache Datenverschlüsselung oder Verwaltung von Ringpuffern (FIFO).

Profi-Tipps

Ideal zum Alternieren von Prioritäten in einer Gruppe von Pumpen oder Motoren.

Im Gegensatz zum Schieben ergibt eine vollständige Rotation (z.B. 16 Bits bei einem WORD) wieder den Ausgangswert.

Nutzen Sie ROL/ROR, um die Byte-Reihenfolge (Endianness) beim Datenaustausch anzupassen.

Schieben vs. Rotieren: Der Vergleich

Die Auswirkungen auf Ihre Daten verstehen

EigenschaftSchieben (SHL/SHR)Rotieren (ROL/ROR)
StrukturLinearKreisförmig
Auslaufende BitsVerworfen (Verloren)Wieder eingeführt am Ende
Einlaufende BitsImmer 0Recycelte auslaufende Bits
Mathe-AnwendungMultiplikation / DivisionBit-Permutation
PraxisbeispielTeileverfolgung (Förderband)Lauflicht / Sequenzer
RisikoLeeren des RegistersKeines (Daten bleiben erhalten)

Häufig gestellte Fragen

Warum SHL statt Multiplikation mit 2 verwenden?

Der SHL-Befehl wird vom SPS-Prozessor wesentlich schneller ausgeführt als eine MUL-Operation, da er direkt auf dem Register arbeitet, ohne das komplexe ALU zu durchlaufen.

Wie erstellt man ein Schieberegister für ein Förderband?

Verwenden Sie SHR bei jedem Impuls eines Gebers. Wenn ein Teil am Einlauf erkannt wird, setzen Sie Bit 0 auf 1. Durch das Schieben des Wortes verfolgen Sie die Position des Teils Bit für Bit.

Was ist der Einfluss des Datentyps (Byte, Word, DWord)?

Die Anweisung passt sich der Breite an. Ein ROR auf einem Byte lässt Bit 7 nach 1 Verschiebung an Position 0 wiedererscheinen. Bei einem Word kehrt Bit 15 an Position 0 zurück.

Kann man Variablen in SCL schieben?

Ja, über die Funktionen SHL(IN:=var, N:=n) oder durch Verwendung der Standard-Bitoperatoren, sofern Ihre TIA Portal Version dies unterstützt.

Automatisieren Sie Ihre Binärmanipulationen

Müssen Sie Bits isolieren oder einen komplexen Sequenzer erstellen? T-IA Connect generiert Ihre Schiebe- und Rotiernetzwerke mit einem Klick.