Description de la fonction

Cette fonction fait pivoter le modèle de bits à l'entrée IN de n bits vers la gauche (valeur à l'entrée Number).

Le bit système %S17 est utilisé en tant que bit CARRY. L'état du bit qui est décalé est ainsi stocké ici.

Les types de données de l'entrée IN et de la sortie OUT doivent être identiques.

NOTE : Grâce à la conformité à la norme CEI 61131-3, cette fonction s'exécute également avec le type de données BOOL. Cela n'est pas significatif dans le cas présent.

EN et ENO peuvent être configurés en tant que paramètres supplémentaires.

Fonctions disponibles

Liste des fonctions disponibles

  • S_ROL_BOOL

  • S_ROL_BYTE

  • S_ROL_WORD

  • S_ROL_DWORD

Représentation en FBD

Représentation

Représentation en LD

Représentation

Description des paramètres

Description des paramètres d'entrée

Paramètre

Type de données

Signification

InputPattern

BOOL, BYTE, WORD, DWORD

Modèle de bits à faire pivoter.

Exemple :

InputPattern=2#0100000011110001

Numéro

UINT

Nombre d'espaces à faire pivoter.

Exemple :

nombre = 4

Description du paramètre de sortie :

Paramètre

Type de données

Signification

OutputPattern

BOOL, BYTE, WORD, DWORD

Modèle de bits pivoté.

Exemple :

Avec les données du tableau précédent, le résultat est le suivant :

RotatedPattern=2#0000111100010100

Comportement du bloc fonction

Le nombre maximum de rotations doit être inférieur ou égal à la taille de l'opérande :

  • pour BYTE, le nombre maximum de rotations est 8.

  • pour WORD et INT, le nombre maximum de rotations est 16.

  • pour DWORD et DINT, le nombre maximum de rotations est 32.

Le tableau suivant indique la valeur de sortie du bloc fonction de rotation en fonction du nombre de rotations et de la taille de l'opérande :

Type

Nombre de rotations

Valeur de sortie

%S17

BYTE

0

= valeur d'entrée

0

1...31

= valeur d'entrée décalée

MSB

> 31

= 0

0

WORD/INT

0

= valeur d'entrée

0

1...16

= valeur d'entrée décalée

MSB

17...31

= valeur incorrecte

•• (1)

> 31

= 0

0

DWORD/DINT

0

= valeur d'entrée

0

1 à 32

= valeur d'entrée décalée

MSB

> 32

= 0

0

(1) non prévisible