Vous êtes sur la page 1sur 15

2.

LES INSTRUCTIONS NUMÉRIQUES 2-1


2.1 Les bits d’états arithmétiques 2-1
2.1.1 Bit signal de dépassement, S:5/0 ......................................................................... 2-1
2.1.2 Registre mathématique, S:13 et S:14 .................................................................. 2-1
2.2 Les opérations mathématiques de base 2-2
2.2.1 ADD : Addition .................................................................................................. 2-2
2.2.2 SUB : Soustraction............................................................................................. 2-2
2.2.3 MUL : Multiplication.......................................................................................... 2-2
2.2.4 DIV : Division .................................................................................................... 2-2
2.2.5 DDV : Division Double (32 bits) ........................................................................ 2-2
2.2.6 SQR : Racine carrée ........................................................................................... 2-2
2.3 Les opérations logiques 2-7
2.3.1 AND : Et ............................................................................................................ 2-7
2.3.2 OR : Ou inclusif.................................................................................................. 2-7
2.3.3 XOR : Ou exclusif .............................................................................................. 2-7
2.3.4 NOT : Non ......................................................................................................... 2-7
2.4 Les instructions de comparaison 2-8
2.4.1 EQU : Égal à ...................................................................................................... 2-8
2.4.2 NEQ : Différent .................................................................................................. 2-8
2.4.3 LES : Inférieur à ................................................................................................. 2-8
2.4.4 LEQ : Inférieur ou égal à .................................................................................... 2-8
2.4.5 GRT : Supérieur à .............................................................................................. 2-8
2.4.6 GEQ : Supérieur ou égal à .................................................................................. 2-8
2.5 Opération de transfert 2-10
2.5.1 MOV : Transfert ...............................................................................................2-10
2.5.2 Exemple d’application de transfert .....................................................................2-10
2.5.3 MVM :Transfert avec masque ...........................................................................2-11
2.6 Instructions de décalage de bits 2-12
2.6.1 Saisie des paramètres .........................................................................................2-12
2.6.2 Les bits d'état de l'élément de contrôle comprennent: .........................................2-12
2.6.3 Fonctionnement - Décalage binaire à gauche ......................................................2-12
2.6.4 Fonctionnement - Décalage binaire à droite........................................................2-12
2.7 Les séquenceurs 2-13
2.7.1 Saisies des paramètres .......................................................................................2-13
2.7.2 Fonctionnement - Séquenceur de sortie..............................................................2-14
2.7.3 Fonctionnement : Séquenceur de comparaison ...................................................2-14
Résumé de Théorie Automates Programmables II

2. Les instructions numériques


2.1 Les bits d’états arithmétiques
Après l'exécution d'une instruction, les bits d'états arithmétiques du fichier d'état sont mis à jour :
 Retenue (C), S:0/0 - Mis à 1 si une retenue positive est générée.
 Dépassement supérieur (V), S:0/1 - Indique que le résultat réel de l'instruction mathématique
ne rentre pas dans la destination désignée.
 Zéro (Z), S:0/2 - Indique une valeur de 0 après une instruction mathématique, de transfert ou
logique.
 Signe (S), S:0/3 - Indique une valeur négative (inférieure à 0) après une instruction
mathématique, de transfert ou logique.
2.1.1 Bit signal de dépassement, S:5/0
Le bit d'erreur mineure (S:5/0) est mis à 1 à la détection d'un dépassement supérieur
mathématique ou d'une division par zéro. Si ce bit est mis à 1 à l'exécution d'un terme FIN ou
d'une instruction TND, une erreur majeure est déclarée.
2.1.2 Registre mathématique, S:13 et S:14
 Le mot d'état S:13 contient le mot de poids faible des valeurs à 32 bits des instructions MUL
et DDV. Il contient le reste des instructions DIV et DDV. Il contient également les quatre
premiers chiffres de DCB pour les instructions FRD et TOD. Dans les applications où un
dépassement supérieur mathématique ou une division par zéro se produit, vous pouvez éviter
une erreur UC (Unité Centrale) en utilisant une instruction d'ouverture (OTU) avec l'adresse
S:5/0 de votre programme. La ligne doit être entre le point de dépassement supérieur et le
terme FIN, TND ou REF.
 Le mot d'état S:14 contient le mot de poids fort des valeurs à 32 bits des instructions MUL et
DDV. Il contient le quotient non arrondi pour les instructions DIV et DDV. Il contient
également le chiffre le plus fort (chiffre 5) pour les instructions TOD et FRD.

 Les instructions logiques n'affectent pas les registres mathématiques S13 et S14.

Les instructions numériques Page 2-1 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.2 Les opérations mathématiques de base


Ce répertoire contient la plupart des possibilités offertes par les instructions mathématiques et
logiques. Si vous désirez plus d’informations, référez-vous au manuel d’utilisation : réf. 1747-
PA2F de Allen-Bradley.
 Paramètres des instructions
La source est l'adresse de la (des) valeur(s) sur laquelle (lesquelles) l'opération mathématique,
logique ou de transfert doit être effectuée. Il peut s'agir d'adresses de mots ou de constantes de
programmes. Une instruction qui a deux opérandes de source n'accepte pas de constantes de
programme dans les deux opérandes à la fois. La destination est l'adresse du résultat de
l'opération. Des nombres entiers signés sont stockés sous forme de complément à deux et
s'appliquent à la fois aux paramètres de source et de destination.
2.2.1 ADD : Addition
Utilisez l'instruction ADD pour ajouter une valeur (source A) à une autre (source B) et placer le
résultat dans la destination.
2.2.2 SUB : Soustraction
Utilisez l'instruction SUB pour soustraire une valeur (source A) d'une autre (source B) et placer
le résultat dans la destination.
2.2.3 MUL : Multiplication
Utilisez l'instruction MUL pour multiplier une valeur (source A) par une autre (source B) et
placer le résultat dans la destination.
2.2.4 DIV : Division
L'instruction DIV pour diviser une valeur (source A) par une autre (source B). Le quotient
arrondi est ensuite placé dans la destination. Si le reste est de 0,5 ou au-dessus, un
arrondissement supérieur se produit dans la destination. Le quotient non arrondi est stocké dans
le mot de poids fort du registre mathématique. Le reste est placé dans le mot de poids faible du
registre mathématique.
2.2.5 DDV : Division Double (32 bits)
Utilisez l'instruction DDV permet de diviser les valeurs contenues dans les registres
mathématiques S13 et S13 par une source quelconque. Le quotient arrondi est ensuite placé dans
la destination. Si le reste est de 0,5 ou au-dessus, un arrondissement supérieur se produit dans la
destination. Le quotient non arrondi est stocké dans le mot de poids fort du registre
mathématique. Le reste est placé dans le mot de poids faible du registre mathématique.
2.2.6 SQR : Racine carrée
Quand cette instruction est évaluée comme vraie, la racine carrée de la valeur absolue de la
source est calculée et le résultat arrondi est placé dans la destination. Utilisez cette instruction
avec les processeurs 5/02 et 5/03. L'instruction calcule la racine carrée d'un nombre négatif sans
dépassement supérieur ni erreurs. Dans des applications où la valeur de source peut être négative,
utilisez une instruction de comparaison pour évaluer la valeur de la source afin de déterminer si la
destination pourrait être incorrecte.

Les instructions numériques Page 2-2 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

 EXEMPLE D’APPLICATION D’OPÉRATIONS MATHÉMATIQUES


MOTEUR CA ENGRENAGE
TRIPHASÉ DÉTECTEUR DU CHARGE
COUPLE DE L'ARBRE DYNAMOMÉTRIQUE

TRANSDUCTEUR
DE COUPLE
DÉTECTEUR DE
PROXIMITÉ INDUCTIF

MODULE D'ENTRÉE
ANALOGIQUE NI4

SLC 5//02 CPU OUTPUT INPUT INPUT

POWER 0 4 8 12 0 4 8 12
POWER
1 5 9 13 1 5 9 13
2 6 10 14 2 6 10 14
3 7 11 15 3 7 11 15 ANALOG

AB ALLEN-BRADLEY Triac/100-240V

480VCA
3 phases

F I G UR E 2 -1 : B A NC DE T E S T S P OUR M O T E U R C. A.

Les sorties des transducteurs de couple, de tension et de courant possèdent des sorties linéaires.
Ce système permet de mesurer les caractéristiques des moteurs sur un banc d’essai. Dans
l’exemple qui suit, nous voulons mesurer la puissance fournie au moteur et nous ne nous
préoccuperons pas du couple de ce dernier. Chaque sortie de transducteur alimente une entrée du
module analogique et doit être graduée pour obtenir les valeurs suivantes:
 Tension = 0-10V : canal 0 pour 500 Vca résolution 1 V
 Courant = 4-20mA : canal 1 pour 30.00 A résolution 0.01 A
 Couple = 4-20mA : canal 3 pour 100.0 pi*lb/s
À chaque détection du capteur de proximité inductif, les valeurs doivent être graduées et la
puissance doit être évaluée. Cette puissance doit être représentée sur un afficheur 3½ «digits»
dont la valeur maximale a été calibrée à 1.999V.

Les instructions numériques Page 2-3 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

PROGRAMME:
 Mise à l’échelle de la tension de 0-500Vca -> 0-10V -> 0-32767 -> 0-500
Cette première section du programme permet la mise à l’échelle de la tension de ligne. Si l’on
désire obtenir une valeur de 0 à 500Vca avec une résolution de 1V, le code résultant doit être
entre 0 et 500. Pour ce faire, nous devons exécuter les calculs suivants :
code à l’entrée = 0-500Vca = 0 à 10V = 0 à 32767 code dans un registre N7 :1 = 0-500
Il faut donc diminuer de 32767 à 500 la valeur à l’entrée. Une division de 65.534 est alors de
mise. Puisqu’on travaille avec des nombres entiers, il est impossible de diviser par un nombre tel
65.54. La solution est simple, multiplions d’abord par 100 pour ensuite diviser par 6553.
Mathématiquement, nous arriverons au même résultat, i.e. une division par 65.53.
Un problème surgit par contre lorsque le résultat d’une multiplication dépasse +32767, une faute
mineure se produit et le résultat est faussé. Heureusement, le manufacturier a prévu cette
éventualité. Lorsqu’une multiplication dépasse +32767, le résultat se retrouve dans le registre
mathématique à 32 bits, S13 et S14, sinon le résultats se trouve là où l’on désire l’envoyer.
Par l’utilisation du bit de dépassement («overflow» S :0/1), nous pouvons décider d’utiliser une
division simple DIV, si le résultat de la multiplication est <+32767, ou une division double DDV
si le résultat est >+32767. Cette division double agit directement sur le registre mathématique, il
est donc superflu d’indiquer la source A qui est par défaut S13 et S14.
Ligne 2:0
º INDUCTIF º
º I:2 ÚMULÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´MULTIPLICATION ÃĶ
º 1 ³Source A VOLT_BIT³ º
º ³ 32767³ º
º ³Source B 100³ º
º ³ ³ º
º ³Dest X_100³ º
º ³ 32767³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:1
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDIVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ]/[ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION ÃĶ
º 1 1 ³Source A X_100³ º
º ³ 32767³ º
º ³Source B 6553³ º
º ³ ³ º
º ³Dest VOLT_CA³ º
º ³ 500³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:2
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDDVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION 32 BITS ÃĶ
º 1 1 ³Source 6553³ º
º ³ ³ º
º ³Dest VOLT_CA³ º
º ³ 500³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

FI G UR E 2-2 : M I S E À L ' É C HE LL E DE LA T E NS I O N DE LI G NE

Dans la section d’imprimé représentée par la figure 2-2, la valeur à l’entrée est maximum 32767
(10V). On peut remarquer la valeur dans la variable N7 :1 (VOLT_CA) qui indique 500. La
destination de la multiplication (X_100) indique 32767 puisqu’elle est en dépassement. Le
résultat de la multiplication est alors dans les registres mathématiques S13 et S14.

Les instructions numériques Page 2-4 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

 Mise à l’échelle du courant de ligne 0-30.00Ac.a. -> 4-20mA ->3277-16384 -> 0-3000
Cette deuxième section du programme permet la mise à l’échelle du courant de ligne. Puisqu’on
désire obtenir une valeur de 0 à 30.00 Aca avec une résolution de 0.01A, le code résultant doit
être entre 0 et 3000. Pour ce faire, nous devons exécuter les calculs suivants :
code à l’entrée = 0-30.00Aca = 4-20mA = 3277à 16384 code dans un registre N7 :3 = 0-3000
La première opération consiste à éliminer le décalage de 3277 à l’entrée. Pour ce faire, une
opération de soustraction est utilisée. Par la suite, le même processus que la tension de ligne est
utilisé pour le courant, i.e. une multiplication avant la division afin d’obtenir une division plus
précise par 4.379. L’entrée est multipliée par 1000 pour ensuite être divisée par 4379.
Ligne 2:3
º INDUCTIF º
º I:2 ÚSUBÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´SOUSTRACTION ÃĶ
º 1 ³Source A AMP_BIT³ º
º ³ 16384³ º
º ³Source B 3277³ º
º ³ ³ º
º ³Dest SUB_OFSSET³ º
º ³ 13107³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:4
º INDUCTIF º
º I:2 ÚMULÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´MULTIPLICATION ÃĶ
º 1 ³Source A SUB_OFSSET³ º
º ³ 13107³ º
º ³Source B 1000³ º
º ³ ³ º
º ³Dest X_1000³ º
º ³ 32767³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:5
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDIVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ]/[ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION ÃĶ
º 1 1 ³Source A X_1000³ º
º ³ 32767³ º
º ³Source B 4379³ º
º ³ ³ º
º ³Dest AMP_CA³ º
º ³ 2993³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:6
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDDVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION 32 BITS ÃĶ
º 1 1 ³Source 4379³ º
º ³ ³ º
º ³Dest AMP_CA³ º
º ³ 2993³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

FIGURE 2-3 : M I S E À L ' É C HE LL E D U C OUR ANT D E L I G NE

Dans la section d’imprimé représentée par la figure 2-3, la valeur à l’entrée est maximum 16384
20mA). On peut remarquer la valeur dans la variable N7:4 (AMP_CA) qui indique 2993, ce qui
signifie un courant de 29.93 ampères. La destination de la multiplication (X_1000) indique 32767
puisqu’elle est en dépassement. Le résultat de la multiplication est alors dans les registres
mathématiques S13 et S14.

Les instructions numériques Page 2-5 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

 Calcul de la puissance et mise à l’échelle sur l’affichage


Cette dernière section permet de multiplier les deux valeurs VOLT_CA et AMP_CA pour évaluer
la puissance. Encore ici, le résultat de la multiplication risque de dépasser 32767 puisque 500V x
30.00A atteint une valeur maximale de 1 500 000 (N’oubliez pas que 30.00A est représenté par le
code 3000).
Par la suite, nous désirons afficher le résultat de la puissance sur un affichage numérique ayant
une valeur maximale de 1.999V. Ainsi, la valeur de 15000 VA, représentée par le code 1 500,
devra être mise à l’échelle afin d’obtenir à la sortie 1.500V, i.e. le code 4915. Une division de 305
devra alors être prescrite afin d’obtenir le bon code de sortie.
Ligne 2:7
º INDUCTIF º
º I:2 ÚMULÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´MULTIPLICATION ÃĶ
º 1 ³Source A VOLT_CA³ º
º ³ 500³ º
º ³Source B AMP_CA³ º
º ³ 2993³ º
º ³Dest VA_CA³ º
º ³ 32767³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:8
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDIVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ]/[ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION ÃĶ
º 1 1 ³Source A VA_CA³ º
º ³ 32767³ º
º ³Source B 305³ º
º ³ ³ º
º ³Dest OUT_AFFICH³ º
º ³ 4907³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:9
º INDUCTIF OVERFLOW º
º I:2 S:0 ÚDDVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄÄ] [ÄÄÄÄÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DIVISION 32 BITS ÃĶ
º 1 1 ³Source 305³ º
º ³ ³ º
º ³Dest OUT_AFFICH³ º
º ³ 4907³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:10
º FAUTE_MATH º
º S:5 º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ(U)ÄÄÄÄĶ
º 0 º
Ligne 2:11
º º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ENDÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º º
FI G UR E 2 -4 : M I S E À L ' É C H E L LE DE LA P UI S S A N C E PO UR AF F I C HAG E D E S OR T I E

Dans la section d’imprimé représentée par la figure 2-4, la valeur de 500 multiplié par 2993
donne un résultat dans le registre mathématique de 1 496 500. Une fois divisé par 305, le code
résultant est de 4907. Ce code permet une sortie de 1.4974 V, ce qui représente une puissance de
14974 VA.
La ligne 2 :10 de l’imprimé permet la remise à zéro du bit de faute mineure avant chaque fin de
cycle. Si cette ligne n’est pas présente, le programme ne fonctionne pas correctement.

Les instructions numériques Page 2-6 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.3 Les opérations logiques

 Utilisation des bits d'état arithmétique


Après l'exécution d'une instruction, les bits d'état arithmétique du fichier d'état sont mis à jour :
 Zéro (Z), S:0/2 - Indique une valeur de 0 après une instruction mathématique, de transfert ou
logique.
 Signe (S), S:0/3 - Indique une valeur négative (inférieure à 0) après une instruction
mathématique, de transfert ou logique.
 Les instructions logiques n'affectent pas les registres mathématiques S13 et S14.

 Saisies des paramètres


Lors de l'entrée de constantes, vous pouvez utiliser l'opérateur Et commercial (&) pour changer
la base de votre entrée. Par exemple, au lieu d'entrer -1 comme constante, vous pouvez entrer
&B1111111111111111 ou &HFFFF. Le B signifie Binaire et le H, Hexadécimal.
2.3.1 AND : Et
La valeur à la source A fait l'objet d'une opération ET avec la valeur à la source B, puis elle est
stockée dans la destination.
2.3.2 OR : Ou inclusif
La valeur à la source A fait l'objet d'une opération OU avec la valeur à la source B, puis elle est
stockée dans la destination.
2.3.3 XOR : Ou exclusif
La valeur à la source A fait l'objet d'une opération OU exclusive avec la valeur à la source B, puis
elle est stockée dans la destination.
2.3.4 NOT : Non
La valeur à la source A fait l'objet d'une opération NON, puis elle est stockée dans la destination
(complément à un).

Les instructions numériques Page 2-7 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.4 Les instructions de comparaison


Ce répertoire contient la plupart des instructions de comparaison. Si vous désirez plus
d’informations, référez-vous au manuel d’utilisation : réf. 1747-PA2F de Allen-Bradley.
 À moins de spécifications contraires, la saisie des paramètres doit s’effectuer avec:
 une adresse de mot pour la source A;
 une constante de programme ou une adresse de mot pour la source B;
 Les nombres entiers signés sont stockés sous forme de complément à deux.
2.4.1 EQU : Égal à
Utilisez l'instruction EQU pour tester si deux valeurs sont égales ou non. Si la source A et la
source B sont égales, l'instruction est logiquement vraie. Si ces valeurs sont inégales, l'instruction
est logiquement fausse.
2.4.2 NEQ : Différent
Utilisez l'instruction NEQ pour tester si deux valeurs sont différentes ou non. Si la source A et la
source B sont différentes, l'instruction est logiquement vraie. Si les deux valeurs sont égales,
l'instruction est logiquement fausse.
2.4.3 LES : Inférieur à
Utilisez l'instruction LES pour tester si une valeur (source A) est inférieure ou non à une autre
(source B). Si la source A est inférieure à la valeur de la source B, l'instruction est logiquement
vraie. Si la valeur de la source A est supérieure ou égale à la valeur de la source B, l'instruction
est logiquement fausse.
2.4.4 LEQ : Inférieur ou égal à
Utilisez l'instruction LEQ pour tester si une valeur (source A) est inférieure ou égale à une autre
ou non (source B). Si la valeur de la source A est inférieure ou égale à la valeur de la source B,
l'instruction est logiquement vraie. Si la valeur de la source A est supérieure à la valeur de la
source B, l'instruction est logiquement fausse.
2.4.5 GRT : Supérieur à
Utilisez l'instruction GRT pour tester si une valeur (source A) est supérieure ou non à une autre
(source B). Si la valeur de la source A est supérieure à la valeur de la source B, l'instruction est
logiquement vraie. Si la valeur de la source A est inférieure ou égale à la valeur de la source B,
l'instruction est logiquement fausse.
2.4.6 GEQ : Supérieur ou égal à
Utilisez l'instruction GEQ pour tester si une valeur (source A) est supérieure ou égale à une autre
ou non (source B). Si la valeur de la source A est supérieure ou égale à la valeur de la source B,
l'instruction est logiquement vraie. Si la valeur de la source A est inférieure à la valeur de la
source B, l'instruction est logiquement fausse.

Les instructions numériques Page 2-8 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

 EXEMPLE D’APPLICATION DE COMPARAISON


Après l’exemple du banc de test (voir figure 2-1), on désire allumer des lumières pour différentes
plages de puissance.

Trois lumières sont installées et doivent répondre aux exigences suivantes.


L1 : puissance <= 5 kVA,
L2 : puissance > 5 kVA et <10 kVA,
L3 : puissance >= 10 kVA

En insérant la section de programme ci-dessous, il est possible d’allumer et d’éteindre les


lumières selon les puissances demandées.
Ligne 2:10
º ÚLEQÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ O:3 º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ´INFERIEUR OU EGAL ÃÄÄ( )ÄÄÂĶ
º ³ ³Source A OUT_AFFICH³ 1 ³ º
º ³ ³ 4907³ ³ º
º ³ ³Source B 1638³ ³ º
º ³ ³ ³ ³ º
º ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ º
º ³ ÚGEQÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ O:3 ³ º
º ÀÄ´PLUS GRAND OU EGAL ÃÄÄ( )ÄÄÙ º
º ³Source A OUT_AFFICH³ 3 º
º ³ 4907³ º
º ³Source B 3271³ º
º ³ ³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:11
º ÚGRTÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ÚLESÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ O:3 º
ÇÄ´PLUS GRAND QUE ÃÄ´INFERIEUR A ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ( )ÄĶ
º ³Source A OUT_AFFICH³ ³Source A OUT_AFFICH³ 2 º
º ³ 4907³ ³ 4907³ º
º ³Source B 1638³ ³Source B 3271³ º
º ³ ³ ³ ³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
Ligne 2:12
º FAUTE_MATH º
º S:5 º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ(U)ÄÄÄÄĶ
º 0 º
Ligne 2:13
º º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ENDÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º º

FIGURE 2-5 : A FF I C H AG E DE L A P UI S S A NC E L OR S DU T E S T DU M OT E UR

Les instructions numériques Page 2-9 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.5 Opération de transfert


La source est l'adresse de la valeur sur laquelle l'opération de transfert doit être effectuée. Ce peut
être une adresse de mot ou une constante de programme. Si l'instruction a deux opérandes de
source, elle n'accepte pas de constantes de programme dans les deux opérandes. La destination
est l'adresse résultat d'une opération de transfert. Ce doit être une adresse de mot.
 Saisie des paramètres:
 La source est l'adresse des données ou une constante (dans le cas de MOV) que vous voulez
transférer.
 La destination est l'adresse où l'instruction transfère les données.
 Le masque est l'adresse du masque à travers lequel l'instruction transfère les données; le
masque peut être une valeur hexadécimale (constante).
2.5.1 MOV : Transfert
Cette instruction de sortie transfère la valeur de la source dans la destination.

2.5.2 Exemple d’application de transfert


La valeur de présélection dans un compteur/décompteur doit être modifiée par le programme. Le
comptage est programmé à 100, mais il doit être changé pour passer à 200 et à 300 selon les
exigences de la logique. Lors d’une remise à zéro, la valeur accumulée est remise à zéro et la
valeur de présélection, à 100.
Ligne 2:0
º I:2 ÚCTUÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´COMPTAGE ÃÄ(CU)Ķ
º 1 ³Compteur C5:1ÃÄ(DN) º
º ³Pr‚s‚lection 300³ º
º ³Val. Cumul‚e 0³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

Ligne 2:1
º I:2 ÚCTDÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´DECOMPTAGE ÃÄ(CD)Ķ
º 3 ³Compteur C5:1ÃÄ(DN) º
º ³Pr‚s‚lection 300³ º
º ³Val. Cumul‚e 0³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

FI G UR E 2-6 : P R O G R A M M E D E T E S T P OU R T R AN S F E R T D ’ UNE V ALE UR

Les lignes ci-haut ne représentent qu’un compteur (C5 :1) et un décompteur de la même adresse
permettant ainsi d’agir sur la même variable accumulée.
En utilisant des instructions de transferts, il est possible de modifier la valeur accumulée et la
valeur de présélection. Pour ce faire, il s’agit d’adresser les variables appropriées.
Ainsi, lorsqu’on initialise un compteur/décompteur, on réserve trois adresses dans la mémoire du
fichier C5. Lorsque l’adresse est C5 :1 on peut répartir les adresses selon :
C5 :1.0 = code de contrôle
C5 :1.1 ou C5 :1.PRE = valeur de présélection
C5 :1.2 ou C5 :1.ACC = valeur accumulée.

Les instructions numériques Page 2-10 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

Les lignes qui suivent permettent le transfert de la valeur de présélection lorsque la logique est
telle que la ligne 2 :2 ou 2 :3 devient valide. La ligne 2 :4 permet la remise à zéro de la valeur
accumulé. N’oubliez pas que si deux ou les trois instructions de transfert deviennent valides dans
le même cycle de scrutation, la dernière ligne l’emporte toujours. Dans ce cas-ci, puisque la ligne
de présélection à 100 se trouve la dernière rencontrée par le processeur, c’est cette valeur qui
sera placée dans la variable C5 :1.1.
Ligne 2:2
º I:2 ÚMOVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´TRANSFERT ÃĶ
º 5 ³Source 200³ º
º ³ ³ º
º ³Dest C5:1.PRE³ º
º ³ 300³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

Ligne 2:3
º I:2 ÚMOVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´TRANSFERT ÃĶ
º 7 ³Source 300³ º
º ³ ³ º
º ³Dest C5:1.PRE³ º
º ³ 300³ º
º ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º

Ligne 2:4
º I:2 ÚMOVÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ º
ÇÄÄ] [ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄ´TRANSFERT ÃÄÂĶ
º 0 ³ ³Source 100³ ³ º
º ³ ³ ³ ³ º
º ³ ³Dest C5:1.PRE³ ³ º
º ³ ³ 300³ ³ º
º ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ ³ º
º ³ C5:1 ³ º
º ÀÄÄ(RES)ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ º
º º
Ligne 2:5
º º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´ENDÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º º

FI G UR E 2 -7 : S U I T E E T F I N DU PR O G R A M M E D E T R AN S F E R T D A NS U N C O M PT E U R / DÉ C OM P T E UR

2.5.3 MVM :Transfert avec masque


L'instruction de transfert avec masque est une instruction de mot qui transfère des données d'un
emplacement source à une destination, et permet à des parties de données de destination d'être
masquées par un mot séparé.

Les instructions numériques Page 2-11 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.6 Instructions de décalage de bits


BSL et BSR sont des instructions de sortie qui chargent les données dans un tableau de bits, un
bit à la fois. Les données sont décalées à travers le tableau, puis déchargées bit par bit.
2.6.1 Saisie des paramètres
 Le fichier est l'adresse du tableau de bits que vous voulez manipuler. Vous devez utiliser
l'indicateur de fichier (#) dans l'adresse du tableau de bits.
 Le contrôle est l'adresse de l'instruction et de l'élément de contrôle qui stocke l'octet d'état de
l'instruction, la taille du tableau (en nombre de bits) et le pointeur de bits (inutilisé
actuellement). Notez que l'adresse de contrôle ne peut être utilisée pour aucune autre
instruction.
2.6.2 Les bits d'état de l'élément de contrôle comprennent:
 Le bit de déchargement UL (bit 10) stocke l'état du bit sorti du tableau chaque fois que
l'instruction est validée.
 Le bit d'erreur ER (bit 11), à l’indique que l'instruction a détecté une erreur telle que l'entrée
d'un nombre négatif pour la longueur ou la position. Évitez d'utiliser le bit de sortie quand ce
bit est à 1.
 Le bit fin DN (bit 13), à l’indique indique que le tableau de bits s'est décalé d'une position.
 Le bit de validation EN (bit 15) est mis à 1 sur une transition faux-vrai de la ligne et indique
que l'instruction est validée. L'adresse de bit est l'adresse du bit source que l'instruction insère
dans le premier emplacement de bit du tableau BSL, ou dans le dernier emplacement de bit du
tableau BSR.
 La longueur (taille d'un tableau de bits) est le nombre de bits dans le tableau de bits, jusqu'à
2048 bits. Une valeur de longueur 0 entraîne le transfert du bit d'entrée dans le bit UL. Une
valeur de longueur qui dépasse la fin du fichier programmé entraîne l'apparition d'une erreur
majeure pendant l'exécution. Si vous modifiez la valeur d'une longueur avec votre programme
à relais, assurez-vous que la valeur modifiée est valable. L'instruction invalide tous les bits au-
delà du dernier bit du tableau (tel que défini par la longueur) jusqu'à la limite du prochain mot.
Effets sur le registre d'index S:24. La position de décalage met à zéro le registre d'index S:24.
2.6.3 Fonctionnement - Décalage binaire à gauche
Quand la ligne passe de fausse à vraie, le bit de validation (bit EN 15) est mis à 1, et le bloc de
données est décalé d'un bit vers la gauche (vers un bit de numéro supérieur). Le bit spécifié à
l'adresse de bit est décalé en première position de bit. Le dernier bit est retiré du tableau et stocké
dans le bit de déchargement (bit UL 10) dans l'octet d'état de l'élément de contrôle. Le décalage
est terminé en une seule scrutation. Pour un fonctionnement en permutation circulaire, établissez
la position de l'adresse de bit au dernier bit du tableau ou au bit UL, selon ce qui s'applique.
2.6.4 Fonctionnement - Décalage binaire à droite
Quand la ligne passe de fausse à vraie, le bit de validation (bit EN 15) est mis à 1, et le bloc de
données est décalé d'un bit vers la droite (vers un bit de numéro inférieur). Le bit spécifié à
l'adresse de bit est décalé en dernière position de bit. Le premier bit est retiré du tableau et stocké
dans le bit de déchargement (bit UL 10), dans l'octet d'état de l'élément de contrôle. Le décalage
est terminé en une seule scrutation.

Les instructions numériques Page 2-12 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.7 Les séquenceurs

2.7.1 Saisies des paramètres


 Le fichier
 Vous devez utiliser l'indicateur de fichier (#) pour cette adresse. Les données du fichier
séquenceur sont utilisées de la façon suivante: SQO stocke les données de commande des
sorties. SQC stocke les données de référence pour contrôler les entrées.
 Le masque
 Le masque (SQO, SQC) est un code hexadécimal ou l'adresse du mot ou du fichier, masque à
travers lequel l'instruction transfère les données. Mettez à 1 les bits du masque pour le passage
des données et remettez-les à 0 pour masquer.
 Les données
 Utilisez un mot ou un fichier masque si vous voulez changer le masque en fonction des
exigences de l'application. Si le masque est un fichier, sa longueur doit être égale à la longueur
du fichier séquenceur. Les deux fichiers se suivent automatiquement.
 La source
 La source est l'adresse du mot ou du fichier d'entrée pour une instruction SQC, à partir de
laquelle l'instruction obtient des données à comparer à son fichier séquenceur.
 La destination
 La destination est l'adresse du mot ou du fichier de sortie pour une instruction SQO, dans
laquelle l'instruction transfère les données depuis son fichier séquenceur.
 Le contrôle
 Le contrôle (SQO, SQC) est l'adresse de l'instruction et l'élément de contrôle qui stocke l'octet
d'état de l'instruction, la longueur du fichier séquenceur et la position instantanée dans le
fichier. Vous ne pouvez utiliser l'adresse de contrôle pour aucune autre instruction.
 Les bits d'état de l'élément de contrôle comprennent :
 Le bit trouvé FD (bit 08) - SQC uniquement. Ce bit trouvé indique qu'une
concordance a été trouvée dans une comparaison d'égalité.
 Le bit d'erreur ER (bit 11) est mis à 1 quand le processeur détecte une valeur
négative de position ou une valeur de longueur négative ou de zéro.
 Le bit fin DN (bit 13) est mis à 1 par l'instruction SQO ou SQC après son
fonctionnement sur le dernier mot d'un fichier séquenceur.
 Le bit de validation EN (bit 15) est mis à 1 par une transition faux-vrai de la ligne
et indique que l'instruction SQO ou SQC est validée. Il suit la condition de la ligne.
 La longueur
 La longueur est le nombre d'incréments d'un fichier séquenceur en commençant à la position 1.
Le nombre maximum que vous pouvez entrer est de 255 mots. La position 0 est la position de
début. L'instruction se remet en position 1 (fait un bouclage) à la fin de chaque cycle.
 La position
 La position est l'emplacement d'un mot ou d'un incrément dans le fichier séquenceur à partir
duquel/vers lequel l'instruction transfère des données. Une valeur de position qui dépasse la fin
d'un fichier programmé entraîne l'apparition d'une erreur majeure pendant l'exécution. Si vous
modifiez la valeur de position avec votre programme à relais, assurez-vous que la valeur
modifiée est valable.

Les instructions numériques Page 2-13 OFPPT/TECCART


Résumé de Théorie Automates Programmables II

2.7.2 Fonctionnement - Séquenceur de sortie


Cette instruction de sortie défile pas à pas dans le fichier séquenceur dont les bits ont été mis à 1
pour commander des actionneurs. Quand la ligne passe de fausse à vraie, l'instruction incrémente
vers l'étape suivante (mot) du fichier séquenceur. Les données qui y sont stockées sont
transférées à travers le masque à l'adresse de destination spécifiée dans l'instruction. Les données
courantes sont écrites au mot de destination correspondant à chaque scrutation dans laquelle la
ligne reste vraie.
Le bit fin est mis à 1 quand le dernier mot du fichier séquenceur est transféré. A la transition
fausse-vraie suivante de la ligne, l'instruction remet la position à l'incrément un.
Si la position est égale à zéro au départ, lorsque vous faites passer le processeur du mode
Programme au mode RUN, le fonctionnement des instructions dépend de la condition vraie ou
fausse de la ligne à la première scrutation.Si la ligne est vraie, l'instruction transfère la valeur à
l'incrément 0. Si la ligne est fausse, l'instruction attend la première transition de la ligne de fausse
à vraie et transfère la valeur à l'incrément 1.
Masquez les données en remettant les bits à zéro dans le mot masque. Les bits masquent les
données quand ils sont remis à 0, et font passer les données quand ils sont à 1. Tant que vous ne
mettez pas à 1 les bits de masque, l'instruction ne change pas la valeur du mot de destination. Le
masque peut être fixé par l'entrée d'un code hexadécimal. Le masque peut être une variable par
suite de l'entrée de l'adresse d'un élément ou de l'adresse d'un fichier permettant de changer le
masque avec chaque incrément.
2.7.3 Fonctionnement : Séquenceur de comparaison
L'instruction SQC compare un mot ou un fichier de données d'entrée, à travers un masque, à un
mot ou à un fichier de données de référence, concernant leur égalité. Quand l'état de tous les bits
non masqués d'un mot d'entrée est le même que celui du mot de référence correspondant,
l'instruction devient vraie et met à 1 le bit trouvé (FD) dans le mot de contrôle respectif.
Autrement, l'instruction est fausse, ce qui met à zéro le bit trouvé (FD).
Masquez les données en remettant les bits à zéro dans le mot masque. Les bits masquent les
données quand ils sont remis à 0, et font passer les données quand ils sont à 1. Tant que vous ne
mettez pas à 1 les bits de masque, l'instruction ne compare pas les bits du fichier de réf@Brence
avec la valeur d'entrée. Le masque peut être fixé par l'entrée d'un code hexadécimal. Le masque
peut être une variable par suite de l'entrée de l'adresse d'un élément ou de l'adresse d'un fichier
permettant de changer le masque avec chaque incrément.
Quand la ligne passe de fausse à vraie, l'instruction incrémente à l'étape suivante (mot) du fichier
séquenceur. Les données qui y sont stockées sont transférées à travers un masque et sont
comparées aux données source concernant leur égalité. Si les données source sont égales aux
données de référence, le bit FD est mis à 1 dans le compteur de contrôle de l'instruction SQC. Les
données courantes sont comparées à la source à chaque scrutation dans laquelle la ligne est
évaluée comme vraie.

Les instructions numériques Page 2-14 OFPPT/TECCART

Vous aimerez peut-être aussi