FBD Log
FBD Log
sur bits 1
Opérations de comparaison 2
Opérations de conversion 3
SIMATIC
Opérations de comptage 4
Opérations sur blocs de
Langage LOG pour données 5
SIMATIC S7-300/400
Opérations de saut 6
Manuel de référence
Opérations arithmétiques sur
nombres entiers 7
Opérations arithmétiques sur
nombres réels 8
Opérations de transfert 9
Opérations de gestion
d'exécution de programme 10
Opérations de décalage et
de rotation 11
Opérations de temporisation 13
Opérations combinatoires
sur mots 14
Ce manuel est livré avec la documentations référencée :
6ES7810-4CA10-8CW1 Présentation de toutes les
opérations LOG A
Exemples de programmation B
05/2010
C
A5E02790132-01
Pour travailler en LOG
Mentions légales
Signalétique d'avertissement
Ce manuel donne des consignes que vous devez respecter pour votre propre sécurité et pour éviter des
dommages matériels. Les avertissements servant à votre sécurité personnelle sont accompagnés d'un triangle de
danger, les avertissements concernant uniquement des dommages matériels sont dépourvus de ce triangle. Les
avertissements sont représentés ci-après par ordre décroissant de niveau de risque.
DANGER
signifie que la non-application des mesures de sécurité appropriées entraîne la mort ou des blessures graves.
ATTENTION
signifie que la non-application des mesures de sécurité appropriées peut entraîner la mort ou des blessures
graves.
PRUDENCE
accompagné d’ un triangle de danger, signifie que la non-application des mesures de sécurité appropriées peut
entraîner des blessures légères.
PRUDENCE
non accompagné d’ un triangle de danger, signifie que la non-application des mesures de sécurité appropriées
peut entraîner un dommage matériel.
IMPORTANT
signifie que le non-respect de l'avertissement correspondant peut entraîner l'apparition d'un événement ou d'un
état indésirable.
En présence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus élevé
qui est reproduit. Si un avertissement avec triangle de danger prévient des risques de dommages corporels, le
même avertissement peut aussi contenir un avis de mise en garde contre des dommages matériels.
Personnes qualifiées
L’ appareil/le système décrit dans cette documentation ne doit être manipulé que par du personnel qualifié pour
chaque tâche spécifique. La documentation relative à cette tâche doit être observée, en particulier les consignes
de sécurité et avertissements. Les personnes qualifiées sont, en raison de leur formation et de leur expérience, en
mesure de reconnaître les risques liés au maniement de ce produit / système et de les éviter.
ATTENTION
Les produits Siemens ne doivent être utilisés que pour les cas d'application prévus dans le catalogue et dans la
documentation technique correspondante. S'ils sont utilisés en liaison avec des produits et composants d'autres
marques, ceux-ci doivent être recommandés ou agréés par Siemens. Le fonctionnement correct et sûr des
produits suppose un transport, un entreposage, une mise en place, un montage, une mise en service, une
utilisation et une maintenance dans les règles de l'art. Il faut respecter les conditions d'environnement
admissibles ainsi que les indications dans les documentations afférentes.
Marques de fabrique
Toutes les désignations repérées par ® sont des marques déposées de Siemens AG. Les autres désignations
dans ce document peuvent être des marques dont l'utilisation par des tiers à leurs propres fins peut enfreindre les
droits de leurs propriétaires respectifs.
Exclusion de responsabilité
Nous avons vérifié la conformité du contenu du présent document avec le matériel et le logiciel qui y sont décrits.
Ne pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformité
intégrale. Si l'usage de ce manuel devait révéler des erreurs, nous en tiendrons compte et apporterons les
corrections nécessaires dès la prochaine édition.
Objet du manuel
Ce manuel vous aidera à écrire des programmes utilisateur en langage LOG.
Il contient une partie de référence décrivant la syntaxe et le fonctionnement des éléments du langage de
programmation LOG.
Norme
LOG correspond au langage « Langage en blocs fonctionnels » défini dans la norme CEI 1131-3. Pour
plus de renseignements à ce sujet, consultez la table de correspondance à la norme dans le fichier
NORM_TBL.RTF (anglais) ou NORM_TAB.RTF (allemand) de STEP 7.
Connaissances requises
Vous trouverez dans l'aide en ligne de STEP 7 les connaissances thèoriques sur les programmes S7
nécessaires à la compréhension de ce manuel sur LOG. Les langages de programmation se basant sur
le logiciel de base STEP 7, nous supposerons que vous savez utiliser ce logiciel et sa documentation.
Ce manuel fait partie de la documentation "STEP 7 Connaissances fondamentales“.
Le tableau suivant présente la documentation de STEP 7:
Aide en ligne
En complément au manuel, l‘aide en ligne intégrée au logiciel vous offre une assistance détaillée lors de
l‘utilisation du logiciel.
Ce système d‘aide est intégré au logiciel grâce à plusieurs interfaces :
L’aide contextuelle donne des informations sur le contexte actuel, par exemple sur une boîte de
dialogue ouverte ou sur une fenêtre active. Vous l’appelez en cliquant sur le bouton “Aide” ou en
appuyant sur la touche F1.
Le menu d’aide ? propose plusieurs commandes : Rubrique d’aides ouvre le sommaire de l’aide de
STEP 7.
Vous obtenez le glossaire relatif à toutes les applications de STEP 7 en cliquant sur "Glossaire".
Ce manuel est extrait de l' "Aide pour LOG". En raison de la structure similaire entre le manuel et l‘aide
en ligne, le passage de l‘un à l‘autre est aisé.
Assistance supplémentaire
Si des questions sont restées sans réponse dans ce manuel, veuillez vous adresser à votre
interlocuteur Siemens dans la filiale ou l'agence de votre région.
Vous trouvez votre interloculeur sous :
[Link]
Vous trouvez un fil rouge pour la recherche de documentations techniques sur les produits et systèmes
SIMATIC à l’adresse suivante sur Internet :
[Link]
Le catalogue en ligne et le système de commande en ligne se trouvent à l'adresse :
[Link]
Technical Support
Vous pouvez joindre le support technique pour tous les produits d’Industry Automation.
• Via le formulaire Web de demande d’assistance (Support Request)
[Link]
Vous trouvez plus d’informations concernant notre Technical Support sur Internet à l’adresse suivante :
[Link]
4 Opérations de comptage 53
4.1 Vue d'ensemble des opérations de comptage.............................................................................53
4.2 ZAEHLER : Paramétrage et compteur incrémental/décrémental ................................................55
4.3 Z_VORW : Paramétrage et compteur incrémental ......................................................................57
4.4 Z_RUECK : Paramétrage et compteur décrémental ...................................................................59
4.5 SZ : Initialiser compteur ...............................................................................................................61
4.6 ZV : Incrémenter ..........................................................................................................................62
4.7 ZR : Décrémenter.........................................................................................................................63
5 Opérations sur blocs de données 65
5.1 OPN : Ouvrir bloc de données .....................................................................................................65
6 Opérations de saut 67
6.1 Vue d'ensemble des opérations de saut......................................................................................67
6.2 JMP : Saut inconditionnel.............................................................................................................68
6.3 JMP : Saut si 1 (conditionnel) ......................................................................................................69
6.4 JMPN : Saut si 0 (conditionnel)....................................................................................................70
6.5 LABEL : Repère de saut ..............................................................................................................71
7 Opérations arithmétiques sur nombres entiers 73
7.1 Vue d'ensemble des opérations arithmétiques sur nombre entiers.............................................73
7.2 Evaluation des bits du mot d'état pour les opérations sur nombres entiers ................................74
7.3 ADD_I : Additionner entiers de 16 bits.........................................................................................75
7.4 SUB_I : Soustraire entiers de 16 bits...........................................................................................76
7.5 MUL_I : Multiplier entiers de 16 bits.............................................................................................77
7.6 DIV_I : Diviser entiers de 16 bits..................................................................................................78
7.7 ADD_DI : Additionner entiers de 32 bits ......................................................................................79
7.8 SUB_DI : Soustraire entiers de 32 bits ........................................................................................80
7.9 MUL_DI : Multiplier entiers de 32 bits ..........................................................................................81
7.10 DIV_DI : Diviser entiers de 32 bits ...............................................................................................82
7.11 MOD_DI : Reste de division (32 bits)...........................................................................................83
8 Opérations arithmétiques sur nombres réels 85
8.1 Vue d'ensemble des opérations arithmétiques sur nombres réels ..............................................85
8.2 Evaluation des bits du mot d'état pour les opérations sur nombres réels ...................................86
8.3 Opérations de base......................................................................................................................87
8.3.1 ADD_R : Additionner nombres réels............................................................................................87
8.3.2 SUB_R : Soustraire nombres réels..............................................................................................88
8.3.3 MUL_R : Multiplier nombres réels................................................................................................89
8.3.4 DIV_R : Diviser nombres réels.....................................................................................................90
8.3.5 ABS : Valeur absolue d'un nombre réel .......................................................................................91
8.4 Opérations étendues....................................................................................................................92
8.4.1 SQR : Carré d'un nombre réel .....................................................................................................92
8.4.2 SQRT : Racine carrée d'un nombre réel......................................................................................93
8.4.3 EXP : Valeur exponentielle d'un nombre réel ..............................................................................94
8.4.4 LN : Logarithme naturel d'un nombre réel ...................................................................................95
8.4.5 Fonctions trigonométriques d'angles sous forme de nombres réels ...........................................96
9 Opérations de transfert 99
9.1 MOVE : Affecter valeur ................................................................................................................99
Description
Les opérations combinatoires sur bits utilisent deux chiffres : 1 et 0. Ces deux chiffres sont à la base du
système de numération binaire et sont appelés chiffres binaires ou bits. Le 1 signifie « OUI logique » et
le 0 « NON logique » en relation avec ET, OU, OU exclusif et des sorties.
Les opérations de combinaison sur bits évaluent les états de signal 1 et 0 et les combinent selon la
logique booléenne. Le résultat de ces combinaisons est égal à 1 ou 0. Il s’agit du résultat logique (RLG).
Il existe des opérations combinatoires sur bits pour effectuer les fonctions suivantes :
• ET, OU et Exclusiv-OU interrogent chacune l’état de signal et leur résultat est soit copié dans le bit de
résultat logique RLG, soit combiné au RLG.
• Combinaisons ET avant OU et OU avant ET
• Affectation et Connecteur assignent le RLG ou le mémorisent temporairement.
D’autres opérations exécutent les fonctions suivantes en cas de front montant ou descendant :
• N : Détecter front descendant
• P : Détecter front montant
• NEG : Détecter front descendant de signal
• POS : Détecter front montant de signal
Représentation
>=1
<opérande>
<opérande>
Description
La porte OU vous permet d'interroger l'état de signal de deux opérandes ou plus indiqués aux entrées
d'une boîte OU.
Si l'état de signal d'un des opérandes est 1, la condition est réalisée et l'opération fournit un résultat égal
à 1. Si tous les opérandes ont l'état de signal 0, la condition n'est pas satisfaite et l'opération fournit un
résultat égal à 0.
Lorsque la porte OU est la première opération dans une séquence combinatoire, elle range le résultat
de son interrogation d'état de signal dans le bit de résultat logique (RLG).
Lorsqu'elle n'est pas la première opération dans la séquence combinatoire, elle combine le résultat de
son interrogation d'état de signal à la valeur figurant dans le bit RLG. Cette combinaison se fait selon la
table de vérité OU.
Mot d'état
Exemple
>=1
E 0.0 A 4.0
E 0.1 =
Représentation
&
<opérande>
<opérande>
Description
La porte ET vous permet d'interroger l'état de signal de deux opérandes ou plus indiqués aux entrées
d'une boîte ET.
Si l'état de signal de tous les opérandes est 1, la condition est réalisée et l'opération fournit un résultat
égal à 1. En revanche, si un des opérandes a l'état de signal 0, la condition n'est pas satisfaite et
l'opération fournit un résultat égal à 0.
Lorsque la porte ET est la première opération dans une séquence combinatoire, elle range le résultat de
son interrogation d'état de signal dans le bit de résultat logique (RLG).
Lorsqu'elle n'est pas la première opération dans la séquence combinatoire, elle combine le résultat de
son interrogation d'état de signal à la valeur figurant dans le bit RLG. Cette combinaison se fait selon la
table de vérité ET.
Mot d'état
Exemple
&
E 0.0 A 4.0
E 0.1 =
Description
L'opération ET avant OU vous permet d'interroger le résultat d'une interrogation d'état de signal selon la
table de vérité OU.
Pour une combinaison ET avant OU, l'état de signal est 1 lorsqu'une combinaison ET au moins est
satisfaite.
Mot d'état
Exemple
E 1.0 &
E 1.1 >=1
L'état de signal est 1 à la sortie A 3.1 si une combinaison ET au moins est satisfaite.
L'état de signal est 0 à la sortie A 3.1 si aucune combinaison ET n'est satisfaite.
Description
L'opération OU avant ET vous permet d'interroger le résultat d'une interrogation d'état de signal selon la
table de vérité ET.
Pour une combinaison OU avant ET, l'état de signal est 1 lorsque toutes les combinaisons OU sont
satisfaites.
Mot d'état
Exemple
E 1.0 >=1
E 1.1
&
E 1.2 A 3.1
>=1
E 1.3 =
L'état de signal est 1 à la sortie A 3.1 si les deux combinaisons OU sont satisfaites.
L'état de signal est 0 à la sortie A 3.1 si une combinaison OU au moins n'est pas satisfaite.
Représentation
XOR
<opérande>
<opérande>
Description
L'opération OU exclusif vous permet d'interroger le résultat d'une interrogation d'état de signal selon la
table de vérité OU exclusif.
Pour une combinaison OU exclusif, l'état de signal est 1 lorsque l'état de signal de l'un des deux
opérandes est 1.
Si la fonction XOR comprend plus de 2 opérandes, la règle est la suivante :
Si un nombre impair d’opérandes interrogés fournit en résultat ”1”, le résultat logique de ces opérandes
est "1".
Mot d'état
Exemple
XOR
E 0.0 A 3.1
E 0.2 =
L'état de signal est 1 à la sortie A 3.1 lorsque soit l'état de signal est 1 à l'entrée E 0.0 soit il est 1 à
l'entrée E 0.2, et ce exclusivement.
Représentation
<opérande>
Description
L'opération Insérer entrée binaire insère une nouvelle entrée binaire après l'entrée sélectionnée d'une
boîte ET, OU ou OU exclusif.
Mot d'état
Exemple
E 1.0 &
A 4.0
E 1.1
=
E 1.2
La sortie A 4.0 est à 1 si l'état de signal est 1 aux entrées E 1.0 et E 1.1 et E 1.2.
Représentation
Description
L'opération Inverser entrée binaire inverse le résultat logique.
Vous devez tenir compte de certaines règles lors de la négation du résultat logique :
• Il n'y a pas de mise entre parenthèses si le résultat logique est inversé au niveau de la première
entrée d'une porte ET ou d'une porte OU.
• Si le résultat logique n'est pas inversé au niveau de la première entrée d'une porte OU, toute la
combinaison binaire avant l'entrée est incluse dans la combinaison OU.
• Si le résultat logique n'est pas inversé au niveau de la première entrée d'une porte ET, toute la
combinaison binaire avant l'entrée est incluse dans la combinaison ET.
Mot d'état
Exemple
E 1.0 &
E 1.1 &
1.8 = : Affectation
Représentation
<opérande>
Description
L'opération Affectation fournit le résultat logique. La boîte au bout de la combinaison délivre le signal 1
ou 0 selon les critères suivants :
• La sortie prend le signal 1 lorsque les conditions de la combinaison avant la boîte de sortie sont
satisfaites.
• Elle prend le signal 0 lorsque les conditions de la combinaison avant la boîte de sortie ne sont pas
satisfaites.
La combinaison LOG affecte l'état de signal à la sortie à laquelle accède l'opération (il reviendrait au
même d'affecter l'état de signal du bit RLG à l'opérande). Si les conditions des combinaisons LOG sont
satisfaites, l'état de signal est 1 à la boîte de sortie ; sinon, il est égal à 0.
Le relais de masquage MCR influence l'opération Affectation.
Vous ne pouvez placer la boîte "Affectation" qu'à l'extrémité droite de la séquence combinatoire. Il est
toutefois possible d'en utiliser plusieurs.
Vous pouvez créer une affectation inversée à l'aide de l'opération Inverser entrée binaire.
Mot d'état
Exemple
E 0.0 &
E 0.1 >=1
A 4.0
E 0.2 =
1.9 # : Connecteur
Représentation
<opérande>
* Dans l’opération Connecteur, vous ne pouvez utiliser un opérande dans la zone de mémoire L que si
vous le déclarez la table de déclaration de variables.
Description
L'opération Connecteur est un élément d'affectation intermédiaire qui mémorise le RLG. Cet élément
sauvegarde la combinaison sur bits de la dernière branche ouverte avant l'élément d'affectation.
Le relais de masquage MCR influence l'opération Connecteur.
Vous pouvez créer un connecteur inversé en inversant l'entrée du connecteur.
Mot d'état
Exemple
M 0.0
E 1.0 & # &
E 1.1
E 1.0 &
E 1.1
E 1.2 &
E 1.3
1.10 R : Mettre à 0
Représentation
<opérande>
Description
L'opération Mettre à 0 ne s'exécute que si le RLG a la valeur 1. Dans ce cas, l'opération met son
opérande à 0. Si le RLG égale 0, l'opération n'a pas d'effet sur l'opérande précisé qui reste inchangé.
Le relais de masquage MCR influence l'opération Mettre à 0.
Mot d'état
Exemple
E 0.0 &
E 0.1 >=1
A 4.0
E 0.2 R
1.11 S : Mettre à 1
Représentation
<opérande>
Description
L'opération Mettre à 1 ne s'exécute que si le RLG a la valeur 1. Dans ce cas, l'opération met son
opérande à 1. Si le RLG égale 0, l'opération n'a pas d'effet sur l'opérande précisé qui reste inchangé.
Le relais de masquage MCR influence l'opération Mettre à 1.
Mot d'état
Exemple
E 0.0 &
E 0.1 >=1
A 4.0
E 0.2 S
Représentation
<opérande>
RS
S
R Q
Description
L'opération Bascule mise à 0, mise à 1 n'exécute la mise à 1 (S) et la mise à 0 (R) que lorsque le RLG
est égal à 1. Lorsque le RLG est égal à 0, l'opérande précisé dans l'opération reste inchangé.
Une Bascule mise à 0, mise à 1 est mise à 1 si l'état de signal est 1 à l'entrée R et 0 à l'entrée S. Si
l'état de signal est 0 à l'entrée R et 1 à l'entrée S, la bascule est mise à 1. Si le RLG est égal à 1 aux deux
entrées, la bascule est mise à 1.
Le relais de masquage MCR influence l'opération Bascule mise à 0, mise à 1.
Mot d'état
Exemple
M 0.0
E 0.0 & RS
E 0.1 S
E 0.0 & A 4.0
E 0.1 R Q =
Si l'état de signal est 1 à l'entrée E 0.0 et 0 à l'entrée E 0.1, le mémento M 0.0 est mis à 0 et la sortie
A 4.0 est à 0. Si l'état de signal est 0 à l'entrée E 0.0 et 1 à l'entrée E 0.1, le mémento M 0.0 est mis à 1
et la sortie A 4.0 est à 1.
Si les deux états de signal ont la valeur 0, rien ne se passe. En revanche, s'ils ont tous deux la valeur 1,
la mise à 1, exécutée en dernier, l'emporte : M 0.0 est mis à 1 et la sortie A 4.0 est à 1.
Représentation
<opérande>
SR
S
R Q
Description
L'opération Bascule mise à 1, mise à 0 n'exécute la mise à 1 (S) et la mise à 0 (R) que lorsque le RLG
est égal à 1. Lorsque le RLG est égal à 0, l'opérande précisé dans l'opération reste inchangé.
Une Bascule mise à 1, mise à 0 est mise à 1 si l'état de signal est 1 à l'entrée S et 0 à l'entrée R. Si
l'état de signal est 0 à l'entrée S et 1 à l'entrée R, la bascule est mise à 0. Si le RLG est égal à 1 aux deux
entrées, la bascule est mise à 0.
Le relais de masquage MCR influence l'opération Bascule mise à 1, mise à 0.
Mot d'état
Exemple
M 0.0
E 0.0 & SR
E 0.1 S
E 0.0 & A 4.0
E 0.1 R Q =
Si l'état de signal est 1 à l'entrée E 0.0 et 0 à l'entrée E 0.1, le mémento M 0.0 est mis à 1 et la sortie
A 4.0 est à 1. Si l'état de signal est 0 à l'entrée E 0.0 et 1 à l'entrée E 0.1, le mémento M 0.0 est mis à 0
et la sortie A 4.0 est à 0.
Si les deux états de signal ont la valeur 0, rien ne se passe. En revanche, s'ils ont tous deux la valeur 1,
la mise à 0, exécutée en dernier, l'emporte : M 0.0 est mis à 0 et la sortie A 4.0 est à 0.
Représentation
<opérande>
Description
L'opération Détecter front descendant détecte le passage de 1 à 0 dans l'opérande indiqué (front
descendant) et montre cette transition avec un RLG égal à 1 après cette opération. L'état de signal en
cours du RLG est comparé à celui de l'opérande (mémento de front). Si l'état de signal de l'opérande est
1 et le RLG avant l'opération est 0, le RLG est à 1 après l'opération (impulsion) ; dans tous les autres
cas, le RLG est à 0. Le RLG avant l'opération est sauvegardé dans l'opérande.
Mot d'état
Exemple
E 1.0 M 0.0
&
E 1.1 P
&
E 1.2 M 1.1
&
E 1.3 N >=1
M 2.2 M 3.3 A 4.0
E 1.4 &
P N =
Représentation
<opérande>
Description
L'opération Détecter front montant détecte le passage de 0 à 1 dans l'opérande indiqué (front
montant) et montre cette transition avec un RLG égal à 1 après cette opération. L'état de signal en cours
du RLG est comparé à celui de l'opérande (mémento de front). Si l'état de signal de l'opérande est 0 et
le RLG avant l'opération est 1, le RLG est à 1 après l'opération (impulsion) ; dans tous les autres cas, le
RLG est à 0. Le RLG avant l'opération est sauvegardé dans l'opérande.
Mot d'état
Exemple
E 1.0 M 0.0
&
E 1.1 P
&
E 1.2 M 1.1
&
E 1.3 N >=1
M 2.2 M 3.3 A 4.0
E 1.4 &
P N =
Représentation
SAVE
Description
L'opération Sauvegarder RLG dans RB sauvegarde le résultat logique dans le bit de résultat binaire du
mot d'état. Elle ne remet toutefois pas à 1 le bit de première interrogation /PI, ce qui entraîne, en cas de
combinaison ET dans le réseau suivant, la prise en compte de l'état du bit RB.
Contrairement à ce que vous trouvez spécifié dans le manuel, il convient d'utiliser l'opération "SAVE"
(CONT, LOG, LIST) dans les cas suivants :
L'utilisation de SAVE suivie d'une interrogation du bit RB dans le même bloc ou dans des blocs
subordonnés n'est pas recommandée car le bit RB risque d'être modifié plusieurs fois durant les
nombreuses opérations exécutées entre. Utilisez plutôt l'opération SAVE avant de quitter un bloc, car la
sortie de validation ENO (= bit RB) est mise à la valeur du bit RLG et que vous pouvez enchaîner par le
dépistage d'erreurs du bloc.
Mot d'état
Exemple
E 1.2 &
E 1.3 SAVE
Représentation
<opérande1>
NEG
M_BIT Q
Description
L'opération Détecter front descendant de signal compare l'état de signal de <opérande1> à celui
provenant de l'interrogation précédente figurant dans le paramètre M_BIT. En cas de passage de 1 à 0,
la sortie Q est mise à 1 ; dans tous les autres cas, elle est mise à 0.
Mot d'état
Exemple
E 0.3
NEG
&
M 0.0 M_BIT Q
A 4.0
E 0.4 =
Représentation
<opérande1>
POS
M_BIT Q
Description
L'opération Détecter front montant de signal compare l'état de signal de <opérande1> à celui
provenant de l'interrogation précédente figurant dans le paramètre M_BIT. En cas de passage de 0 à 1,
la sortie Q est mise à 1 ; dans tous les autres cas, elle est mise à 0.
Mot d'état
Exemple
E 0.3
POS
&
M 0.0 M_BIT Q
A 4.0
E 0.4 =
Description
Les opérations de comparaison comparent les entrées IN1 et IN2 selon les types de comparaison
suivants :
== IN1 égal à IN2
<> IN1 différent de IN2
> IN1 supérieur à IN2
< IN1 inférieur à IN2
>= IN1 supérieur ou égal à IN2
<= IN1 inférieur ou égal à IN2
Si la comparaison est vraie, son résultat logique (RLG) est 1 ; sinon, il est égal à 0. Il n’y a pas de
négation du résultat de la comparaison, car cela peut être obtenu à l’aide de l’opération de comparaison
inverse.
Vous disposez des opérations de comparaison suivantes :
• CMP ? I : Comparer entiers de 16 bits
• CMP ? D : Comparer entiers de 32 bits
• CMP ? R : Comparer nombres réels
Représentation
Description
L'opération Comparer entiers de 16 bits compare les entrées IN1 et IN2 - deux nombres entiers de 16
bits - selon le type de comparaison que vous avez sélectionné.
Mot d'état
Exemple
CMP
== I &
MW0 IN1 E 0.0 A 4.0
MW2 IN2 S
Représentation
Description
L'opération Comparer entiers de 32 bits compare les entrées IN1 et IN2 - deux nombres entiers de 32
bits - selon le type de comparaison que vous avez sélectionné.
Mot d'état
Exemple
CMP
<> D &
MD0 IN1 E 0.0 A 4.0
MD4 IN2 S
Représentation
Description
L'opération Comparer nombres réels compare les entrées IN1 et IN2 - deux nombres réels - selon le
type de comparaison que vous avez sélectionné.
Mot d'état
Exemple
CMP
<R &
MD0 IN1 E 0.0 A 4.0
MD4 IN2 S
Description
Les opérations suivantes permettent de convertir des nombres décimaux codés binaires et des
nombres entiers en d’autres types de nombres :
• BCD_I : Convertir nombre DCB en entier de 16 bits
• I_BCD : Convertir entier de 16 bits en nombre DCB
• BCD_DI : Convertir nombre DCB en entier de 32 bits
• I_DI : Convertir entier de 16 bits en entier de 32 bits
• DI_BCD : Convertir entier de 32 bits en nombre DCB
• DI_R : Convertir entier de 32 bits en nombre réel
Les opérations suivantes permettent de convertir le nombre à virgule flottante IEEE de 32 en un nombre
entier de 32 bits (entier double). Les différentes opérations se distinguent par leur façon d’arrondir :
• ROUND : Arrondir à entier de 32 bits
• TRUNC : Tronquer à la partie entière (32 bits)
• CEIL : Convertir nombre réel en entier supérieur le plus proche
• FLOOR : Convertir nombre réel en entier inférieur le plus proche
Représentation
BCD_I
EN OUT
IN ENO
Description
L'opération Convertir nombre DCB en entier de 16 bits lit le contenu du paramètre d'entrée IN
comme nombre décimal codé binaire à trois chiffres (DCB, + 999), le convertit en un nombre entier de
16 bits et range le résultat dans le paramètre de sortie OUT.
ENO et EN ont toujours un état de signal identique.
Si l'un des chiffres du nombre DCB se trouve dans la plage non autorisée entre 10 et 15, une erreur DCB
se produit durant la conversion :
• La CPU passe à l'état de fonctionnement "Arrêt" (STOP). La mémoire tampon de diagnostic indique
une "Erreur de conversion DCB" dont le numéro d'événement est 2521.
• S'il a été programmé, l'OB121 est appelé.
Mot d'état
Exemple
BCD_I
E 0.0 EN OUT MW12
A 4.0
MW10 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du mot de mémento
MW10 est lu comme nombre DCB à trois chiffres et converti en nombre entier de 16 bits. Le résultat est
rangé dans MW12. La sortie A 4.0 est mise à 1 si la conversion est exécutée (ENO = EN).
Représentation
I_BCD
EN OUT
IN ENO
Description
L'opération Convertir entier de 16 bits en nombre DCB lit le contenu du paramètre d'entrée IN
comme nombre entier de 16 bits, le convertit en un nombre décimal codé binaire à trois chiffres (DCB,
+ 999) et range le résultat dans le paramètre de sortie OUT. En cas de débordement, ENO est mis à 0.
Mot d'état
Exemple
I_BCD
E 0.0 EN OUT MW12
A 4.0
MW10 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du mot de mémento
MW10 est lu comme nombre entier de 16 bits et converti en nombre DCB à trois chiffres. Le résultat est
rangé dans MW12. En cas de débordement, la sortie A 4.0 est mise à 0. Si l'état de signal à l'entrée EN
est égal à 0 (la conversion n'est pas exécutée), l'état de signal à la sortie A 4.0 est également 0.
Représentation
BCD_DI
EN OUT
IN ENO
Description
L'opération Convertir nombre DCB en entier de 32 bits lit le contenu du paramètre d'entrée IN
comme nombre décimal codé binaire à sept chiffres (DCB, + 9 999 999), le convertit en un nombre
entier de 32 bits et range le résultat dans le paramètre de sortie OUT.
ENO et EN ont toujours un état de signal identique.
Si l'un des chiffres du nombre DCB se trouve dans la plage non autorisée entre 10 et 15, une erreur DCB
se produit durant la conversion :
• La CPU passe à l'état de fonctionnement "Arrêt" (STOP). La mémoire tampon de diagnostic indique
une "Erreur de conversion DCB" dont le numéro d'événement est 2521.
• S'il a été programmé, l'OB121 est appelé.
Mot d'état
Exemple
BCD_DI
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre DCB à sept chiffres et converti en nombre entier de 32 bits. Le
résultat est rangé dans MD12. La sortie A 4.0 est mise à 1 si la conversion est exécutée (ENO = EN).
Représentation
I_DI
EN OUT
IN ENO
Description
L'opération Convertir entier de 16 bits en entier de 32 bits lit le contenu du paramètre d'entrée IN
comme nombre entier de 16 bits, le convertit en un nombre entier de 32 bits et range le résultat dans le
paramètre de sortie OUT. ENO et EN ont toujours un état de signal identique.
Mot d'état
Exemple
I_DI
E 0.0 EN OUT MD12
A 4.0
MW10 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du mot de mémento
MW10 est lu comme nombre entier de 16 bits et converti en nombre entier de 32 bits. Le résultat est
rangé dans MD12. La sortie A 4.0 est mise à 1 si la conversion est exécutée (ENO = EN).
Représentation
DI_BCD
EN OUT
IN ENO
Description
L'opération Convertir entier de 32 bits en nombre DCB lit le contenu du paramètre d'entrée IN
comme nombre entier de 32 bits, le convertit en un nombre décimal codé binaire à sept chiffres (DCB,
+ 9 999 999) et range le résultat dans le paramètre de sortie OUT. En cas de débordement, ENO est mis
à 0.
Mot d'état
Exemple
DI_BCD
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre entier de 32 bits et converti en nombre DCB à sept chiffres. Le
résultat est rangé dans MD12. En cas de débordement, la sortie A 4.0 est mise à 0. Si l'état de signal à
l'entrée EN est égal à 0 (la conversion n'est pas exécutée), l'état de signal à la sortie A 4.0 est également
0.
Représentation
DI_R
EN OUT
IN ENO
Description
L'opération Convertir entier de 32 bits en nombre réel lit le contenu du paramètre d'entrée IN comme
nombre entier de 32 bits, le convertit en un nombre réel et range le résultat dans le paramètre de sortie
OUT. ENO et EN ont toujours un état de signal identique.
Mot d'état
Exemple
DI_R
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre entier de 32 bits et converti en nombre réel. Le résultat est rangé
dans MD12. La sortie A 4.0 est mise à 0 si la conversion n'est pas exécutée (ENO = EN).
Représentation
INV_I
EN OUT
IN ENO
Description
L'opération Complément à 1 d'entier de 16 bits lit le contenu du paramètre d'entrée IN et exécute
l'opération de combinaison OU exclusif mot avec le masque hexadécimal FFFF afin d'inverser la
valeur de chaque bit. Le résultat est rangé dans le paramètre de sortie OUT. ENO et EN ont toujours un
état de signal identique.
Mot d'état
Exemple
INV_I
E 0.0 EN OUT MW10
A 4.0
MW8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Chaque bit de MW8 est inversé :
MW8 = 01000001 10000001 -> MW10 = 10111110 01111110
Si E 0.0 est égal à 0, la conversion n'est pas exécutée et la sortie A 4.0 est mise à 0 (ENO = EN).
Représentation
INV_DI
EN OUT
IN ENO
Description
L'opération Complément à 1 d'entier de 32 bits lit le contenu du paramètre d'entrée IN et exécute
l'opération de combinaison OU exclusif double mot avec le masque hexadécimal FFFF FFFF afin
d'inverser la valeur de chaque bit. Le résultat est rangé dans le paramètre de sortie OUT. ENO et EN ont
toujours un état de signal identique.
Mot d'état
Exemple
INV_DI
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Chaque bit du double mot de
mémento MD8 est inversé :
MD8 = F0FF FFF0 -> MD12 = 0F00 000F
Si E 0.0 est égal à 0, la conversion n'est pas exécutée et la sortie A 4.0 est mise à 0 (ENO = EN).
Représentation
NEG_I
EN OUT
IN ENO
Description
L'opération Complément à 2 d'entier de 16 bits lit le contenu du paramètre d'entrée IN et en change le
signe (par exemple, valeur positive en valeur négative). Le résultat est rangé dans le paramètre de
sortie OUT. ENO et EN ont toujours un état de signal identique. Exception : si l'état de signal de EN est
égal à 1 et qu'il y ait débordement, l'état de signal de ENO est égal à 0.
Mot d'état
Exemple
NEG_I
E 0.0 EN OUT MW10
A 4.0
MW8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du mot de mémento MW8
est rangé dans le paramètre de sortie OUT - mot de mémento MW10 - avec le signe opposé.
MW8 = +10 -> MW10 = - 10
Si l'état de signal de EN est égal à 1 et qu'il y ait débordement, l'état de signal de ENO ainsi que celui de
la sortie A 4.0 sont égaux à 0. La sortie A 4.0 est mise à 0 si la conversion n'est pas exécutée
(ENO = EN).
Représentation
NEG_DI
EN OUT
IN ENO
Description
L'opération Complément à 2 d'entier de 32 bits lit le contenu du paramètre d'entrée IN et en change le
signe (par exemple, valeur positive en valeur négative). Le résultat est rangé dans le paramètre de
sortie OUT. ENO et EN ont toujours un état de signal identique. Exception : si l'état de signal de EN est
égal à 1 et qu'il y ait débordement, l'état de signal de ENO est égal à 0.
Mot d'état
Exemple
NEG_DI
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est rangé dans le paramètre de sortie OUT - double mot de mémento MD12 - avec le
signe opposé.
MD8 = + 60.000 -> MD12 = - 60.000.
Si l'état de signal de EN est égal à 1 et qu'il y ait débordement, l'état de signal de ENO ainsi que celui de
la sortie A 4.0 sont égaux à 0. La sortie A 4.0 est mise à 0 si la conversion n'est pas exécutée
(ENO = EN).
Représentation
NEG_R
EN OUT
IN ENO
Description
L'opération Inverser le signe d'un nombre réel lit le contenu du paramètre d'entrée IN et en change le
bit de signe (par exemple, de 0 pour une valeur positive en 1 pour une valeur négative). Les bits de
l'exposant et de la mantisse restent inchangés. Le résultat est rangé dans le paramètre de sortie OUT.
ENO et EN ont toujours un état de signal identique. Exception : si l'état de signal de EN est égal à 1 et
qu'il y ait débordement, l'état de signal de ENO est égal à 0.
Mot d'état
Exemple
NEG_R
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est rangé dans le paramètre de sortie OUT - double mot de mémento MD12 - avec le
signe opposé.
MD8 = + 6,234 -> MD12 = - 6,234
La sortie A 4.0 est mise à 0 si la conversion n'est pas exécutée (ENO = EN).
Représentation
ROUND
EN OUT
IN ENO
Description
L'opération Arrondir à entier de 32 bits lit le contenu du paramètre d'entrée IN comme nombre réel et
le convertit en nombre entier de 32 bits. Le résultat, qui est le nombre entier le plus proche, est rangé
dans le paramètre de sortie OUT. Si la partie fractionnaire est égale à "x,5", le résultat fourni est le
nombre pair (exemple : 2,5 -> 2 et 1,5 -> 2). En cas de débordement, ENO est mis à 0. Si l'entrée n'est
pas un nombre réel, les bits de débordement et de débordement mémorisé (DEB et DM) prennent la
valeur 1 et ENO est égal à 0.
Mot d'état
Exemple
ROUND
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre réel et converti en nombre entier de 32 bits selon le principe
"arrondi au plus proche". Le résultat est rangé dans MD12. En cas de débordement, la sortie A 4.0 est
mise à 0. Si l'état de signal de l'entrée EN est égal à 0 (conversion non exécutée), l'état de signal de la
sortie A 4.0 est également 0.
Représentation
TRUNC
EN OUT
IN ENO
Description
L'opération Tronquer à la partie entière (32 bits) lit le contenu du paramètre d'entrée IN comme
nombre réel et le convertit en nombre entier de 32 bits (exemple : 1,5 devient 1). Le résultat, qui est la
partie entière du nombre réel, est rangé dans le paramètre de sortie OUT. En cas de débordement, ENO
est mis à 0. Si l'entrée n'est pas un nombre réel, les bits de débordement et de débordement mémorisé
(DEB et DM) prennent la valeur 1 et ENO est égal à 0.
Mot d'état
Exemple
TRUNC
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre réel et converti en nombre entier de 32 bits selon le principe
"arrondi à zéro". Le résultat, qui est la partie entière du nombre réel, est rangé dans MD12. En cas de
débordement, la sortie A 4.0 est mise à 0. Si l'état de signal de l'entrée EN est égal à 0 (conversion non
exécutée), l'état de signal de la sortie A 4.0 est également 0.
Représentation
CEIL
EN OUT
IN ENO
Description
L'opération Convertir nombre réel en entier supérieur le plus proche lit le contenu du paramètre
d'entrée IN comme nombre réel et le convertit en un nombre entier de 32 bits (exemple : +1,2 -> +2 et
-1,5 -> -1). Le résultat, qui est le nombre entier supérieur le plus proche du nombre réel indiqué, est
rangé dans le paramètre de sortie OUT. En cas de débordement, ENO est mis à 0. Si l'entrée n'est pas
un nombre réel, les bits de débordement et de débordement mémorisé (DEB et DM) prennent la valeur
1 et ENO est égal à 0.
Mot d'état
Exemple
CEIL
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre réel et converti en nombre entier de 32 bits selon le principe
"arrondi à plus l'infini". Le résultat est rangé dans MD12. En cas de débordement, la sortie A 4.0 est mise
à 0. Si l'état de signal de l'entrée EN est égal à 0 (conversion non exécutée), l'état de signal de la sortie
A 4.0 est également 0.
Représentation
FLOOR
EN OUT
IN ENO
Description
L'opération Convertir nombre réel en entier inférieur le plus proche lit le contenu du paramètre
d'entrée IN comme nombre réel et le convertit en un nombre entier de 32 bits (exemple : +1,5 -> +1 et
-1,5 -> -2). Le résultat, qui est le nombre entier inférieur le plus proche du nombre réel indiqué, est rangé
dans le paramètre de sortie OUT. En cas de débordement, ENO est mis à 0. Si l'entrée n'est pas un
nombre réel, les bits de débordement et de débordement mémorisé (DEB et DM) prennent la valeur 1 et
ENO est égal à 0.
Mot d'état
Exemple
FLOOR
E 0.0 EN OUT MD12
A 4.0
MD8 IN ENO =
La conversion est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu du double mot de
mémento MD8 est lu comme nombre réel et converti en nombre entier de 32 bits selon le principe
"arrondi à moins l'infini". Le résultat est rangé dans MD12. En cas de débordement, la sortie A 4.0 est
mise à 0. Si l'état de signal de l'entrée EN est égal à 0 (conversion non exécutée), l'état de signal de la
sortie A 4.0 est également 0.
Zone de mémoire
Une zone de mémoire est réservée aux compteurs dans votre CPU. Un mot de 16 bits y est réservé pour
chaque compteur. La programmation en LOG permet d’utiliser jusqu’à 256 compteurs.
Les opérations de comptage sont les seules fonctions à avoir accès à la zone de mémoire réservée aux
compteurs.
Valeur de comptage
La valeur de comptage est contenue dans les bits 0 à 9 du mot de comptage. Lorsque le compteur est
mis à 1, la valeur que vous avez définie y est placée par l’accumulateur. La plage de la valeur de
comptage est comprise entre 0 et 999.
Vous pouvez modifier cette valeur en utilisant les opérations :
• ZAEHLER : Paramétrage et compteur incrémental/décrémental
• Z_VORW : Paramétrage et compteur incrémental
• Z_RUECK : Paramétrage et compteur décrémental
• SZ : Initialiser compteur
• ZV : Incrémenter
• ZR : Décrémenter
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 1 0 0 1 0 0 1 1 1
non significatifs 1 2 7
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 1 1 1 1 1 1 1
Représentation
Anglaise Allemande
C no. Z-Nr.
S_CUD ZAEHLER
CU ZV
CD ZR
S CV S DUAL
PV CV_BCD ZW DEZ
Q R Q
R
Description
Un front montant (transition de 0 à 1) à l'entrée S de l'opération Paramétrage et compteur
incrémental/décrémental initialise le compteur à la valeur figurant dans l'entrée ZW. La valeur du
compteur est incrémentée d'une unité en cas de front montant à l'entrée ZV si la valeur de comptage est
inférieure à 999 ; elle est décrémentée d'une unité en cas de front montant à l'entrée ZR si la valeur de
comptage est supérieure à 0. En cas de front montant aux deux entrées de comptage, les deux
opérations sont traitées et la valeur de comptage reste inchangée.
Si le compteur est mis à 1 et si le RLG = 1 aux entrées ZV/ZR, le compteur compte une fois dans le cycle
suivant, même si aucun changement de front n’a eu lieu.
La valeur 1 à l'entrée R remet le compteur à zéro ; la valeur de comptage prend la valeur nulle.
L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque la valeur de comptage
est supérieure à 0 ; cette interrogation donne 0 comme résultat lorsque la valeur de comptage est égale
à 0.
Mot d'état
Exemple
Z10
ZAEHLER
E 0.0 ZV
E 0.1 ZR
E 0.2 S DUAL
C#55 ZW DEZ
A 4.0
E 0.3 R Q =
Le compteur Z10 est initialisé à la valeur 55 si l'état de signal passe de 0 à 1 à l'entrée E 0.2. Si l'état de
signal de E 0.0 passe de 0 à 1, la valeur du compteur Z10 est incrémentée d'un à moins qu'elle ne soit
déjà égale à 999. Si l'état de signal de E 0.1 passe de 0 à 1, la valeur du compteur Z10 est décrémentée
d'un à moins qu'elle ne soit déjà égale à 0. Si l'état de signal de l'entrée E 0.3 passe de 0 à 1, la valeur de
comptage de Z10 est mise à zéro. La sortie A 4.0 est à 1 tant que Z10 est différent de zéro.
Nota
Il est recommandé d'utiliser un compteur à un seul emplacement dans le programme (risque d’erreurs
de comptage).
Représentation
Anglaise Allemande
C no. Z-Nr.
S_CU Z_VORW
CU ZV
S CV S DUAL
PV CV_BCD ZW DEZ
Q R Q
R
Description
Un front montant (transition de 0 à 1) à l'entrée S de l'opération Paramétrage et compteur incrémental
initialise le compteur à la valeur figurant dans l'entrée ZW. La valeur du compteur est incrémentée d'une
unité en cas de front montant à l'entrée ZV si la valeur de comptage est inférieure à 999.
Si le compteur est mis à 1 et si le RLG = 1 à l’entrée ZV, le compteur compte une fois dans le cycle
suivant, même si aucun changement de front n’a eu lieu.
La valeur 1 à l'entrée R remet le compteur à zéro ; la valeur de comptage prend la valeur nulle.
L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque la valeur de comptage
est supérieure à 0 ; cette interrogation donne 0 comme résultat lorsque la valeur de comptage est égale
à 0.
Mot d'état
Exemple
Z10
Z_VORW
E 0.0 ZV
E 0.2 S DUAL
C#901 ZW DEZ
A 4.0
E 0.3 R Q =
Le compteur Z10 est initialisé à la valeur 901 si l'état de signal passe de 0 à 1 à l'entrée E 0.2. Si l'état de
signal de E 0.0 passe de 0 à 1, la valeur du compteur Z10 est incrémentée d'un à moins qu'elle ne soit
déjà égale à 999. Si l'état de signal de l'entrée E 0.3 passe de 0 à 1, la valeur de comptage de Z10 est
mise à zéro. La sortie A 4.0 est à 1 tant que Z10 est différent de zéro.
Nota
Il est recommandé d'utiliser un compteur à un seul emplacement dans le programme (risque d’erreurs
de comptage).
Représentation
Anglaise Allemande
C no. Z-Nr.
S_CD Z_RUECK
CD ZR
S CV S DUAL
PV CV_BCD ZW DEZ
Q R Q
R
Description
Un front montant (transition de 0 à 1) à l'entrée S de l'opération Paramétrage et compteur
décrémental initialise le compteur à la valeur figurant dans l'entrée ZW. La valeur du compteur est
décrémentée d'une unité en cas de front montant à l'entrée ZR si la valeur de comptage est supérieure
à 0.
Si le compteur est mis à 1 et si le RLG = 1 à l’entrée ZR, le compteur compte une fois dans le cycle
suivant, même si aucun changement de front n’a eu lieu.
La valeur 1 à l'entrée R remet le compteur à zéro ; la valeur de comptage prend la valeur nulle.
L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque la valeur de comptage
est supérieure à 0 ; cette interrogation donne 0 comme résultat lorsque la valeur de comptage est égale
à 0.
Mot d'état
Exemple
Z10
Z_RUECK
E 0.0 ZR
E 0.2 S DUAL
C#89 ZW DEZ
A 4.0
E 0.3 R Q =
Le compteur Z10 est initialisé à la valeur 89 si l'état de signal passe de 0 à 1 à l'entrée E 0.2. Si l'état de
signal de E 0.0 passe de 0 à 1, la valeur du compteur Z10 est décrémentée d'un à moins qu'elle ne soit
déjà égale à 0. Si l'état de signal de l'entrée E 0.3 passe de 0 à 1, la valeur de comptage de Z10 est mise
à zéro.
Nota
Il est recommandé d'utiliser un compteur à un seul emplacement dans le programme (risque d’erreurs
de comptage).
Représentation
Anglaise Allemande
<opérande1> <opérande1>
SC SZ
<opérande2> CV <opérande2> ZW
Description
L'opération Initialiser compteur vous permet d'affecter une valeur initiale au compteur que vous avez
défini. Elle ne s'exécute que si le RLG présente un front montant (c'est-à-dire s'il passe de 0 à 1).
Vous ne pouvez placer la boîte Initialiser compteur qu'à l'extrémité droite de la séquence
combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Mot d'état
Exemple
Z5
SZ
E 0.0
C#100 ZW
Si l'état de signal à l'entrée E 0.0 passe de 0 à 1 (front montant du RLG), le compteur Z5 est initialisé
avec la valeur 100. C# indique que vous entrez une valeur en format DCB.
En l'absence de front montant, la valeur de Z5 reste inchangée.
4.6 ZV : Incrémenter
Représentation
Anglaise Allemande
<opérande> <opérande>
CU ZV
Description
L'opération Incrémenter incrémente d'un la valeur du compteur précisé si le RLG présente un front
montant (c'est-à-dire s'il passe de 0 à 1) et si la valeur du compteur est inférieure à 999. En l'absence de
front montant au RLG ou si le compteur est déjà égal à 999, la valeur du compteur reste inchangée.
L'opération Initialiser compteur permet d'initialiser le compteur.
Vous ne pouvez placer la boîte Incrémenter qu'à l'extrémité droite de la séquence combinatoire. Il est
toutefois possible d'en utiliser plusieurs.
Mot d'état
Exemple
Z10
E 0.0 ZV
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la valeur du compteur Z10 est
incrémentée de 1, à moins qu'elle ne soit déjà égale à 999.
En l'absence de front montant, la valeur de Z10 reste inchangée.
4.7 ZR : Décrémenter
Représentation
Anglaise Allemande
<opérande> <opérande>
CD ZR
Description
L'opération Décrémenter décrémente d'un la valeur du compteur précisé si le RLG présente un front
montant (c'est-à-dire s'il passe de 0 à 1) et si la valeur du compteur est supérieure à 0. En l'absence de
front montant au RLG ou si le compteur est déjà égal à 0, la valeur du compteur reste inchangée.
L'opération Initialiser compteur permet d'initialiser le compteur (voir aussi la rubrique Initialiser
compteur).
Vous ne pouvez placer la boîte Décrémenter qu'à l'extrémité droite de la séquence combinatoire. Il est
toutefois possible d'en utiliser plusieurs.
Mot d'état
Exemple
Z10
E 0.0 ZR
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la valeur du compteur Z10 est
décrémentée de 1, à moins qu'elle ne soit déjà égale à 0.
En l'absence de front montant, la valeur de Z10 reste inchangée.
Représentation
<DB numéro> ou
<DI numéro>
OPN
Description
L'opération Ouvrir bloc de données ouvre un bloc de données (DB) ou un bloc de données d'instance
(DI). Le numéro du bloc de données est transféré dans le registre DB ou DI. Les commandes DB et DI
suivantes accèdent aux blocs de données correspondant au contenu de ces registres.
Mot d'état
Exemple
Réseau 1
DB10
OPN
Réseau 2
A 4.0
DBX 0.0 =
Le DB10 est le DB ouvert en cours. C'est pourquoi l'interrogation en DBX 0.0 se réfère au bit 0 de l'octet
de données 0 du bloc de données DB10. L'état de signal de ce bit est affecté à la sortie A 4.0.
Description
Vous pouvez utiliser cette opération dans tous les blocs de code, à savoir les blocs d’organisation (OB),
les blocs fonctionnels (FB) et les fonctions (FC).
Vous disposez des opérations de saut suivantes :
• JMP : Saut inconditionnel
• JMPN : Saut si 0 (conditionnel)
• JMP : Saut si 1 (conditionnel)
Réseau 1
SEG3
JMP
Réseau 2
A 4.0
E 0.1 =
.
.
Réseau X
SEG3
A 4.1
E 0.4 R
Représentation
<opérande>
JMP
Description
L'opération Saut inconditionnel correspond à une opération Aller à un repère de saut. Aucune des
opérations entre l'opération de saut et le repère de saut n'est exécutée.
Vous pouvez utiliser cette opération dans tous les blocs de code, à savoir les blocs d'organisation (OB),
les blocs fonctionnels (FB) et les fonctions (FC).
Il ne doit pas y avoir de combinaison en amont de la boîte Saut inconditionnel.
Mot d'état
Exemple
Réseau 1
CAS1
??.? JMP
.
.
Réseau X
CAS1
A 4.1
E 0.4 R
Le saut est exécuté à chaque fois. Aucune des opérations entre l'opération de saut et le repère de saut
n'est exécutée.
Représentation
<opérande>
JMP
Description
L'opération Saut si 1 (conditionnel) correspond à une opération Aller à un repère de saut si le RLG
est égal à 1. Pour cette opération, utilisez l'élément LOG Saut inconditionnel, mais avec une
combinaison en amont. Le saut conditionnel n'est exécuté que si le résultat logique de cette
combinaison est égal à 1. Dans ce cas, aucune des opérations entre l'opération de saut et le repère de
saut n'est exécutée.
Vous pouvez utiliser cette opération dans tous les blocs de code, à savoir les blocs d'organisation (OB),
les blocs fonctionnels (FB) et les fonctions (FC).
Mot d'état
Exemple
Réseau 1
CAS1
E 0.0 JMP
Réseau 2
A 4.0
E 0.3 R
Réseau 3
CAS1
A 4.1
E 0.4 R
Le saut au repère CAS1 est exécuté si l'état de signal est 1 à l'entrée E 0.0. L'opération de mise à zéro
de la sortie A 4.0 n'est pas exécutée même si l'état de signal est 1 à l'entrée E 0.3.
Représentation
<opérande>
JMPN
Description
L'opération Saut si 0 (conditionnel) correspond à une opération Aller à un repère de saut si le RLG
est égal à 0.
Vous pouvez utiliser cette opération dans tous les blocs de code, à savoir les blocs d'organisation (OB),
les blocs fonctionnels (FB) et les fonctions (FC).
Mot d'état
Exemple
Réseau 1
CAS1
E 0.0 JMPN
Réseau 2
A 4.0
E 0.3 R
Réseau 3
CAS1
A 4.1
E 0.4 R
Le saut au repère CAS1 est exécuté si l'état de signal est 0 à l'entrée E 0.0. L'opération de mise à zéro
de la sortie A 4.0 n'est pas exécutée même si l'état de signal est 1 à l'entrée E 0.3.
Aucune des opérations entre l'opération de saut et le repère de saut n'est exécutée.
Représentation
LABEL
Description
Le repère de saut identifie la destination d'une opération de saut. Le repère de saut consiste de 4
caractères alphanumériques, le premier devant être une lettre, par exemple CAS1.
Il doit exister un repère de saut (LABEL) pour chaque saut conditionnel (JMP ou JMPN).
Exemple
Réseau 1
CAS1
E 0.0 JMP
Réseau 2
A 4.0
E 0.3 R
Réseau 3
CAS1
A 4.1
E 0.4 R
Le saut au repère CAS1 est exécuté si l'état de signal est 1 à l'entrée E 0.0.
En raison du saut, l'opération de mise à zéro de la sortie A 4.0 n'est pas exécutée même si l'état de
signal est 1 à l'entrée E 0.3.
Description
Les opérations arithmétiques sur nombres entiers permettent d’exécuter les fonctions arithmétiques
suivantes sur deux nombres entiers (16 et 32 bits) :
• ADD_I : Additionner entiers de 16 bits
• SUB_I : Soustraire entiers de 16 bits
• MUL_I : Multiplier entiers de 16 bits
• DIV_I : Diviser entiers de 16 bits
• ADD_DI : Additionner entiers de 32 bits
• SUB_DI : Soustraire entiers de 32 bits
• MUL_DI : Multiplier entiers de 32 bits
• DIV_DI : Diviser entiers de 32 bits
• MOD_DI : Reste de division (32 bits)
Voir aussi Evaluation des bits du mot d'état dans les opérations sur nombres entiers
7.2 Evaluation des bits du mot d'état pour les opérations sur nombres
entiers
Description
Les opérations arithmétiques sur nombres entiers affectent les bits suivants du mot d'état :
• BI1 et BI0,
• DEB
• et DM.
Les tableaux ci-dessous montrent l'état de signal des bits du mot d'état pour les résultats d'opérations
sur nombres entiers (16 et 32 bits) :
Représentation
ADD_I
EN
IN1 OUT
IN2 ENO
Description
L'opération Additionner entiers de 16 bits est activée si l'état de signal est 1 à l'entrée de validation
EN. Cette opération additionne les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si ce
résultat est hors de la plage autorisée pour un nombre entier de 16 bits, les bits de débordement et de
débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
ADD_I
E 0.0 EN
MW0 IN1 OUT MW10
A 4.0
MW2 IN2 ENO =
La boîte ADD_I est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de l'addition MW0 + MW2
est rangé dans le mot de mémento MW10. Si ce résultat est hors de la plage autorisée pour un nombre
entier de 16 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0 et
l'opération n'est pas exécutée.
Représentation
SUB_I
EN
IN1 OUT
IN2 ENO
Description
L'opération Soustraire entiers de 16 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération soustrait l'entrée IN2 de l'entrée IN1 et range le résultat dans la sortie OUT. Si ce
résultat est hors de la plage autorisée pour un nombre entier de 16 bits, les bits de débordement et de
débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
SUB_I
E 0.0 EN
MW0 IN1 OUT MW10
A 4.0
MW2 IN2 ENO =
La boîte SUB_I est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la soustraction MW0 -
MW2 est rangé dans le mot de mémento MW10. Si ce résultat est hors de la plage autorisée pour un
nombre entier de 16 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
MUL_I
EN
IN1 OUT
IN2 ENO
Description
L'opération Multiplier entiers de 16 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération multiplie les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si ce résultat est
hors de la plage autorisée pour un nombre entier de 16 bits, les bits de débordement et de débordement
mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
MUL_I
E 0.0 EN
MW0 IN1 OUT MW10
A 4.0
MW2 IN2 ENO =
La boîte MUL_I est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la multiplication MW0 x
MW2 est rangé dans le mot de mémento MW10. Si ce résultat est hors de la plage autorisée pour un
nombre entier de 16 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
DIV_I
EN
IN1 OUT
IN2 ENO
Description
L'opération Diviser entiers de 16 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération divise l'entrée IN1 par l'entrée IN2 et range le quotient (partie entière) dans la sortie
OUT. Elle ne fournit pas de reste. Si le quotient est hors de la plage autorisée pour un nombre entier de
16 bits, les bits de débordement et de débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO
est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
DIV_I
E 0.0 EN
MW0 IN1 OUT MW10
A 4.0
MW2 IN2 ENO =
La boîte DIV_I est activée si l'état de signal est 1 à l'entrée E 0.0. Le quotient de la division de MW0 par
MW2 est rangé dans le mot de mémento MW10. Si ce quotient est hors de la plage autorisée pour un
nombre entier de 16 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
ADD_DI
EN
IN1 OUT
IN2 ENO
Description
L'opération Additionner entiers de 32 bits est activée si l'état de signal est 1 à l'entrée de validation
EN. Cette opération additionne les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si ce
résultat est hors de la plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de
débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
ADD_DI
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte ADD_DI est activée si l'état de signal est 1 à l'entrée de validation EN. Cette opération
additionne les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si ce résultat est hors de la
plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de débordement mémorisé
(DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Représentation
SUB_DI
EN
IN1 OUT
IN2 ENO
Description
L'opération Soustraire entiers de 32 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération soustrait l'entrée IN2 de l'entrée IN1 et range le résultat dans la sortie OUT. Si ce
résultat est hors de la plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de
débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
SUB_DI
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte SUB_DI est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la soustraction MD0 -
MD4 est rangé dans le double mot de mémento MD10. Si ce résultat est hors de la plage autorisée pour
un nombre entier de 32 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à
0 et l'opération n'est pas exécutée.
Représentation
MUL_DI
EN
IN1 OUT
IN2 ENO
Description
L'opération Multiplier entiers de 32 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération multiplie les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si ce résultat est
hors de la plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de débordement
mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
MUL_DI
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte MUL_DI est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la multiplication
MD0 x MD4 est rangé dans le double mot de mémento MD10. Si ce résultat est hors de la plage
autorisée pour un nombre entier de 32 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie
A 4.0 est mise à 0.
Représentation
DIV_DI
EN
IN1 OUT
IN2 ENO
Description
L'opération Diviser entiers de 32 bits est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération divise l'entrée IN1 par l'entrée IN2 et range le quotient (partie entière) dans la sortie
OUT. Elle range le quotient sous forme de valeur de 32 bits en format DINT et ne fournit pas de reste. Si
le quotient est hors de la plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de
débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
DIV_DI
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte DIV_DI est activée si l'état de signal est 1 à l'entrée E 0.0. Le quotient de la division de MD0 par
MD4 est rangé dans le double mot de mémento MD10. Si ce quotient est hors de la plage autorisée pour
un nombre entier de 32 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
MOD_DI
EN
IN1 OUT
IN2 ENO
Description
L'opération Reste de division (32 bits) est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération divise l'entrée IN1 par l'entrée IN2 et range le reste dans la sortie OUT. Si ce reste est
hors de la plage autorisée pour un nombre entier de 32 bits, les bits de débordement et de débordement
mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Voir aussi Evaluation des bits du mot d'état pour les opérations sur nombres entiers.
Mot d'état
Exemple
MOD_DI
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte MOD_DI est activée si l'état de signal est 1 à l'entrée E 0.0. Le reste de la division de MD0 par
MD4 est rangé dans le double mot de mémento MD10. Si ce reste est hors de la plage autorisée pour un
nombre entier de 32 bits ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Description
Les nombres à virgule flottante IEEE de 32 bits ont le type de données REAL. Les opérations
arithmétiques sur nombres à virgule flottante permettent d’exécuter les fonctions arithmétiques
suivantes sur deux nombres réels IEEE de 32 bits :
• ADD_R : Additionner nombres réels
• SUB_R : Soustraire nombres réels
• MUL_R : Multiplier nombres réels
• DIV_R : Diviser nombres réels
Les opérations arithmétiques sur nombres à virgule flottante permettent d’exécuter les fonctions
arithmétiques suivantes sur un nombre réels IEEE de 32 bits :
• valeur absolue (ABS) d'un nombre réel,
• carré (SQR) et racine carrée (SQRT) d'un nombre réel,
• logarithme naturel (LN) d'un nombre réel,
• valeur exponentielle (EXP) de base e (= 2,71828...) d'un nombre réel,
• fonctions trigonométriques d'angles représentés sous forme de nombres à virgule flottante IEEE de
32 bits :
- sinus d'un nombre réel (SIN) et arc sinus d'un nombre réel (ASIN),
- cosinus d'un nombre réel (COS) et arc cosinus d'un nombre réel (ACOS),
- tangente d'un nombre réel (TAN) et arc tangente d'un nombre réel (ATAN).
Voir aussi Evaluation des bits du mot d'état dans les opérations sur nombres à virgule flottante
8.2 Evaluation des bits du mot d'état pour les opérations sur nombres
réels
Description
Les opérations arithmétiques sur nombres réels affectent les bits suivants du mot d'état :
• BI0 et BI1,
• DEB
• et DM.
Les tableaux ci-dessous montrent l'état de signal des bits du mot d'état pour les résultats d'opérations
sur nombres à virgule flottante (32 bits) :
Représentation
ADD_R
EN
IN1 OUT
IN2 ENO
Description
L'opération Additionner nombres réels est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération additionne les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si l'une des
entrées ou le résultat n'est pas un nombre réel, les bits de débordement et de débordement mémorisé
(DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Vous trouverez des informations sur l'évaluation des bits du mot d'état à la rubrique Evaluation des bits
du mot d'état pour les opérations sur nombres réels.
Mot d'état
Exemple
ADD_R
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte ADD_R est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de l'addition MD0 + MD4
est rangé dans le double mot de mémento MD10. Si l'une des entrées ou le résultat n'est pas un nombre
réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
SUB_R
EN
IN1 OUT
IN2 ENO
Description
L'opération Soustraire nombres réels est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération soustrait l'entrée IN2 de l'entrée IN1 et range le résultat dans la sortie OUT. Si l'une des
entrées ou le résultat n'est pas un nombre réel, les bits de débordement et de débordement mémorisé
(DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Vous trouverez des informations sur l'évaluation des bits du mot d'état à la rubrique Evaluation des bits
du mot d'état pour les opérations sur nombres réels.
Mot d'état
Exemple
SUB_R
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte SUB_R est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la soustraction MD0 -
MD4 est rangé dans le double mot de mémento MD10. Si l'une des entrées ou le résultat n'est pas un
nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
MUL_R
EN
IN1 OUT
IN2 ENO
Description
L'opération Multiplier nombres réels est activée si l'état de signal est 1 à l'entrée de validation EN.
Cette opération multiplie les entrées IN1 et IN2 et range le résultat dans la sortie OUT. Si l'une des
entrées ou le résultat n'est pas un nombre réel, les bits de débordement et de débordement mémorisé
(DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Vous trouverez des informations sur l'évaluation des bits du mot d'état à la rubrique Evaluation des bits
du mot d'état pour les opérations sur nombres réels.
Mot d'état
Exemple
MUL_R
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte MUL_R est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la multiplication
MD0 x MD4 est rangé dans le double mot de mémento MD10. Si l'une des entrées ou le résultat n'est
pas un nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
DIV_R
EN
IN1 OUT
IN2 ENO
Description
L'opération Diviser nombres réels est activée si l'état de signal est 1 à l'entrée de validation EN. Cette
opération divise l'entrée IN1 par l'entrée IN2 et range le résultat dans la sortie OUT. Si l'une des entrées
ou le résultat n'est pas un nombre réel, les bits de débordement et de débordement mémorisé (DEB et
DM) sont mis à 1 et la sortie ENO est mise à 0.
Vous trouverez des informations sur l'évaluation des bits du mot d'état à la rubrique Evaluation des bits
du mot d'état pour les opérations sur nombres réels.
Mot d'état
Exemple
DIV_R
E 0.0 EN
MD0 IN1 OUT MD10
A 4.0
MD4 IN2 ENO =
La boîte DIV_R est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la division de MD0 par
MD4 est rangé dans le double mot de mémento MD10. Si l'une des entrées ou le résultat n'est pas un
nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
ABS
EN OUT
IN ENO
Description
L'opération Valeur absolue d'un nombre réel permet d'obtenir la valeur absolue d'un nombre réel.
Mot d'état
Exemple
ABS
E 0.0 EN OUT MD10 A 4.0
MD8 IN ENO =
Si E 0.0 est à 1, la valeur absolue du nombre réel figurant dans MD8 est transmise dans MD12.
MD8 = +6,234 donne MD12 = 6,234.
La sortie A 4.0 est mise à 0 si la conversion n'est pas exécutée (ENO = EN = 0).
Représentation
SQR
EN OUT
IN ENO
Description
L'opération Carré d'un nombre réel calcule le carré d'un nombre réel. Si l'entrée ou le résultat n'est pas
un nombre réel, les bits de débordement et de débordement mémorisé (DEB et DM) sont mis à 1 et la
sortie ENO est mise à 0.
Mot d'état
Exemple
SQR
E 0.0 EN OUT MD10 A 4.0
MD0 IN ENO =
La boîte SQR est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de la mise au carré de MD0
est rangé dans le double mot de mémento MD10. Si MD0 est inférieur à 0, si l'entrée ou le résultat n'est
pas un nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
SQRT
EN OUT
IN ENO
Description
L'opération Racine carrée d'un nombre réel calcule la racine carrée d'un nombre réel. Cette opération
délivre un résultat positif si l'opérande est supérieur à zéro. Si l'entrée ou le résultat n'est pas un nombre
réel, les bits de débordement et de débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO
est mise à 0.
Mot d'état
Exemple
SQRT
E 0.0 EN OUT MD10 A 4.0
MD0 IN ENO =
La boîte SQRT est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat de l'extraction de racine
carrée de MD0 est rangé dans le double mot de mémento MD10. Si MD0 est inférieur à 0, si l'entrée ou
le résultat n'est pas un nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est
mise à 0.
Représentation
EXP
EN OUT
IN ENO
Description
L'opération Valeur exponentielle d'un nombre réel calcule la valeur exponentielle de base e
(= 2,71828...) d'un nombre réel. Si l'entrée ou le résultat n'est pas un nombre réel, les bits de
débordement et de débordement mémorisé (DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Mot d'état
Exemple
EXP
E 0.0 EN OUT MD10 A 4.0
MD0 IN ENO =
La boîte EXP est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat du calcul de la valeur
exponentielle de MD0 est rangé dans le double mot de mémento MD10. Si l'entrée ou le résultat n'est
pas un nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
LN
EN OUT
IN ENO
Description
L'opération Logarithme naturel d'un nombre réel calcule le logarithme naturel d'un nombre réel. Si
l'entrée ou le résultat n'est pas un nombre réel, les bits de débordement et de débordement mémorisé
(DEB et DM) sont mis à 1 et la sortie ENO est mise à 0.
Mot d'état
Exemple
LN
E 0.0 EN OUT MD10 A 4.0
MD0 IN ENO =
La boîte LN est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat du calcul du logarithme naturel
de MD0 est rangé dans le double mot de mémento MD10. Si MD0 est inférieur à 0, si l'entrée ou le
résultat n'est pas un nombre réel ou si l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est
mise à 0.
Description
Les opérations suivantes vous permettent d'effectuer des fonctions trigonométriques d'angles
représentés sous forme de nombres à virgule flottante IEEE de 32 bits :
Opération Signification
SIN Sinus d'un nombre réel d'un angle exprimé en radians
ASIN Arc sinus d'un nombre réel. Le résultat de l'opération est un angle exprimé en radians. La
valeur de cet angle est comprise dans la plage suivante :
-π / 2 <= arc sinus <= + π / 2, avec π = 3.14...
COS Cosinus d'un nombre réel d'un angle exprimé en radians
ACOS Arc cosinus d'un nombre réel. Le résultat de l'opération est un angle exprimé en radians. La
valeur de cet angle est comprise dans la plage suivante :
0 <= arc cosinus <= + π, avec π = 3.14...
TAN Tangente d'un nombre réel d'un angle exprimé en radians
ATAN Arc tangente d'un nombre réel. Le résultat de l'opération est un angle exprimé en radians.
La valeur de cet angle est comprise dans la plage suivante :
- π / 2 <= arc tangente <= + π / 2, avec π = 3.14...
Mot d'état
Exemple
SIN
E 0.0 EN OUT MD10 A 4.0
MD0 IN ENO =
La boîte SIN est activée si l'état de signal est 1 à l'entrée E 0.0. Le résultat du calcul du sinus de MD0 est
rangé dans le double mot de mémento MD10. Si l'entrée ou le résultat n'est pas un nombre réel ou si
l'état de signal de l'entrée E 0.0 est égal à 0, la sortie A 4.0 est mise à 0.
Représentation
SIN
EN OUT
IN ENO
Représentation
ASIN
EN OUT
IN ENO
Représentation
COS
EN OUT
IN ENO
Représentation
ACOS
EN OUT
IN ENO
Représentation
TAN
EN OUT
IN ENO
Représentation
ATAN
EN OUT
IN ENO
Représentation
MOVE
EN OUT
IN ENO
Description
L'opération Affecter valeur permet d'initialiser des variables avec des valeurs précises.
La valeur indiquée à l'entrée IN est copiée dans l'opérande précisé dans la sortie OUT. L'état de signal
de ENO est identique à celui de EN.
La boîte MOVE permet de copier tous les types de données élémentaires de 8, 16 ou 32 bits. Pour
copier des types de données utilisateur tels que des tableaux ou des structures, vous devez faire appel
à la fonction système SFC20 "BLKMOV".
Le relais de masquage MCR influence l'opération Affecter valeur.
Mot d'état
Nota
Lors de l'affectation d'une valeur à un type de données de longueur différente, les octets de poids fort
sont, le cas échéant, tronqués ou complétés par des zéro.
Exemple : Double mot 1111 1111 0000 1111 1111 0000 0101 0101
Affectation Résultat
à un double mot : 1111 1111 0000 1111 1111 0000 0101 0101
à un octet : 0101 0101
à un mot : 1111 0000 0101 0101
Exemple
MOVE
E 0.0 EN OUT DBW12 A 4.0
MW10 IN ENO =
L'opération est exécutée si l'état de signal est 1 à l'entrée E 0.0. Le contenu de MW10 est copié dans le
mot de données 12 du bloc de données en cours.
A 4.0 est mis à 1 si l'opération est exécutée.
Description
Vous disposez des opérations de gestion d´exécution de programme suivantes :
• CALL : Appeler FC/SFC sans paramètre
• CALL_FB : Appeler FB
• CALL_FC : Appeler FC
• CALL_SFB : Appeler SFB
• CALL_SFC : Appeler SFC
• Appeler multi-instances
• Appeler un bloc dans une bibliothèque
• RET : Retour
Représentation
<FC/SFC numéro>
CALL
Description
L'opération Appeler FC/SFC sans paramètre permet d'appeler une fonction (FC) ou une fonction
système (SFC) qui n'a pas de paramètre. L'appel est inconditionnel ou conditionnel selon la
combinaison précédente (voir exemple).
Dans la section d'instructions d'une fonction (FC), vous ne pouvez pas indiquer de paramètre de type de
données BLOCK_FC comme opérande lors d'un appel conditionnel. En revanche, vous pouvez
spécifier un paramètre de type BLOCK_FC comme opérande dans un bloc fonctionnel (FB).
Un appel conditionnel n'est exécuté que si le résultat logique est à 1. Si un appel conditionnel n'est pas
exécuté, le RLG est égal à 0 après l'opération d'appel. Si l'opération a lieu, elle fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au bloc appelant.
• Elle sauvegarde les deux registres de bloc de données (bloc de données et bloc de données
d'instance).
• Elle change la zone de données locales en cours en zone de données locales précédente.
• Elle empile le bit MA (bit MCR actif) dans la pile des blocs.
• Elle crée la zone de données locales en cours pour la fonction ou la fonction système appelée.
Ensuite, le programme poursuit le traitement dans le bloc appelé.
Mot d'état
Exemple
DB 10
OPN
MCRA
FC 10
CALL
A 4.0
E 0.0 =
MCRD
FC 11
E 0.1 CALL
Si l'appel inconditionnel de la FC10 est exécuté, l'opération CALL fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au FB en cours.
• Elle sauvegarde les sélecteurs pour le DB10 et pour le bloc de données d'instance du FB.
• Elle empile le bit MA, mis à 1 par l'opération MCRA, dans la pile des blocs et remet ce bit à 0 pour la
fonction FC10 appelée.
Le traitement du programme se poursuit dans la FC10. Si vous voulez utiliser la fonction MCR dans la
FC10, vous devez l'y réactiver. A la fin de la FC10, le traitement du programme revient au FB appelant.
Le bit MA est restauré. Le DB10 et le bloc de données d'instance du FB utilisateur redeviennent les DB
en cours, quels qu'aient été les DB utilisés par la FC10.
Au retour de la FC10, l'état de signal en E 0.0 est affecté à la sortie A 4.0. L'appel de la FC11 étant
conditionnel, il n'est exécuté que si l'état de signal en E 0.1 est 1. S'il est exécuté, il fonctionne comme
l'appel de la FC10.
Représentation
<DB no.>
FB no.
EN ENO
La représentation dépend du bloc fonctionnel (à savoir si des paramètres sont présents et combien).
L'entrée EN, la sortie ENO et le nom ou le numéro du FB doivent être présents.
Description de l'opération
L'opération Appeler FB (CALL_FB) permet d'appeler un bloc fonctionnel (FB). L'appel n'est exécuté
que si EN = 1. Si l'opération a lieu, elle fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au bloc appelant.
• Elle sauvegarde les deux registres de bloc de données (bloc de données et bloc de données
d'instance).
• Elle change la zone de données locales en cours en zone de données locales précédente.
• Elle empile le bit MA (bit MCR actif) dans la pile des blocs.
• Elle crée la nouvelle zone de données locales pour le bloc fonctionnel appelé.
Mot d'état
Exemple
Réseau 1
DB 10
OPN
Réseau 2
MCRA
Réseau 3
DB 11
FB11
A 4.0
EN ENO =
Réseau 4
DB 10
OPN
Les réseaux CONT représentés ci-dessus sont des parties de programme d'un bloc fonctionnel
utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel inconditionnel du
FB11 est exécuté, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les sélecteurs pour le DB10 et pour le bloc de
données d'instance de ce bloc fonctionnel sont sauvegardés. Le bit MA qui a été mis à 1 par l'opération
MCRA est empilé dans la pile des blocs, puis mis à 0 pour le bloc FB11 appelé. Ensuite, le traitement du
programme se poursuit dans le bloc FB11. Si vous voulez utiliser la fonction MCR dans le FB11, vous
devez l'y réactiver. Il faut sauvegarder l'état du RLG dans le bit RB via l'opération [SAVE] afin de pouvoir
procéder à une évaluation des erreurs dans le FB appelant. A la fin du FB11, le traitement du
programme revient au FB appelant. Le bit MA est restauré et le bloc de données d'instance du bloc
fonctionnel utilisateur redevient le DB d'instance en cours. Si le FB11 est exécuté sans erreur, ENO et
donc A 4.0 sont à 1.
Nota
Pour des appels de FB ou de SFB, le numéro du bloc de données ouvert précédemment est perdu. Il
faut donc à nouveau ouvrir le DB requis.
Représentation
FC no.
EN ENO
La représentation dépend de la fonction (à savoir si des paramètres sont présents et combien). L'entrée
EN, la sortie ENO et le nom ou le numéro de la FC doivent être présents.
Description
L'opération Appeler FC (CALL_FC) permet d'appeler une fonction (FC). L'appel n'est exécuté que si
EN = 1. Si l'opération a lieu, elle fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au bloc appelant.
• Elle change la zone de données locales en cours en zone de données locales précédente.
• Elle empile le bit MA (bit MCR actif) dans la pile des blocs.
• Elle crée la zone de données locales en cours pour la fonction appelée.
Ensuite, le programme poursuit le traitement dans le bloc appelé.
Pour déterminer la sortie de validation ENO, le bit RB est interrogé ; l'état de signal souhaité (évaluation
d'erreurs) doit lui être affecté par l'utilisateur dans le bloc appelé, à l'aide de l'opération [SAVE].
Lorsque vous appelez une fonction (FC) et que la table de déclaration des variables du bloc appelé
comporte des déclarations du type IN, OUT et IN_OUT, ces variables s'affichent sous forme de liste de
paramètres formels dans le programme du bloc appelant.
Lors de l'appel des FC, vous devez impérativement affecter des paramètres effectifs aux paramètres
formels à l'endroit de l'appel. D'éventuelles valeurs initiales dans la déclaration de la FC sont
insignifiantes.
Mot d'état
Exemple
Réseau 1
DB 10
OPN
Réseau 2
MCRA
Réseau 3
FC 10 FC 11
A 4.0
EN ENO EN ENO =
Les réseaux CONT représentés ci-dessus sont des parties de programme d'un bloc fonctionnel
utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel inconditionnel de la
FC10 est exécuté, voici ce qui se passe :
L'opération sauvegarde l'adresse de retour au FB en cours et les sélecteurs pour le DB10 et pour le bloc
de données d'instance du FB. Elle empile le bit MA, mis à 1 par l'opération MCRA, dans la pile des blocs
et remet ce bit à 0 pour la fonction FC10 appelée. Le traitement du programme se poursuit dans la
FC10. Si vous voulez utiliser la fonction MCR dans la FC10, vous devez l'y réactiver. Il faut sauvegarder
l'état du RLG dans le bit RB à l'aide de l'opération [SAVE] afin de pouvoir procéder à une évaluation des
erreurs dans le FB appelant. A la fin de la FC10, le traitement du programme revient au FB appelant. Le
bit MA est restauré. Le programme se poursuit dans le FB appelant selon l'état de signal de la sortie de
validation ENO :
ENO = 1 Traitement de la FC11
ENO = 0 Le traitement commence dans le réseau suivant.
Si la FC11 est également exécutée sans erreur, ENO et donc A 4.0 sont à 1.
Nota
Après retour au bloc appelant, il n'est pas toujours certain que le DB ouvert précédemment soit de
nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.
Représentation
<DB no.>
SFB no.
EN ENO
La représentation dépend du bloc fonctionnel système (à savoir si des paramètres sont présents et
combien). L'entrée EN, la sortie ENO et le nom ou le numéro du SFB doivent être présents.
Description de l'opération
L'opération Appeler SFB (CALL_SFB) permet d'appeler un bloc fonctionnel système (SFB). L'appel
n'est exécuté que si EN = 1. Si l'opération a lieu, elle fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au bloc appelant.
• Elle sauvegarde les deux registres de bloc de données (bloc de données et bloc de données
d'instance).
• Elle change la zone de données locales en cours en zone de données locales précédente.
• Elle empile le bit MA (bit MCR actif) dans la pile des blocs.
• Elle crée la nouvelle zone de données locales pour le bloc fonctionnel système appelé.
Ensuite, le traitement du programme se poursuit dans le bloc fonctionnel système appelé. ENO est à 1
si le SFB a été appelé (EN = 1) et si aucune erreur n'est apparue.
Mot d'état
Exemple
Réseau 1
DB 10
OPN
Réseau 2
MCRA
Réseau 3
DB 8
SFB 8
EN
.
.
. .
. .
. .
. A 4.0
. ENO =
Réseau 4
DB 10
OPN
Les opérations CONT représentées ci-dessus sont des parties de programme d'un bloc fonctionnel
utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel inconditionnel du bloc
SFB8 est exécuté, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les sélecteurs pour le DB10 et pour le bloc de
données d'instance de ce bloc fonctionnel sont sauvegardés. Le bit MA qui a été mis à 1 par l'opération
MCRA est empilé dans la pile des blocs, puis mis à 0 pour le bloc SFB8 appelé. Ensuite, le traitement du
programme se poursuit dans le bloc fonctionnel SFB8. A la fin du SFB8, le traitement du programme
revient au FB appelant. Le bit MA est restauré et le bloc de données d'instance du bloc fonctionnel
utilisateur redevient le DI en cours. Si le SFB8 est exécuté sans erreur, ENO et donc A 4.0 sont à 1.
Nota
Pour des appels de FB ou de SFB, le numéro du bloc de données ouvert précédemment est perdu. Le
DB requis doit être de nouveau ouvert.
Représentation
SFC no.
EN ENO
La représentation dépend de la fonction système (à savoir si des paramètres sont présents et combien).
L'entrée EN, la sortie ENO et le nom ou le numéro de la SFC doivent être présents.
Description de l'opération
L'opération Appeler SFC (CALL_SFC) permet d'appeler une fonction système (SFC). L'appel n'est
exécuté que si EN = 1. Si l'opération a lieu, elle fonctionne comme suit :
• Elle sauvegarde l'adresse de retour au bloc appelant.
• Elle change la zone de données locales en cours en zone de données locales précédente.
• Elle empile le bit MA (bit MCR actif) dans la pile des blocs.
• Elle crée la nouvelle zone de données locales pour la fonction appelée.
Ensuite, le programme poursuit le traitement dans le bloc appelé. ENO est à 1 si la fonction a été
appelée (EN est à 1) et si aucune erreur n'est apparue.
Mot d'état
Exemple
Réseau 1
DB 10
OPN
Réseau 2
MCRA
Réseau 3
SFC 20
EN RET_VAL MW10
Les réseaux CONT représentés ci-dessus sont des parties de programme d'un bloc fonctionnel
utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel inconditionnel de la
SFC20 est exécuté, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les sélecteurs pour le DB10 et pour le bloc de
données d'instance de ce bloc fonctionnel sont sauvegardés. Le bit MA qui a été mis à 1 par l'opération
MCRA est empilé dans la pile des blocs, puis mis à 0 pour la fonction SFC20. Ensuite, le traitement du
programme se poursuit dans la fonction SFC20. A la fin de la SFC20, le traitement du programme
revient au FB appelant. Le bit MA est restauré.
Le programme se poursuit dans le FB appelant selon l'état de signal de la sortie de validation ENO :
ENO = 1 A 4.0 = 1
ENO = 0 A 4.0 = 0
Nota
Après retour au bloc appelant, il n'est pas toujours certain que le DB ouvert précédemment soit de
nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.
Représentation
#Variablen-
name
EN
IN OUT
IN/OUT ENO
Description
Vous créez une multi-instance par la déclaration d'une variable statique de type de données "bloc
fonctionnel". Seules les multi-instances déjà déclarées apparaissent dans le catalogue des éléments de
programme. La représentation d'une multi-instance dépend de l'existence de paramètres et de leur
nombre. L'entrée EN, la sortie ENO et le nom de la variable sont toujours présents.
Mot d'état
Attention avec les blocs dans lesquels le relais de masquage a été activé par l'instruction
! MCRA :
• Lorsque le relais de masquage (MCR) est hors fonction, la valeur 0 est écrite par toutes les affectation (T, =)
dans les sections de programme entre relais de masquage en fonction et relais de masquage hors fonction !
• Le MCR se trouve précisément hors fonction lorsque le RLG était égal à 0 avant une instruction relais de
masquage en fonction.
Remède
Séparez les instructions concernées de la dépendance par rapport au relais de masquage :
1er Désactivez le relais de masquage en utilisant l'instruction MCRD avant l'instruction ou le réseau concernés.
2e Activez le relais de masquage en utilisant l'instruction MCRA après l'instruction ou le réseau concernés.
Représentation
MCR<
Représentation
MCR>
Pile MCR
Le relais de masquage est commandé par une pile MCR de 1 bit de large et pouvant contenir jusqu'à
huit entrées. Le relais de masquage est activé aussi longtemps que les huit entrées de la pile sont
égales à 1. L'opération MCR< copie le résultat logique dans la pile MCR. L'opération MCR> extrait la
dernière entrée de la pile et met l'adresse de pile libérée à 1. En cas d'erreur - lorsque plus de huit
opérations MCR> se suivent ou si vous tentez d'exécuter l'opération MCR> alors que la pile MCR est
vide, par exemple -, le programme affiche un message d'erreur MCRF. La surveillance de la pile MCR
suit le pointeur de pile (MSP : 0 = vide, 1 = une entrée, 2 = deux entrées, ..., 8 = huit entrées).
RLG 1
RLG 2
MSP RLG 3
4
5
6
7
8
Bit 1 décalé
MA
MCRA 1 0 MCRD
Vous ne devez jamais utiliser l'opération MCR< sans l'opération MCR> dans votre programme.
L'opération MCR< reprend l'état de signal du RLG pour le copier dans le bit MCR.
L'opération MCR> met le bit MCR à 1 inconditionnellement. Pour cette raison, toute autre opération
programmée entre les opérations MCRA et MCRD fonctionne indépendamment du bit MCR.
Mot d'état
Exemple
MCRA
E 0.0 MCR<
E 0.1 MCR<
A 4.0
E 0.3 S
MCR>
A 4.1
E 0.4 =
MCR>
MCRD
Lorsque l'opération MCRA active la fonction MCR, vous pouvez créer jusqu'à huit zones MCR
imbriquées. Dans notre exemple, il y en a deux. La première opération MCR> va de pair avec la
seconde opération MCR<. Toutes les opérations entre le deuxième jeu MCR (MCR<MCR>)
appartiennent à la seconde zone MCR. Les opérations sont exécutées comme suit :
• Si E 0.0 = 1, l'état de signal de E 0.4 est affecté à la sortie A 4.1.
• Si E 0.0 = 0, la sortie A 4.1 est mise à 0 quel que soit l'état de signal à l'entrée E 0.4. La sortie A 4.0
reste inchangée quel que soit l'état de signal à l'entrée E 0.3.
• Si E 0.0 et E 0.1 = 1, la sortie A 4.0 est mise à 1 si l'état de signal est 1 à l'entrée E 0.3 et l'état de
signal de E 0.4 est affecté à A 4.1.
• Si E 0.1 = 0, la sortie A 4.0 reste inchangée quel que soit l'état de signal aux entrées E 0.3 et E 0.0.
Représentation
MCRA
Représentation
MCRD
OB1
FBx FCy
MCRA
MCRA MCRA
Call FBx
MCRD
MCRA BEA
BEA
Mot d'état
Exemple
MCRA
E 0.0 MCR<
A 4.0
E 0.3 S
A 4.1
E 0.4 =
MCR>
MCRD
L'opération MCRA active la fonction MCR jusqu'au prochain MCRD. Les opérations entre MCR< et
MCR> sont traitées en fonction du bit MA (E 0.0 ici) :
• Si l'état de signal de l'entrée E 0.0 est 1 :
- la sortie A 4.0 est mise à 1 si l'état de signal est 1 à l'entrée E 0.3 ;
- la sortie A 4.0 reste inchangée si l'état de signal est 0 à l'entrée E 0.3 ;
- l'état de signal à l'entrée E 0.4 est affecté à la sortie A 4.1.
• Si l'état de signal de l'entrée E 0.0 est 0 :
- la sortie A 4.0 reste inchangée quel que soit l'état de signal à l'entrée E 0.3 ;
- la sortie A 4.1 est à 0 quel que soit l'état de signal à l'entrée E 0.4.
Vous devez programmer dans les blocs mêmes la relation de dépendance au MCR des fonctions et des
blocs fonctionnels. En effet, si vous appelez une fonction ou un bloc fonctionnel à partir d'une séquence
MCRA-MCRD, toutes les instructions à l'intérieur de cette séquence ne dépendent pas
automatiquement du bit MCR. Pour que les instructions contenues dans le bloc appelé dépendent du
MCR, il faut utiliser l'opération MCRA dans le bloc appelé.
Représentation
RET
Description
L'opération Retour permet de quitter des blocs conditionnellement.
Mot d'état
* L'opération étant mappée de manière interne sur la séquence "SAVE; BEB;", le bit RB est influencé lui
aussi.
Exemple
E 0.0 RET
Description
Les opérations de décalage permettent de décaler bit par bit le contenu de l'entrée IN vers la gauche ou
vers la droite (voir Registres de la CPU). Un décalage de n bits vers la gauche multiplie le contenu de
l'entrée IN par 2n ; un décalage de n bits vers la droite le divise par 2n. Si, par exemple, vous décalez de
3 bits vers la gauche l'équivalent binaire de la valeur décimale 3, vous obtenez l'équivalent binaire de la
valeur décimale 24. Si vous décalez de 2 bits vers la droite l'équivalent binaire de la valeur décimale 16,
vous obtenez l'équivalent binaire de la valeur décimale 4.
Le nombre de bits de décalage est précisé dans le paramètre d'entrée N. Les positions binaires libérées
par l'opération de décalage sont soit complétées par des zéros, soit par l'état de signal du bit de signe (0
signifie positif et 1 négatif). L'état de signal du bit décalé en dernier est chargé dans le bit BI1 du mot
d'état. Les bits BI0 et DEB du mot d'état sont remis à 0. Vous pouvez évaluer le bit BI1 à l'aide
d'opérations de saut.
Vous disposez des opérations de décalage suivantes :
• SHR_I : Décalage vers la droite d'un entier de 16 bits
• SHR_DI : Décalage vers la droite d'un entier de 32 bits
• SHL_W : Décalage vers la gauche d'un mot
• SHR_W : Décalage vers la droite d'un mot
• SHL_DW : Décalage vers la gauche d'un double mot
• SHR_DW : Décalage vers la droite d'un double mot
Représentation
SHR_I
EN
IN OUT
N ENO
Description
L'opération Décalage vers la droite d'un entier de 16 bits est activée si l'état de signal est 1 à l'entrée
de validation EN. Elle décale bit par bit vers la droite les bits 0 à 15 de l'entrée IN. Le nombre de bits de
décalage est indiqué dans l'entrée N. Si N est supérieur à 16, la commande agit comme si N était égal à
16. Les positions binaires libérées à gauche sont complétées selon l'état de signal du bit 15 (bit de signe
du nombre entier de 16 bits) : par des zéros si le nombre est positif et par des uns s'il est négatif. Le
résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
N Bit de 4 positions
signe
OUT 1 1 1 1 1 0 1 0 1 1 1 1 0 0 0 0 1 0 1 0
Mot d'état
Exemple
SHR_I
E 0.0 EN
MW0 IN OUT MW4 A 4.0
MW2 N ENO S
Représentation
SHR_DI
EN
IN OUT
N ENO
Description
L'opération Décalage vers la droite d'un entier de 32 bits est activée si l'état de signal est 1 à l'entrée
de validation EN. Elle décale bit par bit vers la droite les bits 0 à 31 de l'entrée IN. Le nombre de bits de
décalage est indiqué dans l'entrée N. Si N est supérieur à 32, la commande agit comme si N était égal
à 32. Les positions binaires libérées à gauche sont complétées selon l'état de signal du bit 31 (bit de
signe du nombre entier de 32 bits) : par des zéros si le nombre est positif et par des uns s'il est négatif.
Le résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
Mot d'état
Exemple
SHR_DI
E 0.0 EN
MD0 IN OUT MD10 A 4.0
MW4 N ENO S
Représentation
SHL_W
EN
IN OUT
N ENO
Description
L'opération Décalage vers la gauche d'un mot est activée si l'état de signal est 1 à l'entrée de
validation EN. Elle décale bit par bit vers la gauche les bits 0 à 15 de l'entrée IN.
Le nombre de bits de décalage est indiqué dans l'entrée N. Si N est supérieur à 16, la commande inscrit
0 dans la sortie OUT et met à 0 les bits BI0 et DEB du mot d'état. Les positions binaires libérées à droite
sont complétées par des zéros. Le résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
N 6 positions
OUT 0 0 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0
Mot d'état
Exemple
SHL_W
E 0.0 EN
MW0 IN OUT MW4 A 4.0
MW2 N ENO S
Représentation
SHR_W
EN
IN OUT
N ENO
Description
L'opération Décalage vers la droite d'un mot est activée si l'état de signal est 1 à l'entrée de validation
EN. Elle décale bit par bit vers la droite les bits 0 à 15 de l'entrée IN. Le nombre de bits de décalage est
indiqué dans l'entrée N. Si N est supérieur à 16, la commande inscrit 0 dans la sortie OUT et met à 0 les
bits BI0 et DEB du mot d'état. Les positions binaires libérées à gauche sont complétées par des zéros.
Le résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met toujours les bits BI0 et DEB du mot d'état à 0. ENO
possède le même état de signal que EN.
Mot d'état
Exemple
SHR_W
E 0.0 EN
MW0 IN OUT MW4 A 4.0
MW2 N ENO S
Représentation
SHL_DW
EN
IN OUT
N ENO
Description
L'opération Décalage vers la gauche d'un double mot est activée si l'état de signal est 1 à l'entrée de
validation EN. Elle décale bit par bit vers la gauche les bits 0 à 31 de l'entrée IN. Le nombre de bits de
décalage est indiqué dans l'entrée N. Si N est supérieur à 32, la commande inscrit 0 dans la sortie OUT
et met à 0 les bits BI0 et DEB du mot d'état. Les positions binaires libérées à droite sont complétées par
des zéros. Le résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
Mot d'état
Exemple
SHL_DW
E 0.0 EN
MD0 IN OUT MD10 A 4.0
MW4 N ENO S
Représentation
SHR_DW
EN
IN OUT
N ENO
Description
L'opération Décalage vers la droite d'un double mot est activée si l'état de signal est 1 à l'entrée de
validation EN. Elle décale bit par bit vers la droite les bits 0 à 31 de l'entrée IN. Le nombre de bits de
décalage est indiqué dans l'entrée N. Si N est supérieur à 32, la commande inscrit 0 dans la sortie OUT
et met à 0 les bits BI0 et DEB du mot d'état. Les positions binaires libérées à gauche sont complétées
par des zéros. Le résultat du décalage est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
N 3 positions
OUT 0001 1111 1110 1010 1011 0101 0101 1111 111
Mot d'état
Exemple
SHR_DW
E 0.0 EN
MD0 IN OUT MD10 A 4.0
MW4 N ENO S
Description
Les opérations de rotation permettent d'effectuer la rotation bit par bit vers la droite ou vers la gauche du
contenu entier de l'entrée IN. Les positions binaires libérées sont complétées par l'état de signal des bits
qui ont été décalés hors de l'entrée IN.
Le nombre de bits de rotation est précisé dans le paramètre d'entrée N.
Selon l'opération choisie, la rotation s'effectue via le bit BI1 du mot d'état. Le bit BI0 du mot d'état est
remis à 0.
Vous disposez des opérations de rotation suivantes :
• ROL_DW : Rotation vers la gauche d'un double mot
• ROR_DW : Rotation vers la droite d'un double mot
Représentation
ROL_DW
EN
IN OUT
N ENO
Description
L'opération Rotation vers la gauche d'un double mot est activée si l'état de signal est 1 à l'entrée de
validation EN. Elle déclenche la rotation bit par bit vers la gauche du contenu entier de l'entrée IN. Le
nombre de bits de rotation est indiqué dans l'entrée N. Si N est supérieur à 32, le double mot effectue
une rotation de ((N-1) modulo 32) + 1 positions vers la gauche. Les positions binaires libérées à droite
sont complétées par l'état de signal des bits ayant effectué la rotation. Le résultat de la rotation est rangé
dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
N 3 positions
OUT 111 1000 0101 0101 0000 0111 1000 0111 1111
Mot d'état
Exemple
ROL_DW
E 0.0 EN
MD0 IN OUT MD10 A 4.0
MW4 N ENO S
Représentation
ROR_DW
EN
IN OUT
N ENO
Description
L'opération Rotation vers la droite d'un double mot est activée si l'état de signal est 1 à l'entrée de
validation EN. Elle déclenche la rotation bit par bit vers la droite du contenu entier de l'entrée IN. Le
nombre de bits de rotation est indiqué dans l'entrée N dont la valeur peut être comprise entre 0 et 31. Si
N est supérieur à 32, le double mot effectue une rotation de ((N-1) modulo 32) + 1 positions vers la
droite. Les positions binaires libérées à gauche sont complétées par l'état de signal des bits ayant
effectué la rotation. Le résultat de la rotation est rangé dans la sortie OUT.
Lorsque N est différent de zéro, l'opération met les bits BI0 et DEB du mot d'état à 0. ENO possède le
même état de signal que EN.
N 3 positions
OUT 1011 0101 0100 0001 1110 0001 1110 1010 101
L´état de signal des trois bits
décalés est inséré dans les
positions vides.
Mot d'état
Exemple
ROR_DW
E 0.0 EN
MD0 IN OUT MD10 A 4.0
MW4 N ENO S
Description
Les opérations sur bits d'état sont des opérations combinatoires sur bits qui utilisent les bits du mot
d'état. Ces opérations réagissent à l'une des conditions suivantes indiquées par un ou plusieurs bits du
mot d'état :
• Le bit de résultat binaire RB est mis à 1 (son état de signal est égal à 1).
• Le résultat d'une opération arithmétique est : == 0, <> 0, > 0, < 0, >= 0, <= 0.
• Le résultat d'une opération arithmétique est illicite (UO).
• Un débordement (OV) s'est produit lors d'une opération arithmétique ou un débordement mémorisé
(OS).
Dans une opération ET, les opérations sur bits d'état combinent le résultat de leur interrogation d'état de
signal au résultat logique précédent selon la table de vérité ET ; dans une opération OU, elles le
combinent selon la table de vérité OU.
Mot d'état
Le mot d'état est un registre dans la mémoire de votre CPU contenant des bits auxquels vous pouvez
accéder dans les opérandes de combinaisons sur bits et sur mots. La figure suivante présente la
structure du mot d'état.
15 9 8 7 6 5 4 3 2 1 0
2 ... ...2 2 2 2 2 2 2 2 2 2
RB BI1 BI0 DEB DM OU ETAT RLG /PI
Représentation
OV
Description
L'opération Bit d'anomalie Débordement permet de détecter un débordement dans une opération
arithmétique. Si, après une opération arithmétique, le résultat se situe hors de la plage négative ou
positive autorisée, le bit de débordement (DEB) du mot d'état est mis à 1. L'opération Bit d'anomalie
Débordement interroge l'état de signal de ce bit, qui est remis à 0 par des opérations arithmétiques
exécutées sans erreur.
Mot d'état
Exemple
Réseau 1
SUB_I
E 0.0 EN
EW0 IN1 OUT MW10
EW2 IN2 ENO
Réseau 2
E 0.1 &
E 0.2 >=1
E 0.3 M 3.3
Réseau 3
OV A 4.0
S
La boîte SUB_I est activée si l'état de signal est 1 à l'entrée E 0.0. Si le résultat de l'opération
arithmétique EW0 - EW2 est hors de la plage autorisée pour un nombre entier de 16 bits, le bit DEB du
mot d'état est mis à 1.
Le résultat d'une interrogation d'état de signal pour DEB est égal à 1. La sortie A 4.0 est mise à 1 si
l'interrogation de DEB donne 1 et que le RLG du deuxième réseau soit égal à 1 (c'est-à-dire si le RLG
avant la sortie A 4.0 est 1).
Si l'état de signal est 0 à l'entrée E 0.0 (désactivée), EN et ENO ont tous deux l'état de signal 0. Si EN est
à 1 (activé) et que le résultat de l'opération arithmétique se situe hors de la plage autorisée, ENO est mis
à 0.
Représentation
OS
Description
L'opération Bit d'anomalie Débordement mémorisé permet de détecter un débordement mémorisé
(DM) dans une opération arithmétique. Si, après une opération arithmétique, le résultat se situe hors de
la plage négative ou positive autorisée, le bit DM du mot d'état est mis à 1. L'opération Bit d'anomalie
Débordement mémorisé interroge l'état de signal de ce bit. Contrairement à ce qui se passe pour le bit
DEB (débordement), le bit DM reste à 1 lorsque des opérations arithmétiques sont exécutées sans
erreur (voir la rubrique Bit d'anomalie "Débordement").
Mot d'état
Exemple
Réseau 1
MUL_I
E 0.0 EN
EW0 IN1 OUT MD8
EW2 IN2 ENO
Réseau 2
ADD_I
E 0.1 EN
EW0 IN1 OUT MW12
EW2 IN2 ENO
Réseau 3
OS A 4.0
S
La boîte MUL_I est activée si l'état de signal est 1 à l'entrée E 0.0. La boîte ADD_I est activée si l'état de
signal est 1 à l'entrée E 0.1. Si le résultat de l'une de ces opérations arithmétiques est hors de la plage
autorisée pour un nombre entier de 16 bits, le bit DM du mot d'état est mis à 1.
Le résultat d'une interrogation d'état de signal pour DM est égal à 1 et la sortie A 4.0 est mise à 1.
Réseau 1 : Si l'état de signal est 0 à l'entrée E 0.0 (désactivée), EN et ENO ont tous deux l'état de signal
0. Si EN est à 1 (activé) et que le résultat de l'opération arithmétique se situe hors de la plage autorisée,
ENO est mis à 0.
Réseau 2 : Si l'état de signal est 0 à l'entrée E 0.1 (désactivée), EN et ENO ont tous deux l'état de
signal 0. Si EN est à 1 (activé) et que le résultat de l'opération arithmétique se situe hors de la plage
autorisée, ENO est mis à 0.
Représentation
UO
Description
L'opération Bit d'anomalie Opération illicite permet de déterminer si le résultat d'une opération
arithmétique sur nombres réels est ou non illicite, c'est-à-dire si l'une des valeurs de l'opération
arithmétique n'est pas un nombre à virgule flottante autorisé. Les bits indicateurs BI1 et BI0 du mot
d'état sont évalués à cet effet. Si le résultat d'une opération arithmétique est illicite (UO), l'interrogation
de l'état de signal fournit un résultat égal à 1. Si la combinaison dans BI1 et BI0 ne signifie pas illicite, le
résultat de l'interrogation de l'état de signal est 0.
Mot d'état
Exemple
Réseau 1
DIV_R
E 0.0 EN
ED0 IN1 OUT MD10
A 4.1
ED4 IN2 ENO S
Réseau 2
UO A 4.0
S
La boîte DIV_R est activée si l'état de signal est 1 à l'entrée E 0.0. Si la valeur de ED0 ou de ED4 n'est
pas un nombre à virgule flottante correct, l'opération arithmétique est illicite. Si EN est à 1 (activé) et
qu'une erreur se produise lors de l'exécution de la fonction DIV_R, ENO est mis à 0.
La sortie A 4.0 est mise à 1 si l'opération DIV_R est exécutée mais que l'une des valeurs dans
l'opération arithmétique n'est pas un nombre à virgule flottante correct. Si l'état de signal est 0 à l'entrée
E 0.0 (désactivée), EN et ENO ont tous deux l'état de signal 0.
Représentation
Anglaise Allemande
BR BIE
Description
L'opération Bit d'anomalie Registre RB permet d'interroger l'état du bit de résultat binaire RB du mot
d'état (voir aussi Registres de la CPU).
Mot d'état
Exemple
E 0.0 >=1
E 0.2 & A 4.0
BIE S
La sortie A 4.0 est mise à 1 si l'état de signal est 1 à l'entrée E 0.0 ou à 0 à l'entrée E 0.2 et - en plus de
ce RLG - si l'état de signal du bit RB est 1.
Représentation
Description
Les opérations Bits de résultat permettent de déterminer la relation par rapport à 0 (== 0, <> 0, > 0, < 0,
>= 0, <= 0) du résultat d'une opération arithmétique. Les bits indicateurs BI1 et BI0 du mot d'état sont
évalués à cet effet. Si la condition de comparaison précisée dans l'opérande est satisfaite, le résultat de
l'interrogation d'état de signal est 1.
Dans une opération ET, le résultat de l'interrogation est combiné au résultat logique précédent selon la
table de vérité ET ; dans une opération OU, il est combiné au résultat logique précédent selon la table
de vérité OU.
Mot d'état
Exemple
1)
SUB_I
E 0.0 EN
EW0 IN1 OUT MW10
EW2 IN2 ENO &
A 4.0
>0 S
2)
SUB_I
E 0.0 EN
EW0 IN1 OUT MW10
EW2 IN2 ENO &
A 4.0
<=0 S
La boîte SUB_I est activée si l'état de signal est 1 à l'entrée E 0.0. Si la valeur de EW0 est supérieure à
celle de EW2, le résultat de l'opération arithmétique EW0 - EW2 est supérieur à 0.
Si EN est à 1 et qu'une erreur se produise lors de l'exécution de la fonction SUB_I, ENO est mis à 0.
1) La sortie A 4.0 est mise à 1 si la fonction s'exécute sans erreur et si le résultat est supérieur à 0. Si
l'état de signal est 0 à l'entrée E 0.0 (désactivée), EN et ENO ont tous deux l'état de signal 0.
2) La sortie A 4.0 est mise à 1 si la fonction s'exécute sans erreur et si le résultat est inférieur ou égal à
0. Si l'état de signal est 0 à l'entrée E 0.0 (désactivée), EN et ENO ont tous deux l'état de signal 0.
Description
Vous trouverez des informations sur le réglage et la sélection de la bonne temporisation sous "Adresse
d´une temporisation en mémoire et composants d´une temporisation".
Vous disposez des opérations de temporisations suivantes :
• S_IMPULS : Paramétrer et démarrer une temporisation sous forme d'impulsion
• S_VIMP : Paramétrer et démarrer une temporisation sous forme d'impulsion prolongée
• S_EVERZ : Paramétrer et démarrer une temporisation sous forme de retard à la montée
• S_SEVERZ : Paramétrer et démarrer une temporisation sous forme de retard à la montée mémorisé
• S_AVERZ : Paramétrer et démarrer une temporisation sous forme de retard à la retombée
Zone de mémoire
Les temporisations disposent d'une zone de mémoire réservée dans votre CPU, avec un mot de 16 bits
pour chaque opérande de temporisation. La programmation en LOG permet d'utiliser jusqu'à 256
temporisations. Le nombre de mots de temporisations disponibles dans votre CPU est mentionné dans
les caractéristiques techniques de cette dernière.
Les fonctions suivantes accèdent à la zone de mémoire des temporisations :
• opérations de temporisation,
• mise à jour des mots de temporisation via un générateur d'impulsions.
Cette fonction décrémente, à l'état de fonctionnement "Marche" (RUN) de la CPU, une valeur
donnée d'une unité dans un intervalle défini par la base de temps, et ce jusqu'à ce que la valeur de
temps égale zéro.
Valeur de temps
La valeur de temps se trouve, en code binaire, dans les bits 0 à 9 du mot de temporisation ; elle indique
un nombre d'unités. L'actualisation de la temporisation décrémente la valeur de temps d'une unité dans
un intervalle défini par la base de temps, et ce jusqu'à ce que la valeur de temps égale zéro.
Vous pouvez charger une valeur de temps prédéfinie en utilisant l’un des deux formats suivants :
• S5T#aH_bM_cS_dMS
- H (heures), M (minutes), S (secondes) et MS (millisecondes) ;
a, b, c, d sont definies par l'utilisateur
- la base de temps est choisie automatiquement et la valeur est arrondie au nombre inférieur le
plus proche avec cette base de temps.
La valeur de temps maximale que vous pouvez indiquer est égale à 9 990 secondes ou 2H_46M_30S.
Exemples :
S5TIME#4S = 4 secondes
s5t#2h_15m = 2 heures et 15 minutes
S5T#1H_12M_18S = 1 heure, 12 minutes et 18 secondes
Base de temps
Les bits 12 et 13 du mot de temporisation contiennent la base de temps en code binaire. La base de
temps détermine à quel intervalle la valeur de temps sera décrémentée. La base de temps minimale est
égale à 10 ms ; la base de temps maximale à 10 s.
Comme les valeurs de temps sont mémorisées dans un seul intervalle de temps, celles qui ne sont pas
un multiple exact de cet intervalle sont tronquées. Les valeurs dont la résolution est trop grande pour la
plage considérée sont arrondies de façon à obtenir la plage voulue, mais pas avec avec la résolution
souhaitée. Le tableau suivant présente les résolutions possibles avec les plages correspondantes.
Résolution Plage
0,01 seconde 10MS à 9S_990MS
0,1 seconde 100MS à 1M_39S_900MS
1 seconde 1S à 16M_39S
10 secondes 10S à 2HR_46M_30S
1 2 7
E 0.0
A 4.0 S_IMPULS
A 4.0 S_VIMP
A 4.0 S_EVERZ
A 4.0 S_SEVERZ
A 4.0 S_AVERZ
Temporisations Description
S_IMPULS La durée maximale pendant laquelle le signal de sortie reste à 1 est la même que
temporisation sous forme la valeur de temps « t » programmée. Le signal de sortie reste à 1 pour une durée
d´impulsion plus courte si le signal d’entrée passe à 0.
S_VIMP Le signal de sortie reste à 1 pendant la durée programmée, quelle que soit la
temporisation sous forme durée pendant laquelle le signal d’entrée reste à 1.
d´impulsion prolongée
S_EVERZ Le signal de sortie est égal à 1 uniquement lorsque le temps programmé s’est
temporisation sous forme de écoulé et que le signal d’entrée est toujours à 1.
retard à la montée
S_SEVERZ Le signal de sortie passe de 0 à 1 uniquement lorsque le temps programmé s’est
temporisation sous forme de écoulé, quelle que soit la durée pendant laquelle le signal d’entrée reste à 1.
retard à la montée mémorisé
S_AVERZ Le signal de sortie est égal à 1 lorsque le signal d’entrée est égal à 1 ou lorsque la
temporisation sous forme de temporisation s’exécute. La temporisation est démarrée lorsque le signal d’entrée
retard à la retombée passe de 1 à 0.
Représentation
Anglaise Allemande
T no. T-Nr.
S_PULSE S_IMPULS
S BI S DUAL
TV BCD TW DEZ
R Q R Q
Description
L'opération Paramétrer et démarrer une temporisation sous forme d'impulsion démarre la
temporisation précisée en cas de front montant (c'est–à–dire lorsque l'état de signal passe de 0 à 1) à
l'entrée de démarrage S. Un changement d'état de signal est toujours nécessaire pour activer une
temporisation. La valeur de temps indiquée à l'entrée TW s'écoule pendant le temps programmé, tant
que l'état de signal à l'entrée S est égal à 1. Pendant que la temporisation s'exécute, l'interrogation à 1
de l'état de signal à la sortie Q donne 1 comme résultat. En cas de passage de 1 à 0 à l'entrée S avant
que le temps n'ait expiré, la temporisation s'arrête. Dans ce cas, l'interrogation à 1 de l'état de signal à la
sortie Q donne 0 comme résultat.
En cas de passage de 0 à 1 à l'entrée de remise à zéro R pendant que la temporisation s'écoule, cette
dernière est remise à zéro. Cette transition remet aussi la valeur de temps et la base de temps à zéro.
L'état de signal 1 à l'entrée R de la temporisation n'a aucun effet si la temporisation ne s'exécute pas.
La valeur de temps en cours peut être lue en format binaire à la sortie DUAL et en format décimal codé
binaire à la sortie DEZ.
Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation.
Chronogramme
Propriétés de la temporisation sous forme d'impulsion
t t t
RLG à l´entrée S
RLG à l´entrée R
Exécution de la
temporisation
Interrogation à 1
de l´état de signal
Interrogation à 0
de l´état de signal t = Temps programmé
Mot d'état
Exemple
T5
S_IMPULS
E 0.0 S DUAL
S5T#2s TW DEZ
A 4.0
E 0.1 R Q =
La temporisation T5 est démarrée si l'état de signal passe de 0 à 1 à l'entrée E 0.0 (front montant du
RLG). Elle s'écoule avec la valeur indiquée, égale à deux secondes (2s), tant que E 0.0 est à 1. Si l'état
de signal en E 0.0 passe de 1 à 0 avant que le temps n'ait expiré, la temporisation s'arrête. Si l'état de
signal à l'entrée E 0.1 passe de 0 à 1 alors que la temporisation s'écoule, cette dernière est remise à
zéro. L'état de signal à la sortie A 4.0 est 1 tant que la temporisation s'écoule.
Représentation
Anglaise Allemande
T no. T-Nr.
S_PEXT S_VIMP
S BI S DUAL
TV BCD TW DEZ
R Q R Q
Description
L'opération Paramétrer et démarrer une temporisation sous forme d'impulsion prolongée
démarre la temporisation précisée en cas de front montant (c'est–à–dire lorsque l'état de signal passe
de 0 à 1) à l'entrée de démarrage S. Un changement d'état de signal est toujours nécessaire pour activer
une temporisation. La valeur de temps indiquée à l'entrée TW continue à s'écouler même si l'état de
signal à l'entrée S passe à 0 avant expiration du temps. Tant que la temporisation s'écoule,
l'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat. La temporisation est
redémarrée avec la valeur de temps indiquée si l'état de signal à l'entrée S passe de 0 à 1 alors que la
temporisation s'exécute.
En cas de passage de 0 à 1 à l'entrée de remise à zéro (R) pendant que la temporisation s'écoule, cette
dernière est remise à zéro. Cette transition remet aussi la valeur de temps et la base de temps à zéro.
La valeur de temps en cours peut être lue en format binaire à la sortie DUAL et en format décimal codé
binaire à la sortie DEZ.
Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation.
Chronogramme
Propriétés de la temporisation sous forme d'impulsion prolongée
t t t t
RLG à l´entrée S
RLG à l´entrée R
Exécution de la
temporisation
Interrogation à 1
de l´état de signal
Interrogation à 0
de l´état de signal t = Temps programmé
Mot d'état
Exemple
T5
S_VIMP
E 0.0 S DUAL
S5T#2s TW DEZ
A 4.0
E 0.1 R Q =
La temporisation T5 est démarrée si l'état de signal passe de 0 à 1 à l'entrée E 0.0 (front montant du
RLG). Le temps de deux secondes (2s) indiqué continue à s'écouler même en cas de front descendant
à l'entrée S. Si l'état de signal en E 0.0 passe de 0 à 1 avant expiration de ces deux secondes, la
temporisation est redémarrée. Si l'état de signal en E 0.1 passe de 0 à 1 alors que la temporisation
s'écoule, cette dernière est remise à zéro. L'état de signal à la sortie A 4.0 est 1 tant que la temporisation
s'exécute.
Représentation
Anglaise Allemande
T no. T-Nr.
S_ODT S_EVERZ
S BI S DUAL
TV BCD TW DEZ
R Q R Q
Description
L'opération Paramétrer et démarrer une temporisation sous forme de retard à la montée démarre
la temporisation précisée en cas de front montant (c'est–à–dire lorsque l'état de signal passe de 0 à 1) à
l'entrée de démarrage S. Un changement d'état de signal est toujours nécessaire pour activer une
temporisation. La valeur de temps indiquée à l'entrée TW s'écoule tant que l'état de signal à l'entrée S
est à 1. L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque le temps a
expiré, que l'état de signal à l'entrée S est toujours 1 et que l'état de signal à l'entrée R est toujours 0. La
temporisation s'arrête si l'état de signal à l'entrée S passe de 1 à 0 alors que la temporisation s'exécute.
Dans ce cas, l'interrogation à 1 de l'état de signal donne toujours 0 comme résultat.
En cas de passage de 0 à 1 à l'entrée de remise à zéro (R) pendant que la temporisation s'écoule, cette
dernière est remise à zéro. Cette transition remet aussi la valeur de temps et la base de temps à zéro. La
temporisation est également remise à zéro si l'état de signal égale 1 à l'entrée R alors que la
temporisation ne s'exécute pas.
La valeur de temps en cours peut être lue en format binaire à la sortie DUAL et en format décimal codé
binaire à la sortie DEZ.
Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation.
Chronogramme
Propriétés de la temporisation sous forme de retard à la montée
t t t
RLG à l´entrée S
RLG à l´entrée R
Exécution de la
temporisation
Interrogation à 1
de l´état de signal
Interrogation à 0
de l´état de signal t = Temps programmé
Mot d'état
Exemple
T5
S_EVERZ
E 0.0 S DUAL
S5T#2s TW DEZ
A 4.0
E 0.1 R Q =
La temporisation T5 est démarrée si l'état de signal passe de 0 à 1 à l'entrée E 0.0 (front montant du
RLG). Si, à l'expiration du temps de deux secondes (2s) indiqué, l'état de signal à la sortie E 0.0 est
toujours 1, l'état de signal à la sortie A 4.0 est 1. Si l'état de signal en E 0.0 passe de 1 à 0, la
temporisation s'arrête et A 4.0 est à 0. Si l'état de signal en E 0.0 passe de 0 à 1 alors que la
temporisation s'exécute, cette dernière est redémarrée.
Représentation
Anglaise Allemande
T no. T-Nr.
S_ODTS S_SEVERZ
S BI S DUAL
TV BCD TW DEZ
R Q R Q
Description
L'opération Paramétrer et démarrer une temporisation sous forme de retard à la montée
mémorisé démarre la temporisation précisée en cas de front montant (c'est–à–dire lorsque l'état de
signal passe de 0 à 1) à l'entrée de démarrage S. Un changement d'état de signal est toujours
nécessaire pour activer une temporisation. La valeur de temps indiquée à l'entrée TW continue à
s'écouler même si l'état de signal à l'entrée S passe à 0 avant que la temporisation n'ait expiré.
L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque le temps a expiré,
quel que soit l'état de signal à l'entrée S, et lorsque l'entrée de remise à zéro (R) reste à 0. Si l'état de
signal à l'entrée S passe de 0 à 1 pendant que la temporisation s'exécute, cette dernière est redémarrée
avec la valeur de temps indiquée.
En cas de passage de 0 à 1 à l'entrée de remise à zéro (R), la temporisation est remise à zéro quel que
soit le RLG à l'entrée S.
La valeur de temps en cours peut être lue en format binaire à la sortie DUAL et en format décimal codé
binaire à la sortie BCD.
Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation.
Chronogramme
Propriétés de la temporisation sous forme de retard à la montée mémorisé
t t t t
RLG à l´entrée S
RLG à l´entrée R
Exécution de la
temporisation
Interrogation à 1
de l´état de signal
Interrogation à 0
de l´état de signal t = Temps programmé
Mot d'état
Exemple
T5
S_SEVERZ
E 0.0 S DUAL
S5T#2s TW DEZ
A 4.0
E 0.1 R Q =
La temporisation T5 est démarrée si l'état de signal passe de 0 à 1 à l'entrée E 0.0 (front montant du
RLG). Elle continue à s'écouler même si l'état de signal en E 0.0 passe de 1 à 0. Si l'état de signal à
l'entrée E 0.0 passe de 0 à 1 avant expiration de la valeur indiquée, la temporisation est redémarrée. Si
l'état de signal en E 0.1 passe de 0 à 1 alors que la temporisation s'écoule, cette dernière est remise à
zéro. L'état de signal à la sortie A 4.0 est 1 si le temps a expiré et que E 0.1 reste à 0.
Représentation
Anglaise Allemande
T no. T-Nr.
S_OFFDT S_AVERZ
S BI S DUAL
TV BCD TW DEZ
R Q R Q
Description
L'opération Paramétrer et démarrer une temporisation sous forme de retard à la retombée
démarre la temporisation précisée en cas de front descendant (c'est-à-dire lorsque l'état de signal passe
de 1 à 0) à l'entrée de démarrage S. Un changement d'état de signal est toujours nécessaire pour activer
une temporisation. L'interrogation à 1 de l'état de signal à la sortie Q donne 1 comme résultat lorsque
l'état de signal à l'entrée S est 1 ou lorsque la temporisation s'écoule. La temporisation est remise à zéro
lorsque l'état de signal à l'entrée S passe de 0 à 1 alors que la temporisation s'exécute. La temporisation
n'est redémarrée que lorsque l'état de signal à l'entrée S repasse de 1 à 0.
En cas de passage de 0 à 1 à l'entrée de remise à zéro (R) pendant que la temporisation s'exécute, cette
dernière est remise à zéro.
La valeur de temps en cours peut être lue en format binaire à la sortie DUAL et en format décimal codé
binaire à la sortie DEZ.
Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation.
Chronogramme
Propriétés de la temporisation sous forme de retard à la retombée
t t t t
RLG à l´entrée S
RLG à l´entrée R
Exécution de la
temporisation
Interrogation à 1
de l´état de signal
Interrogation à 0
de l´état de signal t = Temps programmé
Mot d'état
Exemple
T5
S_AVERZ
E 0.0 S DUAL
S5T#2s TW DEZ
A 4.0
E 0.1 R Q =
La temporisation T5 est démarrée si l'état de signal passe de 1 à 0 à l'entrée E 0.0. L'état de signal à la
sortie A 4.0 est 1 lorsque l'état de signal en E 0.0 est 1 ou que la temporisation s'écoule. Si l'état de
signal en E 0.1 passe de 0 à 1 alors que la temporisation s'exécute, cette dernière est remise à zéro.
Représentation
Anglaise Allemande
<opérande> <opérande>
SP SI
Description
L'opération Temporisation sous forme d'impulsion démarre la temporisation indiquée avec une
valeur de temps donnée si le RLG présente un front montant (c'est–à–dire si le RLG passe de 0 à 1). La
temporisation s'écoule tant que le RLG est positif. L'interrogation à 1 de l'état du signal fournit un résultat
égal à 1 tant que la temporisation s'écoule. Si le RLG passe de 1 à 0 avant que le temps indiqué n'ait
expiré, la temporisation s'arrête. Dans ce cas, l'interrogation à 1 de l'état de signal fournit un résultat
égal à 0.
Vous ne pouvez placer la boîte Temporisation sous forme d'impulsion qu'à l'extrémité droite de la
séquence combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Voir aussi Adresse d'une temporisation en mémoire et composants d'une temporisation.
Mot d'état
Exemple
Réseau 1
T5
SI
E 0.0
S5T#2s TW
Réseau 2
A 4.0
T5 =
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la temporisation T5 est démarrée. La
temporisation s'écoule avec la valeur de temps précisée de 2 secondes tant que l'état de signal en E 0.0
est égal à 1. Si l'état de signal en E 0.0 passe de 1 à 0 avant expiration du temps précisé, la
temporisation s'arrête.
L'état de signal à la sortie A 4.0 est 1 tant que la temporisation s'exécute.
Représentation
Anglaise Allemande
<opérande> <opérande>
SE SV
Description
L'opération Temporisation sous forme d'impulsion prolongée démarre la temporisation indiquée
avec une valeur de temps donnée si le RLG présente un front montant (c'est–à–dire si le RLG passe de
0 à 1). La temporisation continue à s'écouler même si le RLG passe à 0 avant que le temps précisé n'ait
expiré. L'interrogation à 1 de l'état du signal fournit un résultat égal à 1 tant que la temporisation
s'écoule. La temporisation est redémarrée (redéclenchée) avec le temps indiqué si le RLG repasse de 0
à 1 alors que la temporisation s'écoule encore.
Vous ne pouvez placer la boîte Temporisation sous forme d'impulsion prolongée qu'à l'extrémité
droite de la séquence combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Voir aussi Adresse d'une temporisation en mémoire et composants d'une temporisation.
Mot d'état
Exemple
Réseau 1
T5
SV
E 0.0
S5T#2s TW
Réseau 2
A 4.0
T5 =
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la temporisation T5 est démarrée. La
temporisation continue à s'écouler même en présence d'un front descendant du RLG. Si l'état de signal
en E 0.0 repasse de 0 à 1 avant expiration du temps précisé, la temporisation est redéclenchée.
L'état de signal à la sortie A 4.0 est 1 tant que la temporisation s'exécute.
Représentation
Anglaise Allemande
<opérande> <opérande>
SD SE
Description
L'opération Temporisation sous forme de retard à la montée démarre la temporisation indiquée si le
RLG présente un front montant (c'est–à–dire si le RLG passe de 0 à 1). L'interrogation à 1 de l'état du
signal fournit un résultat égal à 1 lorsque le temps indiqué s'est écoulé sans erreur et que le RLG est
toujours égal à 1. Si le RLG passe de 1 à 0 alors que la temporisation s'écoule, la temporisation est
arrêtée. Dans ce cas, l'interrogation à 1 de l'état de signal fournit toujours un résultat égal à 0.
Vous ne pouvez placer la boîte Temporisation sous forme de retard à la montée qu'à l'extrémité
droite de la séquence combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Voir aussi Adresse d'une temporisation en mémoire et composants d'une temporisation.
Mot d'état
Exemple
Réseau 1
T5
SE
E 0.0
S5T#2s TW
Réseau 2
A 4.0
T5 =
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la temporisation T5 est démarrée. Si
le temps expire et que l'état de signal en E 0.0 est toujours 1, la sortie A 4.0 est mise à 1. Si l'état de
signal en E 0.0 passe de 1 à 0, la temporisation est arrêtée.
Représentation
Anglaise Allemande
<opérande> <opérande>
SS SS
Description
L'opération Temporisation sous forme de retard à la montée mémorisé démarre la temporisation
indiquée si le RLG présente un front montant (c'est–à–dire si le RLG passe de 0 à 1). La temporisation
continue à s'écouler même si le RLG passe à 0 avant que le temps n'ait expiré. L'interrogation à 1 de
l'état du signal fournit un résultat égal à 1 lorsque le temps indiqué a expiré, quel que soit le RLG. Si le
RLG passe de 0 à 1 alors que la temporisation s'exécute, la temporisation est redémarrée
(redéclenchée) avec le temps indiqué.
Vous ne pouvez placer la boîte Temporisation sous forme de retard à la montée mémorisé qu'à
l'extrémité droite de la séquence combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Voir aussi Adresse d'une temporisation en mémoire et composants d'une temporisation.
Mot d'état
Exemple
Réseau 1
T5
SS
E 0.0
S5T#2s TW
Réseau 2
A 4.0
T5 =
Si l'état de signal en E 0.0 passe de 0 à 1 (front montant du RLG), la temporisation T5 est démarrée. La
temporisation continue à s'écouler même si l'état de signal passe de 1 à 0 à l'entrée E 0.0. Si l'état de
signal en E 0.0 passe de 0 à 1 avant que le temps n'ait expiré, la temporisation est redéclenchée.
L'état de signal de la sortie A 4.0 est à 1 si le temps a expiré.
Représentation
Anglaise Allemande
<opérande> <opérande>
SF SA
Description
L'opération Temporisation sous forme de retard à la retombée démarre la temporisation indiquée si
le RLG présente un front descendant (c'est–à–dire si le RLG passe de 1 à 0). L'interrogation à 1 de l'état
du signal fournit un résultat égal à 1 lorsque le RLG est égal à 1 ou que la temporisation s'écoule. La
temporisation est mise à 0 lorsque le RLG passe de 0 à 1 alors que la temporisation s'exécute. La
temporisation n'est redémarrée que lorsque le RLG repasse de 1 à 0.
Vous ne pouvez placer la boîte Temporisation sous forme de retard à la retombée qu'à l'extrémité
droite de la séquence combinatoire. Il est toutefois possible d'en utiliser plusieurs.
Voir aussi Adresse d'une temporisation en mémoire et composants d'une temporisation.
Mot d'état
Exemple
Réseau 1
T5
SA
E 0.0
S5T#2s TW
Réseau 2
A 4.0
T5 =
Description
Les opérations combinatoires sur mots combinent deux mots (16 bits) ou deux doubles mots (32 bits)
indiqués dans les entrées IN1 et IN2, selon les combinaisons booléennes. Ces opérations sont activées
si l'état de signal est 1 à l'entrée de validation EN. Les valeurs sont interprétées comme profils binaires
purs. Le résultat est rangé dans la sortie OUT. L'état de signal de ENO est identique à celui de EN.
Si le résultat à la sortie OUT est différent de 0, le bit BI1 du mot d'état est mis à 1. Si le résultat à la sortie
OUT égale 0, le bit BI1 du mot d'état est mis à 0.
Vous disposez des opérations combinatoires sur mots suivantes :
• WAND_W : ET mot
• WOR_W : OU mot
• WXOR_W : OU exclusif mot
• WAND_DW : ET double mot
• WOR_DW : OU double mot
• WXOR_DW : OU exclusif double mot
Représentation
WAND_W
EN
IN1 OUT
IN2 ENO
Description
L'opération ET mot est activée si l'état de signal est 1 à l'entrée de validation EN. Cette opération
combine, bit par bit selon la table de vérité ET, les deux mots indiqués dans les entrées IN1 et IN2. Ces
valeurs sont interprétées comme profils binaires purs. Le résultat est rangé dans la sortie OUT. L'état de
signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WAND_W
E 0.0 EN
MW0 IN1 OUT MW2 A 4.0
2#0000000000001111 IN2 ENO =
L'opération est activée si l'état de signal est 1 à l'entrée E 0.0. Seuls les bits 0 à 3 sont significatifs ; les
autres bits de MW0 sont masqués :
IN1 = 0101010101010101
IN2 = 0000000000001111
OUT = 0000000000000101
La sortie A 4.0 est mise à 1 si la combinaison est exécutée.
Représentation
WOR_W
EN
IN1 OUT
IN2 ENO
Description
L’opération OU mot est activée si l’état de signal est 1 à l’entrée de validation EN. Cette opération
combine, bit par bit selon la table de vérité OU, les deux mots indiqués dans les entrées IN1 et IN2. Ces
valeurs sont interprétées comme profils binaires purs. Le résultat est rangé dans la sortie OUT. L’état de
signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WOR_W
E 0.0 EN
MW0 IN1 OUT MW2 A 4.0
2#0000000000001111 IN2 ENO =
L'opération est activée si l'état de signal est 1 à l'entrée E 0.0. Les bits dans MW0 et ceux dans la
constante sont combinés selon OU. Les bits 0 à 3 sont mis à 1 ; les autres bits de MW0 restent
inchangés dans MW2.
IN1 = 0101010101010101
IN2 = 0000000000001111
OUT = 0101010101011111
La sortie A 4.0 est mise à 1 si la combinaison est exécutée.
Représentation
WXOR_W
EN
IN1 OUT
IN2 ENO
Description
L’opération OU exclusif mot est activée si l’état de signal est 1 à l’entrée de va-lidation EN. Cette
opération combine, bit par bit selon la table de vérité OU exclusif, les deux mots indiqués dans les
entrées IN1 et IN2. Ces valeurs sont interprétées comme profils binaires purs. Le résultat est rangé
dans la sortie OUT. L’état de signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WXOR_W
E 0.0 EN
MW0 IN1 OUT MW2 A 4.0
2#0000000000001111 IN2 ENO =
Représentation
WAND_DW
EN
IN1 OUT
IN2 ENO
Description
L’opération ET double mot est activée si l’état de signal est 1 à l’entrée de validation EN. Cette
opération combine, bit par bit selon la table de vérité ET, les deux doubles mots indiqués dans les
entrées IN1 et IN2. Ces valeurs sont interprétées comme profils binaires purs. Le résultat est rangé
dans la sortie OUT. L’état de signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WAND_DW
E 0.0 EN
MD0 IN1 OUT MD4 A 4.0
DW#16#FFF IN2 ENO =
L'opération est activée si l'état de signal est 1 à l'entrée E 0.0. Seuls les bits 0 à 11 sont significatifs ; les
autres bits de MD0 sont masqués :
IN1 = 01010101010101010101010101010101
IN2 = 00000000000000000000111111111111
OUT = 00000000000000000000010101010101
La sortie A 4.0 est mise à 1 si la combinaison est exécutée.
Représentation
WOR_DW
EN
IN1 OUT
IN2 ENO
Description
L’opération OU double mot est activée si l’état de signal est 1 à l’entrée de validation EN. Cette
opération combine, bit par bit selon la table de vérité OU, les deux doubles mots indiqués dans les
entrées IN1 et IN2. Ces valeurs sont interprétées comme profils binaires purs. Le résultat est rangé
dans la sortie OUT. L’état de signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WOR_DW
E 0.0 EN
MD0 IN1 OUT MD4 A 4.0
DW#16#FFF IN2 ENO =
L'opération est activée si l'état de signal est 1 à l'entrée E 0.0. Les bits dans MW0 et ceux dans la
constante sont combinés selon OU. Les bits 0 à 11 sont mis à 1 ; les autres bits de MW0 restent
inchangés dans MW2.
IN1 = 0101010101010101 0101010101010101
IN2 = 0000000000000000 0000111111111111
OUT = 0101010101010101 0101111111111111
La sortie A 4.0 est mise à 1 si la combinaison est exécutée.
Représentation
WXOR_DW
EN
IN1 OUT
IN2 ENO
Description
L’opération OU exclusif double mot est activée si l’état de signal est 1 à l’entrée de validation EN.
Cette opération combine, bit par bit selon la table de vérité OU exclusif, les deux doubles mots indiqués
dans les entrées IN1 et IN2. Ces valeurs sont interprétées comme profils binaires purs. Le résultat est
rangé dans la sortie OUT. L’état de signal de ENO est identique à celui de EN.
Mot d'état
Exemple
WXOR_DW
E 0.0 EN
MD0 IN1 OUT MD4 A 4.0
DW#16#FFF IN2 ENO =
Applications pratiques
Chacune des opérations LOG déclenche une fonction précise. En combinant ces opérations dans un
programme, vous pouvez exécuter une grande variété de tâches d’automatisation. Vous trouvez dans la
suite quelques exemples d’applications pratiques :
• Commande d'un tapis roulant à l'aide d'opérations de combinaison sur bits
• Détection du sens de déplacement d'un tapis roulant à l'aide d'opérations de combinaison sur bits
• Génération d'une période d'horloge à l'aide d'opérations de temporisation
• Surveillance de l'espace de stockage à l'aide à l'aide d'opérations de comptage et de comparaison
• Calculs à l'aide d'opérations arithmétiques sur nombres entiers
• Réglage de la durée de chauffage d'un four
Opérations utilisées
Capteur S5
S1 O Marche S3 O Marche
S2 O Arrêt S4 O Arrêt
MOTEUR_MAR
E 1.1 >=1
A 4.0
E 1.3 S
Réseau 2 : Appuyer sur l’un des deux boutons Arrêt ou ouvrir le contact à ouverture à la fin du tapis
arrête le moteur.
E 1.2 >=1
E 1.4 A 4.0
E 1.5 R
M 0.0
E 0.0 P &
A 4.1
E 0.1 S
Réseau 2 : Si l’état de signal à l’entrée E 0.1 passe de 0 à 1 (front montant) et si l’état de signal à l’entrée
E 0.0 est simultanément à 0, le paquet sur le tapis se déplace vers la droite. Si l’une des barrières
photoélectriques est interrompue, cela signifie qu’un paquet se trouve entre les deux barrières.
M 0.1
E 0.1 P &
A 4.0
E 0.0 S
Réseau 3: Si une des barrières photoélectriques est interrompue, un paquet se trouve entre les
barrières. L’indicateur de sens se désactive.
&
E 0.0 A 4.0
E 0.1 R
A 4.1
R
Générateur d’horloge
Vous pouvez utiliser, pour produire un signal qui se répète périodiquement, un générateur d’impulsions
d’horloge ou un relais clignotant. On trouve souvent des générateurs d’horloge dans les systèmes de
signalisation qui commandent le clignotement des lampes de signalisation.
Dans l’automate S7-300, vous pouvez réaliser la génération d’impulsions d’horloge en utilisant le
traitement commandé par horloge dans des blocs d’organisation spéciaux. Toutefois, l’exemple
présenté dans le programme LOG suivant illustre l’utilisation de fonctions de temporisation pour générer
une période d’horloge.
T1
SV
M0.2 &
S5T#250MS T
M0.2
T1 & =
M001
Réseau 4 : Le mot de mémento MW100 est incrémenté de 1 à chaque fois que la temporisation s’est
écoulée.
ADD_I
??.? EN
MW100 IN1 OUT MW100
1 IN2 ENO
Réseau 5 : L’opération MOVE vous permet de voir les différentes fréquences d’horloge aux sorties A
12.0 à A 13.7.
M001
MOVE
??.? EN OUT AW12
MW100 IN ENO
1
0
250 ms
La temporisation est redémarrée une fois le temps écoulé. De ce fait, l’interrogation de l’état de signal ne
délivre l’état de signal 1 que brièvement.
La figure montre comment se présente le bit RLG inversé.
1
0
250 ms
Le bit RLG est égal à 0 toutes les 250 ms. Le saut est ignoré et le contenu du mot de mémento MW100
est incrémenté de 1.
Cycle Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valeur de
temps (ms)
0 0 0 0 0 0 0 0 0 250
1 0 0 0 0 0 0 0 1 250
2 0 0 0 0 0 0 1 0 250
3 0 0 0 0 0 0 1 1 250
4 0 0 0 0 0 1 0 0 250
5 0 0 0 0 0 1 0 1 250
6 0 0 0 0 0 1 1 0 250
7 0 0 0 0 0 1 1 1 250
8 0 0 0 0 1 0 0 0 250
9 0 0 0 0 1 0 0 1 250
10 0 0 0 0 1 0 1 0 250
11 0 0 0 0 1 0 1 1 250
12 0 0 0 0 1 1 0 0 250
T
1
M 101.1 0
Temps
0 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s
Tableau d'affichage
Z1
ZAEHLER
E12.0 ZV
E12.1 ZR
A12.0
=
A 12.1 &
Réseau 3 : Si la valeur 50 est inférieure ou égale à la valeur du compteur (c’est-à-dire que la valeur de
comptage est supérieure ou égale à 50), la lampe de signalisation "Espace de stockage plein à 50 %"
s’allume.
CMP
<= I
A15.2
50 IN1
=
MW210 IN2
Réseau 4 : Si la valeur du compteur est supérieure ou égale à 90, la lampe de signalisation "Espace de
stockage plein à 90 %" s’allume.
CMP
>= I
A15.3
MW210 IN1
=
90 IN2
Réseau 5 : Si la valeur du compteur est supérieure ou égale à 100, la lampe de signalisation "Espace de
stockage plein" s’allume. Utilisez la sortie A 4.4 pour bloquer le tapis roulant 1.
CMP
>= I
A15.4
MW210 IN1
=
100 IN2
Logigramme
Réseau 1 : Ouvrir bloc de données DB1.
DB1
OPN
Réseau 2 : Le mot d’entrée EW0 est additionné au mot de données global DBW3 (le bloc de données
doit avoir été défini et ouvert) et la somme est chargée dans le mot de mémento MW100. MW100 est
ensuite multiplié par 15 et le résultat mémorisé dans le mot de mémento MW102. Puis, MW102 est
divisé par MW0 et le résultat mémorisé dans MW4.
ADD_I
??.? EN
Four
4 4 4
A 4.0
T1 & =
T1 & RET
Réseau 3: Masquer les bits d’entrée E 0.4 à E 0.7 (c’est-à-dire les mettre à 0). Ces bits d’entrée des
molettes ne sont pas utilisés. Les 16 bits des entrées correspondant aux molettes sont combinés à
W#16#0FFF avec l’opération ET mot. Le résultat est chargé dans le mot de mémento MW1. Afin de
régler la valeur de temps en secondes, la valeur prédéfinie est combinée à W#16#2000 avec l’opération
OU mot. Le bit 13 est mis à 1 et le bit 12 est mis à 0.
WAND_W
??.? EN
T1
E 0.7 & SV
MW2 T
SAVE
Assurez-vous que ce réseau sera parcouru dans tous les cas, ce qui signifie que vous ne devez ni
utiliser de BEB dans le bloc, ni sauter ce réseau.
Si l'addition comporte aussi bien une combinaison EN qu'une combinaison ENO, les instructions LIST
suivantes sont initiées :
1 U E 0.0 // Combinaison EN
5 +I // Addition effective
7 UN OV // Détection d'erreur
11 = A 4.0
Après la première ligne, le RLG contient le résultat de la combinaison précédente. L'instruction SPBNB
copie le RLG dans le RB et met le bit de première interrogation à 1.
• Si le RLG est égal à 0, le programme saute à la ligne 10 et poursuit avec U RB. L'addition n'est pas
effectuée. Dans la ligne 10, le RB est à nouveau copié dans le RLG et ainsi 0 est affecté à la sortie.
• Si le RLG est égal à 1, le programme ne saute pas plus loin, ce qui signifie que l'addition est
effectuée. La ligne 7 permet de déterminer si une erreur s'est produite lors de l'addition, ce qui est
enregistré dans le RB à la ligne 8. La ligne 9 met le bit de première interrogation à 1. A la ligne 10, le
bit RB est à nouveau copié dans le RLG et ainsi la sortie précise si l'addition a été correctement
effectuée.
Le bit RB n'est plus modifié dans les lignes 10 et 11 et indique donc également si l'addition s'est
correctement déroulée.
Si l'addition comporte une combinaison EN mais pas de combinaison ENO, les instructions LIST
suivantes sont initiées :
1 U E 0.0 // Combinaison EN
5 +I // Addition effective
7 _001: NOP 0
Après la ligne 1, le RLG contient le résultat de la combinaison précédente. L'instruction SPBNB copie le
RLG dans le RB et met le bit de première interrogation à 1.
• Si le RLG est égal à 0, le programme saute à la ligne 7, l'addition n'est pas réalisée, le RLG et le RB
valent 0.
• Si le RLG est égal à 1, le programme ne saute pas plus loin, ce qui signifie que l'addition est
effectuée. L'éventuelle apparition d'une erreur lors de l'addition n'est pas détectée. Le RLG et le RB
valent 1.
Si l'addition ne comporte pas de combinaison EN mais une combinaison ENO, les instructions LIST
suivantes sont initiées :
1 L in1 // Paramètres de la représentation
3 +I // Addition effective
5 UN OV // Détection d'erreur
9 = A 4.0
L'addition est réalisée dans tous les cas. La ligne 5 détermine si une erreur s'est produite lors de
l'addition, ce qui est enregistré dans le RB à la ligne 6. La ligne 7 met le bit de première interrogation à 1.
A la ligne 8, le bit RB est à nouveau copié dans le RLG et ainsi la sortie indique si l'addition s'est
correctement déroulée.
Le bit RB n'est plus modifié dans les lignes 8 et 9 et indique donc également si l'addition s'est
correctement déroulée.
Si l'addition ne comporte ni combianison EN, ni combinaison ENO, les instructions LIST suivantes sont
initiées :
1 L in1 // Paramètres de la représentation
3 +I // Addition effective
5 NOP 0
Nota
Si des mémentos, entrées, sorties, périphéries d'entrée ou de sortie sont utilisés en tant qu'opérandes
effectifs dans une fonction, ils sont traités de manière différente que les autres opérandes. Leur
actualisation n'est effectuée au moyen de la pile L, mais de manière directe.
Exception :
Si le paramètre formel correspondant est un paramètre d'entrée de type de données BOOL,
l'actualisation des paramètres effectifs est effectuée via la pile L.
Important
! Lors de la programmation du bloc appelé, veillez à compléter les paramètres déclarés comme
OUTPUT, sans quoi les valeurs fournies seront aléatoires ! Pour les blocs fonctionnels, on obtiendrait
la valeur du DB d'instance inscrite lors du dernier appel, pour les fonctions, la valeur aléatoire se
trouvant dans la pile L.
Tenez compte des points suivants :
• Si possible, initialisez tous les paramètres OUTPUT.
• Evitez l'utilisation d'instructions de mise à 1 et de remise à 0, car elles dépendent du RLG. Lorsque le RLG
prend la valeur 0, c'est la valeur aléatoire qui est conservée !
• Lorsque vous effectuez un saut au sein du bloc, faites attention de ne pas sauter une ligne dans laquelle sont
décrits des paramètres OUTPUT. Tenez également compte de BEB et de l'effet des instructions MCR.
<=0 144
<>0 144 B
<0 144 Bascule mise à 0 - mise à 1 25
Bascule mise à 1 - mise à 0 26
= BCD_DI 40
BCD_I 38
= 19 BIE 143
==0 144 Bit d'anomalie "Débordement mémorisé" 140
Bit d'anomalie "Débordement" 138
Bit d'anomalie "Opération illicite" 142
> Bit d'anomalie "Registre RB" 143
>=0 144 Bits de résultat 144
>=1 12 BR 143
>0 144
C
A CALL 103
Abréviations allemandes (SIMATIC) 181 CALL_FB 104
Abréviations anglaises (internationales) 185 CALL_FC 106
ABS 91 CALL_SFB 108
ACOS 96 CALL_SFC 110
Activer/désactiver relais de masquage 119 Carré d'un nombre réel 92
ADD_DI 79 CD 63
ADD_I 75 CEIL : 51
ADD_R : 87 CMP<=D 35
Addition avec combinaison EN et avec combinaison ENO CMP<=I 34
204 CMP<=R 36
Addition avec combinaison EN et sans combinaison ENO CMP<>D 35
205 CMP<>I 34
Addition sans combinaison EN et avec combinaison ENO CMP<>R 36
205 CMP<D 35
Addition sans combinaison EN et sans combinaison ENO CMP<I 34
206 CMP<R 36
Additionner entiers de 16 bits 75 CMP==D 35
Additionner entiers de 32 bits 79 CMP==I 34
Additionner nombres réels 87 CMP==R 36
Adresse d'une temporisation en mémoire et composants CMP>=D 35
d'une temporisation 148 CMP>=I 34
Affectation 19 CMP>=R 36
Affecter valeur 99 CMP>D 35
Aide en ligne 5 CMP>I 34
CMP>R 36
Combinaison OU exclusif 16
Combinaisons ET avant OU et OU avant ET 14
F
Comparer entiers de 16 bits 34 FLOOR : 52
Comparer entiers de 32 bits 35 Fonctions du relais de masquage 113
Comparer nombres réels 36 Fonctions trigonométriques d'angles sous forme de
Complément à 1 d'entier de 16 bits 44 nombres réels 96
Complément à 1 d'entier de 32 bits 45
Complément à 2 d'entier de 16 bits 46
Complément à 2 d'entier de 32 bits 47 I
Connecteur 21 --I 17
Convertir entier de 16 bits en entier de 32 bits 41 I_BCD 39
Convertir entier de 16 bits en nombre DCB 39 I_DI 41
Convertir entier de 32 bits en nombre DCB 42 Incrémenter 62
Convertir entier de 32 bits en nombre réel 43 Initialiser compteur 61
Convertir nombre DCB en entier de 16 bits 38 Insérer entrée binaire 17
Convertir nombre DCB en entier de 32 bits 40 INV_DI 45
Convertir nombre réel en entier inférieur le plus proche 52 INV_I 44
Convertir nombre réel en entier supérieur le plus proche Inverser le signe d'un nombre réel 48
51 Inverser l'entrée binaire 18
COS 96
CU 62
J
D JMP 68, 69
JMPN 70
Décalage vers la droite d'un double mot 131
Décalage vers la droite d'un entier de 16 bits 124
Décalage vers la droite d'un entier de 32 bits 126 L
Décalage vers la droite d'un mot 129
Décalage vers la gauche d'un double mot 130 LABEL 71
Décalage vers la gauche d'un mot 127 LN 95
Décrémenter 63 Logarithme naturel d'un nombre réel 95
Détecter front descendant 28
Détecter front descendant de signal 31
Détecter front montant 29
M
Détecter front montant de signal 32 MCR< / MCR> 115
DI_BCD 42 MCRA / MCRD 119
DI_R 43 Mécanisme EN/ENO 203, 204
DIV_DI 82 Mettre à 0 23
DIV_I 78 Mettre à 1 24
DIV_R 90 MOD_DI : 83
Diviser entiers de 16 bits 78 MOVE 99
Diviser entiers de 32 bits 82 MUL_DI 81
Diviser nombres réels 90 MUL_I 77
MUL_R 89
Multiplier entiers de 16 bits 77
E Multiplier entiers de 32 bits 81
ET double mot 177 Multiplier nombres réels 89
ET mot 174
Evaluation des bits du mot d'état pour les opérations sur
nombres entiers 74
N
Evaluation des bits du mot d'état pour les opérations sur N 28
nombres réels 86 NEG 31
Exemple NEG_DI 47
Opérations arithmétiques sur nombres entiers 200 NEG_I 46
Opérations combinatoires sur bits 190 NEG_R 48
Opérations combinatoires sur mots 201
Opérations de comptage et de comparaison 197
Exemples de programmation 189 O
EXP : 94 -oI 18
Opération de conversion 37
WAND_W 174
U WOR_DW 178
UO 142 WOR_W 175
WXOR_DW 179
WXOR_W : 176
V
Valeur absolue d'un nombre réel 91 X
Valeur exponentielle d'un nombre réel 94
Vue d'ensemble 11, 33, 37, 53, 73, 85, 101, 147, 189 XOR 16
Vue d'ensemble des opérations combinatoires sur mots
173
Vue d'ensemble des opérations de décalage 123
Z
Vue d'ensemble des opérations de rotation 133 Z_RUECK 59
Vue d'ensemble des opérations de saut 67 Z_VORW 57
ZAEHLER 55
ZR 63
W ZV 62
WAND_DW 177