Page 1
Opérations combinatoires sur bits SIMATIC Opérations de comparaison Opérations de conversion Langage LIST pour Opérations de comptage SIMATIC S7-300/400 Opérations sur blocs de données Manuel de référence Opérations de saut Fonctions sur nombres entiers Fonctions sur nombres à virgule flottante Opérations de chargement et...
Page 2
Marque 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.
Page 3
LIST correspond au langage « Liste d’instructions » 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.WRI (anglais) ou NORM_TAB.WRI (allemand) de STEP 7. Langage LIST pour SIMATIC S7-300/400 A5E00706951-01...
Page 4
STEP 7, sous forme d‘aide en ligne. Aides de référence de LIST/CONT/LOG Aides en ligne contextuelles de Fait partie du logiciel référence STEP 7 Aide de référence sur les SFB/SFC Aide de référence sur les blocs d‘organisation Langage LIST pour SIMATIC S7-300/400 A5E00706951-01...
Page 5
à 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 : http://www.siemens.com/automation/partner Vous trouvez un fil rouge pour la recherche de documentations techniques sur les produits et systèmes SIMATIC à...
Page 6
• le forum où utilisateurs et spécialistes peuvent échanger informations, • votre interlocuteur Automation & Drives sur place, • des informations sur le service après-vente, les réparations, les pièces de rechange à la rubrique "Service". Langage LIST pour SIMATIC S7-300/400 A5E00706951-01...
Complément à 2 d'entier de 32 bits............3-11 3.12 NEGR Inverser nombre à virgule flottante (VF IEEE 32 bits)........ 3-12 3.13 Modifier l'ordre dans l'accumulateur 1-L (16 bits)......... 3-13 3.14 Modifier l'ordre dans l'accumulateur 1 (32 bits)..........3-14 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 8
Multiplier accumulateur 1 par accumulateur 2 (entiers de 16 bits) ...... 7-5 Diviser accumulateur 2 par accumulateur 1 (entiers de 16 bits) ......7-6 Additionner constante entière (16, 32 bits)............7-8 Additionner accumulateurs 1 et 2 (entiers de 32 bits) ........7-10 Langage LIST pour SIMATIC S7-300/400 viii A5E00706961-01...
Page 9
Transférer registre d'adresse 1 dans registre d'adresse 2....9-13 9.15 TAR2 Transférer registre d'adresse 2 dans l'accumulateur 1 ....... 9-13 9.16 TAR2 <D> Transférer registre d'adresse 2 à l'adresse de destination (32 bits)..9-14 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 10
Temporisation sous forme d'impulsion prolongée ......... 12-14 12.9 Temporisation sous forme de retard à la montée .......... 12-16 12.10 Temporisation sous forme de retard à la montée mémorisé ......12-18 12.11 Temporisation sous forme de retard à la retombée........12-20 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 11
Exemples : Opérations combinatoires sur bits ............B-2 Exemple : Opérations de temporisation..............B-5 Exemple : Opérations de comptage et de comparaison..........B-8 Exemple : Opérations arithmétiques sur nombres entiers........B-10 Exemple : Opérations combinatoires sur mots............B-11 Transmission de paramètres ....................C-1 Index .............................Index-1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 12
Sommaire Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
OU NON exclusif d'une expression • ) Fermer la parenthèse d'une expression Les opérations suivantes mettent fin à une séquence combinatoire : • = Affectation • R Mettre à 0 • S Mettre à 1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 14
Mettre RLG à 0 • SAVE Sauvegarder RLG dans le bit RB Les opérations suivantes détectent les transitions dans le résultat logique RLG et y réagissent : • FN Front descendant • FP Front montant Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
E 1.0 état de signal 1 E 1.0 fermeture Contact à E 1.1 état de signal 1 E 1.1 fermeture A 4.0 état de signal 1 Bobine A 4.0 Montre u n contact fermé. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Schéma de circuit à relais Barre d'alimentation Contact à E 1.0 E 1.0 fermeture Etat de signal 0 Contact à E 1.1 E 1.1 ouverture Etat de signal 1 A 4.0 Bobine A 4.0 Etat de signal 0 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
E 1.1 état de signal 0 E 1.0 état de signal 1 E 1.0 Contact à fermeture ntact à fermeture E 1.1 A 4.0 A 4.0 état de signal 1 Bobine Montre un contact fermé. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Schéma de circuit à relais Barre d'alimentation E 1.0 Contact à E 1.0 Etat de signal 0 fermeture E 1.1 Contact à E 1.1 Etat de signal 1 ouverture A 4.0 Bobine A 4.0 Etat de signal 1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
à RB, OS à DM et OV à D EB). Mot d'état ETAT Ecriture : Exemple Programme LIST Schéma de circuit à relais Barre d'alimentation E 1.0 Contact E 1.0 E 1.1 Contact E 1.1 A 4.0 A 4.0 Bobine Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
OV à DEB). Mot d'état ETAT Ecriture : Exemple Programme LIST Schéma de circuit à relais Barre d'alimentation E 1.0 Contact E 1.0 Conta E 1.1 E 1.1 A 4.0 A 4.0 Bobine Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Programme LIST Schéma de circuit à relais Barre d'alimentation M 10.1 E 0.0 E 0.0 M 10.0 E 0.2 E 0.2 M 10.0 M 0.3 M 0.3 M 10.1 A 4.0 A 4.0 Bobine Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Schéma de circuit à relais Programme LIST Barre d'alimentation E 0.0 E 0.0 M 10.0 M 10.0 E 0.2 E 0.2 M 10.3 M 10.3 M 10.1 M 10.1 A 4.0 A 4.0 Bobine Langage LIST pour SIMATIC S7-300/400 1-10 A5E00706961-01...
O( (OU d'une expression) Cette opération sauvegarde les bits RLG et OU ainsi qu'un code d'opération dans la pile des parenthèses. La pile des parenthèses peut contenir jusqu'à 7 entrées. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 1-11 A5E00706961-01...
X( (OU exclusif d'une expression) Cette opération sauvegarde les bits RLG et OU ainsi qu'un code d'opération dans la pile des parenthèses. La pile des parenthèses peut contenir jusqu'à 7 entrées. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 1-12 A5E00706961-01...
Page 25
XN( (OU NON exclusif d'une expression) Cette opération sauvegarde les bits RLG et OU ainsi qu'un code d'opération dans la pile des parenthèses. La pile des parenthèses peut contenir jusqu'à 7 entrées. Mot d'ét ETAT Ecriture Langage LIST pour SIMATIC S7-300/400 1-13 A5E00706961-01...
• UN( ET NON d'une e xpression • O( OU d'une expression • OU NON d'une expression • OU exclusif d'une expression • XN( excl usif d'une ex press Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 1-14 A5E00706961-01...
Page 27
Schéma de circuit à relais Programme LIST Barre d'alimentation E 0.0 E 0.0 10.0 M 10.0 E 0.2 E 0.2 M 10.3 M 10.3 M 10.1 M 10.1 A 4.0 A 4.0 Bobine Langage LIST pour SIMATIC S7-300/400 1-15 A5E00706961-01...
Mot d'état ETAT Ecriture : Exemple Schéma de circuit à relais Programme LIST E 1.0 Barre d'alimentation A 4.0 E 1.0 Schéma des états de signaux E 1.0 A 4.0 Bobine A 4.0 Langage LIST pour SIMATIC S7-300/400 1-16 A5E00706961-01...
Barre d'alimentation A 4.0 E 1.0 E 1.1 E 1.1 A 4.0 A 4.0 Contact à fermeture Schémas des états de signaux Contact à E 1.0 ouverture E 1.1 A 4.0 Bobines A 4.0 Langage LIST pour SIMATIC S7-300/400 1-17 A5E00706961-01...
Barre d'alimentation A 4.0 E 1.1 E 1.1 A 4.0 E 1.0 A 4.0 Contact à fermeture Schémas des états de signaux Contact à E 1.0 ouverture E 1.1 A 4.0 Bobines A 4.0 Langage LIST pour SIMATIC S7-300/400 1-18 A5E00706961-01...
Opérations combinatoires sur bits 1.19 Négation du RLG Format Description de l'opération Cette opération inverse le RLG. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 1-19 A5E00706961-01...
Mot d'ét ETAT Ecriture : Exemple Programme LIST at d e sig Ré ltat l ogiq ue ( = M 10.0 = M 15.1 = M 16.0 = M 10.1 = M 10.2 Langage LIST pour SIMATIC S7-300/400 1-20 A5E00706961-01...
Page 33
Cette opération met le RLG à l'état de signal 0. Mot d'état ETAT Ecriture : Exemple Programme LIST Etat de signal Résultat logique (RLG) = M 10.0 = M 15.1 = M 16.0 = M 10.1 = M 10.2 Langage LIST pour SIMATIC S7-300/400 1-21 A5E00706961-01...
ENO (= bit RB) prend la valeur du bit RLG, ce qui vous permet ensuite de poursuivre par un traitement des erreurs du bloc. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 1-22 A5E00706961-01...
Lorsque le bit à contrôler se trouve dans la mémoire image, cette opération n'est pas significative. En effet, les données locales d'un bloc ne sont valides que pendant la durée d'exécution de ce bloc. Mot d'état ETAT Ecriture : Définition Front montant Front descendant Temps Langage LIST pour SIMATIC S7-300/400 1-23 A5E00706961-01...
Page 36
Lorsque l'automate programmable détecte un front descendant au contact E 1.0, il active la sortie A 4.0 pour un cycle d'OB1. Programme LIST Schéma des états de signaux E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0 Cycle OB1 n° : Langage LIST pour SIMATIC S7-300/400 1-24 A5E00706961-01...
En effet, les données locales d 'un bloc ne sont valides que pendant la durée d'exécution de ce bloc. Mot d'état ETAT Ecriture : Définition Front montant Front descendant Temps Langage LIST pour SIMATIC S7-300/400 1-25 A5E00706961-01...
Page 38
Lorsque l'automate programmable détecte un front montant au contact E 1.0, il active la sortie A 4.0 pour un cycle d'OB1. Programme LIST Schéma des états de signaux E 1.0 E 1.0 M 1.0 M 1.0 A 4.0 A 4.0 Cycle OB1 n° : Langage LIST pour SIMATIC S7-300/400 1-26 A5E00706961-01...
Les bits BI1 et BI0 indiquent la relation "inférieur à", "égal à" ou "supérieur à". ous disposez des opérations de comparaison suivantes : • mparer e ntiers de 16 bits • Comparer entiers de 32 bits • Comparer réels de 32 bits Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Charger le contenu de MW10 (entier de 16 bits). EW24 //Charger le contenu de EW24 (entier de 16 bits). >I //Comparer si accumulateur 2-L (MW10) supérieur (>) à accumulateur 1-L (EW24). M 2.0 //Le RLG égale 1 si MW10 > EW24. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
ED24 //Charger le contenu de ED24 (entier d e 32 bits). >D //Comparer si accumu lateur 2 (MD10) supérieur (>) à accumulateur 1 (ED24). M 2.0 //Le RLG égale 1 si MD10 > ED24. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Charger le contenu de MD10 (nombre à virgule flottante). 1.35 9E+02 //Charger la constante 1.359E+02. >R //Comparer si l'accumulateur 2 (MD10) supérieur (> ) à l'accumulateur 1 (1.359E+02). M 2.0 //Le RLG égale 1 si MD10 > 1.359E+02. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
1 en un nombre entier de 32 bits (entier double). Les différentes opérations se distinguent par leur façon d’arrondir : • RND Arrondir à l'entier • TR Arrondir par troncature • RND+ Arrondir à l'entier supérieur • RND- Arrondir à l'entier inférieur Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Transférer le résultat (nombre entier de 16 bits) dans le mot de mémento MW20. " + " " 9 " " 1 " " 5 " 15..8 7..0 +915 DCB Convertir DCB en entier +915 nombre entier Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Transférer le résultat (nombre DCB) dans le mot de mémento MW20. 15..8 7..0 MW10 -413 nombre entier Convertir entier de 16 bits en DCB MW20 -413 DCB " - " " 4 " " 1 " " 3 " Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
ITD XXXX XXXX XXXX XXXX 1111 1111 1111 0110 après exécu tion de ITD 1111 1111 1111 1111 1111 1111 1111 0110 (X = 0 ou 1, bits non requis pour la conversion) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Convertir entier de 32 bits en nombre à virgule flottante de de 32 bits 30... 22..0 MD20 Exposant de 8 bits Mantisse de 23 bits 1 bit +500 VF IEEE Signe de la mantisse Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
MW10. Contenu ACCU1-L 15 ..0 avant exécution de INVI 0110 0011 1010 1110 après e écuti on de INVI 1001 1100 0101 0001 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Transférer le résultat dans le mot de mémento MW10. Contenu ACCU1-L 15 ..0 avant exécution de NEGI 0101 1101 0011 1000 après exécution de NEGI 1010 0010 1100 1000 Langage LIST pour SIMATIC S7-300/400 3-10 A5E00706961-01...
NEGR //Inverser le nombre à virgule flottante IEEE de 32 bits et ranger le résultat dans l'accumulateur 1. MD10 //Transférer le résultat dans le double mot de mémento MD10 (exemple : résultat .5E+02). Langage LIST pour SIMATIC S7-300/400 3-12 A5E00706961-01...
ACCU 1-H-H ACCU 1-H-L ACCU 1-L-H ACCU 1-L-L avant ex éc ution de TAW valeur A valeur B valeur C valeur D après exécution de T valeur A valeur B valeur D valeur C Langage LIST pour SIMATIC S7-300/400 3-13 A5E00706961-01...
ACCU 1-H-L ACCU 1-L-H ACCU 1-L-L avant ex éc ution de TAD valeur A valeur B valeur C valeur D après e xécutio n de T valeur D valeur C valeur B valeur A Langage LIST pour SIMATIC S7-300/400 3-14 A5E00706961-01...
//Transférer le résultat (entier de 32 bits) dans le double mot de mémento MD20. Valeur avant la conversion Valeur après la c onversion MD10 = "100.5" => RND => MD20 = "+100" MD10 = "-100.5" => RND => MD20 = "-100" Langage LIST pour SIMATIC S7-300/400 3-15 A5E00706961-01...
//Transférer le résultat (entier de 32 bits) dans le double mot de mémento MD20. Valeur avant la conversion Valeur après la c onversion MD10 = "100.5" => TRUNC => MD20 = "+100" MD10 = "-100.5" => TRUNC => MD20 = "-100" Langage LIST pour SIMATIC S7-300/400 3-16 A5E00706961-01...
//Transférer le résultat (entier de 32 bits) dans le double mot de mémento MD20. Valeur avant la conversion Valeur après la conversion MD10 = "100.5" => RND+ => MD20 = "+101" MD10 = "-100.5" => RND+ => MD20 = "-100" Langage LIST pour SIMATIC S7-300/400 3-17 A5E00706961-01...
//Transférer le résultat (entier de 32 bits) dans le double mot de mémento MD20. Valeur avant la conversion Valeur après la conversion MD10 = "100.5" => RND- => MD20 = "+100" MD10 = "-100.5" => RND- => MD20 = "-101" Langage LIST pour SIMATIC S7-300/400 3-18 A5E00706961-01...
• Cha er vale de comptage e cours c mme nombre DCB dans l'accumu eur 1 • R Remettre compteur à zéro • Initialiser compteur • Incrémenter • Décrémenter Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
à nouveau exécutées après la validation. Mot d'état ETAT Ecriture : Exemple LIST Explication E 2.0 //Interroger l'état de signal à l'entrée E 2.0. //Vali der le compteur Z3 si le RLG passe de 0 à 1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
1-L. Mot de compteur pour Z3 en mémoire Valeur de compteur (0 à 999) binaire Contenu de l'ACCU 1-L après l'instruction L Z3 Tous "0" Valeur de compteur (0 à 999) binaire Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 64
DCB dans l'accumulateur 1 après sauvegarde du contenu de l'accumulateur 1 dans l'accumulateur 2. Mot d'état ETAT Ecriture : Exemple LIST Explication //Charger la valeur de comptage du compteur Z3 en format DCB dans l'accumulateur 1-L. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 65
Opérations de comptage Mot de comptage pour Z3 e mémoire Valeur de comptage (de 0 à 999) binaire Contenu de l'ACCU1-L après l'instruction LC Z3 Centaines Dizaines Unités Valeur de comptage en format DCB Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
R <compteur> charge la valeur de comptage 0 dans le compteur en accès si le RLG égale 1 Mot d'ét ETAT Ecriture : Exemple LIST Explication E 2.3 //Interroger l'état de signal à l'entrée E 2.3. //Remettre le compteur Z3 à 0 si le RLG passe de 0 à Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
E 2.3 //Interroger l'état de signal à l'entrée E 2.3. //Charger la valeur de comptage 3 dans l'accumulateur 1-L. //Initialiser le compteur Z1 à la valeur de comptage si le RLG passe de 0 à Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
RLG n'a aucun effet. Le bit de débordement (DEB) n'est pas mis à 1. Mot d'état ETAT Ecriture : Exemple LIST Explication E 2.1 //Interroger l'état de signal à l'entrée E 2.1. //Incrémenter d'1 le compteur Z3 si le RLG passe de 0 à 1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Décrémenter d'1 le compteur Z1 si le RLG passe de 0 à 1 en fonction de l'entrée E 0.0. //Détection de 0 avec le bit Z1 A 0.0 //Si la valeur du compteur Z1 égale 0, la sortie A 0.0 donne 1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 70
Opérations de comptage Langage LIST pour SIMATIC S7-300/400 4-10 A5E00706961-01...
Charger longueur de DB global dans l'accumulateur 1 • L DBNO Charger numéro de DB global dans l'accumulateur 1 • L DILG Charger longueur de DB d'instance dans l'accumulateur 1 • L DINO Charger numéro de DB d'instance dans l'accumulateur 1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Ouvrir le bloc de données DB20 comme bloc de données d'instance. DIB12 //Charger dans l'accumulateur 1-L-L. l'octet de données DIB12 du bloc de données d'instance ouvert DBB37 //Transférer le contenu de l'accumulateur 1-L-L dans l'octet de données DBB37 du bloc de données global ouvert. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Permuter DB global et DB d'instance Format Description de l'opération TDB permute les registr es de bloc de données. Un bloc de données global devient ainsi bloc de données d'instance et vice versa. Mot d'ét ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Valeur de comparaison pour déterminer si le bloc de données est suffisamment long. <D ERRO //Saut au repère de saut ERRO si la longueur est inférieure à la valeur figurant dans le mot de mémento MD10. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
L DBNO (Charger le numéro de DB global) Cette opération charge dans l'accumulateur 1 le numéro du bloc de données global ouvert une fois que l'ancien contenu de l'accumulateur 1 a été sauvegardé dans l'accumulateur 2. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Valeur de comparaison pour déterminer si le bloc de données est suffisamment long. <I ERRO //Saut au repère de saut ERRO si la longueur est inférieure à la valeur figurant dans le mot de mémento MW10. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Cette opération charge dans l'accumulateur 1 le numéro du bloc de données d'instance ouvert une fo is que l'ancien contenu de l'accumulateur 1 a été sauvegardé dans l'accumulateur 2. Mot d'ét ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 78
Opérations sur blocs de données Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
: • Saut si RB est 1 • SPBIN Saut si RB est 0 • SPO Saut si DEB est 1 • SPS Saut si DM est 1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 80
érent de 0 • Saut si plus • Saut si moins • SPPZ t si supérie ur ou égal à 0 • SPMZ Saut si inférieur ou égal à 0 • SPU Saut si i llicite Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Saut au repère de saut EFFA si le RLG égale 1. MB10 MB10 AVAN //Saut inconditionnel au repère de saut AVAN. EFFA: L MB10 AVAN: U E 2.1 //La séquence de programme se poursuit ici après le saut au repère AVAN. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Destination de saut si l'accumulateur 1-L-L égale SEG3 //Destination de saut si l'accumulateur 1-L-L égale LSTX: SPA COMM SEG0: * //Instruction autorisée. COMM SEG1: * //Instruction autorisée. COMM SEG3: * //Instruction autorisée. COMM COMM: * Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
ère de saut SAUT si RLG égale 1. //La séquence de programme se poursuit ici si le saut ne s'exécute pas. MW22 SAUT: U E 2.1 //La séquence de programme se poursuit ici après le saut au repère SAUT. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
ère SAUT si RLG égale 0. //La séquence de programme se poursuit ici si le saut ne s'exécute pas. MW22 SAUT: U E 2.1 //La séquence de programme se poursuit ici après le saut au repère SAUT. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Saut au repère SAUT si RLG égale 1. Copier le contenu du bit RLG dans le bit RB. //La séquence de programme se poursuit ici si le saut ne s'exécute pas. MW22 SAUT: U E 2.1 //La séquence de programme se poursuit ici après le saut au repère SAUT. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
RB. //La séquence de programme se poursuit ici si le saut ne s'exécute pas. MW22 SAUT: U E 2.1 //La séquence de programme se poursuit ici après le saut au repère SAUT. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
-32768 ou +32767 mots du code de programme. Le nombre maximal réel d'instructions pouvant être sautées dépend de la combinaison des instructions à l'intérieur du programme (instructions à un, deux ou trois mots). Mot d'ét ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
-32768 ou +32767 mots du code de programme. Le nombre maximal réel d'instructions pouvant être sautées dépend de la com binaison des instructions à l'intérieur du programme (instructions à un, deux ou trois mots). Mot d'état Ecriture : Langage LIST pour SIMATIC S7-300/400 6-10 A5E00706961-01...
M 4.0 //La séquence de programme se poursuit ici après le saut au repère DEBO. M 4.0 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-11 A5E00706961-01...
SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Nota Dans pareil cas, n'utilisez jamais l'opération SPO qui ne testerait de débordement que pour l'opération -I précédente. Langage LIST pour SIMATIC S7-300/400 6-12 A5E00706961-01...
//La séquence de programme se poursuit ici si le saut ne s'exécute pas. SUIV ZERO: La séquence de programme se poursuit ici après le saut au repère ZERO. SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-13 A5E00706961-01...
M 4.1 //La séquence de programme se poursuit ici après le saut au repère DIZE. M 4.1 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-14 A5E00706961-01...
M 4.1 La séquence de programme se poursuit ici après le saut au repère POS. M 4.1 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-15 A5E00706961-01...
M 4.1 //La séquence de programme se poursuit ici après le saut au repère NEG. M 4.1 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-16 A5E00706961-01...
M 4.1 //La séquence de programme se poursuit ici après le saut au repère REG0. M 4.1 SUIV: NOP 0 La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-17 A5E00706961-01...
M 4.1 //La séquence de programme se poursuit ici après le saut au repère RGE0. M 4.1 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-18 A5E00706961-01...
M 4.0 //La séquence de programme se poursuit ici après le saut au repère ERRE. M 4.0 SUIV: NOP 0 //La séquence de programme se poursuit ici après le saut au repère SUIV. Langage LIST pour SIMATIC S7-300/400 6-19 A5E00706961-01...
//Décrémenter le contenu de l'accumulateur 1 et sauter au repère SUIV si l'accumulateur 1-L est supérieur à 0. MW24 //La séquence de programme se poursuit ici après la fin de la boucle. >I Langage LIST pour SIMATIC S7-300/400 6-20 A5E00706961-01...
2 (entiers d 2 bits • Multiplier accumulateur 1 par a ccumulateur 2 (entiers d 2 bits • Diviser accumulateur 2 par accumulateur 1 (entie rs de 32 bits) • Reste de division entière (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
MW14 dans l'accumulateur 1-L. //Additionner l'accumulateur 2-L et l'accumulateur 1-L et sauvegarder le résultat dans l'accumulateur 1-L. DB1.DBW25 //Le contenu de l'accumulateur 1-L (résultat) est transféré au mot de données DBW25 dans DB1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 102
MW14 dans l'accumulateur 1-L. //Soustraire l'accumulateur 1-L de l'accumulateur 2-L et sauvegarder le résultat dans l'accumulateur 1-L. DB1.DBW25 //Le contenu de l'accumulateur 1-L (résultat) est transféré au mot de données DBW25 dans DB1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 103
MW14 dans l'accumulateur 1-L. //Multiplier l'accumulateur 2-L par l'accumulateur 1-L et sauvegarder le résultat dans l'accumulateur 1. DB1.DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 104
//Diviser l'accumulateur 2-L par l'accumulateur 1-L et sauvegarder le résultat dans l'accumulateur 1 : ACCU 1-L : quotient, ACCU 1-H : reste de la division MD20 //Le contenu de l'accumulateur 1 (résultat) est transféré dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 105
1-L avant l'opération (MW14) : "4" Opér ation /I (accumulateur 2-L / accumulateur 1-L) : "13/4" Contenu d e l'accumulateur 1-L après l'opération (quotient) : "3" Cont enu d e l'accumulateur 1-H après l'opération (re ste) : "1" Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Additionner l'accumulateur 2-L à l'accumulateur 1-L et sauvegarder le résultat dans l'accumulateur 1-L. //Additionner l'accumulateur 1-L à 25 et sauvegarder le résultat dans l'accumulateur 1-L. DB1.DBW25 //Transférer le contenu de l'accumulateur 1-L (résultat) au mot de données DBW25 dans DB1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 107
Alors sauter au repère de saut SUIV. Exemple LIST Explication MD20 MD24 //Additionner l'accumulateur 1 à l'accumulateur 2 et sauvegarder le ré sultat dans l'accumulateur 1. #-200 //Additionner l'accumulateur 1 à -200 et sauvegarder le résultat dans l'accumulateur 1. MD28 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
MD14 dans l'accumulateur 1. //Additionner l'accumulateur 2 à l'accumulateur 1 et sauvegarder le résultat dans l'accumulateur 1. DB1.DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB1. Langage LIST pour SIMATIC S7-300/400 7-10 A5E00706961-01...
MD14 dans l'accumulateur 1. //Soustraire l'accumulateur 1 de l'accumulateur 2 et sauvegarder le résultat dans l'accumulateur 1. DB1.DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB1. Langage LIST pour SIMATIC S7-300/400 7-11 A5E00706961-01...
MD14 dans l'accumulateur 1. //Multiplier l'accumulateur 2 par l'accumulateur 1 et sauvegarder le résultat dans l'accumulateur 1. DB1.DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB1. Langage LIST pour SIMATIC S7-300/400 7-12 A5E00706961-01...
Page 111
MD14 dans l'accumulateur 1. //Diviser l'accumulateur 2 par l'accumulateur 1 et sauvegarder le résultat (quotient) dans l'accumulateur 1. MD20 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 7-13 A5E00706961-01...
Page 112
2 avant l'opération (ED10) : "13" Cont enu d e l'accumulateur 1 avant l'opération (MD14) : "4" Opér ation /D (accumulateur 2 / accumulateur 1) : "13/4" Contenu d e l'accumulateur 1 après l'opération (quotient) : "3" Langage LIST pour SIMATIC S7-300/400 7-14 A5E00706961-01...
4 dans l'accumulateur 3. Le contenu de l'accumulateur 4 reste inchangé. Mot d'état ETAT Ecriture : Formation des bits d'état reste -2147483648 <= reste < 2147483647 >= reste > Division par zéro Langage LIST pour SIMATIC S7-300/400 7-15 A5E00706961-01...
Page 114
Contenu de l'accumulateur 2 avant l'opération (ED10) "13" ontenu de l'accumulateur 1 avant l'opération (MD14) : "4" Opér ation /MOD ( accumulateur 2 / accumulateur 1) : "13/4" Contenu de l'accumulateur 1 après l'opération (reste de la division) "1" Langage LIST pour SIMATIC S7-300/400 7-16 A5E00706961-01...
• ASIN Arc sinus d'un nomb re à v irgule flottante (32 bit • ACOS osinus d'un nombre à virgule flottante (32 bits) • ATAN Arc tangente d'un nombre à virgule flottante (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
+1.401298E-45 < résultat < +1.175494E-38 (nombre positif) Débordement résultat < -3.402823E+38 (nombre négatif) Débordement résultat > 3.402823E+38 (nombre positif) Pas un nombre réel correct ou opération illicite (valeur d'entrée hors de la plage de valeurs autorisée) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
4 reste inchangé. Résultat Le résu ltat dans ACCU 1 est B Indication +qNaN +infini Débordement +normalisé +dénormalisé ébordement bas +zéro -zéro -dénormalisé Débordement bas -normalisé -infini Débordement -qNaN Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 118
MD14 dans l'accumulateur 1. //Additionner l'accumulateur 2 et l'accumulateur 1 ; sauvegarder le résultat dans l'accumulateur 1. DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB10. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 119
2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de l'accumulateur 4 reste inchangé. Résultat Le résultat dans ACCU 1 est Indication +qNaN +infini Débordement +normalisé +dénormalisé Débordement bas +zéro -zéro -dénormalisé Débordement bas -normalisé -infini Débordement -qNaN Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 120
MD14 dans l'accumulateur 1. //Soustraire l'accumulateur 1 de l'accumulateur 2 ; sauvegarder le résultat dans l'accumulateur 1. DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB10. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 121
2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de l'accumulateur 4 reste inchangé. Résultat Le résultat dans ACCU 1 est Indication +qNaN +infini Débordement +normalisé +dénormalisé Débordement bas +zéro -zéro -dénormalisé Débordement bas -normalisé -infini Débordement -qNaN Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 122
MD14 dans l'accumulateur 1. //Multiplier l'accumulateur 2 par l'accumulateur 1 et sauvegarder le résultat dans l'accumulateur 1. DBD25 //Le contenu de l'accumulateur 1 (résultat) est transféré au double mot de données DBD25 dans DB10. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Evaluation des bits du mot d'état dans opérations sur nombres ntiers. Résultat Le résultat dans ACCU 1 est Indication +qNaN +infini Débordement +normalisé +dénorma lisé Débordement bas +zéro -zéro -dénormalisé Débordement bas -normalisé -infini Débordement -qNaN Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 124
MD14 dans l'accumulateur 1. //Diviser l'accumulateur 2 par l'accumulateur 1 ; sauvegarder le résultat dans l'accumulateur 1. BD20 //Le contenu de l'accumulateur 1 (résultat) est transféré au double m ot de données DBD20 dans DB10. Langage LIST pour SIMATIC S7-300/400 8-10 A5E00706961-01...
//Charger la valeur dans l'accumulateur 1 (exemple : ED8 = -1.5E+02). //Former la valeur absolue et sauvegarder le résultat dans l'accumulateur 1. MD10 //Transférer le résultat au double mot de mémento MD10 (exemple : résultat = 1.5E+02). Langage LIST pour SIMATIC S7-300/400 8-11 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération SQR. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération SQR. DBD4 //Transférer le résultat de l'accumulateur 1 dans le double mot de données DBD4. Langage LIST pour SIMATIC S7-300/400 8-12 A5E00706961-01...
//Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération SQRT. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. DBD4 //Transférer le résultat de l'accumulateur 1 dans le double mot de données DBD4. Langage LIST pour SIMATIC S7-300/400 8-13 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération EXP. /Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération EXP. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-14 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération LN. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-15 A5E00706961-01...
//Calculer le sinus du nombre à virgule flottante IEEE de 32 bits contenu dans l'accumulate ur 1 et ranger le résultat dans l'accumulateur 1. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-16 A5E00706961-01...
//Calculer le cosinus du nombre à virgule flottante IEEE de 32 bits contenu dans l'accumulateur 1 et ranger le résultat dans l'accumulateur 1. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-17 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération TAN. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération TAN. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-18 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération ASIN. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération ASIN. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-19 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération ACOS. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération ACOS. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-20 A5E00706961-01...
//Sauter au repère OK si aucune erreur n'est apparue lors de l'opération ATAN. //Fin de bloc inconditionnelle si une erreur est apparue lors de l'opération ATAN. MD20 //Transférer le résultat de l'accumulateur 1 dans le double mot de mémento MD20. Langage LIST pour SIMATIC S7-300/400 8-21 A5E00706961-01...
Page 136
Fonctions sur nombres à virgule flottante Langage LIST pour SIMATIC S7-300/400 8-22 A5E00706961-01...
Page 137
Transférer registre d'adresse 1 à l'adresse de destination (32 bits) • TAR1 AR2 Transférer registre d'adresse 1 dans registre d'adresse 2 • TAR2 Transférer registre d'adresse 2 dans l'accumulateur 1 • TAR2 <D> Transférer registre d'adresse 2 à l'adresse de destination (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
; pour é rmine r le déc alag bsol u da ns le loc d onné d’inst ce de locs fonctionnels multi-instance, il faut encore ajouter à cette valeur le conten du registre d’adresse 2.) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 139
à cette valeur le tenu du registre d’adresse 2. après exécution de L P# ANNA <une adresse interzone de la donnée transmise à ANNA> (dans la FC) X = "1" ou "0" Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 140
ETAT Ecriture : Exemple LIST Explication //Charger le contenu du mot d'état dans l'accumulateur 1. Le contenu de l'accumulateur 1 après exécution de L STW est le suivant : Bits 31-9 Contenu : ETAT Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Cette opération charge dans le registre d'adresse 1 (AR1) le contenu de l'accumulateur 1 (32 bits). L'accumulateur 1 et l'accumulateur 2 restent inchangés. L'opération s'exécute sans ten compte des bits du mot d'état ni influer sur eux. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 142
MD 24 //Charger dans AR1 le pointeur figurant dans le double mot de mémento MD24. xemple : Cons nte pointeur LIST Explication LAR1 P#M100.0 //Charger une constante de pointeur de 32 bits dans AR1. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
LAR2 charge dans le registre d'adresse 2 (AR2) le contenu de l'accumulateur 1 (32 bits). L'ac cumulateur 1 et l'accumulateur 2 restent inchangés. L'opération s'exécute sans tenir ompte des bits du mot d'état ni influer sur eux. M t d'é ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 144
D 24 //Charger dans AR2 le p ointeur figurant dans le double mot de mémento MD24. Exemple : Constante pointeur LIST Explication LAR2 P#M100.0 //Charger une constante de pointeur de 32 bits dans AR2. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Transférer le contenu de l'accumulateur 1-L-L dans l'octet de sortie AB10. MW14 //Transférer le contenu de l'accumulateur 1-L dans le mot de mémento MW14. DBD2 //Transférer le contenu de l'accumulateur 1 dans le double mot de données DBD2. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
//Transférer les bits 0 à 8 de l'accumulateur 1 dans le mot d'état. es bits da ns l'accumul ur 1 c onti ennent les bits d'état suivants : 31-9 8 Contenu ETAT * Ces bits ne sont pas transférés. Langage LIST pour SIMATIC S7-300/400 9-10 A5E00706961-01...
TAR1 transfère le contenu du registre d'adresse 1 (AR1) dans l'accumulateur 1 (32 bits). Le contenu de l'accumulateur 1 a auparavant été rangé dans l'accumulateur 2. L'opération s'exécute sans tenir compte des bits du mot d'état ni influer sur eux. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 9-11 A5E00706961-01...
Page 148
//Transférer le contenu de AR1 dans le double mot d'instance DID30. TAR1 LD18 //Transférer le contenu de AR1 dans le double mot de données locales LD18. TAR1 MD24 //Transférer le contenu de AR1 dans le double mot de mémento MD24. Langage LIST pour SIMATIC S7-300/400 9-12 A5E00706961-01...
AR2 transfère le contenu du registre d'adresse 2 (AR2) dans l'accumulateur 1 (32 bits). Le contenu de l'accumulateur 1 a auparavant été sauvegar dé dans l'accumulateur 2. L'opération s'exécute sans tenir compte des bits du mot d'état ni influer sur eux. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 9-13 A5E00706961-01...
AR2 dans le double mot d'instance DID30. TAR2 LD18 //Tr ansférer le contenu de AR2 dans le double mot de données locales LD18. TAR2 MD24 //Tr ansférer le contenu de AR2 dans le double mot de mémento MD24. Langage LIST pour SIMATIC S7-300/400 9-14 A5E00706961-01...
• Remarques importantes sur l'utilisation de la fonctionnalité MCR • MCR( Sauvegarder RLG dans pile MCR, début de zone MCR • )MCR Fin de zone MCR • MCRA Activer la zone MCR • MCRD Désactiver la zone MCR Langage LIST pour SIMATIC S7-300/400 10-1 A5E00706961-01...
//Saut au repère de saut SUIV si le résultat logique égale 1 (E 1.0 = 1). //Poursuivre ici si le saut ne s'exécute pas. EW10 E 6.0 E 6.1 //Fin de bloc. SUIV: NOP 0 //Poursuivre ici si le saut s'exécute. Langage LIST pour SIMATIC S7-300/400 10-2 A5E00706961-01...
ETAT Ecriture : Exemple LIST Explication E 1.0 //Actualiser le RLG. //Terminer le bloc si le RLG égale 1. //Pou rsuivre ici si l'instruction BEB ne s'exécute pas (RLG égal à 0). MW10 Langage LIST pour SIMATIC S7-300/400 10-3 A5E00706961-01...
//Saut au repère de saut SUIV si le résultat logique RLG égale 1 (E 1.0 = //Pour suivre ici le saut ne s'exécute pas. EW1 0 E 6.0 E 6 .1 12.0 //Fin de bloc inconditionnelle. SUIV: NOP 0 //Poursuivre ici si le saut s'exécute. Langage LIST pour SIMATIC S7-300/400 10-4 A5E00706961-01...
Cette opération permet l'appel des fonctions (FC) et blocs fonctionnels (FB) ou celui des fonctions standard (SFC) et blocs fonctionnels standard (SFB) livrés par Siemens. CALL appelle la FC, le FB, la SFC ou le SFB que vous avez indiqué en opérande, et ce indép...
Page 156
//Appeler SFC43 pour redémarrer la surveillance du temps (sans paramètre) Exemple 3 : Appel du FB99 avec le bloc de données d'instance DB1 CALL FB99,DB1 Paramètre formel Paramètre effecti MAX_RPM := #RPM1_MAX MIN_RPM := #RPM2 MAX_POWER := #POWER MAX_TEMP := #TEMP Langage LIST pour SIMATIC S7-300/400 10-6 A5E00706961-01...
Page 157
Chaque appel de bloc fonctionnel ou de bloc fonctionnel système nécessite un bloc de donnée s d'in stance. Dan s l'exemple ci-dessus, les blocs DB1 et DB2 doivent être présents avant l ppel. Langage LIST pour SIMATIC S7-300/400 10-7 A5E00706961-01...
MA dans la pile des blocs. Elle désactive en outre la relation de dépendance par rapport au MCR et définit la zone de données locales du bloc qui doit être appelé. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 10-8 A5E00706961-01...
Page 159
:= #RPM2 MAX_POWER := #POWER2 MAX_TEMP := #TEMP2 Nota Chaque appel de bloc fonctionnel nécessite un bloc de données d'instance. Dans l'exemple ci-dessus, les blocs DB1 et DB2 doivent être présents avant l'appel. Langage LIST pour SIMATIC S7-300/400 10-9 A5E00706961-01...
Exemple : Affectation de paramètres à l'appel de la fonction FC6 CALL Paramètre formel Paramètre effectif NO OF TOOL := MW100 TIME OUT := MW110 FOUND := A 0.1 ERROR := A 100.0 Langage LIST pour SIMATIC S7-300/400 10-10 A5E00706961-01...
MA dans la pile des blocs. Elle désactive en outre la relation de dépendance par rapport au MCR et définit la zone de données locales du bloc qui doit être appelé. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 10-11 A5E00706961-01...
Page 162
Paramètre formel Paramètre effectif E0.1 T#20s M0.0 MW10 Nota Chaque appel de bloc fonctionnel nécessite un bloc de données d'instance. Dans l'exemple ci-dessus, les blocs SFB4 et DB4 doivent être présents avant l'appel. Langage LIST pour SIMATIC S7-300/400 10-12 A5E00706961-01...
Descrip tion de l'opération Cette opération permet l'appel de fonctions standard (SFC) livrées par Siemens. CALL appelle la SFC que vous avez indiquée en opérande, et ce indépendamment du RLG ou de toute autre condition. Une fois le bloc appelé traité, le programme se poursuit dans le bloc appelant. Vous pouvez indiquer l' identificateur de bloc sous forme absolue ou symbolique.
CPU (bibliothèque "Standard Library") ; • que vous avez rangés vous-même dans des bibliothèques parce que vous avez l'intention de les utiliser plusieurs fois. Langage LIST pour SIMATIC S7-300/400 10-14 A5E00706961-01...
CONT (schéma à contacts) en langage de programmation LIS (liste d'instructions). Utilisez, en règle générale, l'opération CALL pour que des erreurs n'apparaissent pas dans les programmes que vous avez créés. Langage LIST pour SIMATIC S7-300/400 10-15 A5E00706961-01...
CONT (schéma à contacts) en langage de programmation LIST (liste d'instructions). Utilisez, en règle générale, l'opération CALL pour que des erreurs n'apparaissent pas dans les programmes que vous avez créés. Langage LIST pour SIMATIC S7-300/400 10-16 A5E00706961-01...
MCRA-MCRD ne dépendent pas de l'état de signal de ce bit. Vous devez programmer la relation de dépendance au MCR des fonctions (FC) et des blocs fonctionnels (FB) dans les blocs eux-mêmes en utilisant l'opération MCRA dans le bloc appelé. Langage LIST pour SIMATIC S7-300/400 10-17 A5E00706961-01...
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. Langage LIST pour SIMATIC S7-300/400 10-18 A5E00706961-01...
Page 169
La pile peut, par conséquent, contenir huit entrées au maximum . Si l'opération MCR( est exécutée à pile plein e, une erreur de pile MCR (MCRF) est alors ignalée Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 10-19 A5E00706961-01...
Page 170
0 est transférée dans AW10. )MCR //Mettre fin à la zone MCR. MCRD //Désactiver la zone MCR. E 1.1 A 8.1 //Ces instructions sont à l'extérieur de la zone MCR et ne dépendent pas du bit MCR. Langage LIST pour SIMATIC S7-300/400 10-20 A5E00706961-01...
//Si le MCR est hors fonction, la valeur 0 est transférée dans AW10. )MCR //Mettre fin à la zone MCR. MCRD //Désactiver la zone MCR. E 1.1 A 8.1 //Ces instructions sont à l'extérieur de la zone MCR et ne dépendent pas du bit MCR. Langage LIST pour SIMATIC S7-300/400 10-21 A5E00706961-01...
//Si le MCR est hors fonction, la valeur 0 est transférée dans AW10. )MCR //Mettre fin à la zone MCR. MCRD //Désactiver la zone MCR. E 1.1 A 8.1 //Ces instructions sont à l'extérieur de la zone MCR et ne dépendent pas du bit MCR. Langage LIST pour SIMATIC S7-300/400 10-22 A5E00706961-01...
)MCR //Mettre fin à la zone MCR. MCRD //Désactiver la zone MCR. E 1.1 A 8.1 //Ces instructions sont à l'extérieur de la zone MC R et ne dépendent pas du bit MCR. Langage LIST pour SIMATIC S7-300/400 10-23 A5E00706961-01...
Page 174
Opérations de gestion d'exécution de programme Langage LIST pour SIMATIC S7-300/400 10-24 A5E00706961-01...
Décalage vers la gauche d'un mot (16 bits) • SRW Décalage vers la droite d'un mot (16 bits) • SLD Décalage vers la gauche d'un double mot (32 bits) • SRD Décalage vers la droite d'un double mot (32 bits) Langage LIST pour SIMATIC S7-300/400 11-1 A5E00706961-01...
16#FFFF, BI1 = 1. Si le nombre de bits de décalage est supérieur à 0, les bits d'état BI0 et DEB sont mis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-2 A5E00706961-01...
Page 177
1-L, signe inclus, de 3 positions vers la droite, mettre les positions libérées à l'état de signal du bit de signe. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-3 A5E00706961-01...
1 = 32#FFFFFFFF, BI1 = 1. Si le nombre de bits de décalage est supérieur à 0, les bits d'état BI0 et DEB sont mis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-4 A5E00706961-01...
Page 179
1, signe inclus, de 3 positions vers la droite, mettre les positions libérées à l'état de signal du bit de signe. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-5 A5E00706961-01...
<= 16, les bits d'état BI0 et DEB sont mis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-6 A5E00706961-01...
Page 181
//Le nombre pour le décalage égale la valeur de l'accumulateur 2-L-L => décaler les bits dans l'accumulateur 1-L de 3 positions vers la gauche. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-7 A5E00706961-01...
<= 16, les bits d'état BI0 et DEB sont mis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état Ecriture : Langage LIST pour SIMATIC S7-300/400 11-8 A5E00706961-01...
Page 183
//Le nombre pour le décalage égale la valeur de l'accumulateur 2-L-L => décal les bits dans l'accumulateur 1-L de 3 positions vers la droite. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-9 A5E00706961-01...
<= 32, les bits d'état BI0 et DEB sont mis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-10 A5E00706961-01...
Page 185
//Le nombre pour le décalage égale la valeur de l'accumulateur 2-L-L => décaler les bits dans l'accumulateur 1 de 3 positions vers la gauche. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-11 A5E00706961-01...
<= 32, les bits BI0 et DEB sont remis à 0. Si le nombre de bits de décalage égale 0, l'opération de décalage s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-12 A5E00706961-01...
Page 187
//Le nombre pour le décalage égale la valeur de l'accumulateur 2-L-L => décaler les bits dan s l'accumulateur 1 de 3 positions vers la droite. SUIV //Sauter au repère de saut SUIV si le dernier bit décalé (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-13 A5E00706961-01...
Rotation vers la droite d'un double mot (32 bits) • RLDA Rotation ve rs la gauche de l'accumulateur 1 via BI1 (32 bits) • R Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits) Langage LIST pour SIMATIC S7-300/400 11-14 A5E00706961-01...
2-L-L est supérieur à zéro. Si le nombre de bits objet de la rota tion égale 0, l'opération de rotation s'exécute comme une opératio n NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-15 A5E00706961-01...
Page 190
//Le nombre pour la rotation égale la valeur de l'accumulateur 2-L-L => effectuer la rotation des bits dans l'accumulateur 1 de 3 positions vers la gauche. SUIV //Sauter au repère de saut SUIV si le dernier bit objet de la rotation (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-16 A5E00706961-01...
à 0, les bits B I0 et DEB sont mis à 0. Si le nombre de b its de rotation égale 0, pération de rotation s'exécute comme une opération NOP. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 11-17 A5E00706961-01...
Page 192
1 de 3 positions vers la droit SUIV //Sauter au père de saut SUIV si le d t obje t de la r otatio (BI1) égale Langage LIST pour SIMATIC S7-300/400 11-18 A5E00706961-01...
//Effectuer la rotation des bits dans l'accumulateur 1 d'une position vers la gauche via BI1. SUIV //Sauter au repère de saut SUIV si le dernier bit objet de la rotation (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-19 A5E00706961-01...
//Effectuer la rotation des bits dans l'a ccumulateur 1 d'une position vers la droite via BI1. SUIV //Sauter au repère de saut SUIV si le dernier bit objet de la rotation (BI1) égale 1. Langage LIST pour SIMATIC S7-300/400 11-20 A5E00706961-01...
Temporisation sous forme d'impulsion prolongée • SE Temporisation sous forme de retard à la montée • SS Temporisation sous forme de retard à la montée mémorisé • SA Temporisation sous forme de retard à la retombée Langage LIST pour SIMATIC S7-300/400 12-1 A5E00706961-01...
La valeur de temps maximale que vous pouvez indiquer est égale à 9 990 secondes ou 2H_46M_30S. Exemp les : S5TIME#4S = 4 secon s5t#2h_15m = 2 heures et 15 minutes S5T#1H_12M_18S = 1 heure, 12 minutes et 18 secondes Langage LIST pour SIMATIC S7-300/400 12-2 A5E00706961-01...
Page 197
La sortie DUAL fournit la valeur de temps en format binaire. La sortie DEZ fournit la base de temps et la valeur de temps en format décimal codé binaire (DCB). Langage LIST pour SIMATIC S7-300/400 12-3 A5E00706961-01...
Page 198
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. Langage LIST pour SIMATIC S7-300/400 12-4 A5E00706961-01...
//Remettre la temporisation T1 à zéro. //Interroger l'état de signal de la temporisation T1. A 4.0 //Charger la valeur de temps en cours de la temporisation T1 sous forme de nombre binaire. MW10 Langage LIST pour SIMATIC S7-300/400 12-5 A5E00706961-01...
Page 200
RLG à l'entrée de E 2.2 remise à zéro Réaction de la temporisation Interroger l'état de signal A 4.0 à la sortie de la temporisation. Charger la temporisation: t = durée progra ée Langage LIST pour SIMATIC S7-300/400 12-6 A5E00706961-01...
1 dans l'accumulateur 2. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-7 A5E00706961-01...
Page 202
1-L et non la base de temps. La valeur de temps chargée est la valeur initiale e la temporisation moins le temps qui s'est écoulé depuis le démarrage de la fonction de tempori sation. Langage LIST pour SIMATIC S7-300/400 12-8 A5E00706961-01...
Cette opération charge, comme nombre DCB dans l'accumulateur 1, la valeur de temps et la base de temps figurant dans le mot de temporisation indiqué, et ce après sauvegarde préalable du contenu de l'accumulateur 1 dans l'accumulateur 2. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-9 A5E00706961-01...
Page 204
1-L après l'instruction LC T1 Base de temps Centaines Dizaines Unités 00 = 10 ms 01 = 100 ms 10 = 1 s Valeur de temps en format DCB 11 = 10 s Langage LIST pour SIMATIC S7-300/400 12-10 A5E00706961-01...
RLG passe de 0 à 1. Mot d'état ETAT Ecriture : Exemple LIST Explication E 2.1 //Interroger l'état de signal à l'entrée E 2.1. Si le RLG passe de 0 à 1, remettre la temporisation T1 à zéro. Langage LIST pour SIMATIC S7-300/400 12-11 A5E00706961-01...
DCB dans l'accumulateur 1-L. Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-12 A5E00706961-01...
Page 207
//Charger la valeur de temps en cours de la temporisation T1 en format DCB. MW12 E 2.0 Validation Démarrage E 2.1 Mise à zéro E 2.2 Temporisation Sortie A 4.0 Chargement d e la temporisa tion , LC t = durée programmée Langage LIST pour SIMATIC S7-300/400 12-13 A5E00706961-01...
1 avant que la durée programmée n'ait expiré, le temps redémarre. La valeur de temps et la base de temps doivent figurer en format DCB dans l'accumulateur 1-L pour que la temporisation démarre. Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-14 A5E00706961-01...
Page 209
//Charger la valeur de temps en cours de la temporisation T1 en format DCB. MW12 E 2.0 Validation E 2.1 Démarrage E 2.2 Mise à zéro Temporisation ortie A 4.0 Chargement de la temporisation : L, LC t = durée programmée Langage LIST pour SIMATIC S7-300/400 12-15 A5E00706961-01...
1-L en format DCB. Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-16 A5E00706961-01...
Page 211
//Charger la valeur de temps en cours de la temporisation T1 en format DCB. MW12 E 2.0 Validation E 2.1 Démarrage E 2.2 ise à zéro Temporisation A 4.0 Sortie Chargement de la temporisation : L, LC t = durée programmée Langage LIST pour SIMATIC S7-300/400 12-17 A5E00706961-01...
Page 212
à 1 avant que cette durée n'ait expiré, le temps redémarre. La valeur de temps et la base de temps doivent figurer en format DCB dans l'accumulateur 1-L pour que la temporisation démarre. Voir aussi Adresse d´une temporisation en mémoire et composants d´une temporisation. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-18 A5E00706961-01...
Page 213
//Charger la valeur de temps en cours de la temporisation T1 en format DCB. MW12 E 2.0 Validation Démarrage E 2.1 Mise à zéro E 2.2 Temporisation A 4.0 Sortie Chargement de la temporisation : L, LC t = durée programmée Langage LIST pour SIMATIC S7-300/400 12-19 A5E00706961-01...
La valeur de temps et la base de temps doivent figurer en format DCB dans l'accumulateur 1-L pour que la temporisation démarre. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 12-20 A5E00706961-01...
Page 215
//Charger la valeur de temps en cours de la temporisation T1 en format DCB. MW12 E 2.0 Validation E 2.1 E 2.2 Temporisation A 4.0 Sortie Chargement de la temporisation : L, LC Langage LIST pour SIMATIC S7-300/400 12-21 A5E00706961-01...
Page 216
Opérations de temporisation Langage LIST pour SIMATIC S7-300/400 12-22 A5E00706961-01...
Page 217
OU mot (16 bits) • XOW OU exclusif mot (16 bits) • UD ET double mot (32 bits) • OD OU double mot (32 bits) • XOD OU exclusif double mot (32 bits) Langage LIST pour SIMATIC S7-300/400 13-1 A5E00706961-01...
Les bits d'état BI0 et DEB sont mis à 0. UW : combine l'accumulateur 1-L à l'accumulateur 2-L. UW <constante> : combine l'accumulateur 1-L à une constante de 16 bits. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-2 A5E00706961-01...
Page 219
16 bits (00 00_1111_1111_1111) selon la table de vérité ET ; ranger le résultat dans l'accumulateur 1-L. SUIV //Sauter au repère de saut SUIV si le résultat est différent de 0 (BI1 égale 1). Langage LIST pour SIMATIC S7-300/400 13-3 A5E00706961-01...
Les bits d'état BI0 et DEB sont mis à 0. OW : combine l'accumulateur 1-L à l'accumulateur 2-L. OW <constante> : combine l'accumulateur 1-L à une constante de 16 bits. Mot d'ét ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-4 A5E00706961-01...
Page 221
16 bits (0000_1111_1111_1111) selon la table de vérité OU ; ranger le résultat dans l'accumulateur 1-L. SUIV //Sauter au repère de saut SUIV si le résultat est différent de 0 (BI1 égale Langage LIST pour SIMATIC S7-300/400 13-5 A5E00706961-01...
égal à "1", lorsqu'un nombre impair des opérandes interrogés fou rnit le résultat "1". XOW : combine l'accumulateur 1-L à l'accumulateur 2-L. W <constante> : combine l'accumulateur 1-L à une constante de 16 bits. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-6 A5E00706961-01...
Page 223
1-L au profil binaire de la constante 16 bits (0000_1111_1111_1111) selon la table de vérité OU exclusif ; ranger résultat dans l'accumulateur 1-L. SUIV Sauter au repère de saut SUIV si le résultat est différent de 0 (BI1 égale Langage LIST pour SIMATIC S7-300/400 13-7 A5E00706961-01...
Les bits d'état BI0 et DEB sont mis à 0. UD : combine l'accumulateur 1 à l'accumulateur 2. UD <constante> : combine l'accumulateur 1 à une constante de 32 bits. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-8 A5E00706961-01...
Page 225
1 au profil binaire de la constante de bits (0000_1111_1111_1111_1110_1111_0010_0001) selon la table de vérité ; ranger le résultat dans l'accumulateur 1. SPP SUIV auter au repère de saut SUIV si le résultat est différent de 0 (BI1 égale Langage LIST pour SIMATIC S7-300/400 13-9 A5E00706961-01...
Les bits d'état BI0 et DEB sont mis à 0. OD : combine l'accumulateur 1 à l'accumulateur 2. OD <constante> : combine l'accumulateur 1 à une constante de 32 bits. Mot d'ét ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-10 A5E00706961-01...
Page 227
32 bits (0000_1111_1111_1111_1110_1111_0010_0001) selon la table de vérité OU ; ranger le résultat dans l'accumulateur 1. SUIV //Sauter au repère de saut SUIV si le résultat est différent de 0 (BI1 égale 1). Langage LIST pour SIMATIC S7-300/400 13-11 A5E00706961-01...
égal à "1", lorsqu'un nombre impair des opérandes interrogés fournit le résultat "1". XOD : combine l'accumulateur 1 à l'accumulateur 2. XOD <constante> : combine l'accumulateur 1 à une constante de 32 bits. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 13-12 A5E00706961-01...
Page 229
32 bits (0000_1111_1111_111 1_1111_1110_0010_0001) selon la table de vérité OU exclusif ; ranger le résultat dans l'accumulateur 1. //Sauter au repère de saut SUI V si le résultat est différent de 0 (BI1 égale 1). Langage LIST pour SIMATIC S7-300/400 13-13 A5E00706961-01...
Page 230
Opérations combinatoires sur mots Langage LIST pour SIMATIC S7-300/400 13-14 A5E00706961-01...
1 au regi stre d'adresse 1 • +AR2 Additionner accumulateur 1 au registre d'adresse 2 • BLD Opération de composition d'image (opération nulle) • NOP 0 Opération nulle • NOP 1 Opération nulle Langage LIST pour SIMATIC S7-300/400 14-1 A5E00706961-01...
Page 232
MW14. Contenu ACCU 1 ACCU 2 Avant exécution de l'opération TAK <MW12> <MW10> Après exécution de l'opération TAK <MW 10 > <MW 12 > Langage LIST pour SIMATIC S7-300/400 14-2 A5E00706961-01...
//Charger le contenu du mot de mémento MW10 dans l'accumulateur 1. PUSH //Copier le contenu total de l'accumulateur 1 dans l'accumulateur 2. Contenu ACCU 1 ACCU 2 Avant exécution de l'opération PUSH <MW10> <X> Après exécution de l'opération PUSH <MW10> < MW10 > Langage LIST pour SIMATIC S7-300/400 14-3 A5E00706961-01...
ACCU 1 ACCU 2 ACCU 3 ACCU 4 Avant exécution de l'opération PUSH valeur A valeur B valeur C valeur D Après exécution de l'opération PUSH valeur A valeur A valeur B valeur C Langage LIST pour SIMATIC S7-300/400 14-4 A5E00706961-01...
/Transférer le contenu de l''accumulateur 1 (= valeur B) dans le double mot e mémento MD14. Contenu ACCU 1 ACCU 2 Avant ex écution de l'op ération POP valeur A valeur B Après exécution de l'opération POP valeur B valeur B Langage LIST pour SIMATIC S7-300/400 14-5 A5E00706961-01...
ACCU 1 ACCU 2 ACCU 3 ACCU 4 Avant exécution de l'opération POP valeur A valeur B valeur C valeur D Après exécution de l'opération POP valeur B valeur C valeur D valeur D Langage LIST pour SIMATIC S7-300/400 14-6 A5E00706961-01...
4 dans l'accumulateur 3. Si vous programmez l'opération LEAVE directement avant une opération de décalage ou de rotation qui combine les accumulateurs, LEAVE agit comme une opération arithmétique. Les contenus des accumulateurs 1 et 4 restent inchangés. Langage LIST pour SIMATIC S7-300/400 14-7 A5E00706961-01...
LIST Explication MB22 //Charger la valeur de MB22. //Incrémenter d'1 l’accumulateur 1 (MB 22), sauvegarder le résultat dans l'accumulateur 1-L-L. MB22 //Retransférer le contenu de l'accumulateur 1-L-L (résultat) dans l'octet de mémento MB22. Langage LIST pour SIMATIC S7-300/400 14-8 A5E00706961-01...
Ecriture : LIST Explication MB250 //Charger la valeur de MB250. //Décrémenter d'1 l’accumulateur 1-L-L, sauvegarder le résultat dans l'accumulateur 1-L-L. MB250 //Retransférer le contenu de l'accumulateur 1-L- L (résultat) dans l'octet de mémento MB250 Langage LIST pour SIMATIC S7-300/400 14-9 A5E00706961-01...
//Charger la valeur dans l'accumulateur 1-L. +AR1 //Additionner l'accumulateur 1-L (entier de 16 bits) au registre d'adresse 1. Exemple 2 LIST Explication +AR1 P#300 //Ad diti onne r le déc alag e 30 0.0 au egist d'adr esse Langage LIST pour SIMATIC S7-300/400 14-10 A5E00706961-01...
Explication +300 //Charger la valeur dans l'accumulateur 1-L. +AR2 //Additionner l'accumulateur 1-L (entier de 16-bits) au registre d'adresse 2. Exemple 2 LIST Explication +AR2 P#300.0 //Additionner le décalage 300.0 au registre d'adresse 2. Langage LIST pour SIMATIC S7-300/400 14-11 A5E00706961-01...
Cette opération n'exécute aucune fonction et n'influe pas sur les bits du mot d'état. Le code d'opération contient un profil binaire de 16 zéros. L'opération ne revêt d'importance que pour la console de programmation lorsqu'un programme est affiché. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 14-12 A5E00706961-01...
Cette opération n'exécute aucune fonction et n'influe pas sur les bits du mot d'état. Le code d'opération contient un profil binaire de 16 uns. L'opération ne revêt d'importance que pour la console de programmation lorsqu'un programme est affiché. Mot d'état ETAT Ecriture : Langage LIST pour SIMATIC S7-300/400 14-13 A5E00706961-01...
Page 244
Opérations sur les accumulateurs Langage LIST pour SIMATIC S7-300/400 14-14 A5E00706961-01...
à virgule flottante Fonction sur Valeur absolue d'un nombre à virgule flottante (VF IEEE, nombres à virgule 32 bits) flottante ACOS ACOS Fonction sur Arc cosinus d'un nombre à virgule flottante (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 246
Convertir entier de 32 bits en réel (VF IEEE 32 bits) Chargement/ Entrer dans pile accumulateur Transfert Fonction sur Valeur exponentielle d'un nombre à virgule flottante (32 bits) nombres à virgule flottante Combinaison sur Front descendant bits Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 247
0 à 255, par exemple : LC T 32) LEAVE LEAVE Accumulateurs Quitter pile accumulateur Fonction sur Logarithme naturel d'un nombre à virgule flottante (32 bits) nombres à virgule flottante LOOP LOOP Sauts Boucle de programme Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 248
0 à 255, par exemple :R T –R –R Fonction sur Soustraire accumulateur 1 de accumulateur 2 (réels VF IEEE, nombres à virgule 32 bits) flottante Décalage/Rotation Rotation vers la gauche d'un double mot (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 249
Carré d'un nombre à virgule flottante (32 bits) nombres à virgule flottante SQRT SQRT Fonction sur Racine carrée d'un nombre à virgule flottante (32 bits) nombres à virgule flottante Décalage/Rotation Décalage vers la droite d'un double mot (32 bits) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 250
ET double mot mots Combinaison sur ET NON bits Combinaison sur ET NON d'une expression bits Combinaison sur ET mot (16 bits) mots Combinaison sur OU exclusif bits Combinaison sur OU exclusif d'une expression bits Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 251
Combinaison sur OU NON exclusif bits Combinaison sur OU NON exclusif d'une expression bits Combinaison sur OU exclusif double mot (32 bits) mots Combinaison sur OU exclusif mot (16 bits) mots Compteurs Décrémenter Compteurs Incrémenter Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Valeur absolue d'un nombre à virgule flottante nombres à virgule (VF IEEE, 32 bits) flottante ACOS ACOS Fonction sur Arc cosinus d'un nombre à virgule flottante (32 bits) nombres à virgule flottante Combinaison sur ET double mot mots Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 253
Décrémenter Blocs de données Permuter DB global et DB d'instance Combinaison sur Mettre RLG à 0 bits Fonction sur Cosinus d'angles comme nombres à virgule flottante (32 bits) nombres à virgule flottante Compteurs Incrémenter Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 254
Saut si supérieur ou égal à 0 Sauts Saut inconditionnel Sauts Saut si illicite Sauts Saut si égal à 0 Accumulateurs Charger L STW L STW Chargement/ Charger mot d'état dans l'accumulateur 1 Transfert Langage LIST pour SIMATIC S7-300/400 A-10 A5E00706961-01...
Page 255
MCRD MCRD Gestion Désactiver la zone MCR d'exécution de programme Fonction sur Reste de division entière (32 bits) nombres entiers NEGD NEGD Conversions Complément à 2 d'entier de 32 bits Langage LIST pour SIMATIC S7-300/400 A-11 A5E00706961-01...
Page 256
0 à 255, par exemple : S Z 15) SAVE SAVE Combinaison sur Sauvegarder RLG dans le bit RB bits Temporisations Temporisation sous forme de retard à la montée Langage LIST pour SIMATIC S7-300/400 A-12 A5E00706961-01...
Page 257
(32 bits) TRUNC TRUNC Conversions Arrondir par troncature Gestion Appel de bloc inconditionnel d'exécution de programme Combinaison sur OU exclusif bits Combinaison sur OU exclusif d'une expression bits Combinaison sur OU NON exclusif bits Langage LIST pour SIMATIC S7-300/400 A-13 A5E00706961-01...
Page 258
Catalogue des Description anglaise allemande éléments de programme Combinaison sur OU NON exclusif d'une expression bits Combinaison sur OU exclusif double mot (32 bits) mots Combinaison sur OU exclusif mot (16 bits) mots Langage LIST pour SIMATIC S7-300/400 A-14 A5E00706961-01...
OU, OU NON Combinaison sur bits Affectation Accumulateurs Incrémenter accumulateur 1 BE, BEB Gestion d'exécution de programme Fin de bloc, Fin de bloc conditionnelle L, T Chargement/Transfert Charger, Transférer Temporisations Temporisation sous forme d’impulsion prolongée Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
E 1.5 E 1.5 Moteur A 4.0 MOTEUR_MAR A 4.0 MOTEUR_MAR Programme absolue Programme symbolique E 1.1 E 1.3 A 4.0 MOTOR_MAR E 1.2 E 1.4 ON E 1.5 ON S5 A 4.0 MOTOR_MAR Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 261
A 4.0 DROITE la droite Affichage pour mouvement vers A 4.1 GAUCHE A 4.1 GAUCHE la gauche Mémento de cadence 1 M 0.0 M 0.0 MP1 Mémento de cadence 2 M 0.1 M 0.1 MP2 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 262
M 0.1 E 0.0 A 4.0 E 0.0 //Si aucune des barrières photoélectriques n’est interrompue, aucun paquet ne se trouve entre les barrières. L’indicateur de sens se désactive. E 0.1 A 4.0 A 4.1 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Le contenu de l’octet de mémento MB100 change toutes les 250 ms de la manière suivante : 0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ... Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 264
M100.1 A 4.0 Etat de signal des bits de l’octet de mémento MB101 Cycle Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valeur de temps (ms) Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 265
Etat de signal du bit 1 du MB101 (M 101.1) Fréquence = 1/T = 1/1 s = 1 Hz M 101.1 Temps 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
(A 12.0) (A 12.1) (A 15.2) (A15.3) (A15.4) Espace de E 12.0 E 12.1 Paquets arrivants Paquets sortants stockage temporaire pour 100 paquets Tapis roulant 1 Tapis roulant 2 Barrière photoélectrique 1 Barrière photoélectrique 2 Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 267
//Si la valeur du compteur est supérieure ou égale à 100, A 4.4 //la lampe de signalisation « Espace de stockage plein » s’allume (vous pouvez également bloquer le tapis roulant 1 via la sortie A 4.4). Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
1 et ranger le résultat dans l’accumulateur 1. Le contenu de l’accumulateur 2 reste inchangé. //Transférer le résultat final dans le double mot de mémento MD4. Le contenu des deux accumulateurs reste inchangé. Langage LIST pour SIMATIC S7-300/400 B-10 A5E00706961-01...
//Affecter la base de temps en secondes dans les bits 12 et 13 du mot de poids faible de l’accumulateur 1. E 0.7 //Démarrer la temporisation T1 sous forme d’impulsion prolongée lorsque le bouton-poussoir est enfoncé. Langage LIST pour SIMATIC S7-300/400 B-11 A5E00706961-01...
Page 270
Exemples de programmation Langage LIST pour SIMATIC S7-300/400 B-12 A5E00706961-01...
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. Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 272
Transmission de paramètres Langage LIST pour SIMATIC S7-300/400 A5E00706961-01...
Page 273
BTI ............... 3-2 Additionner accumulateur 1 au registre d'adresse 2........... 14-11 Additionner accumulateurs 1 et 2 (entiers de 16 bits) ........7-3 Additionner accumulateurs 1 et 2 (entiers de 32 bits) ......... 7-10 Langage LIST pour SIMATIC S7-300/400 Index-1 A5E00706961-01...
Page 274
Opérations combinatoires sur bits....B-2 Convertir entier de 32 bits en réel Exemples de programmation.......B-1 (VF IEEE 32 bits) ........3-7 EXP............8-14 COS ............8-17 Cosinus d'un angle comme nombres à virgule flottante (32 bits)...... 8-17 Langage LIST pour SIMATIC S7-300/400 Index-2 A5E00706961-01...
Page 275
LOOP............6-20 les abréviations allemandes (SIMATIC)...A-1 Opérations LIST classées d'après les abréviations anglaises (internationales) ..............A-8 OPN = AUF ..........5-2 OU..............1-5 OU double mot (32 bits)......13-10 OU d'une expression ......... 1-11 Langage LIST pour SIMATIC S7-300/400 Index-3 A5E00706961-01...
Page 276
Rotation vers la droite de l'accumulateur 1 SPB.............. 6-5 via BI1 (32 bits) ........11-20 SPBB ............6-7 Rotation vers la gauche de l'accumulateur 1 SPBI............. 6-9 via BI1 (32 bits) ........11-19 SPBIN ............6-10 Langage LIST pour SIMATIC S7-300/400 Index-4 A5E00706961-01...
Page 277
(32 bits)......9-12 de données..........5-1 Transférer registre d'adresse 1 Vue d'ensemble des opérations sur les dans l'accumulateur 1 ......9-11 accumulateurs ........14-1 Transférer registre d'adresse 1 dans registre d'adresse 2..........9-13 Langage LIST pour SIMATIC S7-300/400 Index-5 A5E00706961-01...