SHL-Baustein

Kurz-Information

NameSHL
→POE-Typ→Funktion
KategorieIEC-Baustein, Bitstring
Konform zur →IEC-Norm

(error) derzeit eingeschränkt
(IEC fordert Datentyp ANY_INT für den Eingang N und ein Fehlerverhalten bei Werten < 0 für Eingang N.)

(plus) mehr als in IEC-Norm vorgesehen möglich
(IEC fordert nur ANY_BIT für den Eingang IN und den Ergebniswert.)

Grafische Schnittstelle

Verfügbar ab
  • Version 1.10.0 (für logi.CAD 3) – Anfangsvariante: ANY_BIT für Eingang IN und Ergebniswert
  • Version 1.23.0 (für logi.CAD 3) – Erweiterung: ANY_INT für Eingang IN und Ergebniswert

Funktionalität

Der Baustein liefert das Ergebnis einer Verschiebung nach links.

Am Eingang IN geben Sie den zu verschiebenden Wert ein. Am Eingang N geben Sie die Bits ein, um die nach links verschoben werden soll. Die rechts frei werdenden Bits werden mit 0 aufgefüllt.

Abweichung von IEC-Norm

Falls ein negativer Wert beim Eingang N anliegt, wird das nicht als Fehler in logi.CAD 3 behandelt, sondern eine umgekehrte Verschiebung ausgeführt, also eine Verschiebung nach rechts. Dieses Verhalten ist eine Abweichung von der →IEC-Norm, die fordert, dass Werte < 0 für den Eingang N zu einem Fehler führen.

Eingänge, Ergebniswert


Bezeichner→DatentypBeschreibung
Eingänge:IN
 BOOLBYTEWORDDWORD oder LWORD
(entspricht dem →allgemeinen Datentyp ANY_BIT) 

und
USINTUINTUDINTULINTSINTINTDINT oder LINT
(entspricht dem →allgemeinen Datentyp ANY_INT

Eingangswert

NINTAnzahl der Bits, um die zu verschieben ist
Ergebniswert:
 BOOLBYTEWORDDWORD oder LWORD
(entspricht dem →allgemeinen Datentyp ANY_BIT) 

und
USINTUINTUDINTULINTSINTINTDINT oder LINT
(entspricht dem →allgemeinen Datentyp ANY_INT

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Beispiel für Verwendung im ST-Editor

PROGRAM Test
	VAR
		result1, result2 : BYTE;
	END_VAR
	result1 := SHL(IN := 16#40, N := 1);       (* The variable 'result1' evaluates to '16#80'. *)
	result2 := SHL(IN := 16#8, N := 1);        (* The variable 'result2' evaluates to '16#10'. *)
END_PROGRAM

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.