()
|
Mise entre parenthèses
|
1 (le plus haut)
|
Expression
|
La mise entre parenthèses
est utilisée pour modifier la séquence d’exécution
des opérateurs.
Exemple : Si les opérandes A , B , C and D ont respectivement les valeurs 1, 2, 3 et 4, alors
A+B-C*D
donne le résultat -9 et
(A+B-C)*D
donne le résultat 0.
|
FUNCNAME (liste
des paramètres réels)
|
Traitement de fonction (appel)
|
2
|
Expression, valeur littérale,
variable, adresse (tous les types de données)
|
Le traitement de fonction est utilisé
pour exécuter des fonctions (voir Appel de fonctions élémentaires).
|
-
|
Négation
|
3
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT ou REAL
|
Dans le cas de la négation - , le système change le signe de la valeur de l’opérande.
Exemple : Dans l'exemple, OUT a la valeur
-4 si IN1 est égal à 4.
OUT
:= - IN1 ;
|
NON
|
Complément
|
3
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , WORD ou DWORD
|
Dans le cas de NOT , le système effectue une inversion de chaque bit de l’opérande.
Exemple : Dans l'exemple, OUT a la valeur
0011001100 si IN1 est égal à 1100110011.
OUT := NOT IN1 ;
|
**
|
Elévation de puissance
|
4
|
Expression, valeur littérale,
variable, adresse du type de données REAL (base)
et INT , DINT , UINT , UDINT ou REAL (exposant)
|
Dans le cas de l’élévation
à une puissance plus haute ** , la valeur du
premier opérande (base) est augmentée de la valeur du second
opérande (exposant).
Exemple : Dans l'exemple, OUT est égal à 625,0 si IN1 est
5,0 et IN2 4,0.
OUT := IN1 ** IN2 ;
|
*
|
Multiplication
|
5
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT , UINT , UDINT ou REAL
|
Dans le cas de la multiplication * , la valeur du premier opérande est multipliée
par la valeur du deuxième opérande.
Exemple : Dans l'exemple, OUT est égal à 20.0 si IN1 est 5,0 et IN2 4,0.
OUT
:= IN1 * IN2 ;
Note : La fonction MULTIME de la bibliothèque obsolète est destinée aux multiplications
du type de données Time .
|
/
|
Division
|
5
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT , UINT , UDINT ou REAL
|
Dans le cas de la division / , la valeur du premier opérande est divisée par
la valeur du deuxième opérande.
Exemple : Dans
l'exemple, OUT est égal à 4.0 si IN1 est 20.0 et IN2 5.0.
OUT := IN1 / IN2 ;
Note : La fonction DIVTIME de la bibliothèque obsolète est destinée
aux divisions du type de données Time .
|
MOD
|
Modulo
|
5
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT , UINT ou UDINT
|
Dans le cas de MOD, la valeur du
premier opérande est divisée par la valeur du deuxième
opérande et le reste de la division (Modulo) est sorti comme
résultat.
Exemple : Dans cet exemple,
OUT est 1, si IN1 est 7 et IN2 2
OUT est 1, si IN1 est 7 et IN2 -2
OUT est -1, si IN1 est -7
et IN2 2
OUT est -1, si IN1 est -7
et IN2 -2
OUT := IN1 MOD IN2 ;
|
+
|
Addition
|
6
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT , UINT , UDINT , REAL ou TIME
|
Dans le cas de l’addition + , la valeur du premier opérande est ajoutée à
la valeur du deuxième opérande.
Exemple : Dans
cet exemple,
OUT est égal à 9 si IN1 est 7 et IN2 2.
OUT :=
IN1 + IN2 ;
|
-
|
Soustraction
|
6
|
Expression, valeur littérale,
variable, adresse du type de données INT , DINT , UINT , UDINT , REAL ou TIME
|
Dans le cas de la soustraction - , la valeur du deuxième opérande est soustraite
à la valeur du premier opérande.
Exemple : Dans
l'exemple, OUT est égal à 6 si IN1 est 10 et IN2 4.
OUT
:= IN1 - IN2 ;
|
<
|
Comparaison "inférieur à"
|
7
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
< permet de
comparer la valeur du premier opérande à celle du deuxième
opérande. Si la valeur du premier opérande est inférieure
à celle du second, le résultat est un 1 booléen. Si
la valeur du premier opérande est supérieure ou égale
à celle du second, le résultat est un 0 booléen.
Exemple : Dans l'exemple, OUT est égal
à 1 si IN1 est inférieur à 10. Sinon,
il vaut 0.
OUT := IN1 < 10 ;
|
>
|
Comparaison "supérieur à"
|
7
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
> permet de comparer
la valeur du premier opérande à celle du deuxième opérande.
Si la valeur du premier opérande est supérieure à celle
du second, le résultat est un 1 booléen. Si la valeur du
premier opérande est inférieure ou égale à celle
du second, le résultat est un 0 booléen.
Exemple
: Dans l'exemple, OUT est égal à 1
si IN1 est supérieur à 10. Si IN1 est inférieur à 0, alors il vaut 0.
OUT
:= IN1 > 10 ;
|
<=
|
Comparaison "inférieur ou
égal à"
|
7
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
<= permet de
comparer la valeur du premier opérande à celle du deuxième
opérande. Si la valeur du premier opérande est inférieure
ou égale à celle du second, le résultat est un 1 booléen.
Si la valeur du premier opérande est supérieure à celle
du second, le résultat est un 0 booléen.
Exemple
: Dans l'exemple, OUT est égal à 1
si IN1 est inférieur ou égal à 10.
Sinon, il est égal à 0.
OUT := IN1 <= 10
;
|
>=
|
Comparaison "supérieur ou
égal à"
|
7
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
>= permet de comparer
la valeur du premier opérande à celle du deuxième opérande.
Si la valeur du premier opérande est supérieure ou égale
à celle du second, le résultat est un 1 booléen. Si
la valeur du premier opérande est inférieure à celle
du second, le résultat est un 0 booléen.
Exemple
: Dans l'exemple, OUT est égal à 1
si IN1 est supérieur ou égal à 10.
Sinon, il est égal à 0.
OUT := IN1 >= 10 ;
|
=
|
Egalité
|
8
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
= permet de comparer
la valeur du premier opérande à celle du deuxième opérande.
Si la valeur du premier opérande est égale à celle
du second, le résultat est un 1 booléen. Si la valeur du
premier opérande est différente de celle du second, le résultat
est un 0 booléen.
Exemple : Dans l'exemple, OUT est égal à 1 si IN1 est égal
à 10. Sinon, il vaut 0.
OUT := IN1 = 10 ;
|
<>
|
Inégalité
|
8
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , INT , DINT , UINT , UDINT , REAL , TIME , WORD , DWORD , STRING , DT , DATE ou TOD
|
<> permet de
comparer la valeur du premier opérande à celle du deuxième
opérande. Si la valeur du premier opérande est différente
de celle du second, le résultat est un 1 booléen. Si la
valeur du premier opérande est égale à celle du second,
le résultat est un 0 booléen.
Exemple : Dans
l'exemple, OUT est égal à 1 si IN1 n'est pas égal à 10. Sinon, il vaut 0.
OUT := IN1 <> 10 ;
|
&
|
ET logique
|
9
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , WORD ou DWORD
|
& permet d'établir
une liaison ET logique entre les opérandes. Pour les types de
données BYTE , WORD et DWORD , le lien est fait par bit.
Exemple : Dans
les exemples OUT est égal à 1 si IN1 , IN2 et IN3 valent
1.
OUT := IN1 & IN2 & IN3 ;
|
AND
|
ET logique
|
9
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , WORD ou DWORD
|
AND permet d'établir
une liaison ET logique entre les opérandes. Pour les types de
données BYTE , WORD et DWORD , le lien est fait par bit.
Exemple : Dans
les exemples OUT est égal à 1 si IN1 , IN2 et IN3 valent
1.
OUT := IN1 AND IN2 AND IN3 ;
|
XOR
|
OU exclusif logique
|
10
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , WORD ou DWORD
|
XOR permet d'établir
une liaison OU exclusif logique entre les opérandes. Pour les
types de données BYTE , WORD et DWORD , le lien est fait par bit.
Exemple
: Dans l'exemple, OUT est égal à 1
si IN1 et IN2 ne sont pas égaux.
Si IN1 et IN2 ont le même état
(tous deux 0 ou 1), OUT est sur 0.
OUT := IN1 XOR IN2 ;
Si plus de deux opérandes
sont reliés, le résultat de l’opération est
à l’état 1 pour un nombre impair d'états 1 et
à l’état 0 pour un nombre pair d’états
1.
Exemple : Dans l'exemple, OUT est
égal à 1 si 1 ou 3 opérandes valent 1. OUT vaut 0 si 0, 2 ou 4 opérandes valent 1.
OUT :=
IN1 XOR IN2 XOR IN3 XOR IN4 ;
|
OR
|
OU logique
|
11 (le plus bas)
|
Expression, valeur littérale,
variable, adresse du type de données BOOL , BYTE , WORD ou DWORD
|
OR permet d'établir
une liaison OU logique entre les opérandes. Pour les types de
données BYTE , WORD et DWORD , le lien est fait par bit.
Exemple : Dans
l'exemple, OUT a la valeur 1 si IN1 , IN2 ou IN3 est sur 1.
OUT := IN1 OR IN2 OR IN3 ;
|