Présentation du micro-automate
S7-200 1
Installation d’un micro-automate
S7-200 2
Installation et utilisation du logiciel
SIMATIC STEP 7-Micro/WIN 3
Initiation avec un programme-
exemple 4
Automate programmable Nouvelles fonctions de
5
STEP 7-Micro/WIN
S7-200
Concepts fondamentaux pour la
programmation d’une CPU S7-200 6
Mémoire de la CPU 7
Manuel système
Annexes
Caractéristiques techniques du
S7-200 A
Codes d’erreur C
Mémentos spéciaux D
Utilisation de STEP 7-Micro/WIN
avec STEP 7 et STEP 7-Micro/DOS E
Temps d’exécution pour les
opérations LIST F
Danger
! signifie que la non-application des mesures de sécurité appropriées conduit à la mort, à des
lésions corporelles graves ou à un dommage matériel important.
Attention
! signifie que la non-application des mesures de sécurité appropriées peut conduire à la mort, à
des lésions corporelles graves ou à un dommage matériel important.
Avertissement
! signifie que la non-application des mesures de sécurité appropriées peut conduire à des
lésions corporelles légères ou à un dommage matériel.
Nota
doit vous rendre tout particulièrement attentif à des informations importantes sur le produit, aux
manipulations à effectuer avec le produit ou à la partie de la documentation correspondante.
Personnel qualifié La mise en service et l’utilisation de l’appareil ne doivent être effectuées que conformément
au manuel.
Seules des personnes qualifiées sont autorisées à effectuer des interventions sur l’appareil. Il
s’agit de personnes qui ont l’autorisation de mettre en service, de mettre à la terre et de repé-
rer des appareils, systèmes et circuits électriques conformément aux règles de sécurité en
vigueur.
Attention
! L’appareil ne doit être utilisé que pour les applications spécifiées dans le catalogue ou dans la
description technique, et exclusivement avec des périphériques et composants recommandés
par Siemens.
Marques de fabrique SIMATIC, SIMATIC NET et SIMATIC HMI sont des marques déposées par
SIEMENS AG.
Les autres désignations figurant dans ce document peuvent être des marques dont l’utilisation
par des tiers à leurs propres fins peut enfreindre les droits des propriétaires desdites marques.
Objet du manuel
La famille S7-200 est constituée de micro-automates programmables utilisables dans des applica-
tions d’automatisation variées. Son dessin compact, son faible prix et son important jeu d’opérations
en font une solution idéale pour la commande de petites applications. En outre, le large choix de
tailles et de tensions de CPU ainsi que les multiples options de programmation disponibles vous
offrent la souplesse nécessaire pour résoudre vos problèmes d’automatisation.
Ce manuel fournit des informations sur l’installation et la programmation des micro-automates
S7-200 et traite des thèmes suivants :
Installation et câblage de la CPU et des modules d’extension S7-200, installation du logiciel
STEP 7-Micro/WIN
Conception et saisie d’un programme
Compréhension du fonctionnement de la CPU, par exemple types de données et modes
d’adressage, cycle de la CPU, protection par mot de passe et communication par réseau
Ce manuel inclut également la description des opérations de programmation avec exemples, les
temps d’exécution typiques des opérations et les fiches techniques pour le matériel S7-200.
Groupe cible
Ce manuel est destiné aux ingénieurs, aux programmeurs, aux installateurs et aux électriciens pos-
sédant des connaissances générales sur les automates programmables.
Domaine de validité
Les informations dans ce manuel se réfèrent en particulier aux produits suivants :
Modèles de CPU S7-200 : CPU 212 version 1.01, CPU 214 version 1.01, CPU 215 version 1.02
et CPU 216 version 1.02
Progiciels de programmation STEP 7-Micro/WIN, version 2.1 :
– STEP 7-Micro/WIN 16 pour Windows 3.1x 16 bits
– STEP 7-Micro/WIN 32 pour Windows 95 et Windows NT 32 bits
Homologation
La famille SIMATIC S7-200 satisfait aux normes et réglementations des instituts de normalisation
ci-après :
Directive 72/23/EEC de la Communauté Européenne sur les basses tensions
Directive 89/336/EEC de la Communauté Européenne sur la compatibilité électromagnétique
Underwriters Laboratories, Inc. : UL 508 Listed (Industrial Control Equipment)
Canadian Standards Association : certifié CSA C22.2 numéro 142 (Process Control Equipment)
Certificat FM selon Factory Mutual Approval Standard, classe I, division 2, groupes A, B, C & D,
Sites dangereux (Hazardous Locations), T4A
VDE 0160 : Matériel électronique utilisé dans les installations électriques
Reportez-vous à l’annexe A pour plus de détails à ce sujet.
Informations apparentées
Consultez la documentation suivante pour obtenir des informations plus détaillées sur des thèmes
précis :
Manuel système ET 200 : décrit comment installer et utiliser les produits ET 200 pour E/S dé-
centralisées.
Norme PROFIBUS (Process Field Bus ; EN 50170) : décrit le protocole standard pour la com-
munication DP avec le S7-200.
Guide de l’utilisateur TD 200 : décrit comment installer et utiliser le TD 200 avec l’automate pro-
grammable S7-200.
Structure du manuel
Nous vous conseillons de lire ce manuel dans son intégralité si vous utilisez un micro-automate
S7-200 pour la première fois. Si vous êtes un utilisateur expérimenté, reportez-vous au sommaire
ou à l’index pour retrouver les informations qui vous intéressent.
Ce manuel est organisé comme suit :
Le chapitre 1, « Présentation du micro-automate S7-200 », donne une vue d’ensemble de cer-
taines caractéristiques de l’équipement.
Le chapitre 2, « Installation d’un micro-automate S7-200 », fournit les procédures, les dimen-
sions et les règles fondamentales pour l’installation des CPU et des modules d’extension
S7-200.
Le chapitre 3, « Installation et utilisation du logiciel STEP 7-Micro/WIN », décrit comment installer
ce logiciel de programmation et explique brièvement ses fonctions.
Le chapitre 4, « Mise en route à l’aide d’un exemple de programme », vous aide à saisir un pro-
gramme-exemple avec le logiciel STEP 7-Micro/WIN.
Le chapitre 5, « Nouvelles fonctions de STEP 7-Micro/WIN », décrit comment utiliser l’assistant
TD 200 et l’assistant pour opérations S7-200, ainsi que les autres nouvelles fonctions de
STEP 7-Micro/WIN.
Le chapitre 6, « Concepts fondamentaux pour la programmation d’une CPU S7-200 », le chapi-
tre 7, « Mémoire de la CPU : types de données et modes d’adressage », et le chapitre 8, « Ges-
tion des entrées/sorties », fournissent des informations sur la manière dont la CPU S7-200 traite
les données et exécute votre programme.
Le chapitre 9, « Communication de réseau avec la CPU S7-200 », décrit comment connecter la
CPU S7-200 à differents types de réseaux.
Le chapitre 10, « Jeu d’opérations », explique les opérations de programmation utilisées par les
CPU S7-200 et fournit des exemples.
Les annexes donnent des informations supplémentaires : fiches techniques des matériels, descrip-
tion des codes d’erreur, temps d’exécution et résolution des problèmes, par exemple.
Aide supplémentaire
Adressez-vous à votre agence Siemens si certaines de vos questions techniques restent sans ré-
ponse, si vous désirez commander d’autres manuels ou matériels ou si vous voulez connaître les
offres de formation.
Utilisez l’adresse Internet suivante pour obtenir des informations sur les produits et services
Siemens, l’assistance technique ou bien les questions fréquentes et les conseils d’application :
http://www.ad.siemens.de
SF I0.0 Q0.0
I0.3 Q0.3
I0.4 Q0.4
I0.5 Q0.5
I0.6
SIMATIC I0.7
S7-200
Contenu de ce chapitre
Paragraphe Description Page
1.1 Comparaison des caractéristiques des micro-automates S7-200 1-2
1.2 Composantes principales de l’automate programmable S7-200 1-4
Equipement
La figure 1-2 montre un système d’automate programmable (AP) S7-200 de base, comprenant
une unité centrale (CPU) S7-200, un ordinateur personnel, le logiciel de programmation
STEP 7-Micro/WIN et un câble de communication.
Pour pouvoir utiliser un ordinateur personnel (PC), vous devez disposer :
S d’un câble PC/PPI,
S d’une carte de processeur de communication (CP) et d’un câble d’interface multipoint (MPI)
S ou d’une carte d’interface multipoint (MPI). Un câble de communication est fourni avec la carte
MPI.
Ordinateur
CPU S7-200
STEP 7-Micro/WIN
Câble PC/PPI
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Taille physique de l’unité 160 mm x 80 mm 197 mm x 80 mm 218 mm x 80 mm 218 mm x 80 mm
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
x 62 mm x 62 mm x 62 mm x 62 mm
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Mémoire
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Programme (EEPROM) 512 mots 2 kilo-mots 4 kilo-mots 4 kilo-mots
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Données utilisateur 512 mots 2 kilo-mots 2,5 kilo-mots 2,5 kilo-mots
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Mémentos internes 128 256 256 256
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Cartouche mémoire Néant oui, EEPROM oui, EEPROM oui, EEPROM
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Cartouche pile optionnelle Néant 200 jours, typique 200 jours, typique 200 jours, typique
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Sauvegarde (supercondensa- 50 heures, typique
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
teur)
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
190 heures, typique 190 heures, typique 190 heures, typique
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Entrées/sorties (E/S)
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
E/S locales 8 E TOR/6 S TOR 14 E TOR/10 S TOR 14 E TOR/10 S TOR 24 E TOR/16 S TOR
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Modules d’extension (max.) 2 modules 7 modules 7 modules 7 modules
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Mémoire image des E/S
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
64 E TOR/64 S TOR 64 E TOR/64 S TOR 64 E TOR/64 S TOR 64 E TOR/64 S TOR
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
E/S analogiques (extension)
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
16 E ANA/16 S ANA 16 E ANA/16 S ANA 16 E ANA/16 S ANA 16 E ANA/16 S ANA
Filtres d’entrée sélectionnables Non Oui Oui Oui
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Opérations
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Vitesse d’exécution booléenne 1,2 µs/opération 0,8 µs/opération 0,8 µs/opération 0,8 µs/opération
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Boucles FOR/NEXT
ÁÁÁÁÁÁ
Compteurs / temporisations
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
64/64
ÁÁÁÁÁÁÁ
Non
128/128
Oui
256/256
Oui
256/256
Oui
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
arithmétiques, entiers Oui Oui Oui Oui
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
arithmétiques, réels Non Oui Oui Oui
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
PID Non Non Oui Oui
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Fonctions supplémentaires
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Compteur rapide 1 logiciel 1 logiciel, 2 matériels 1 logiciel, 2 matériels 1 logiciel, 2 matériels
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Potentiomètres analogiques 1 2 2 2
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Sorties d’impulsions Néant 2 2 2
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
communication ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Evénement d’interruption de 1 pour émission/
ÁÁÁÁÁÁÁ
1 pour réception
1 pour émission/
1 pour réception
1 pour émission/
2 pour réception
2 pour émission/
4 pour réception
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Interruptions cycliques 1 2 2 2
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Interruptions d’entrée maté- 1 4 4 4
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
rielles
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Horloge temps réel Néant Oui Oui Oui
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Communication
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Nombre d’interfaces 1 (RS-485) 1 (RS-485) 2 (RS-485) 2 (RS-485)
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Protocoles acceptés
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Interface 0 : PPI, communication PPI, communication PPI, communication PPI, communication
programmable programmable programmable, MPI programmable, MPI
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁ
Interface 1 :
ÁÁÁÁÁÁÁ
Non disponible Non disponible DP, MPI PPI, communication
programmable, MPI
Egal à égal esclave uniquement Oui Oui Oui
Un automate programmable S7-200 consiste en une CPU S7-200 seule ou complétée de divers
modules d’extension facultatifs.
CPU S7-200
Le module CPU S7-200 est un appareil autonome compact comprenant une unité centrale (CPU ou
UC), une alimentation et des entrées/sorties discrètes.
S La CPU exécute le programme et sauvegarde les données pour la commande du processus ou
de la tâche d’automatisation.
S L’alimentation fournit de l’énergie électrique à l’appareil de base et à tout module d’extension
connecté.
S Les entrées et les sorties sont les points de commande du système : les entrées surveillent les
signaux des appareils sur site (tels que capteurs et commutateurs) et les sorties commandent
pompes, moteurs et autres appareils dans votre processus.
S L’interface de communication vous permet de connecter la CPU à une console de programma-
tion ou à d’autres appareils. Certaines CPU S7-200 disposent de deux interfaces de communi-
cation.
S Des témoins (DEL) d’état donnent des informations visuelles sur l’état de fonctionnement de la
CPU (Marche - RUN - ou Arrêt - STOP -), l’état en vigueur des entrées/sorties locales et la dé-
tection éventuelle d’une défaillance système.
Les figures 1-3, 1-4 et 1-5 présentent les différentes CPU S7-200.
SF I0.0 Q0.0
I0.3 Q0.3
I0.4 Q0.4
I0.5 Q0.5
I0.6
SIMATIC I0.7
S7-200
I0.6 Q0.6
I0.7 IQ0.7
SIMATIC
S7-200
Modules d’extension
La CPU S7-200 comporte des entrées/sorties locales. Les modules d’extension permettent d’ajou-
ter des entrées/sorties à l’appareil de base. Comme illustré à la figure 1-6, un connecteur de bus
fourni avec le module d’extension permet de connecter ce dernier à l’appareil de base.
SF I0.0 Q0.0 I .0
RUN I0.1 Q0.1 I .1
STOP I0.2 Q0.2 I .2
I0.3 Q0.3 I .3
I0.4 Q0.4 I .4
I0.5 Q0.5 I .5
I0.6 I .6
SIMATIC I0.7 II.7
S7-200
Connecteur de bus
Contenu de ce chapitre
Paragraphe Description Page
2.1 Montage sur panneau 2-2
2.2 Installation et démontage d’un automate S7-200 2-5
2.3 Câblage 2-8
2.4 Circuits de protection par écrêtage 2-13
2.5 Consommation 2-15
Configuration de l’installation
Vous pouvez encastrer les automates programmables (AP) S7-200 dans un panneau ou les monter
sur un profilé support. Le montage est possible aussi bien à la verticale qu’à l’horizontale. Un câble
d’extension pour entrées/sorties est également disponible afin d’ajouter de la souplesse à votre
configuration de montage. La figure 2-1 montre une configuration typique pour ces types d’installa-
tion.
E/S E/S
ÂÂÂÂÂÂÂÂ
ÂÂÂÂÂÂÂÂ
25 mm
ÂÂÂÂÂÂÂÂ
Avant de Surface de
l’armoire montage
ÂÂÂÂÂÂÂÂ
Espace pour S7-200 E/S S7-200
ÂÂÂÂÂÂÂÂ
refroidissement
ÂÂÂÂÂÂÂÂ
25 mm
Figure 2-2 Dégagements horizontaux et verticaux nécessaires pour l’installation d’un automate S7-200
1,0 mm 35 mm
7,5 mm
6,4 mm 160 mm
6,4 mm 147,3 mm
80 mm 67,3 mm
S7-212
Trous de fixation
(M4 ou n° 8)
6,4 mm 197 mm
184,3 mm
6,4 mm
80 mm 67,3 mm
S7-214
Trous de fixation
(M4 ou n° 8)
26,7 mm 217.3 mm
184,3 mm
6,4 mm
80 mm S7-215 ou
67,3 mm S7-216
Trous de fixation
(M4 ou n° 8)
90 mm
12,7 mm 77,3 mm
Module 80 mm
CPU ou ME 67,3 mm
d’extension
existant à 8 ou
16 E/S
6,4 mm
Trous de fixation
(M4 ou n° 8)
160 mm
12,7 mm 147,3 mm
6,4 mm
Trous de fixation
(M4 ou n° 8)
Attention
! Tenter d’installer ou de démonter des modules S7-200 ou des équipements reliés alors qu’ils sont
sous tension peut provoquer un choc électrique.
La non-désactivation de l’alimentation complète des modules S7-200 et des appareils qui y sont
reliés pendant les procédures d’installation ou de démontage peut entraîner la mort, des
blessures graves ou des dommages matériels importants.
Prenez toujours toutes les mesures de sécurité nécessaires et assurez-vous, avant l’installation,
que l’alimentation des modules S7-200 est coupée.
SIMATIC
S7-200
Figure 2-9 Retrait du cache pour la connexion d’extension de bus sur une CPU S7-200
Attention
! Tenter d’installer ou de démonter des modules S7-200 ou des équipements reliés alors qu’ils sont
sous tension peut provoquer un choc électrique.
La non-désactivation de l’alimentation complète des modules S7-200 et des appareils qui y sont
reliés pendant les procédures d’installation ou de démontage peut entraîner la mort, des
blessures graves ou des dommages matériels importants.
Prenez toujours toutes les mesures de sécurité nécessaires et assurez-vous, avant l’installation,
que l’alimentation des modules S7-200 est coupée.
Nota
Des butées de profilé support peuvent s’avérer nécessaires pour les modules installés
verticalement ou dans un environnement avec fortes vibrations.
Attention
! Tenter d’installer ou de démonter des modules S7-200 ou des équipements reliés alors qu’ils sont
sous tension peut provoquer un choc électrique.
La non-désactivation de l’alimentation complète des modules S7-200 et des appareils qui y sont
reliés pendant les procédures d’installation ou de démontage peut entraîner la mort, des
blessures graves ou des dommages matériels importants.
Prenez toujours toutes les mesures de sécurité nécessaires et assurez-vous, avant le montage
ou le démontage, que l’alimentation des modules S7-200 est coupée.
Procédez comme suit pour démonter une CPU ou un module d’extension S7-200 :
1. Déconnectez tous les fils et câbles reliés au module à enlever. Si ce module se trouve au milieu
d’un ensemble, il faut déplacer les modules à gauche et à droite d’au moins 25 mm afin de pou-
voir débrancher le connecteur de bus (voir figure 2-10).
2. Dévissez les vis de fixation ou ouvrez les barrettes de fixation et faites glisser le module d’au
moins 25 mm afin de débrancher le connecteur de bus. Ce dernier doit être déconnecté des
deux côtés du module.
3. Retirez le module du panneau ou du profilé support et installez un nouveau module.
Attention
! Si vous installez un module incorrect, le programme dans le micro-automate peut fonctionner de
manière imprévisible.
Le remplacement d’un module d’extension et d’un câble d’extension par un autre modèle ou sans
respecter l’orientation correcte peut entraîner la mort, des blessures graves ou des dommages
matériels importants.
Vous devez donc veiller à remplacer chaque module d’extension par un module de même modèle
que vous orienterez correctement. Si vous utilisez un câble d’extension, orientez l’extrémité
« up » du câble vers l’avant du module.
2.3 Câblage
Attention
! Tenter d’installer ou de démonter des modules S7-200 ou des équipements reliés alors qu’ils sont
sous tension peut provoquer un choc électrique.
La non-désactivation de l’alimentation complète des modules S7-200 et des appareils qui y sont
reliés pendant les procédures d’installation ou de démontage peut entraîner la mort, des
blessures graves ou des dommages matériels importants.
Prenez toujours toutes les mesures de sécurité nécessaires et assurez-vous que l’alimentation
des modules S7-200 est coupée avant d’installer le câblage.
Règles générales
Vous trouverez ci-après des règles générales pour concevoir l’installation et le câblage de votre
automate programmable S7-200.
S Respectez toutes les normes électriques nationales et régionales en vigueur lors du câblage, de
l’installation et de l’utilisation de l’automate S7-200 et des autres équipements. Demandez l’aide
des autorités locales pour déterminer les normes et les réglementations qui s’appliquent à votre
cas particulier.
S Utilisez toujours des fils de section appropriée pour le transport du courant requis. Les modules
S7-200 acceptent des sections de fil allant de 0,5 à 1,5 mm2.
S Faites attention à ne pas trop serrer les vis des connecteurs. Le couple maximal est de
0,56 Nm.
S Posez toujours des fils aussi courts que possible (500 mètres au maximum pour les câbles blin-
dés et 300 mètres au maximum pour les câbles non blindés). Posez les fils par paires : conduc-
teur neutre avec conducteur de signaux.
S Séparez bien le câblage de courant alternatif et celui de courant continu à commutation rapide
et à haute énergie du câblage de signaux à basse énergie.
S Identifiez et acheminez correctement les câbles vers le module S7-200 en utilisant des serre-
câbles si nécessaire. Reportez-vous aux fiches techniques à l’annexe A pour plus d’informa-
tions sur l’identification des terminaisons.
S Equipez les fils menacés par la foudre d’une protection appropriée contre les surtensions.
S Il ne faut pas appliquer d’alimentation externe à une charge de sortie en parallèle avec une sor-
tie de courant continu. Cela peut provoquer un courant inverse à travers la sortie à moins que
vous n’ayez placé une diode ou une autre forme de barrage dans l’installation.
Attention
! Les appareils de commande peuvent tomber en panne dans des situations dangereuses et
provoquer un fonctionnement inattendu des appareils pilotés.
De tels événements peuvent entraîner la mort ou des blessures graves, ainsi que des dommages
matériels importants.
Vous devez donc prévoir une fonction d’arrêt d’urgence, des dispositifs de sécurité
électromécaniques ou d’autres sécurités redondantes qui soient indépendants de l’automate
programmable.
Barrette de câblage
AC VAC
OUTPUTS 1L 0.0 0.1 0.2 2L 0.3 0,4 0.5 ↓ N L1 85–264
(1) (2)
L1
N
PE
(4)
(6) (7)
Fusible
ST Alim.
S7-200 ET ST
ET M L+ CA/CC/Rls EM 221 CC EM 222 Rls
(5) (3)
Figure 2-12 120/230 V~, commutateur unique à maximum de courant protégeant la CPU et le câblage de
charge
CA (8)
(6)
CC
(7)
(5)
(2)
(3)
ST Alim. ST ET
ET S7-200 EM 222 EM 221
CC/CC/CC CC CC
(4)
24 V- L+ M
Avertissement
! Pour les systèmes d’alimentation avec valeur nominale de 230 V~ entre phase et neutre en
tension alternative, la tension entre phases dépassera la valeur limite de l’alimentation du S7-200,
des entrées et des sorties.
Le dépassement de la tension admissible du S7-200 peut entraîner une panne du S7-200 et des
matériels connectés.
N’utilisez pas de connexions entre phases dépassant la tension limite de votre module S7-200.
(7)
ST Alim.
S7-200 ET ST
ET CA/CA/CA EM221CA EM 222CA
Règles générales
Equipez les charges inductives de circuits de protection qui écrêtent la montée de tension lors de la
mise hors circuit. Suivez les règles ci-après pour la conception de ces circuits. L’efficacité de la
conception étant toutefois dépendante de l’application, vous devez vérifier qu’elle convient à votre
cas particulier. Assurez-vous que tous les composants ont des valeurs nominales permettant de les
utiliser dans l’application.
+V - (1)
(1) Diode IN4001 ou
équivalent
Inducteur
Inducteur
V DC
R
IL
R C avec R minimum = 12 Ω
+V -
C I LK
Inducteur avec K = 0,5 µF/A à 1 µF/A
IL
Vous pouvez également utiliser des diodes de protection comme illustré dans les figures 2-15 et
2-16 pour les relais en courant continu. Une tension de seuil de 36 V au maximum est autorisée si
vous utilisez une diode Zener inversée.
Figure 2-18 Charge alternative avec réseau R/C aux bornes de relais ou de sorties CA
2.5 Consommation
Les appareils de base S7-200 possèdent une alimentation interne fournissant du courant à l’appa-
reil de base, aux modules d’extension, ainsi qu’à d’autres équipements consommant du courant
24 V-. Les informations ci-après doivent vous aider à déterminer combien d’énergie ou de courant
l’appareil de base peut mettre à la disposition de votre configuration.
Besoins en courant
Chaque CPU S7-200 fournit du courant 5 V- et 24 V-.
S Chaque CPU S7-200 a une alimentation de capteur 24 V- pouvant fournir du courant continu en
24 V aux entrées locales ou aux bobines de relais sur les modules d’extension. Si les besoins
en courant 24 V- dépassent le courant fourni par la CPU, vous pouvez ajouter une alimentation
24 V- externe afin de fournir ce courant aux modules d’extension.
S La CPU fournit également du courant 5 V- pour les modules d’extension lorsqu’un tel module est
connecté. Si les besoins en courant 5 V- des modules d’extension dépassent le courant fourni
par la CPU, vous devez supprimer des modules d’extension jusqu’à ce que leurs besoins soient
couverts.
Attention
! Connecter une alimentation 24 V- externe en parallèle avec une alimentation de capteur en
courant continu S7-200 peut entraîner un conflit entre les deux alimentations, chacune cherchant
à établir son propre niveau de tension de sortie préféré.
Ce conflit peut réduire la durée de vie ou provoquer une défaillance immédiate de l’une ou des
deux alimentations, ayant pour effet un fonctionnement imprévisible du système d’automatisation
avec risque de mort, de blessures graves et de dommages matériels importants.
L’alimentation de capteur CC S7-200 et toute alimentation externe doivent fournir du courant à
des points différents, une seule connexion des conducteurs neutres étant autorisée.
Les fiches techniques à l’annexe A donnent des informations sur le courant fourni par les CPU et
sur les besoins en courant des modules d’extension.
Moins
Besoins du système 5 V- 24 V-
CPU 214 CC/CC/CC Appareil de base 14 entrées x 7 mA = 98 mA
Trois modules d’extension EM 221 3 x 60 mA = 180 mA 3 x 60 mA = 180 mA
Deux modules d’extension EM 222 2 x 80 mA = 160 mA 2 x 85 mA = 170 mA
Total des besoins 340 mA 448 mA
égale
Bilan de consommation 5 V- 24 V-
Excédent/déficit de courant 320 mA [168 mA]
Contenu de ce chapitre
Paragraphe Description Page
3.1 Installation du logiciel STEP 7-Micro/WIN 3-2
3.2 Configuration du matériel de communication avec STEP 7-Micro/WIN 3-4
3.3 Etablissement de la communication avec la CPU S7-200 3-7
3.4 Paramétrage de STEP 7-Micro/WIN 3-25
3.5 Création et sauvegarde d’un projet 3-26
3.6 Création d’un programme 3-27
3.7 Création d’un bloc de données 3-32
3.8 Table de visualisation d’état 3-34
3.9 Adressage symbolique 3-36
Préinstallation
Avant d’exécuter la procédure d’installation :
S sauvegardez tous les projets STEP 7-Micro/WIN sur disquettes si une version antérieure de
STEP 7-Micro/WIN est déjà installée ;
S assurez-vous que toutes les applications sont fermées, barre d’outils Microsoft Office comprise.
L’installation peut nécessiter le redémarrage de votre ordinateur.
Ce bouton apparaît
Ressources... si vous utilisez un
système d’exploitation
Windows NT.
Carte MPI/PROFIBUS pour PC
Fermer Aide
Type de CPU Version de Matériel pris en Débits pris en Système Type de jeu de
STEP 7-Micro/WIN charge charge d’exploitation paramètres
CPU 212, Micro/WIN 16 Câble PC/PPI, carte 9,6 kilobauds ou Windows 3.1 PPI,
CPU 214, MPI ISA 19,2 kilobauds PPI multi-maître
CPU 216
Windows 95 ou PPI
CPU 215, Windows NT
interface 0
Micro/WIN 32 Câble PC/PPI, carte 9,6 kilobauds ou Windows 95 ou PPI,
MPI ISA, carte MPI 19,2 kilobauds Windows NT PPI multi-maître
ISA intégrée, CP 5411,
CP 5511, CP 5611
CPU 215, Micro/WIN 16 Non pris en charge Non pris en Windows 3.1 Non pris en
interface 1 charge Windows 95 ou charge
(interface DP) Windows NT
Micro/WIN 32 Carte MPI ISA, carte 9,6 kilobauds à Windows 95 ou MPI
MPI ISA intégrée, 12 Mbauds Windows NT
CP 5411, CP 5511,
CP 5611
Nota
STEP 7-Micro/WIN 16 ne prend pas en charge le jeu de paramètres multi-maître sous les
systèmes d’exploitation Windows 95 ou Windows NT 4.0.
Nota
STEP 7-Micro/WIN 16 ne prend pas en charge la communication via l’interface 1 de la CPU 215.
Les sélections pour la carte MPI sont différentes pour STEP 7-Micro/WIN 16 et
STEP 7-Micro/WIN 32.
A gauche de la boîte de dialogue « Installer/désinstaller des cartes » figure une liste des types de
matériels que vous n’avez pas encore installés (voir figure 3-1). Sur la droite apparaît la liste des
types de matériels actuellement installés. Sous le système d’exploitation Windows NT 4.0, un bou-
ton « Ressources » figure également sous la liste « Cartes installées ».
Procédez comme suit pour installer le matériel :
1. Sélectionnez le type de matériel dont vous disposez dans la liste « Sélection ». La fenêtre infé-
rieure affiche une description de votre sélection.
2. Cliquez sur le bouton « Installer --> ».
Procédez comme suit pour désinstaller du matériel :
1. Sélectionnez le matériel à désinstaller dans la liste « Cartes installées » à droite.
2. Cliquez sur le bouton « <-- Désinstaller ».
Cliquez sur le bouton « Fermer » lorsque vous avez achevé l’installation ou la désinstallation de
votre matériel. Vous revenez alors à la boîte de dialogue « Paramétrage interface PG/PC ». Vos
sélections apparaissent maintenant dans la liste contenant les jeux de paramètres (voir figure 3-7).
Reportez-vous au paragraphe 3.3 pour plus d’informations sur la configuration de votre matériel de
communication.
Mémoire : #000CC000–000CC7FF
Entrées/Sorties (E/S) :
OK Annuler Aide
CPU S7-200
0
RS-485
Câble PC/PPI
La figure 3-4 présente une configuration comprenant un ordinateur personnel connecté à plusieurs
CPU S7-200. STEP 7-Micro/WIN est conçu pour communiquer avec une CPU S7-200 à la fois.
Vous pouvez toutefois accéder à n’importe quelle CPU dans le réseau. Les CPU dans la figure 3-4
peuvent être aussi bien des unités esclaves que des unités maîtres. Le TD 200 est une unité maî-
tre. Reportez-vous au chapitre 9 pour plus d’informations sur la mise en réseau.
Nota
Seuls STEP 7-Micro/WIN 16 avec système d’exploitation Windows 3.1 et STEP 7-Micro/WIN 32
prennent en charge plusieurs maîtres via le câble PC/PPI. Ce n’est pas le cas de
STEP 7-Micro/DOS.
RS-232
RS-485 TD 200
Câble PC/PPI
Figure 3-4 Communication avec plusieurs CPU S7-200 via un câble PC/PPI
Nota
Si vous utilisez le jeu de paramètres PPI, STEP 7-Micro/WIN n’autorise pas l’exécution
simultanée de deux applications différentes sur la même carte MPI ou CP. Fermez l’autre
application avant de connecter STEP 7-Micro/WIN au réseau via la carte MPI ou CP.
Unités maîtres
TD 200 OP15 CPU 214
Carte MPI ou CP
Câble MPI
(RS-485) CPU 212 CPU 214 CPU 212 CPU 214
Unités esclaves
STEP 7-Micro/WIN
Projet Affichage CPU Configuration ?
✂
Communication
Fermer
Cliquez sur le bouton « Interface PG/PC... » une fois la boîte de dialogue « Communication » affi-
chée. La boîte de dialogue « Paramétrage interface PG/PC » apparaît alors (voir figure 3-7).
STEP 7-Micro/WIN
Projet Affichage CPU Con-
Configuration ?
Paramétrage
igura- interface PG/PC
✂
tion
Voie d’accès
Entrée de l’application :
Micro/WIN
(Présélection Micro/WIN)
<aucun>
MPI-ISA Card(MPI)
MPI-ISA Card(PPI)
Copier...
MPI-ISA Card(PROFIBUS) PC/
PPI cable(PPI) Supprimer
Installer...
OK Annuler Aide
Panneau de configuration
Fichier Edition Affichage ?
Paramétrage
interface PG/PC
Si vous utilisez le câble PC/PPI et cliquez sur le bouton « Propriétés » dans la boîte de dialogue
« Paramétrage interface PG/PC », la fiche des propriétés de ce câble s’affiche (voir figure 3-9).
Procédez comme suit :
1. Dans la page d’onglet « Réseau PPI », sélectionnez un numéro dans la liste « Numéro de
station ». Ce numéro indique l’emplacement où doit résider STEP 7-Micro/WIN dans le réseau
d’automates programmables.
2. Sélectionnez une valeur pour « Délai d’attente ». Cette valeur représente la durée que vous
accordez aux pilotes de communication pour l’établissement de connexions. La valeur prise par
défaut devrait suffire.
3. Indiquez si plusieurs maîtres seront présents dans le réseau auquel participera
STEP 7-Micro/WIN. Reportez-vous au chapitre 9 pour plus d’informations à ce sujet. Vous pou-
vez laisser la case « Réseau multi-maître » cochée à moins que vous n’utilisiez un modem.
Dans ce cas, la case ne doit pas être cochée, car STEP 7-Micro/WIN ne prend pas cette fonc-
tion en charge.
4. Définissez la vitesse de transmission à laquelle STEP 7-Micro/WIN doit communiquer via le ré-
seau. Vous trouverez dans le tableau 9-1 du chapitre 9 les débits en bauds autorisés pour votre
CPU.
5. Sélectionnez l’adresse de station la plus élevée. Il s’agit de l’adresse à partir de laquelle
STEP 7-Micro/WIN ne recherche plus d’autres maîtres dans le réseau.
STEP 7-Micro/WIN
Projet AffichageParamétrage
CPU Configuration ?
interface PG/PC
✂
Voie d’accès
Propriétés - PC/PPI cable (PPI)
Paramètres de station
Numéro de station : 0
Délai d’attente : 1s
Paramètres de réseau
Réseau multi-maître
Figure 3-9 Fiche des propriétés du câble PC/PPI (PPI), onglet « Réseau PPI »
STEP 7-Micro/WIN
Projet AffichageParamétrage
CPU Configuration ?
interface PG/PC
✂
Voie d’accès
Propriétés - PC/PPI cable (PPI)
Port COM : 2
Utiliser le modem
Figure 3-10 Fiche des propriétés pour câble PC/PPI (PPI), onglet « Connexion locale »
Si vous utilisez l’une des cartes MPI ou CP énumérées ci-avant avec le protocole PPI et cliquez sur
le bouton « Propriétés » dans la boîte de dialogue « Paramétrage interface PG/PC », la fiche des
propriétés « XXX Card(PPI) » apparaît, XXX correspondant au type de carte que vous avez installé,
MPI ISA par exemple (voir figure 3-11).
Procédez comme suit :
1. Dans la page d’onglet « Réseau PPI », sélectionnez un numéro dans la liste « Numéro de sta-
tion ». Ce numéro indique l’emplacement où doit résider STEP 7-Micro/WIN dans le réseau
d’automates programmables.
2. Sélectionnez une valeur pour « Délai d’attente ». Cette valeur représente la durée que vous
accordez aux pilotes de communication pour l’établissement de connexions. La valeur prise par
défaut devrait suffire.
3. Indiquez si plusieurs maîtres seront présents dans le réseau auquel participera
STEP 7-Micro/WIN. Reportez-vous au chapitre 9 pour plus d’informations à ce sujet. Vous pou-
vez laisser la case « Réseau multi-maître » cochée.
4. Définissez la vitesse de transmission à laquelle STEP 7-Micro/WIN doit communiquer via le ré-
seau. Vous trouverez dans le tableau 9-1 du chapitre 9 les débits en bauds autorisés pour votre
CPU.
5. Sélectionnez l’adresse de station la plus élevée. Il s’agit de l’adresse à partir de laquelle
STEP 7-Micro/WIN ne recherche plus d’autres maîtres dans le réseau.
6. Cliquez sur le bouton « OK » pour quitter la boîte de dialogue « Paramétrage interface PG/PC ».
STEP 7-Micro/WIN
Projet Affichage CPUCon-Configuration ?
Paramétrage
igura- interface PG/PC
✂
tion
Voie d’accès
Propriétés - MPI-ISA Card(PPI)
Réseau PPI
Paramètres de station
Numéro de station : 0
Délai d’attente : 1s
Paramètres de réseau
Réseau multi-maître
Figure 3-11 Fiche des propriétés pour carte MPI ISA (PPI)
STEP 7-Micro/WIN
Projet Affichage CPU Con-
Configuration ?
Paramétrage
igura- interface PG/PC
✂
tion
Voie d’accès
Propriétés - MPI-ISA Card(MPI)
Réseau MPI
Paramètres de station
Numéro de station : 0
Figure 3-12 Fiche des propriétés pour carte MPI ISA (MPI)
Résolution des problèmes éventuels dans la configuration de la communication MPI pour les
applications 16 bits
L’option « Carte MPI » active les pilotes MPI dans le fichier de configuration S7DPMPI.INI qui a été
copié dans le répertoire Windows lors de l’installation de STEP 7-Micro/WIN.
Si une erreur d’interruption est signalée, vous devez indiquer une ligne de demande d’interruption
matérielle (IRQ) libre pour la carte MPI. La ligne d’interruption IRQ 5 est prise par défaut. Le champ
IRQ permet de préciser le numéro d’interruption utilisé par la carte MPI. L’erreur d’interruption signi-
fie que IRQ 5 est déjà utilisée. Procédez comme suit pour sélectionner une autre ligne IRQ :
1. Choisissez la commande Configuration " Communication.... La boîte de dialogue « Commu-
nication » s’affiche. Recherchez les options d’interruption matérielle et choisissez une autre va-
leur.
2. Sauvegardez vos modifications en cliquant sur « OK » ou en appuyant sur Entrée. Le logiciel
modifie automatiquement le fichier S7DPMPI.INI et vous signale s’il faut quitter l’application.
3. Redémarrez l’application STEP 7-Micro/WIN et sélectionnez à nouveau l’option MPI.
Nota
Voici les adresses prises par défaut pour les CPU S7-200 comportant plusieurs interfaces de
communication :
S CPU 215 Interface 0 : 2
Interface 1 : 126
S CPU 216 Interface 0 : 2
Interface 1 : 2
0 1 1 2
①
①
Sous-réseau Sous-réseau PC
MPI PROFIBUS
Figure 3-13 CPU 215 dans un sous-réseau PROFIBUS, avec sous-réseau MPI
Vous avez besoin des câbles et adaptateurs suivants selon que vous voulez vous connecter à une
seule CPU S7-200 ou à un réseau de CPU S7-200 (voir figure 3-14) :
S un câble avec fonction RS-232 à chaque extrémité pour connecter le PC ou la PG SIMATIC à
un modem 11 bits duplex intégral à l’une des extrémités de la ligne téléphonique,
S un adaptateur modem nul pour connecter le modem à l’autre extrémité de la ligne téléphonique
à un câble PC/PPI,
S un câble PC/PPI pour connecter l’adaptateur de modem nul à l’une des interfaces suivantes :
– l’interface de communication de la CPU S7-200 (voir figure 3-14)
– ou un connecteur d’interface de programmation Siemens dans un réseau PROFIBUS (voir
figure 9-3).
RS-232
Ligne téléphonique Adaptateur Câble
COMx
Duplex intégral Duplex intégral modem nul PC/PPI
Comme ces configurations n’autorisent qu’une unité maître, il n’y a pas de passage de jeton. Ces
configurations n’acceptent que le protocole PPI. Pour que la communication se fasse au niveau de
l’interface PPI, le modem doit utiliser une chaîne de données de 11 bits. L’automate programmable
S7-200 exige un bit de démarrage, huit bits de données, un bit de parité (parité paire), un bit d’arrêt,
communication asynchrone et un débit de 9600 bauds pour PPI. De nombreux modems n’auto-
risent pas ce format de données. Les réglages nécessaires pour le modem sont présentés dans le
tableau 3-3.
La figure 3-15 montre l’affectation des broches pour un adaptateur de modem nul. Reportez-vous
au chapitre 9 pour plus d’informations sur la communication par réseau à l’aide d’un câble PC/PPI.
Nota
La configuration de la communication décrite ici vaut pour le modem Multi Tech
MultiModemZDX MT1932ZDX. Si cela ne correspond pas au type de votre modem, choisissez
« Définition utilisateur » comme modem sélectionné dans la boîte de dialogue « Configurer les
modems ». Vous devez avoir un modem de 11 bits avec un débit de 9 600 bauds. Consultez le
manuel de votre modem pour déterminer les paramètres à entrer dans les pages d’onglet de la
boîte de dialogue « Configurer les modems ».
8. Cliquez sur le bouton « Configurer modems... ». La boîte de dialogue « Configurer les mo-
dems » s’affiche. Vous pouvez également accéder au bouton « Configurer modems » via la
commande Configuration " Connecter le modem... ; ce bouton apparaît alors dans la boîte de
dialogue « Connexion ».
L’onglet « Généralités » de la boîte de dialogue « Configurer les modems » décrit les conditions
que doivent remplir les modems (chaîne de données de 11 bits) et présente les composantes
matérielles nécessaires. La figure 3-14 montre les mêmes composantes matérielles.
9. Cliquez sur l’onglet « Configuration du modem local » (voir figure 3-16).
10. Dans la page d’onglet « Configuration du modem local », choisissez « Multi Tech
MultiModemZDX MT1932ZDX » dans la liste pour « Modem sélectionné ».
Les seuls autres champs que vous pouvez éditer dans cette page d’onglet sont « Numéro de
téléphone » et « Délai d’attente ». Le délai d’attente correspond à la durée pendant laquelle le
modem local tente d’établir une connexion au modem éloigné. La tentative de connexion
échoue si la durée en secondes indiquée dans ce champ expire avant établissement de la
connexion.
11. Pour tester la configuration de votre modem local, cliquez sur le bouton « Tester modem » lors-
que le modem est connecté à votre PG ou PC local.
12. Déconnectez votre modem local et connectez votre modem éloigné à votre PG ou PC.
Etat :
Programmer modem Tester modem
OK Annuler
Figure 3-16 Onglet « Configuration du modem local » de la boîte de dialogue « Configurer les modems »
13. Cliquez sur l’onglet « Configuration du modem éloigné » (voir figure 3-17).
14. Dans la page d’onglet « Configuration du modem éloigné », choisissez « Multi Tech MultiMo-
demZDX MT1932ZDX » dans la liste pour « Modem sélectionné ».
15. Cliquez sur le bouton « Programmer modem ». Cette opération transfère les paramètres dans
un circuit de mémoire du modem éloigné.
16. Cliquez sur le bouton « Tester modem » pour tester votre modem éloigné et vérifier qu’il est cor-
rectement programmé.
17. Cliquez sur le bouton « OK ». La boîte de dialogue « Communication » s’affiche à nouveau.
Modem sélectionné :
Multi Tech MultiModemZDX MT1932ZDX
ATH0
Etat :
Programmer modem Tester modem
OK Annuler
Figure 3-17 Page d’onglet « Configuration du modem éloigné » de la boîte de dialogue « Configurer les
modems »
STEP 7-Micro/WIN
Projet Affichage CPU Configuration ?
Paramètres...
✂
Communication...
Connecter
... le modem
Connexion
Configurer modems...
Connecter Annuler
Précisez, avant de créer un nouveau projet, les paramètres pour votre environnement de program-
mation. Pour ce faire, procédez comme suit :
1. Sélectionnez la commande Configuration " Paramètres... comme illustré à la figure 3-19.
2. Effectuez vos paramétrages dans la boîte de dialogue qui apparaît alors.
3. Confirmez vos choix en appuyant sur la touche d’entrée ou en cliquant sur le bouton « OK ».
Nota
Pour valider une modification dans le champ « Langue » illustré ci-dessous, vous devez quitter
STEP 7-Micro/WIN et relancer le logiciel.
Communication...
Connecter le modem
Paramètres
Editeur par défaut
OK
Editeur LIST
Editeur CONT Annuler
Jeu d’abréviations
International Langue
SIMATIC Français
Vous devez créer ou ouvrir un projet avant de pouvoir créer un programme. STEP 7-Micro/WIN ou-
vre les éditeurs suivants à la création d’un nouveau projet :
S Editeur CONT ou éditeur LIST (selon votre présélection)
S Editeur de bloc de données
S Table de visualisation d’état
S Table des mnémoniques
Nota
STEP 7-Micro/WIN ne vérifie pas les plages des paramètres. Ainsi, vous pouvez entrer VB9999
comme paramètre d’une opération CONT bien que ce paramètre soit incorrect.
Communication...
OK Annuler
Vous pouvez également sauvegarder un exemplaire du projet actif sous un nom ou à un endroit
différent via la commande Projet " Enregistrer sous....
Dans STEP 7-Micro/WIN, vous pouvez créer le programme utilisateur (OB1) avec l’éditeur CONT
(schéma à contacts) ou avec l’éditeur LIST (liste d’instructions).
✂
Editeur CONT - c:\microwin\projet1.ob1
LIST
Editeur LIST - projet1.ob1
//Programme pour bande transporteuse
Pour pouvoir affi-
NETWORK 1 //Démarrer moteur cher le programme
LD “Démarr1” //Lorsque I0.0 est à 1 en CONT, vous
AN “ArrêtUrg1” //et que I0.1 est à 0, devez diviser les
= Q0.0 //démarrer le moteur de la bande transporteuse.
segments de code
avec le mot-clé
NETWORK 2 //Arrêt d’urgence de la bande transporteuse NETWORK.
LD I0.1 //Lorsque ArrêtUrg 1 est à 1
O I0.3 //ou que ArrêtUrg 2 est à 1,
R Q0.0, 1 //arrêter le moteur de la bande.
Compilation du programme
Une fois un ou plusieurs réseaux écrits, vous pouvez vérifier la syntaxe de votre code en sélection-
nant la commande CPU " Compiler ou en cliquant sur le bouton de compilation .
Dans la boîte de dialogue « Charger dans la CPU » qui apparaît alors, vous indiquez les composan-
tes du projet que vous désirez charger, comme illustré à la figure 3-23.
Quitter
Nota
Il est impossible de convertir certaines combinaisons d’instructions LIST en affichage CONT.
Dans ce cas, le message « Réseau incorrect » signale la section de code ne pouvant pas être
représentée en CONT.
LIST
CONT
Editeur CONT Bloc
- sansnom.ob1
de données
Contacts TableF2des mnémoniques
Contact à fermeture F3
Zoom...
L’éditeur de bloc de données permet de prédéfinir ou d’initialiser des variables apparaissant dans
votre programme. L’utilisation du bloc de données est facultative.
Par défaut, l’éditeur de bloc de données apparaît réduit sous forme d’icône au bas de la fenêtre
principale (si c’est ce que vous avez sélectionné via Configuration " Paramètres... ). Pour accéder
au bloc de données, double-cliquez sur cette icône ou bien cliquez sur le bouton de restauration ou
d’agrandissement de l’icône (dans Windows 95).
DB
Editeur de bloc de données - sansnom.db1
VB0 255 //mémorisé comme octet, commençant à VB0
VW2 256 //valeur de mot, commençant à VW2
VD4 700.50 //nombre réel double mot, commençant à VD4
VB8 -35 //valeur d’octet, mémorisée à partir de VB8
VW10 16#0A //valeur de mot en hexadécimal, mémorisée à partir de VW10
VD14 123456 //valeur de double mot, mémorisée à partir de VD14
VW20 2 4 8 16 //table de valeurs de mot, commençant à VW20
-2 64 12 56 //(notez que les valeurs de données des 2e et 3e lignes
85 10 20 40 //ne peuvent pas commencer en colonne 1)
VB45 ’Ht’ //chaîne ASCII de deux octets, commençant à VB45
V50 ’Voici un nouveau message à 40 caractères’
//chaîne ASCII commençant à VB50 (jusqu’à VB89)
VW90 65535 //valeur de mot, commençant à VW90
Colonne Commentaires
d’adresse Valeurs de
données
Attention
! STEP 7-Micro/WIN utilise la première colonne de chaque ligne dans l’éditeur de bloc de données
pour déterminer l’adresse de début des valeurs à mémoriser dans le bloc de données. Si vous
entrez un nombre dans cette colonne, il sera interprété comme l’adresse de début en mémoire V
des données qui suivent. Si ce nombre constituait pour vous une valeur de données et non une
adresse, cela pourrait provoquer l’écrasement de données dans le bloc par les nouvelles
données.
L’utilisation de données incorrectes peut entraîner une activité imprévisible dans le processus une
fois le bloc de données chargé dans une CPU. Cela peut entraîner la mort, des blessures graves
ou des dommages matériels importants.
Pour être sûr que les données sont rangées aux adresses correctes en mémoire V, précisez
toujours une taille et une adresse, comme VB100 par exemple. Vérifiez également votre saisie
pour vous assurer qu’aucune valeur de données n’a été entrée par inadvertance dans la première
colonne.
Le tableau 3-4 donne des exemples de notation à utiliser lors de la saisie de valeurs pour un bloc
de données.
Le tableau 3-5 présente les désignations autorisées pour la taille des données et l’adresse de dé-
but.
La table de visualisation d’état vous permet de lire, d’écrire et de forcer des variables dans votre
programme.
Par défaut, l’éditeur de table de visualisation d’état apparaît réduit sous forme d’icône au bas de la
fenêtre principale (si c’est ce que vous avez sélectionné via Configuration " Paramètres...). Pour
accéder à la table de visualisation d’état, double-cliquez sur cette icône ou bien cliquez sur le bou-
ton de restauration ou d’agrandissement de l’icône (dans Windows 95).
d’état.
4. Pour arrêter la mise à jour de l’état, cliquez sur le bouton de lecture continue.
5. Pour forcer une valeur, entrez la nouvelle valeur dans la colonne « Nouvelle valeur » et cliquez
sur le bouton « Ecrire tout » pour écrire la valeur dans la CPU.
Cliquez ou positionnez-vous sur la cellule contenant la valeur en cours que vous voulez forcer.
Cliquez sur le bouton de forçage lorsque vous êtes positionné sur une valeur en cours afin
5. Pour afficher toutes les valeurs actuellement forcées, cliquez sur le bouton de lecture du for-
çage .
6. Pour annuler le forçage de toutes les variables forcées dans la CPU, cliquez sur le bouton
(annuler tout forçage).
Edition d’adresses
Servez-vous des touches fléchées ou de la souris pour sélectionner la cellule d’adresse que vous
désirez éditer.
S Si vous commencez à saisir, le champ s’efface et les nouveaux caractères sont entrés.
S Si vous double-cliquez avec la souris ou appuyez sur la touche F2, le champ est mis en évi-
dence et vous pouvez, à l’aide des touches fléchées, déplacer le curseur à la position que vous
voulez éditer.
La table des mnémoniques vous permet d’affecter des mnémoniques (ou noms symboliques) aux
entrées, sorties et adresses de mémoire interne (voir figure 3-27). Vous pouvez utiliser ces mnémo-
niques dans les éditeurs CONT, LIST et de table de visualisation d’état de STEP 7-Micro/WIN. En
revanche, l’éditeur de bloc de données n’accepte pas l’utilisation de mnémoniques.
Contenu de ce chapitre
Paragraphe Description Page
4.1 Création d’un programme pour un exemple d’application 4-2
4.2 Tâche : création d’un projet 4-6
4.3 Tâche : création d’une table des mnémoniques 4-8
4.4 Tâche : saisie du programme en CONT 4-10
4.5 Tâche : création d’une table de visualisation d’état 4-14
4.6 Tâche : chargement du programme dans la CPU et test du programme 4-15
Ordinateur
CPU S7-200
STEP 7-Micro/WIN
Simulateur d’entrées
Soup_vapeur
Niv_inf
I0.5
Moteur_mél Q0.2
Q0.3
Soup_vidange Pompe_vidange
Q0.4 Q0.5
LIST Description
NETWORK 1 //Remplir la cuve avec l’ingrédient 1
LD “Démarr_1”
O “Pompe_1”
A “Arrêt_1”
AN “Niv_sup”
= “Pompe_1”
“Pompe_1”
“Pompe_2”
+100 PT
Réseau 5 Démarrer le moteur mélangeur
“Tempo_mél” “Niv_sup_atteint” “Moteur_mél”
“Soup_vapeur”
“Pompe_vidange”
+12 PV
La boîte de dialogue « Type de CPU » s’affiche. Sélectionnez le type de votre CPU dans la liste
déroulante.
Projet
Projet Edition Affichage CPU Test Outils Configuration Fenêtre ?
Nouveau... Ctrl+N
✂
Ouvrir... Ctrl+O
Type de CPU
1 c:\microwin\projet1.prj
Sélectionnez ou lisez le type de CPU dans votre AP si vous voulez que le logiciel
2 c:\microwin\projet2.prj
limite les options disponibles à celles prises en charge par cette CPU.
3 c:\microwin\projet3.prj
Communication...
OK Annuler
Projet
Projet Edition Affichage CPU Test Outils Configuration Fenêtre ?
Nouveau... Ctrl+N
✂
Ouvrir... Ctrl+O
Fermer
Mise en page...
Aperçu avant impression...
Imprimer...
Nom :
Ctrl+P
projet1.prj Enregistrer
Configuration de l’imprimante...
Type : Projet Annuler
Quitter
Aide
Nota
Les majuscules et minuscules étant prises en compte dans les mnémoniques, vous devez écrire
les mnémoniques exactement comme ils ont été définis dans la table des mnémoniques. En cas
de non-concordance, le curseur reste positionné sur l’élément et le message « Paramètre
incorrect » apparaît dans la barre d’état au bas de la fenêtre principale.
Réseau 1
Liste des Liste des
opérations Bouton pour Boutons pour
groupes ligne horizontale
contact à
fermeture et verticale
Bouton pour
contact à
ouverture
Curseur de l’éditeur Bouton pour bobine
CONT de sortie
I0.0
/
I
/I
NOT
P
Barre d’outils
N Opérations pour
l’éditeur CONT
“Démarr_1”
Saisissez le
commentaire de réseau
Appuyez sur Entrée dans le champ de titre,
pour placer l’élément. puis cliquez sur « OK ».
Procédez comme suit pour entrer les éléments suivants du premier réseau :
1. Appuyez sur Entrée pour entrer le deuxième élément. Un contact à fermeture apparaît avec,
au-dessus, le mnémonique pris par défaut ”Démarr_1” mis en évidence.
2. Tapez Arrêt_1 et appuyez sur Entrée. Le curseur se déplace à la colonne suivante.
3. Cliquez sur le bouton du contact à ouverture (F5). Un contact à ouverture apparaît avec, au-des-
sus, le mnémonique pris par défaut ”Demarr_1” mis en évidence.
4. Tapez Niv_sup et appuyez sur Entrée.
Le réseau CONT devrait maintenant ressembler à celui montré à la figure 4-10.
Le curseur CONT est maintenant positionné à droite du contact à ouverture « Niv_sup ». Reportez-
vous à la figure 4-11 et procédez comme suit pour achever le premier réseau :
1. Cliquez sur le bouton de bobine (F6) et placez le curseur de la souris à l’intérieur du curseur
CONT et cliquez. Une bobine apparaît avec, au-dessus, le mnémonique ”Pompe_1” mis en évi-
dence. Chaque bobine que vous entrez reçoit l’adresse Q0.0 prise par défaut, définie dans cet
exemple comme Pompe_1 dans la table des mnémoniques.
2. Appuyez sur Entrée pour valider la bobine et son mnémonique.
3. Positionnez le curseur à nouveau sur le premier élément du réseau en cours à l’aide de la souris
ou de la flèche vers la gauche.
4. Cliquez sur le bouton de ligne verticale (F7) pour tracer une ligne verticale entre les premier et
deuxième contacts.
5. Cliquez sur le bouton de contact à fermeture (F4) dans la barre d’outils et appuyez sur Entrée.
Un contact avec le mnémonique ”Demarr_1” apparaît.
6. Tapez Pompe_1 et appuyez sur Entrée.
Le premier réseau est maintenant achevé.
Tapez le
mnémonique ici.
“Pompe_2”
Compilation du programme
Une fois l’exemple de programme achevé, vérifiez-en la syntaxe en sélectionnant la commande
CPU " Compiler ou en cliquant sur le bouton de compilation .
Si vous avez entré tous les réseaux correctement comme montré dans le programme-exemple,
vous recevrez le message « Compilation réussie » ainsi que des informations sur le nombre de ré-
seaux et la taille de mémoire utilisée par le programme. Sinon, le message de compilation indiquera
quels réseaux contiennent des erreurs.
Sauvegarde du programme-exemple
Vous pouvez sauvegarder votre projet à l’aide de la commande Projet " Enregistrer tout ou en
cliquant sur le bouton de sauvegarde .
Cette commande sauvegarde également les autres composantes de votre exemple de projet.
L’étape suivante consiste à charger votre programme dans la CPU et à mettre la CPU à l’état de
fonctionnement « Marche » (RUN). Vous pourrez ensuite faire appel aux fonctions de test pour sur-
veiller ou déboguer le fonctionnement de votre programme.
principale.
3. Répondez « Oui » à la demande de confirmation.
4. Sélectionnez la commande Projet " Charger dans CPU... ou cliquez sur le bouton de charge-
ment dans la fenêtre principale.
5. Dans la boîte de dialogue de chargement, vous pouvez préciser les composantes de projet que
vous voulez charger dans la CPU. Appuyez ensuite sur la touche d’entrée ou cliquez sur
« OK ».
Un message d’information vous signale si le chargement s’est oui ou non bien effectué.
Nota
STEP 7-Micro/WIN ne vérifie pas que votre programme utilise de la mémoire ou des adresses
d’E/S autorisées pour la CPU mise en œuvre. Si vous tentez de charger un programme utilisant
des adresses au-delà de la plage de la CPU ou des opérations de programmation non prises en
charge par la CPU, cette dernière refuse la tentative de chargement du programme et affiche un
message d’erreur.
Il vous incombe de vous assurer que toutes les adresses de mémoire, adresses d’E/S et
opérations utilisées par votre programme sont valables dans votre CPU.
“Pompe_1”
Si votre programme STEP 7-Micro/WIN ne correspond pas au programme dans la CPU, l’image-
écran d’avertissement présentée à la figure 4-15 apparaît. Le logiciel vous demande de comparer le
programme à la CPU, de poursuivre cette opération ou de l’annuler.
“Démarr_1” Projet
“Arrêt_1” “Niv_sup” CPU“Pompe_1”
Création : 31/10/97 - 11:59:36 31/12/83 - 11:00:00
Modification : 31/10/97 - 11:59:37 31/12/83 - 11:00:00
Comparer
“Pompe_1”
Poursuivre Annuler
tion d’état.
S Pour arrêter la lecture de l’état, cliquez sur le bouton de lecture continue dans la fenêtre de
Exécuter cycles...
Lecture unique
Table de visualisation d’état
Ecrire tout
Lecture continue
Adresse Format
Forcer Valeur en cours Nouvelle valeur
“Démarr_1” Binaire 2#1
Annuler le forçage
“Démarr_2” Binaire 2#0
“Arrêt_1” Lire toutes valeurs2#1
Binaire forcées
“Arrêt_2” Binaire 2#0
Annuler tout forçage
“Niv_sup” Binaire 2#0
“Niv_inf” Binaire 2#0
“Remise_zéro” Binaire 2#0
“Pompe_1” Binaire 2#1
“Pompe_2” Binaire 2#0
“Moteur_mél” Binaire 2#0
“Soup_vapeur” Binaire 2#0
“Soup_vidange” Binaire 2#0
“Pompe_vidange” Binaire 2#0
“Niv_sup_atteint” Binaire 2#0
“Tempo_mél” Signé +0
“Compteur_cycles” Signé +0
Contenu de ce chapitre
Paragraphe Thème Page
5.1 Configuration de l’interface TD 200 à l’aide de l’Assistant TD 200 5-2
5.2 Assistant pour opérations S7-200 5-12
5.3 Assistant pour le filtrage d’entrée analogique 5-14
5.4 Références croisées 5-17
5.5 Utilisation des éléments 5-18
5.6 Rechercher/remplacer 5-19
5.7 Documentation du programme 5-21
5.8 Impression du programme 5-23
L’interface opérateur TD 200 est un appareil qui affiche des messages validés par la CPU S7-200
(voir figure 5-1). Il est inutile de configurer ou de programmer le TD 200. Les seuls paramètres de
fonctionnement sauvegardés dans le TD 200 sont les adresses du TD 200, l’adresse de la CPU, la
vitesse de transmission et l’emplacement du bloc de paramètres. La configuration du TD 200 est
rangée dans le bloc de paramètres TD 200 en mémoire V (mémoire des données) de la CPU. Les
paramètres de fonctionnement du TD 200, tels que la langue, la fréquence de mise à jour, les mes-
sages et les bits de validation de message, sont rangés dans un programme dans la CPU.
SIEMENS TD 200
MODE MENU :
AFFICHER MESSAGES
F5 F6 F7 F8
F1 F2 F3 F4
SHIFT
ESC ENTER
Mémoire de la CPU
Octet 0 Octet 1 Octet 2 Octet 3 Octet 4 Octet 5 Octet 6 Octet 7 Octet 8 Octet 9 Octet 10 Octet 11
Mode d’affichage :
Langue Fréquence de 20 ou 40 caractères par message
mise à jour de Inhibition/validation de la fonction de forçage
l’affichage
Inhibition/validation du menu d’horloge temps réel
Assistant TD 200...
Assistant de configuration TD 200 Utilitaires de projet...
Editer/ajouter des outils...
L’assistant va vous aider à configurer des messages pour TD 200 rapide-
ment et facilement. Lorsque vous aurez fini, l’assistant générera pour vous
le code du bloc de données correspondant.
1, 1
Vous pouvez configurer le TD 200 afin qu’il affiche des menus et des mes-
sages dans une langue donnée.
Validation du menu d’horloge temps réel, de la fonction de forçage et de la protection par mot
de passe
Servez-vous des boutons d’option pour sélectionner les modes présentés à la figure 5-5. Si vous
validez la protection par mot de passe, un champ apparaît pour la définition du mot de passe. Re-
portez-vous au SIMATIC TD 200, Guide de l’utilisateur pour plus d’informations sur ces options.
L’assistant TD 200 met à 1 les bits correspondants dans l’octet 3 du bloc de paramètres.
Vous pouvez configurer votre TD 200 pour autoriser l’utilisateur à régler l’hor-
loge temps réel et à forcer des E/S dans la CPU. Vous pouvez également pro-
téger ces options par mot de passe ; l’accès ne sera possible qu’après entrée
du mot de passe correct (4 chiffres).
Désirez-vous valider le menu Horloge temps réel (TOD) sur votre TD 200 ?
Oui
Non
Désirez-vous valider le menu de forçage sur votre TD 200 ?
Oui
Non
Désirez-vous valider la protection par mot de passe ?
Oui
Non Mot de passe (0000 - 9999) : 0000
Figure 5-5 Horloge temps réel, forçage des E/S et protection par mot de passe pour le TD 200
Le TD 200 dispose de 8 touches de fonction (F1 à F4 et MAJ F1 à MAJ F4) utilisées pour
mettre des mémentos à 1 dans la CPU. Vous devez réserver 8 bits de mémento (M) que le
TD 200 mettra à 1 à l’enfoncement d’une touche de fonction. Le TD 200 met à 1 un bit M à
chaque enfoncement de la touche de fonction correspondante.
Figure 5-6 Mémentos pour touches de fonction et fréquence de mise à jour du TD 200
Attention
! Le TD 200 met un bit M à 1 à chaque enfoncement d’une touche de fonction. Si vous n’avez pas
l’intention d’utiliser de touches de fonction et ne définissez donc pas d’adresse d’octet de
mémento pour ces touches, l’octet M0 sera pris par défaut. Si votre programme utilise des bits
dans M0 et qu’un utilisateur appuie sur une touche de fonction, le TD 200 mettra le bit
correspondant à 1 dans M0, écrasant ainsi la valeur affectée à ce bit par votre programme.
Ces modifications involontaires des bits M peuvent entraîner un comportement inattendu de votre
programme, le fonctionnement imprévisible en résultant pour votre automate programmable
pouvant provoquer la mort, des blessures graves ou des dommages matériels importants.
Vous devez donc toujours réserver une adresse en zone M, même si votre programme n’utilise
pas de touches de fonction.
Vous avez défini 1 message/s nécessitant 1 octet/s consécutif/s pour les indica-
teurs de validation de message. Vous devez maintenant préciser où les indica-
teurs de validation doivent résider dans votre bloc de données.
Octet de début pour indicateurs de validation : 12
Figure 5-8 Adresses du bloc de paramètres, des indicateurs de validation et des messages pour le TD 200
Message 1 / 1
5 10 15 20
T E M P S E C O U L E
Tableau 5-1 Combinaisons avec touche Alt pour caractères internationaux et spéciaux
Caractère Combinaison avec touche Alt Caractère Combinaison avec touche Alt
ü Alt+0129 ñ Alt+0164
ä Alt+0132 Ω Alt+0234
æ Alt+0145 Σ Alt+0228
Æ Alt+0146 Π Alt+0227
å Alt+0134 O Alt+0157
ö Alt+0148 Ĉ Alt+0195 (flèche gauche ←)
Å Alt+0143 ĉ Alt+0180 (flèche droite →)
° Alt+0248 Alt+0200 (barre simple)
Données intégrées
Effacer OK Annuler
Figure 5-10 Boîte de dialogue de définition des données intégrées dans les messages TD 200
La figure 5-11 montre la boîte de dialogue de message une fois les paramètres sélectionnés pour
une valeur intégrée. Les cases en gris sont réservées à la valeur de données. Si vous avez de-
mandé que l’utilisateur accuse réception de chaque message, le bit de notification d’accusé de ré-
ception apparaît également dans la boîte de dialogue.
Message 1 / 1
5 10 15 20
T E M P S E C O U L E
Figure 5-11 Espace réservé à une valeur intégrée dans un message TD 200
DB
Editeur de bloc de données
// BEGIN TD200_BLOCK 0
// (ne pas éditer ni effacer les commentaires dans ce bloc)
VB0 ‘TD’ // Identification TD 200
VB2 16#10 // Sélection langue : Français, sélection mise à jour : Aussi vite que possible
VB3 16#31 // Sélection mode 40 caractères pour l’affichage; Touche vers le haut V3.2; Touche vers le bas
VB4 10 // Sélection nombre de messages
VB5 0 // Sélection bits de notification pour touches de fonction : M0.0 – M0.7
VW6 32 // Sélection adresse de début pour les messages : VW32
VW8 12 // Sélection adresse de début pour bits de validation de message : V1
// MESSAGE 1
// Bit de validation de message V12.7
VB32 ‘TEMPS ECOULE ’
VB45 16#11 // Notification d’édition V45.2; Notification d’accusé de réception
VB46 16#22 // Double mot signé; 2 chiffres à droite de la virgule décimale
VD47 16#0000 // Valeur de données intégrée : transférer données pour affichage ici
VB51 ‘ PRESSION POMPE=’
VB66 16#10 // Notification d’édition V66.2; Pas d’accusé de réception; Pas de mot de passe
VB67 16#52 // Double mot réel; 2 chiffres à droite de la virgule décimale
Figure 5-12 Bloc de paramètres TD 200 visualisé via l’éditeur de bloc de données
STEP 7-Micro/WIN vous propose un assistant pour opérations S7-200 qui permet de configurer
rapidement et aisément les opérations complexes suivantes :
S Configuration du fonctionnement d’une opération PID
S Configuration d’opérations NETR et NETW
S Configuration d’un algorithme d’échantillonnage et de moyennage (filtre d’entrée analogique)
S Configuration du fonctionnement d’un compteur rapide
Le paragraphe 5.3 présente un exemple pour l’assistant de filtrage d’entrée analogique.
Assistant TD 200...
Utilitaires de projet...
Assistant pour opérations S7-200
Editer/ajouter des outils...
Cet assistant pour opérations S7-200 permet de configurer des opérations complexes rapide-
ment et aisément. Il vous offre une série d’options pour la fonction demandée. Lorsque vous
aurez fini, l’assistant générera pour vous le code du programme pour la configuration choisie.
Voici la liste des fonctions prises en charge par l’assistant. Laquelle désirez-vous configurer ?
Lorsque vous avez répondu à toutes les questions pour la fonction choisie, la dernière boîte de dia-
logue de l’assistant pour opérations S7-200 s’affiche, comme illustré à la figure 5-14. Cette boîte de
dialogue présente les segments de programme qui vont être générés pour la configuration que
vous avez choisie. Elle vous permet également d’indiquer où le code doit être inséré dans le pro-
gramme principal.
Sous-programme SBR 1
Figure 5-14 Segments de programme générés par l’assistant pour opérations S7-200
Filtrage fondamental
Vous devez répondre à trois questions pour effectuer le filtrage fondamental :
1. Quelle entrée analogique désirez-vous filtrer ? (AIW0, AIW2, AIW4...)
2. A quelle adresse faut-il écrire la valeur filtrée ? (VWx, AQWx...)
3. A quelle adresse faut-il placer la zone de travail pour les calculs ? Le code de filtrage nécessite
12 octets de mémoire pour les calculs.
Il est possible d’écrire la sortie filtrée dans une adresse de mot en mémoire V ou dans
une sortie analogique. Vous pouvez préciser une adresse directe ou un mnémonique.
Figure 5-15 Préciser l’entrée et la sortie dans l’assistant de filtrage d’entrée analogique
Les calculs requièrent 12 octets en mémoire V. Vous pouvez indiquer une adresse d’octet de
votre choix.
Où doit commencer la zone des calculs ? VB 0
Le code généré par cette fonction sera placé dans le sous-programme que vous
indiquez. L’assistant vous propose un numéro de sous-programme non encore utilisé
dans votre programme.
En cas d’erreur dans le module, la sortie doit-elle être forcée à une valeur spécifique
ou garder la valeur de la dernière moyenne calculée ?
Figure 5-17 Filtrage d’entrée analogique : émission d’une valeur spécifique en cas d’erreur de module
Mais vous pouvez également décider d’émettre la dernière moyenne calculée en cas d’erreur dans
le module (voir figure 5-18).
En cas d’erreur dans le module, la sortie doit-elle être forcée à une valeur spécifique
ou garder la valeur de la dernière moyenne calculée ?
Figure 5-18 Filtrage d’entrée analogique : émission de la dernière moyenne calculée en cas d’erreur de module
La commande Références croisées vous permet de générer la liste des adresses utilisées dans
votre programme. Vous pouvez surveiller les adresses au cours de l’écriture du programme. A la
sélection de Références croisées, votre programme est compilé et la table des références croisées
générée.
Cette table contient le nom de l’élément, le numéro de réseau et l’opération (voir figure 5-19). Les
adresses indirectes dans la table des références croisées sont signalées par les symboles (*) ou
(&).
Procédez comme suit pour générer une table des références croisées :
1. Sélectionnez la commande Affichage " Références croisées.
2. Votre programme est compilé et la table des références croisées générée.
3. Vous pouvez laisser la table des références croisées affichée pendant la saisie de votre pro-
gramme. Si vous modifiez votre programme puis cliquez dans la table des références croisées,
vous devrez actualiser cette dernière en cliquant sur l’option « Rafraîchir » dans la barre des
menus.
4. Pour visualiser un élément dans votre programme, double-cliquez sur cet élément dans la table
des références croisées ; il est alors mis en évidence dans l’éditeur de programme.
LIST
CONT
Bloc -de
Editeur CONT données
sansnom.ob1 Références croisées (vue CONT compilée)
Table des mnémoniques
Contacts Options Affichage
Table visu.F2état Contact à fermeture F3 F4 F5 F6 F7 F8 F10
“Niv_sup” 2
1, 1
La commande Utilisation des éléments permet d’afficher les adresses et les plages que vous avez
affectées dans votre programme. Ces informations sont présentées sous forme plus compacte que
dans la table des références croisées. La plage montrée commence à la première adresse utilisée
et se termine par la dernière adresse utilisée. Les adresses inutilisées apparaissent sous forme de
lignes vides (voir figure 5-20).
Il existe deux formats pour l’affichage de l’utilisation des éléments :
S Le format « bit » montre les bits I, Q, M et S.
S Le format « octet » montre l’utilisation de la mémoire V et des éléments AIW, AQW, MB, SMB, T,
C et HSC.
Remarques à prendre en compte :
S Dans l’affichage par octets, une adresse de double mot figure sous forme de quatre D consécu-
tifs. L’absence de ces quatre D consécutifs peut correspondre à une utilisation double de
l’adresse ou à une méthode de programmation délibérée. Un mot est indiqué par deux W consé-
cutifs, un octet par un B et un bit par un b.
S Les éléments signalés par des tirets correspondent à des plages d’adresses qui sont utilisées
par des opérations mais ne sont pas explicitement référencées. Par exemple, l’opération NETR
(Lire depuis réseau) fait appel à une table de 8 octets en mémoire V, mais seul le premier octet
est référencé explicitement.
Pour générer la table d’utilisation des éléments, sélectionnez la commande Affichage " Utilisation
des éléments. Votre programme est compilé et la table « Utilisation des éléments » apparaît (voir
figure 5-20). Vous pouvez laisser cette table affichée pendant la saisie de votre programme. Si
vous modifiez votre programme puis cliquez dans la table d’utilisation des éléments, vous devrez
actualiser cette dernière en cliquant sur l’option « Rafraîchir » dans la barre des menus.
5.6 Rechercher/remplacer
Recherche de paramètre
Procédez comme suit pour rechercher un paramètre précis :
1. Sélectionnez la commande Edition " Rechercher.... La figure 5-21 présente la boîte de dialo-
gue « Rechercher ».
2. Entrez les paramètres à rechercher.
3. Indiquez le sens de la recherche.
4. Cliquez sur le bouton « Suivant » pour déclencher la recherche.
Annuler Ctrl+Z
Couper Ctrl+X
Editeur CONT - sansnom.ob1
Copier Ctrl+C
Coller Ctrl+V
Contacts F2 Contact à fermeture F3
F4 F5 F6 F7 F8 F10
Couper réseau
Rechercher
Copier réseau
Réseau 1
Coller réseau Rechercher :
Suivant
“Démarr_1”
Insérer... “Arrêt_1”
Shift+Ins Texte “Niv_sup” “Pompe_1”
Annuler
Réseau
Effacer... Shift+Del
Titre de programme...
Majuscules/minuscules
Sens : Tout
Mots entiers
Mots entiers seulement
seulement
1, 1
Annuler Ctrl+Z
Couper Ctrl+X
Editeur
CopierCONT - sansnom.ob1
Ctrl+C
Coller Ctrl+V
Contacts F2 Contact à fermeture F3
F4 F5 F6 F7 F8 F10
Couper réseau
Servez-vous de la liste
Copier réseau
Réseau 1 Remplacer déroulante pour sélectionner
Coller réseau Rechercher : le mnémonique.
Suivant
“Démarr_1”
Insérer... “Arrêt_1”
Shift+Ins
Texte “Niv_sup” “Pompe_1”
Annuler
Effacer... Shift+DelMnémonique Pompe_vidange
1, 1
Vous pouvez documenter votre programme CONT avec un titre de programme, des titres de ré-
seaux et des commentaires de réseaux. Pour documenter votre programme LIST, vous ajoutez des
commentaires aux différentes lignes.
STL
Editeur LIST - projet1.ob1
La fonction d’impression vous permet d’imprimer la totalité ou des parties de votre programme.
S Sélectionnez la commande Projet " Imprimer... pour imprimer votre programme. Choisissez les
éléments à imprimer, puis cliquez sur le bouton « OK » (voir figure 5-24).
S Le bouton « Mise en page » permet de sélectionner des options d’impression supplémentaires :
marges, adresses absolues ou symboliques, commentaires de réseaux et en-têtes/bas de page.
S Cliquez sur « Configurer » pour choisir les options relatives au papier et à l’imprimante.
Procédez comme suit pour imprimer votre programme :
1. Sélectionnez la commande Projet " Imprimer.... La boîte de dialogue « Imprimer » (figure 5-24)
s’affiche alors.
2. Choisissez les éléments à imprimer dans le cadre « Imprimer quoi ».
3. Sélectionnez la plage de réseaux CONT à imprimer dans le cadre « Sélection de réseaux
CONT ».
4. Cliquez sur « Mise en page » ou sur « Configurer » pour modifier la configuration de votre impri-
mante.
5. Cliquez sur « OK ».
Nota
Le logiciel peut vous demander de compiler votre programme si vous choisissez d’imprimer la
table des références croisées ou la table d’utilisation des éléments. La durée nécessaire à la
compilation dépend de la taille du programme.
Quitter
Contenu de ce chapitre
Paragraphe Description Page
6.1 Principes de conception d’un système d’automatisation 6-2
6.2 Programme S7-200 6-4
6.3 Langages de programmation du S7-200 6-5
6.4 Eléments fondamentaux pour la conception d’un programme 6-8
6.5 Cycle de la CPU 6-10
6.6 Sélection de l’état de fonctionnement de la CPU 6-13
6.7 Création d’un mot de passe pour la CPU 6-14
6.8 Test et surveillance de votre programme 6-16
6.9 Traitement des erreurs dans la CPU S7-200 6-19
Sol_vidange
CPU S7-200
Zone des
sorties Sortie S
La CPU S7-200 (et STEP 7-Micro/WIN) accepte les langages de programmation suivants :
S La liste d’instructions (LIST) est un jeu d’opérations mnémotechniques qui représentent les fonc-
tions de la CPU.
S Le schéma à contacts (CONT) est un langage graphique qui ressemble aux schémas de relais
électriques pour le matériel.
Pour sa part, STEP 7-Micro/WIN propose deux représentations pour l’affichage des adresses et des
opérations de programmation dans le programme : les abréviations internationales et les abrévia-
tions SIMATIC, qui se réfèrent toutes au même jeu d’opérations S7-200. Il existe une correspon-
dance directe entre les abréviations internationales et les abréviations SIMATIC ; elles ont les mê-
mes fonctions.
Réseau
Bobine
Contact à fermeture Contact à ouverture
I0.0 T32
IN TON Réseau
VW0 PT
Boîte
Barre d’alimentation
gauche
LIST
Editeur LIST - projet1.ob1
Commencez chaque
//Programme pour bande transporteuse commentaire par une double
barre oblique //.
NETWORK //Démarrer moteur
LD “Démarr1” //Lorsque I0.0 est à 1
AN “ArrêtUrg1” //et que I0.1 est à 0,
= Q0.0 //démarrer le moteur de la bande transporteuse.
Opération
NETWORK //Arrêt d’urgence de la bande transporteuse
LD I0.1 //Lorsque ArrêtUrg 1 est à 1
O I0.3 //ou que ArrêtUrg 2 est à 1,
R Q0.0, 1 //arrêter le moteur de la bande.
Les opérations LIST utilisent une pile logique dans la CPU pour résoudre la logique de commande.
Comme illustré à la figure 6-5, cette pile logique a neuf bits de profondeur et un bit de largeur. La
plupart des opérations LIST utilisent soit le premier bit, soit les premier et deuxième bits de la pile
logique. Il est possible d’empiler (d’ajouter) de nouvelles valeurs dans la pile. Lorsque les deux bits
supérieurs de la pile sont combinés, la pile est réduite d’un bit.
La plupart des opérations LIST ne font certes que lire les valeurs figurant dans la pile logique, mais
de nombreuses opérations LIST modifient aussi les valeurs de cette pile. La figure 6-5 montre com-
ment trois opérations utilisent la pile.
Dans ces exemples, les valeurs initiales de la pile sont notées « vi0 » à « vi7 », une nouvelle valeur fournie par l’opération est notée « nv » et
« P0 » correspond à la valeur calculée rangée dans la pile.
La CPU S7-200 exécute votre programme de manière continue afin de commander une tâche ou
un processus. Vous créez ce programme avec STEP 7-Micro/WIN, puis le chargez dans la CPU.
Vous pouvez appeler différents sous-programmes et programmes d’interruption à partir du pro-
gramme principal.
Organisation du programme
Comme illustré à la figure 6-6, les programmes pour les CPU S7-200 sont conçus à partir de trois
éléments fondamentaux : le programme principal, les sous-programmes (facultatifs) et les program-
mes d’interruption (facultatifs).
S Le programme principal contient les opérations qui commanderont votre application. Ces opéra-
tions sont exécutées en séquence, une fois par cycle de la CPU. Vous achevez le programme
principal à l’aide de la bobine de fin de traitement inconditionnelle en CONT ou de l’opération
correspondante (MEND) en LIST. Voir (1) dans la figure 6-6.
S Les sous-programmes sont des éléments facultatifs de votre programme qui ne sont exécutés
que lorsqu’ils sont appelés dans le programme principal. Ils doivent venir après la fin du pro-
gramme principal, signalée par la bobine de fin de traitement inconditionnelle en CONT ou l’opé-
ration MEND en LIST. Achevez chaque sous-programme par l’opération RET. Voir (2) dans la
figure 6-6.
S Les programmes d’interruption sont des éléments facultatifs de votre programme qui sont exé-
cutés lorsque se produit l’événement d’interruption correspondant. Ils doivent venir après la fin
du programme principal, signalée par la bobine de fin de traitement inconditionnelle en CONT ou
l’opération MEND en LIST. Achevez chaque programme d’interruption par l’opération RETI. Voir
(3) dans la figure 6-6.
Les sous-programmes et les programmes d’interruption doivent suivre la bobine de fin de traitement
inconditionnelle ou l’opération MEND du programme principal ; il n’y a pas d’autre règle à respecter
pour placer les sous-programmes et les programmes d’interruption dans votre programme. Vous
pouvez mélanger sous-programmes et programmes d’interruption après le programme principal
mais, si vous regroupez tous les sous-programmes après le programme principal et les faites immé-
diatement suivre par les programmes d’interruption, la structure de votre programme sera claire et
facilement compréhensible.
Programme principal
Programme principal :
(1)
exécuté une fois par cycle
MEND
Sous-programme 0 (facultatif)
RET
Sous-programme 1 (facultatif) Sous-programme :
RET (2) exécuté en cas d’appel
depuis le programme
Programme principal
Sous-programme n (facultatif)
utilisateur RET
CONT LIST
Programme principal
Réseau 1 !
SM0.1 0 .1204& ,8,&-3. 1&,)&1 $6$+&
/1&-% +" 5"+&41
CALL
"//&+&1 2.42:/1.(1",,&
Réseau 2 !
END
Sous-programmes
Réseau 3 !
0 8#43 %4 2.42:/1.(1",,&
SBR
!
ATCH
EN
0 INT
10 EVENT
Réseau 5
RET
Programmes d’interruption
Réseau 6 !
0 8#43 %4 /1.(1",,& %)-3&114/3).-
INT
!
! !
! )1& +&-318& "-"+.()04&
Réseau 7
MOV_W !
EN )- %4 /1.(1",,& %)-3&114/3).-
Réseau 8
RETI
La CPU S7-200 est conçue pour exécuter une séquence de tâches, notamment votre programme,
de façon répétitive. On appelle « cycle » cette exécution cyclique des différentes tâches. Comme
illustré à la figure 6-8, pendant son cycle, la CPU :
S lit les entrées,
S exécute le programme,
S traite les demandes de communication,
S exécute son test d’auto-diagnostic,
S écrit les sorties.
Un cycle
Ecrire les sorties Lire les entrées
Exécuter le programme
Exécuter le test d’auto-diagnostic
Les tâches exécutées pendant le cycle dépendent de l’état de fonctionnement de la CPU. La CPU
S7-200 présente deux états de fonctionnement : l’état « Arrêt » (STOP) et l’état « Marche » (RUN).
En ce qui concerne le cycle, la différence principale entre les états « Arrêt » et « Marche » est que
votre programme s’exécute à l’état « Marche » alors qu’il ne s’exécute pas à l’état « Arrêt ».
Exécution du programme
Pendant la phase d’exécution du cycle, la CPU exécute votre programme, de la première instruction
à l’instruction de fin. Les opérations d’E/S directes vous permettent d’accéder directement aux en-
trées et aux sorties, pendant l’exécution du programme ou d’un programme d’interruption.
Si vous utilisez des interruptions dans votre programme, les programmes associés aux événements
d’interruption sont sauvegardés comme partie du programme (voir paragraphe 6.4). Ils ne sont tou-
tefois pas exécutés au cours du cycle normal, mais uniquement lorsque l’événement d’interruption
correspondant se produit (ce qui est possible en tout point du cycle).
Interruption du cycle
Si vous utilisez des interruptions, les programmes associés à chaque événement d’interruption sont
sauvegardés comme partie du programme. Ils ne sont toutefois pas exécutés au cours du cycle
normal, mais uniquement lorsque l’événement d’interruption correspondant se produit (ce qui est
possible en tout point du cycle). La CPU traite les interruptions dans l’ordre où elles apparaissent
au sein de leur classe de priorité.
Tous les modèles de CPU S7-200 comportent un dispositif de protection par mot de passe permet-
tant de limiter l’accès à des fonctions précises de la CPU. L’utilisation d’un mot de passe permet de
réserver l’accès aux fonctions et à la mémoire de la CPU aux seules personnes autorisées ; sans
mot de passe, la CPU est accessible à tous. En cas de protection par mot de passe, la CPU interdit
toutes les opérations à accès limité selon la configuration fournie lors de l’installation du mot de
passe.
Nota
Une fois le mot de passe entré, le niveau d’autorisation pour ce mot de passe reste en vigueur
jusqu’à une minute après la déconnexion de la console de programmation de la CPU.
1 La protection « Effacer » peut être annulée par le mot de passe maître « clearplc ».
désiré pour la CPU, puis saisissez et vérifiez le mot de passe pour la CPU.
Configurer la CPU
Mot de passe :
Vérification :
Chargez les paramètres de configuration dans la CPU pour qu’ils entrent en vigueur.
OK Annuler
Attention
! L’effacement de la mémoire de la CPU entraîne la désactivation des sorties (s’il s’agit d’une sortie
analogique, elle est figée à une valeur spécifique).
Si la CPU S7-200 est connectée à des appareils lorsque vous effacez sa mémoire, un
changement dans l’état des sorties peut être transmis aux appareils. Si vous aviez configuré un
état « sûr » pour les sorties différent des réglages d’usine, des changements dans les sorties
pourraient provoquer une activité non prévue des appareils pouvant entraîner la mort, des
blessures graves et des dommages matériels importants.
Respectez toujours les règles de sécurité appropriées et assurez-vous que le processus est dans
un état sûr avant d’effacer la mémoire de la CPU.
STEP 7-Micro/WIN propose une série d’outils pour le test et la surveillance de votre programme.
Exécuter cycles
Annuler
Figure 6-12 Surveillance et modification de variables avec une table de visualisation d’état
“Pompe_1”
Exécuter le programme
Un cycle Forçage de tous les accès directs aux
E/S
La figure 6-15 montre un exemple de forçage avec la table de visualisation d’état. Reportez-vous au
paragraphe 3.8 pour plus d’informations sur l’utilisation de cette table.
La CPU S7-200 classe les erreurs qui apparaissent en erreurs graves et en erreurs bénignes.
STEP 7-Micro/WIN vous permet de visualiser les codes générés par l’erreur. La figure 6-16 montre
la boîte de dialogue qui affiche le code et la description de l’erreur. Vous trouverez la liste complète
des codes d’erreur à l’annexe C.
Informations CPU
Erreurs modules
Module 0 : Manquant Module 4 : Manquant
Module 1 : Manquant Module 5 : Manquant
Utilisez la description et le code
Module 2 : Manquant Module 6 : Manquant
pour éliminer la cause possible
Module 3 : Manquant de l’erreur.
Erreurs CPU
Grave : 0 Pas d’erreur grave
Bénigne : 0 Pas d’erreur bénigne
Fermer
SM5.0
STOP
Contenu de ce chapitre
Paragraphe Description Page
7.1 Adressage direct des zones de mémoire de la CPU 7-2
7.2 Adressage indirect des zones de mémoire de la CPU 7-9
7.3 Gestion des données dans la CPU S7-200 7-11
7.4 Sauvegarde non volatile de données par programme 7-16
7.5 Cartouche mémoire pour la sauvegarde du programme 7-17
La CPU S7-200 range les informations à différents emplacements de la mémoire ayant chacun une
adresse unique. Vous pouvez identifier explicitement l’adresse de mémoire à laquelle vous voulez
accéder. Ainsi, votre programme dispose d’un accès direct aux informations.
I 3 . 4 BPFo BPFa
7 6 5 4 3 2 1 0
Bit de l’octet ou numéro de bit : bit 4 de 8 (0 à 7) I 0
I 1
Point séparant l’adresse d’octet du numéro de bit
I 2
Adresse d’octet : octet 3 (quatrième octet) I 3
Identificateur de zone (I = entrées) I 4
I 5
I 6
BPFo = Bit de poids fort
BPFa = Bit de poids faible I 7
Figure 7-1 Accès à un bit de données dans la mémoire de la CPU (adressage octet.bit)
Le format d’adresse d’octet permet d’accéder à des données dans de nombreuses zones de la
CPU (V, I, Q, M et SM) sous forme d’octets, de mots ou de doubles mots. Pour accéder à un octet,
un mot ou un double mot de données dans la mémoire de la CPU, vous précisez l’adresse de ma-
nière comparable à l’adresse d’un bit. Cette adresse est composée d’un identificateur de zone, de
la désignation de la taille des données et de l’adresse d’octet de départ de la valeur d’octet, de mot
ou de double mot (figure 7-2). On accède aux données situées dans d’autres zones de mémoire de
la CPU (T, C, HC et accumulateurs, par exemple) via un format d’adresse comprenant l’identifica-
teur de zone et le numéro de l’élément en question.
V B 100
BPFo BPFa
7 0
Adresse d’octet
VB100 VB100 Accès à un octet
Identificateur de zone (mémoire V)*
Octet de poids faible V W 100
Octet de poids fort
Adresse d’octet
BPFo BPFa
15 8 7 0 Accès à un mot
VW100 VB100 VB101 Identificateur de zone (mémoire V)*
V D 100
Adresse d’octet
BPFo = Bit de poids fort
Accès à un double mot
BPFa = Bit de poids faible Identificateur de zone (mémoire V)*
Figure 7-2 Comparaison de l’accès par octet, mot ou double mot à la même adresse
Bits tempo
Valeur en cours (lecture/écriture)
T3
T0 T0
T1 T1
Numéro de la temporisation (adresse du bit) T2
T2
Identificateur de zone (temporisation) T3
T3
C3 Bits compteur
Valeur en cours (lecture/écriture)
AI W 8
BPFo BPFa
15 8 7 0
Adresse d’octet
AIW8 Accès à une valeur de taille « mot »
octet 8 octet 9
Octet de poids fort Octet de poids faible Identificateur de zone (entrée analogique)
BPFo BPFa
AQ W 10
15 8 7 0 Adresse d’octet
AQW10 octet 10 octet 11 Accès à une valeur de taille « mot »
Octet de poids fort Octet de poids faible Identificateur de zone (sortie analogique)
Nota
Reportez-vous au paragraphe 10.14 pour plus d’informations sur l’utilisation des accumulateurs
dans les programmes d’interruption.
BPFo BPFa
MOV_B 7 0
EN
BPFo BPFa
DEC_W 15 8 7 0
EN octet de poids fort octet de poids faible
Octet 1 Octet 0
AC1 IN OUT VW100
AC1 (accès comme mot)
Numéro de l’accumulateur
Identificateur de zone (accumulateur)
BPFo BPFa
INV_D 31 24 23 16 15 8 7 0
EN octet de poids fort octet de poids faible
BPFo BPFa
31 HC 2 0
octet de poids fort octet de poids faible
HC 2
Numéro du compteur rapide
Identificateur de zone (compteur rapide)
Constantes
Vous pouvez utiliser des valeurs constantes de taille octet, mot ou double mot dans de nombreuses
opérations S7-200. La CPU sauvegarde toutes les constantes sous forme de nombres binaires
pouvant être représentés en format décimal, hexadécimal ou ASCII.
Format décimal : [valeur décimale]
Format hexadécimal : 16#[valeur hexadécimale]
Format ASCII : ’[texte ASCII]’
Les CPU S7-200 ne prennent pas en charge la détermination ou la vérification du type de données
(comme indiquer que la constante doit être sauvegardée comme entier de 16 bits, entier signé ou
entier de 32 bits). Ainsi, une opération d’addition peut utiliser la valeur dans VW100 comme valeur
entière signée alors que l’opération OU exclusif peut se servir de la même valeur de VW100 comme
valeur binaire non signée.
Les exemples suivants montrent des constantes en format décimal, hexadécimal et ASCII :
S Constante décimale : 20047
S Constante hexadécimale : 16#4E4F
S Constante ASCII : ’Texte entre apostrophes.’
En mode d’adressage indirect, un pointeur permet d’accéder aux données en mémoire. Avec la
CPU S7-200, vous pouvez utiliser des pointeurs pour accéder indirectement aux zones de mémoire
suivantes : I, Q, V, M, S, T (valeur en cours uniquement) et C (valeur en cours uniquement). Il n’est
pas possible d’accéder à des bits ou des valeurs analogiques individuels avec l’adressage indirect.
Nota
Pour accéder indirectement à une valeur de mot ou de double mot dans les zones de mémoire I,
Q, V, M ou S, vous devez préciser l’adresse de l’octet initial de la valeur comme opérande
d’entrée de l’opération MOVD qui crée le pointeur. Soit, par exemple, VB100 l’adresse de l’octet
initial de VW100 et MB4 l’adresse de l’octet initial de MD4. Si un mnémonique a été affecté à la
valeur de mot ou de double mot, vous ne pouvez pas vous en servir dans l’opération MOVD qui
crée le pointeur, car il faut préciser l’adresse de l’octet initial de la valeur dans l’opérande d’entrée
de l’opération. Dans ces circonstances, vous devez affecter un mnémonique différent à l’adresse
de l’octet initial du mot ou du double mot afin de pouvoir l’utiliser pour la création du pointeur.
Modification de pointeurs
Vous pouvez changer la valeur d’un pointeur. Comme les pointeurs sont des valeurs de 32 bits,
vous modifiez leur valeur à l’aide d’opérations sur doubles mots. Vous pouvez modifier la valeur
des pointeurs à l’aide d’opérations arithmétiques simples (additionner ou incrémenter, par exemple).
N’oubliez cependant pas de prendre en compte la taille des données auxquelles se fait l’accès :
S En cas d’accès à des octets, incrémentez le pointeur d’une unité.
S En cas d’accès à un mot ou à une valeur en cours de temporisation ou de compteur, incrémen-
tez le pointeur de deux unités.
S En cas d’accès à des doubles mots, incrémentez le pointeur de quatre unités.
La figure 7-10 montre comment créer un pointeur d’adresse indirecte, comment accéder aux don-
nées indirectement et comment incrémenter le pointeur.
AC1
INCD AC1
V199 adresse de VW202 INCD AC1 Incrémente le pointeur
deux fois pour désigner
V200 12 l’adresse de mot
V201 34 suivante.
V202 56
V203 78 MOVW *AC1, AC0 Transfère le mot
AC0
V204 désigné par AC1
5678 (VW202) dans AC0.
La CPU S7-200 propose plusieurs méthodes assurant que votre programme, les données de pro-
gramme et les données de configuration de votre CPU sont conservées correctement.
S La CPU dispose d’une EEPROM pour la sauvegarde non volatile de tout votre programme, de
zones de données sélectionnées et des données de configuration de la CPU (figure 7-11).
S La CPU comporte un supercondensateur qui assure l’intégrité de la mémoire vive (RAM) lors-
que la CPU est hors tension. Selon la CPU, le supercondensateur peut assurer la sauvegarde
de la mémoire vive pendant plusieurs jours.
S Certaines CPU prennent en charge une cartouche pile optionnelle qui allonge la durée pendant
laquelle la sauvegarde de la mémoire vive est assurée après mise hors tension de la CPU.
Cette cartouche pile n’entre en action qu’une fois le supercondensateur épuisé.
Ce paragraphe présente le stockage et la conservation des données en mémoire vive dans diver-
ses situations.
Programme utilisateur
Programme utilisateur
Configuration CPU
Configuration CPU
Mémoire V
Mémoire V
(zone rémanente)
Mémoire M
Mémoire M
Valeurs en cours de (zone rémanente)
temporisations et
compteurs
Programme utilisateur
Configuration CPU
CPU S7-200
Programme utilisateur
Programme utilisateur
Configuration CPU Programme utilisateur
Configuration CPU Configuration CPU
Mémoire V DB1 : jusqu’à la taille max. de la zone Mémoire V
de mémoire V rémanente (zone rémanente)
Mémoire M Mémoire M
(zone rémanente)
Valeurs en cours de
temporisations et
compteurs Mémoire RAM Mémoire EEPROM
Programme utilisateur
Configuration CPU
CPU S7-200
Programme utilisateur
Programme utilisateur
Configuration CPU Parties restantes
du DB1 Configuration CPU
Partie rémanente Mémoire V
Mémoire V
du DB1 (zone rémanente)
Mémoire M Mémoire M
(zone rémanente)
Valeurs en cours de
temporisations et
compteurs Mémoire RAM Mémoire EEPROM
Programme utilisateur
Programme utilisateur
Configuration CPU
Configuration CPU
Mémoire V Mémoire V
S’ils ont été configurés comme (zone rémanente)
Mémoire M rémanents, les 14 premiers octets Mémoire M
de mémoire M (MB0 à MB13) sont (zone rémanente)
copiés en EEPROM lors d’une
Valeurs en cours de coupure de tension.
temporisations et
compteurs
Programme utilisateur
Programme utilisateur Programme utilisateur
Mémoire M
Mémoire M (zone rémanente)
Valeurs en cours de
temporisations et
compteurs
A la mise sous tension, la CPU contrôle la mémoire vive pour s’assurer que le supercondensateur a
correctement conservé les données qui y figuraient. Si c’est le cas, les zones rémanentes de cette
mémoire restent inchangées. Quant aux parties non rémanentes de mémoire V, elles sont extraites
de la zone rémanente correspondante de mémoire V dans l’EEPROM (figure 7-16).
Programme utilisateur
Programme utilisateur
Configuration CPU
Les zones correspondantes de la Configuration CPU
Figure 7-16 Restauration de données de programme au retour de tension (données sauvegardées en RAM)
Si le contenu de la mémoire vive n’a pas été sauvegardé (en cas de perte de tension prolongée, par
exemple), la CPU efface la mémoire vive – zones rémanentes et non rémanentes – et met à 1 le bit
SM0.2 « Données rémanentes perdues » pendant le premier cycle après le retour de tension. Les
données rangées dans la mémoire EEPROM non volatile sont alors copiées en mémoire vive (fi-
gure 7-17).
Programme utilisateur
Programme utilisateur
Configuration CPU
Configuration CPU
Mémoire V (zone rémanente)
Mémoire V Mémoire V
(zone rémanente)
Mémoire M Mémoire M
Mémoire M (zone rémanente),
(zone rémanente)
si définie comme telle
Valeurs en cours de
temporisations et
compteurs
Toutes les autres zones de
mémoire sont mises à zéro.
Figure 7-17 Restauration de données de programme au retour de tension (données non sauvegardées en
RAM)
Nota
Seules les valeurs en cours de temporisations et de compteurs peuvent être définies comme
rémanentes ; cela est impossible pour les bits de temporisations et de compteurs.
Pour définir des zones de mémoire rémanentes, sélectionnez la commande CPU " Configurer et
cliquez sur l’onglet « Zones rémanentes ». La boîte de dialogue permettant de définir ces zones
rémanentes est présentée à la figure 7-18. Cliquez sur le bouton « Présélection » pour afficher les
zones rémanentes prises par défaut pour votre CPU.
Configurer la CPU
Nombre
Présélection
Zone données Décalage d’éléments
Zone 0 : Effacer
Zone 1 : Effacer
Zone 2 : Effacer
Zone 3 : Effacer
Zone 4 : Effacer
Zone 5 : Effacer
Chargez les paramètres de configuration dans la CPU pour qu’ils entrent en vigueur.
OK Annuler
Vous pouvez sauvegarder en mémoire EEPROM une valeur (octet, mot ou double mot) conservée
en mémoire V. Cette fonction permet de sauvegarder une valeur à tout emplacement de la zone de
mémoire V rémanente.
Typiquement, une sauvegarde en EEPROM entraîne une surcharge de 15 à 20 ms du temps de
cycle. La valeur écrite par l’opération de sauvegarde se substitue à toute valeur antérieure rangée
dans la zone de mémoire V rémanente de la mémoire EEPROM.
Nota
L’opération de sauvegarde en EEPROM ne met pas à jour les données dans la cartouche
mémoire.
BPFo BPFa
Taille de la valeur à sauvegarder :
7 0
00 : octet
SMB31 sv 0 0 0 0 0 s1 s0 01 : octet
10 : mot
11 : double mot
Sauvegarde en mémoire EEPROM : La CPU remet le bit SM31.7 à
0 = Non 0 après chaque opération de
1 = Oui sauvegarde.
BPFo BPFa
15 0
SMW32 Adresse de mémoire V
Certaines CPU prennent en charge une cartouche mémoire optionnelle constituant une mémoire
EEPROM amovible pour votre programme. Vous pouvez utiliser cette cartouche comme une dis-
quette. La CPU y stocke les éléments suivants :
S le programme utilisateur,
S les données rangées dans la zone de mémoire V rémanente de l’EEPROM,
S la configuration de la CPU.
Reportez-vous à l’annexe A pour plus d’informations sur la cartouche mémoire convenant à votre
CPU.
Avertissement
! Des décharges électrostatiques peuvent endommager la cartouche mémoire ou l’emplacement
prévu pour elle dans la CPU.
Pour éviter tout risque lorsque vous manipulez la cartouche mémoire, soyez en contact avec un
tapis conducteur mis à la terre ou portez un bracelet spécial avec chaînette. Vous devez
conserver la cartouche dans une boîte conductrice.
Vous pouvez installer ou retirer la cartouche mémoire alors que la CPU est sous tension. Pour ins-
taller la cartouche mémoire, retirez la protection de l’emplacement de cartouche mémoire situé sous
le volet d’accès de la CPU et insérez-y la cartouche (elle a une forme telle que vous ne pouvez pas
commettre d’erreur à l’enfichage). Une fois la cartouche mémoire installée, procédez comme suit
pour copier le programme.
1. Si le programme n’est pas encore chargé dans la CPU, faites-le.
2. Sélectionnez la commande CPU " Programmer cartouche mémoire pour copier le programme
dans la cartouche mémoire. La figure 7-20 montre les éléments de la mémoire CPU qui sont
sauvegardés dans la cartouche.
3. Retirez la cartouche mémoire (facultatif).
Nota
Mettre la CPU sous tension avec une cartouche mémoire vide ou avec une cartouche mémoire
programmée dans une CPU de version différente provoque une erreur. Vous devez alors retirer la
cartouche mémoire et recommencer la mise sous tension, puis insérer la cartouche mémoire et la
programmer.
Programme utilisateur
Programme utilisateur
Programme utilisateur
Configuration CPU Configuration CPU Configuration CPU
Mémoire V : jusqu’à la taille max. de la
Mémoire V zone de mémoire V rémanente Mémoire V
(zone rémanente)
Mémoire M Mémoire M
(zone rémanente)
Valeurs en cours de Toutes les autres zones
temporisations et de mémoire sont mises
compteurs à zéro.
Programme utilisateur
Cartouche
Configuration CPU mémoire
Figure 7-21 Restauration de mémoire à la mise sous tension (cartouche mémoire enfichée)
Contenu de ce chapitre
Paragraphe Description Page
8.1 E/S locales et E/S d’extension 8-2
8.2 Utilisation du filtre d’entrée sélectionnable pour la réjection des bruits 8-5
8.3 Configuration des états des sorties avec la table des sorties 8-6
8.4 Entrées/sorties rapides 8-7
8.5 Potentiomètres analogiques 8-8
Les entrées et les sorties sont les points de commande du système : les entrées surveillent les si-
gnaux des appareils sur site (tels que capteurs et commutateurs) et les sorties commandent pom-
pes, moteurs et autres appareils dans votre processus. Vous disposez d’entrées/sorties (E/S) loca-
les fournies par la CPU et d’entrées/sorties d’extension fournies par un module d’extension.
S Une CPU S7-200 fournit un certain nombre d’entrées/sorties TOR locales. Reportez-vous aux
fiches techniques à l’annexe A pour plus d’informations sur le nombre d’E/S locales fournies par
votre CPU.
S Vous pouvez, en outre, ajouter des entrées et sorties d’extension TOR et analogiques aux CPU
S7-200. Reportez-vous aux fiches techniques à l’annexe A pour plus d’informations sur les pos-
sibilités offertes par les différents modules d’extension.
Module 0 Module 1
8 8
CPU 212
entrées sorties
Mémoire image des E/S pouvant être utilisée pour des mémentos internes :
Figure 8-1 Exemple de numérotation des E/S pour une CPU 212
CPU 214
4 entrées/ 8 3 E ANA / 8 3 E ANA /
ou
4 sorties entrées 1 S ANA sorties 1 S ANA
CPU 215
Mémoire image des E/S pouvant être utilisée pour des mémentos internes :
Q1.2 Q2.4 I4.0 Q4.0
Q1.3 Q2.5 . .
Q1.4 Q2.6 . .
Q1.5 Q2.7 . .
Q1.6 I7.7 Q7.7
Q1.7
Figure 8-2 Exemple de numérotation des E/S pour une CPU 214 ou une CPU 215
I6.0 Q5.0
I0.0 Q0.0 I3.0 Q2.0 I4.0 Q3.0 I6.1 Q5.1
I0.1 Q0.1 I3.1 Q2.1 I4.1 Q3.1 I6.2 Q5.2
I0.2 Q0.2 I3.2 Q2.2 I4.2 Q3.2 I6.3 Q5.3
I0.3 Q0.3 I3.3 Q2.3 I4.3 Q3.3 I6.4 Q5.4
I0.4 Q0.4 I3.4 Q2.4 I4.4 Q3.4 I6.5 Q5.5
I0.5 Q0.5 I3.5 Q2.5 I4.5 Q3.5 I6.6 Q5.6
I0.6 Q0.6 I3.6 Q2.6 I4.6 Q3.6 I6.7 Q5.7
I0.7 Q0.7 I3.7 Q2.7 I4.7 Q3.7
I7.0 Q6.0
I1.0 Q1.0 I5.0 Q4.0 I7.1 Q6.1
I1.1 Q1.1 I5.1 Q4.1 I7.2 Q6.2
I1.2 Q1.2 I5.2 Q4.2 I7.3 Q6.3
I1.3 Q1.3 I5.3 Q4.3 I7.4 Q6.4
I1.4 Q1.4 I5.4 Q4.4 I7.5 Q6.5
I1.5 Q1.5 I5.5 Q4.5 I7.6 Q6.6
I1.6 Q1.6 I5.6 Q4.6 I7.7 Q6.7
I1.7 Q1.7 I5.7 Q4.7
I2.0
I2.1
I2.2
I2.3
I2.4
I2.5
I2.6
I2.7
Figure 8-3 Exemple de numérotation des E/S pour une CPU 216
Vous pouvez, avec votre CPU S7-200, sélectionner un filtre d’entrée qui définit un temps de retard
(de 0,2 ms à 8,7 ms) pour certaines ou pour toutes les entrées TOR locales. Consultez l’annexe A
pour plus d’informations sur votre CPU spécifique. Comme le montre la figure 8-4, ce temps de re-
tard est ajouté au temps de réaction standard de groupes de quatre entrées. Ce retard permet de
filtrer les bruits sur le câblage des entrées, bruits qui pourraient provoquer des changements invo-
lontaires de l’état des entrées.
Le filtre d’entrée fait partie des données de configuration de la CPU qui sont chargées et sauvegar-
dées dans la mémoire de la CPU.
Sélectionnez la commande CPU " Configurer... et cliquez sur l’onglet « Filtres d’entrée » pour
configurer les temps de retard pour le filtre d’entrée.
Configurer la CPU
Présélection
Chargez les paramètres de configuration dans la CPU pour qu’ils entrent en vigueur.
OK Annuler
8.3 Configuration des états des sorties avec la table des sorties
La CPU S7-200 permet, lors d’un passage de l’état de fonctionnement « Marche » à l’état « Arrêt »,
soit de donner des valeurs connues aux sorties TOR, soit de les laisser dans l’état qu’elles avaient
avant ce passage à l’état « Arrêt ».
La table des sorties fait partie des données de configuration de la CPU qui sont chargées et sauve-
gardées dans la mémoire de la CPU.
La configuration de valeurs de sortie ne vaut que pour les sorties TOR. En effet, les sorties analogi-
ques sont toujours figées lors d’un passage à l’état de fonctionnement « Arrêt » (STOP), car c’est
votre programme qui est responsable de leur mise à jour lorsque c’est nécessaire. La mise à jour
des entrées et sorties analogiques n’est pas une fonction système de la CPU, qui ne conserve pas
de mémoire image interne de ces entrées et sorties.
Sélectionnez la commande CPU " Configurer... et cliquez sur l’onglet « Table des sorties » pour
ouvrir la boîte de dialogue de configuration de la table des sorties (figure 8-5). Il existe deux options
pour la configuration des sorties :
S Si vous voulez figer les sorties à leur dernier état, activez l’option « Figer sorties » puis cliquez
sur « OK ».
S Pour copier les valeurs de la table dans les sorties, vous devez d’abord entrer ces valeurs. Acti-
vez la case correspondant à chaque bit de sortie que vous voulez mettre à 1 après un passage
de l’état « Marche » à l’état « Arrêt », puis cliquez sur « OK » pour sauvegarder vos sélections.
Par défaut, la CPU copie les valeurs de la table des sorties dans les sorties. Les valeurs dans cette
table sont toutes « zéro » par défaut.
Configurer la CPU
Figer sorties
Q0.x 7 6 5 4 3 2 1 0
Q1.x 7 6 5 4 3 2 1 0 Ces sorties
Q2.x 7 6 5 4 3 2 1 0 seront à 1 après
un passage de
Q3.x 7 6 5 4 3 2 1 0 l’état « Marche »
Q4.x 7 6 5 4 3 2 1 0 à l’état « Arrêt ».
Q5.x 7 6 5 4 3 2 1 0
Q6.x 7 6 5 4 3 2 1 0
Q7.x 7 6 5 4 3 2 1 0
Chargez les paramètres de configuration dans la CPU pour qu’ils entrent en vigueur.
OK Annuler
Votre CPU S7-200 dispose d’entrées/sorties rapides pour gérer les événements rapides. Reportez-
vous aux fiches techniques à l’annexe A pour plus d’informations sur les E/S rapides fournies par
chaque CPU.
Compteurs rapides
Les compteurs rapides comptent des événements rapides qui ne peuvent pas être gérés aux taux
de cycle des CPU S7-200. Selon son modèle, votre CPU peut disposer d’un compteur rapide logi-
ciel et de deux compteurs rapides matériels.
S HSC0 est un compteur logiciel incrémental/décrémental qui accepte une entrée d’horloge uni-
que. Votre programme gère le sens de comptage – incrémentation ou décrémentation – à l’aide
du bit de commande du sens de comptage. La fréquence de comptage maximale de HSC0 est
de 2 KHz.
S HSC1 et HSC2 sont des compteurs matériels universels qui peuvent être configurés pour un
parmi douze modes de fonctionnement différents. Ces modes sont énumérés au tableau 10-5.
La fréquence de comptage maximale pour HSC1 et HSC2 dépend de votre CPU (voir l’an-
nexe A).
Chaque compteur a des entrées réservées aux horloges, à la commande du sens de comptage, à
la mise à zéro et au démarrage lorsque ces fonctions sont prises en charge. En mode de quadra-
ture de phase, une option permet de sélectionner des fréquences de comptage maximales simple
ou quadruple. Les compteurs HSC1 et HSC2 sont entièrement indépendants l’un de l’autre et n’in-
fluencent aucune autre opération rapide. Ces deux compteurs fonctionnent à leur vitesse maximale
sans interférer l’un avec l’autre.
Reportez-vous au paragraphe 10.5 pour plus d’informations sur l’utilisation des compteurs rapides.
Votre CPU S7-200 dispose d’un ou de deux potentiomètres analogiques, situés sous le volet d’ac-
cès du module. Vous pouvez régler ces potentiomètres afin d’augmenter ou de diminuer les valeurs
rangées dans les octets de mémentos spéciaux SMB28 et SMB29. Le programme peut utiliser ces
valeurs en lecture seule pour diverses fonctions, telles que la mise à jour de la valeur en cours
d’une temporisation ou d’un compteur, l’entrée ou la modification des valeurs prédéfinies ou la défi-
nition de limites.
Le SMB28 contient la valeur numérique représentant la position du potentiomètre analogique 0 et le
SMB29 celle représentant la position du potentiomètre analogique 1. Les potentiomètres analogi-
ques ont une plage nominale allant de 0 à 255 et une plage garantie allant de 10 à 200.
Vous réglez les potentiomètres à l’aide d’un petit tournevis. Tournez le potentiomètre dans le sens
des aiguilles d’une montre (vers la droite) pour augmenter une valeur et dans le sens inverse des
aiguilles d’une montre (vers la gauche) pour diminuer une valeur. La figure 8-6 montre un exemple
de programme utilisant un potentiomètre analogique.
CONT LIST
T33
Q0.0 TON Utiliser la valeur de mot
/ comme valeur prédéfinie
IN
pour T33. Mettre Q0.0 à
VW100 PT 1 lorsque T33 atteint la
valeur prédéfinie.
T33 Q0.0
Contenu de ce chapitre
Paragraphe Description Page
9.1 Possibilités de communication de la CPU S7-200 9-2
9.2 Eléments d’un réseau de communication 9-6
9.3 Transmission de données à l’aide du câble PC/PPI 9-9
9.4 Transmission de données à l’aide d’une carte MPI ou CP 9-13
9.5 Communication norme DP (périphérie décentralisée) 9-15
9.6 Performances du réseau 9-28
Protocoles de communication
Les CPU S7-200 prennent en charge différentes méthodes de communication. Votre réseau peut
accepter un ou plusieurs des protocoles de communication suivants selon la CPU S7-200 que vous
utilisez :
S Interface point à point (PPI)
S Interface multipoint (MPI)
S PROFIBUS DP
Reportez-vous au tableau 9-1 pour plus de détails.
Ces protocoles se basent sur le modèle d’interconnexion de systèmes ouverts (ISO) à sept cou-
ches pour l’architecture de communication. Les protocoles PPI, MPI et PROFIBUS DP sont réalisés
sur un anneau à jeton conforme à la norme PROFIBUS (Process Field Bus) telle qu’elle est définie
dans la norme européenne EN 50170.
Il s’agit de protocoles asynchrones en mode caractères avec un bit de démarrage, huit bits de don-
nées, parité paire et un bit d’arrêt. Les blocs d’échange dépendent de caractères de démarrage et
d’arrêt spéciaux, de l’adresse de la station source et de celle de la station de destination, de la lon-
gueur du bloc d’échange et du total de contrôle pour l’intégrité des données. Vous pouvez faire ap-
pel à ces trois protocoles simultanément dans un réseau sans qu’ils interfèrent entre eux à condi-
tion que le débit en bauds soit identique pour chacun d’eux.
Le réseau PROFIBUS utilise la norme RS-485 sur des câbles à paire torsadée. Cela permet de
connecter jusqu’à 32 unités à un segment de réseau. La longueur maximale des segments de ré-
seaux est de 1 200 mètres, selon la vitesse de transmission. Reliez les segments de réseaux via
des répéteurs si vous voulez installer plus d’unités et utiliser des longueurs de câbles supérieures.
Avec des répéteurs, les réseaux peuvent avoir une longueur maximale de 9 600 mètres selon la
vitesse de transmission (voir paragraphe 9.2).
Les protocoles définissent deux types d’unités de réseaux : les maîtres et les esclaves. Les unités
maîtres peuvent émettre des demandes auprès d’autres unités dans le réseau. Les esclaves, eux,
peuvent uniquement réagir aux demandes des maîtres ; ils n’émettent jamais leurs propres deman-
des.
Les protocoles acceptent 127 adresses (0 à 126) dans un réseau, avec 32 maîtres au maximum.
Toutes les stations dans un réseau doivent avoir des adresses différentes pour pouvoir communi-
quer. L’adresse par défaut pour les consoles de programmation SIMATIC et les PC disposant de
STEP 7-Micro/WIN est 0. L’adresse par défaut des pupitres opérateur tels que le TD 200, l’OP3 et
l’OP7 est 1. Par défaut, les automates programmables reçoivent l’adresse 2, l’interface DP de la
CPU 215 prenant l’adresse 126 par défaut.
Protocole PPI
Le protocole PPI est un protocole maître-esclave dans lequel les stations maîtres (autres CPU, PG
SIMATIC ou TD 200) envoient des demandes aux stations esclaves qui réagissent en consé-
quence. Les stations esclaves ne sont jamais à l’origine des messages ; elles attendent qu’un maî-
tre leur envoie une requête ou les interroge afin de recevoir une réponse. Toutes les CPU S7-200
agissent comme stations esclaves dans le réseau.
Certaines CPU S7-200 peuvent agir comme maîtres lorsqu’elles sont à l’état de fonctionnement
« Marche » (RUN) si vous validez le mode PPI maître dans le programme utilisateur (voir la descrip-
tion du SMB30 à l’annexe D). Une fois le mode PPI maître validé, vous pouvez accéder à d’autres
CPU en lecture ou en écriture à l’aide des opérations NETR (Lire depuis réseau) et NETW (Ecrire
dans réseau). Reportez-vous à la description de ces opérations au chapitre 10. Toutefois, même
lorsqu’elle agit en tant que maître PPI, une CPU S7-200 réagit toujours en esclave aux demandes
d’autres maîtres.
Le protocole PPI n’impose pas de limite quant au nombre de maîtres pouvant communiquer avec
toute autre CPU esclave, mais il ne peut pas y avoir plus de 32 maîtres dans un réseau.
Protocole MPI
Le protocole MPI peut être aussi bien un protocole maître-maître qu’un protocole maître-esclave ;
cela dépend du type d’unité. Une liaison maître-maître est établie si l’unité cible est une CPU
S7-300, car toutes les CPU S7-300 sont des maîtres de réseau. En revanche, une liaison maître-
esclave est établie si l’unité cible est une CPU S7-200, car toutes ces CPU sont des esclaves.
MPI établit toujours une liaison entre deux unités communiquant l’une avec l’autre ; cette liaison
s’apparente à une connexion privée entre les deux unités. Toute interférence d’un autre maître est
impossible lorsqu’il existe une liaison entre deux unités. Un maître peut établir une liaison de durée
brève ou une liaison qui reste indéfiniment ouverte.
Comme les liaisons sont des connexions privées entre stations et requièrent des ressources dans
la CPU, chaque CPU n’en prend en charge qu’un nombre fini. Le tableau 9-2 présente le nombre et
le type de liaisons MPI pris en charge par chaque CPU S7-200. Chaque CPU réserve certaines de
ses liaisons aux consoles de programmation SIMATIC et aux pupitres opérateur. La liaison réservée
pour un PC ou une PG SIMATIC avec STEP 7-Micro/WIN garantit que vous pouvez toujours relier
au moins une PG à la CPU et accéder ainsi à cette dernière. Certaines CPU réservent également
une liaison à un pupitre opérateur. Les autres types de stations maîtres (telles que des CPU) ne
peuvent se servir de ces liaisons réservées.
Tableau 9-2 Nombre et type de liaisons MPI logiques pour les CPU S7-200
CPU Interface Nombre total de liaisons Nombre et type de liaisons logiques réservées
deux :
0 quatre une pour console de programmation
une pour pupitre opérateur
215
deux :
DP six une pour console de programmation
une pour pupitre opérateur
deux :
0 quatre une pour console de programmation
une pour pupitre opérateur
216
deux :
1 quatre une pour console de programmation
une pour pupitre opérateur
Les CPU S7-300 et S7-400 peuvent communiquer avec une CPU S7-200 en établissant une
connexion parmi les liaisons non réservées de la CPU S7-200. Elles peuvent lire et écrire des don-
nées dans les CPU S7-200 au moyen des opérations XGET et XPUT (voir le guide de programma-
tion de votre S7-300 ou S7-400).
Nota
Le protocole MPI ne peut pas servir pour communiquer avec des CPU S7-200 dans lesquelles la
fonction PPI maître a été activée. En effet, il considère ces stations comme maîtres et tente de
communiquer avec elles au moyen d’un protocole maître-maître que les CPU S7-200 ne prennent
pas en charge.
Protocole PROFIBUS DP
Le protocole PROFIBUS DP est conçu pour la communication rapide avec des périphériques d’E/S
décentralisés (E/S éloignées). Divers fabricants proposent de nombreux appareils PROFIBUS qui
vont de simples modules d’entrées ou de sorties à des contrôleurs de moteur et à des automates
programmables.
Les réseaux PROFIBUS DP comportent généralement un maître et plusieurs unités d’E/S esclaves.
Grâce à sa configuration, le maître connaît les types d’esclaves d’E/S connectés et leur adresse. Il
initialise le réseau et vérifie que les esclaves dans le réseau correspondent à la configuration. Il
envoie les données de sorties aux esclaves et en lit les données d’entrée, et ce de manière conti-
nue. Un esclave configuré avec succès par un maître DP appartient à ce maître. Ainsi, s’il existe un
second maître dans le réseau, il n’aura qu’un accès très limité aux esclaves appartenant au premier
maître.
La CPU 215 a une interface fonctionnant comme interface PROFIBUS DP (figure 9-1). Reportez-
vous au paragraphe 9.5 pour de plus amples informations sur la fonction DP de cette CPU.
CPU 215
Figure 9-1 CPU 215 connectée à une CPU S7-300 et à une PG via l’interface DP
Il est possible de connecter l’interface de communication de chaque S7-200 à un bus réseau. Les
informations ci-après décrivent l’interface, les connecteurs pour le bus réseau, le câble de réseau et
les répéteurs permettant d’étendre le réseau.
Interfaces de communication
Les interfaces de communication des CPU S7-200 sont compatibles avec RS-485 sur un connec-
teur subminiature D à neuf broches, en conformité avec la norme PROFIBUS définie dans la norme
européenne EN 50170. La figure 9-2 montre le connecteur pour la connexion physique à l’interface
de communication et le tableau 9-3 décrit les signaux correspondants.
Broche 5 Broche 1
Broche 9 Broche 6
1 VOH =3,5 V, 1,6 mA, VOL=0,6 V, 1,6 mA, signal = VOH lorsque la CPU émet.
2 Les signaux A, B et demande d’émission sur l’interface DP sont isolés de la logique de la CPU et référencés au retour 5 V
isolé.
Connecteurs de réseau
Siemens propose deux types de connecteurs de réseau vous permettant de connecter aisément
plusieurs appareils à un réseau. Ces deux connecteurs comportent deux jeux de vis de raccorde-
ment vous permettant de connecter les câbles de réseau entrants et sortants. Ils comportent égale-
ment des commutateurs pour la polarisation et le raccord sélectifs d’une résistance de terminaison
au réseau. Un de ces connecteurs fournit uniquement une connexion à la CPU alors que l’autre
offre également une interface de programmation (figure 9-3). Vous trouverez leur numéro de réfé-
rence à l’annexe G.
Le connecteur avec interface de programmation permet d’ajouter au réseau une PG SIMATIC ou un
pupitre opérateur sans perturber les liaisons de réseau existantes. Le connecteur d’interface de
programmation communique tous les signaux de la CPU à l’interface de programmation. Il est utile
pour relier des équipements (tels qu’un TD 200 ou un OP3) qui tirent leur puissance de la CPU. Les
broches d’alimentation du connecteur d’interface de communication de la CPU sont passés à l’inter-
face de programmation.
Avertissement
! Le fait d’interconnecter des équipements ayant des potentiels de référence différents peut
provoquer des flux de courant indésirables via le câble d’interconnexion.
Ces courants indésirables peuvent entraîner des erreurs de programmation ou endommager
l’équipement.
Assurez-vous que tous les matériels que vous allez connecter avec un câble de communication
partagent un même potentiel de référence ou qu’ils sont isolés afin d’empêcher les flux de courant
indésirables (voir les « Règles pour la mise à la terre et le potentiel de référence des circuits
isolés » au paragraphe 2.3).
EF HF EF Connecteur
Connecteur de de réseau
réseau avec
interface de ABAB ABAB ABAB
Ä ÄÄ
Ä Ä
programmation
Le blindage nu (~ 12 mm)
Une résistance de
doit toucher les guides
terminaison doit être
métalliques de tous les
raccordée et polarisée à Câble de liaison emplacements.
chaque extrémité du câble.
B
TxD/RxD +
Broche # Broche #
A
TxD/RxD -
6 6
390 Ω Blindage du câble
B B
TxD/RxD + 3 TxD/RxD + 3
Connecteur Connecteur
A 220 Ω de réseau A de réseau
TxD/RxD - 8 8
TxD/RxD -
390 Ω
5 5
Blindage du câble 1 Blindage du câble 1
La longueur maximale d’un segment de réseau PROFIBUS dépend du débit en bauds et du type de
câble utilisé. Le tableau 9-5 donne les longueurs de segment maximales pour des câbles confor-
mes aux spécifications du tableau 9-4.
Tableau 9-5 Longueur de câble maximale d’un segment dans un réseau PROFIBUS
Répéteurs de réseau
Siemens fournit des répéteurs de réseau afin de connecter des segments de réseau PROFIBUS
(figure 9-4). Utiliser des répéteurs permet d’étendre la longueur totale du réseau et d’ajouter des
stations au réseau. Avec PROFIBUS, vous pouvez avoir jusqu’à 32 stations dans un segment de
réseau de 1 200 mètres au maximum à un débit de 9 600 bauds. Chaque répéteur permet d’ajouter
32 autres stations au réseau et d’étendre le réseau de 1 200 mètres à 9 600 bauds. Vous pouvez
utiliser jusqu’à 9 répéteurs dans un réseau. Chaque répéteur fournit une polarisation et une résis-
tance de terminaison pour le segment de réseau. Vous trouverez les numéros de référence à l’an-
nexe G.
Répéteur Répéteur
CPU CPU CPU CPU
Câble PC/PPI
Les interfaces de communication d’un ordinateur personnel sont généralement compatibles avec la
norme RS-232. Les interfaces de communication des CPU S7-200 utilisent RS-485 afin que de
nombreux appareils puissent être rattachés au même réseau. Le câble PC/PPI permet de connec-
teur l’interface RS-232 d’un PC à l’interface RS-485 d’une CPU S7-200 (figure 9-5). Il permet égale-
ment de connecter l’interface de communication d’une CPU S7-200 à d’autres matériels compati-
bles avec RS-232.
CPU S7-200
Station 2
RS-232
Station 0
Figure 9-5 Communication avec une CPU S7-200 via un câble PC/PPI
RS-232
RS-485
Câble PC/PPI
Appliquez terminaison et polarisation aux stations 2 et 4 qui sont situées aux extrémités du réseau.
Le connecteur utilisé pour la station 2 comporte un connecteur d’interface de programmation. Les
connecteurs de toutes les autres stations n’en ont pas.
Figure 9-6 Utilisation d’un câble PC/PPI pour communiquer avec une CPU à la fois dans un réseau
STEP 7-Micro/WIN utilise par défaut le protocole PPI multi-maître lorsqu’il communique avec des
CPU S7-200. Ce protocole lui permet de coexister avec d’autres maîtres (TD 200 et pupitres opéra-
teur, par exemple) dans un réseau. Pour valider ce mode, il faut cocher la case « Réseau multi-maî-
tre » dans la boîte de dialogue « Propriétés - PC/PPI Cable » lors du paramétrage de l’interface PG/
PC (voir paragraphe 3.3).
STEP 7-Micro/WIN prend également en charge le protocole PPI à maître unique. Lorsqu’il fait appel
à ce protocole, STEP 7-Micro/WIN suppose qu’il est l’unique maître dans le réseau et ne coopère
pas pour partager le réseau avec d’autres maîtres. Le protocole à maître unique sert pour la trans-
mission par modems ou via des réseaux très bruyants. Il est sélectionné lorsque la case « Réseau
multi-maître » n’est pas cochée dans la boîte de dialogue « Propriétés - PC/PPI Cable » lors du
paramétrage de l’interface PG/PC (voir paragraphe 3.3).
Vous trouverez les caractéristiques techniques du câble PC/PPI à l’annexe A.40 et son numéro de
référence à l’annexe G.
Tableau 9-6 Position des commutateurs pour le réglage du débit sur le câble PC/PPI
L’interface RS-232 du câble PC/PPI est classée comme matériel de transmission de données
(DCE). Les seuls signaux existant sur cette interface sont « émission de données », « réception de
données » et « terre ». Le tableau 9-7 présente les numéros et les fonctions des broches pour l’in-
terface RS-232 du câble PC/PPI. Le câble PC/PPI n’utilise ni ne fournit aucun des signaux de com-
mande RS-232, tels que « Demande pour émettre » (DPE) et « Prêt à émettre » (PAE).
Tableau 9-7 Câble PC/PPI : Définitions des broches pour l’interface RS-232
Le câble PC/PPI est en mode d’émission lorsque des données sont envoyées de l’interface RS-232
à l’interface RS-485. Il est en mode de réception lorsqu’il est inactif ou transmet des données de
l’interface RS-485 à l’interface RS-232. Il passe immédiatement du mode de réception au mode
d’émission lorsqu’il détecte des caractères sur la ligne d’émission RS-232. Il revient au mode de
réception lorsque la ligne d’émission RS-232 est inactive pour une durée définie comme le temps
d’inversion du câble. Ce temps dépend du débit en bauds réglé sur ses commutateurs multiples
(voir tableau 9-8).
Si vous utilisez le câble PC/PPI dans un système faisant également appel à la communication pro-
grammable, le temps d’inversion doit être pris en compte par le programme utilisateur de la CPU
S7-200 dans les situations suivantes :
S La CPU S7-200 réagit aux messages émis par l’unité RS-232.
Après réception d’une demande pour émettre de l’unité RS-232, l’émission d’un message de
réponse par la CPU S7-200 doit être différée d’un intervalle de temps supérieur ou égal au
temps d’inversion du câble.
S L’unité RS-232 réagit aux messages émis par la CPU S7-200.
Après réception d’un message de réponse de l’unité RS-232, l’émission du message de de-
mande suivant par la CPU S7-200 doit être différée d’un intervalle de temps supérieur ou
égal au temps d’inversion du câble.
Dans ces deux cas, le retard donne au câble PC/PPI suffisamment de temps pour passer du mode
d’émission au mode de réception et pour envoyer ainsi les données de l’interface RS-485 à l’inter-
face RS-232.
Tableau 9-8 Temps d’inversion du câble PC/PPI (mode émission à mode réception)
S7-200 Modem
Siemens propose plusieurs cartes d’interface de réseau que vous pouvez installer dans votre PC
ou dans votre PG SIMATIC. Ces cartes permettent au PC ou à la PG d’agir en tant que maître du
réseau. Elles contiennent du matériel spécialisé qui assiste le PC ou la PG dans la gestion d’un
réseau multi-maître et prennent en charge différents protocoles à différentes vitesses de transmis-
sion (voir tableau 9-9).
Vous configurez les carte et protocole spécifiques à l’aide de l’application « Paramétrage de l’inter-
face PG/PC » dans STEP 7-Micro/WIN ou dans le panneau de configuration Windows (voir para-
graphe 3.3).
Sous Windows 95 et Windows NT, vous pouvez utiliser tous les protocoles (PPI, MPI ou
PROFIBUS) avec toutes les cartes de réseau. Toutefois, il est généralement conseillé de sélection-
ner le protocole PPI à 9 600 ou 19 200 bauds pour communiquer avec des CPU S7-200. La
CPU 215 constitue la seule exception. En effet, vous devez choisir le protocole MPI lorsque vous
communiquez avec cette CPU via l’interface DP. L’interface DP de la CPU 215 prend en charge des
vitesses de transmission allant de 9 600 bauds à 12 mégabauds. Elle détermine automatiquement
le débit en bauds du maître (carte CP ou MPI) et se synchronise elle-même à ce débit.
Chaque carte fournit une interface RS-485 unique pour la connexion au réseau PROFIBUS. La
carte CP 5511 PCMCIA comporte un adaptateur fournissant une interface D à 9 broches. Reliez
une extrémité du câble MPI à l’interface RS-485 de la carte et l’autre à un connecteur d’interface de
programmation dans le réseau (figure 9-8). Reportez-vous au Catalogue ST 70, Eléments pour au-
tomatisation intégrée pour plus d’informations sur les processeurs de communication.
Câble MPI
(RS-485)
Appliquez terminaison et polarisation aux stations 2 et 4 qui sont situées aux extrémités du réseau.
Les connecteurs utilisés pour les stations 2, 3 et 4 comportent un connecteur d’interface de programmation.
Figure 9-8 Communication avec une CPU S7-200 via une carte MPI ou CP
Norme PROFIBUS DP
PROFIBUS DP (ou la norme DP) est un protocole de communication d’E/S éloignées défini dans la
norme européenne EN 50170. Les appareils qui adhèrent à cette norme sont compatibles même
s’ils sont fabriqués par des sociétés différentes. « DP » signifie périphérie décentralisée (distributed
peripherals), c’est-à-dire E/S éloignées, et « PROFIBUS » bus de terrain de processus (process
field bus).
La CPU 215 réalise le protocole DP tel qu’il est défini pour des esclaves dans les normes de proto-
cole de communication suivantes :
S EN 50 170 (PROFIBUS) décrit le protocole d’accès au bus et de transfert et précise les proprié-
tés du support de transfert de données.
S EN 50 170 (norme DP) décrit l’échange de données cyclique rapide entre maîtres DP et escla-
ves DP. Cette norme définit les procédures de configuration et de paramétrage, explique le
fonctionnement de l’échange de données cyclique avec des fonctions d’E/S décentralisées et
énumère les options de diagnostic prises en charge.
Un maître DP est configuré de façon à connaître les adresses, les types d’esclaves et toute infor-
mation d’affectation de paramètres dont les esclaves ont besoin. Le maître sait également où mettre
les données provenant des esclaves (entrées) et où obtenir celles à envoyer aux esclaves (sorties).
Le maître DP établit le réseau, puis initialise ses esclaves DP. Il envoie les informations d’affectation
de paramètres et la configuration d’E/S à l’esclave. Puis, il lit le diagnostic provenant de l’esclave
pour vérifier que ce dernier a accepté les paramètres et la configuration d’E/S. Il entame alors
l’échange des données avec l’esclave. Chaque transaction avec l’esclave entraîne l’écriture de sor-
ties et la lecture d’entrées. Le mode d’échange de données se poursuit indéfiniment. Toutefois, les
esclaves peuvent signaler au maître qu’une erreur s’est produite ; le maître lit alors les informations
de diagnostic provenant de l’esclave concerné.
Lorsqu’un maître DP a écrit les paramètres et la configuration d’E/S dans un esclave DP et que ce
dernier les a acceptés, l’esclave appartient à ce maître. Il n’accepte alors que les demandes d’écri-
ture provenant du maître qui le détient. Les autres maîtres du réseau peuvent certes lire les entrées
et sorties de l’esclave, mais ils ne peuvent rien transmettre à l’esclave.
L’interface DP de la CPU 215 peut être reliée à un maître DP dans le réseau tout en communiquant,
en tant qu’esclave MPI, avec d’autres maîtres tels que des PG SIMATIC ou des CPU S7-300/
S7-400 dans le même réseau.
La figure 9-9 montre un réseau PROFIBUS avec une CPU 215. Dans cette situation, la CPU 315-2
qui est le maître DP a été configurée par une PG SIMATIC disposant du logiciel de programmation
STEP 7. La CPU 215 est un esclave DP appartenant à la CPU 315-2. Le module d’E/S ET 200 est
également un esclave appartenant à la CPU 315-2. La CPU S7-400 est reliée au réseau
PROFIBUS et lit des données dans la CPU 215 au moyen des opérations XGET figurant dans son
programme utilisateur.
S7-300 avec
PG SIMATIC CPU 315-2 DP
ET 200B
CPU 215
CPU 400
Configuration
Le seul réglage que vous devez effectuer sur la CPU 215 pour l’utiliser comme esclave DP
concerne l’adresse de station de son interface DP. Cette adresse doit correspondre à celle figurant
dans la configuration du maître. Vous pouvez, à l’aide de STEP 7-Micro/WIN, modifier l’adresse
d’interface DP dans la configuration de la CPU, puis charger la nouvelle configuration dans la
CPU 215.
Vous pouvez également définir l’adresse de l’interface DP de la CPU 215 au moyen d’une unité
de configuration DP reliée à l’interface DP. Toutefois, définir l’adresse d’interface DP avec l’une
de ces unités n’est possible que si l’adresse d’interface DP affichée dans la configuration
STEP 7-Micro/WIN de la CPU est l’adresse par défaut : 126. En outre, l’adresse d’interface DP
définie par STEP 7-Micro/WIN se substitue à toute adresse définie au moyen d’une unité de confi-
guration DP.
Nota
Procédez comme suit si vous voulez restaurer l’adresse d’interface DP par défaut lorsqu’elle a été
modifiée via une unité de configuration DP :
1. A l’aide de STEP 7-Micro/WIN, donnez une valeur inutilisée (pas 126) à
l’adresse d’interface DP dans la configuration de la CPU.
2. Chargez la configuration de CPU dans la CPU 215.
3. A l’aide de STEP 7-Micro/WIN, modifiez de nouveau l’adresse d’interface DP
dans la configuration de la CPU en lui affectant l’adresse par défaut (126).
4. Chargez la configuration de CPU dans la CPU 215.
Le maître échange des données avec chacun des esclaves en envoyant les informations conte-
nues dans sa zone de sortie à la mémoire tampon de sortie de l’esclave (appelée boîte à lettres de
réception). L’esclave réagit au message du maître en lui renvoyant une mémoire tampon d’entrée
(appelée boîte à lettres d’émission) que le maître range dans sa zone d’entrée (voir figure 9-10).
Le maître DP peut configurer la CPU 215 de façon à ce qu’elle accepte des données de sortie du
maître et lui renvoie des données d’entrée. Les mémoires tampons des données de sortie et d’en-
trée résident dans la mémoire des variables (mémoire V) de la CPU 215. Lors de la configuration du
maître DP, vous définissez, dans les informations d’affectation de paramètres de la CPU 215,
l’adresse d’octet en mémoire V où doit commencer la mémoire tampon des données de sortie. Vous
définissez également la configuration d’E/S, c’est-à-dire le volume de données de sortie à écrire
dans la CPU 215 et le volume de données d’entrée que doit renvoyer la CPU 215. La CPU 215 dé-
termine alors la taille des mémoires tampons d’entrée et de sortie à partir de la configuration d’E/S.
Le maître DP transfère les informations d’affectation de paramètres et de configuration d’E/S dans
la CPU 215.
La figure 9-10 montre un schéma de mémoire V dans une CPU 215 et les zones d’adresses d’E/S
d’une CPU maître DP. Dans cet exemple, le maître DP a défini une configuration d’E/S de 16 octets
de sortie et de 16 octets d’entrée et un décalage de 5000 en mémoire V. La mémoire tampon de
sortie et la mémoire tampon d’entrée dans la CPU 215 ont une taille de 16 octets, définie dans la
configuration d’E/S. La mémoire tampon de sortie commence donc à V5000 et la mémoire tampon
d’entrée suit immédiatement à V5016. Les données de sortie (provenant du maître) sont rangées à
l’adresse V5000 en mémoire V et les données d’entrée (à destination du maître) sont cherchées à
l’adresse V5016 en mémoire V.
Nota
Vous devez faire appel à la SFC 14 pour lire les entrées de l’esclave DP et à la SFC15 pour
adresser les sorties à l’esclave DP si vous utilisez une entité de données (données cohérentes)
de trois octets ou des entités de données (données cohérentes) supérieures à quatre octets.
Reportez-vous au manuel de référence Logiciel système pour S7-300 et S7-400, Fonctions
standard et fonctions système pour plus d’informations à ce sujet.
ÉÉÉÉÉÉÉ
CPU 215-2 DP CPU 315-2 DP
Mémoire V Zones d’adresses d’E/S
VB0
ÉÉÉÉÉÉÉ P000
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
ÉÉÉÉÉÉÉ
Décalage :
5000 octets
ÉÉÉÉÉÉÉ PI256
ÉÉÉÉÉÉÉ
Zone d’entrée :
VB4999 16 octets
VB5000 PI271
Tampon de sortie
(BAL réception) :
VB5015 16 octets
VB5016
Tampon d’entrée
ÉÉÉÉÉÉÉ
(BAL émission) :
PQ256
ÉÉÉÉÉÉÉ
16 octets Zone de sortie :
VB5031 16 octets
ÉÉÉÉÉÉÉ
VB5032
PQ271
ÉÉÉÉÉÉÉ
VB5119
ÉÉÉÉÉÉÉ
P : périphérie
VB : octet de mémoire V PI : périphérie d’entrée
PQ : périphérie de sortie
Figure 9-10 Exemple : mémoire V de la CPU 215 et zone d’adresses d’E/S d’un maître PROFIBUS DP
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
Tableau 9-10 Configurations d’E/S prises en charge par la CPU 215
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁ
Configuration
ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
Taille de la mémoire
ÁÁÁÁÁÁÁÁ
tampon d’entrée
Taille de la mémoire tampon
de sortie
Cohérence des données
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
(données vers le maître) (données provenant du maître)
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
1 1 mot 1 mot
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
2 (par défaut) 2 mots 2 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
3 4 mots 4 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
4 8 mots 8 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
5 16 mots 16 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ
6
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
7 ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
32 mots
8 mots
32 mots
2 mots mot
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ
8
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
9 ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
16 mots
32 mots
4 mots
8 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ
10
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
11
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
2 mots
4 mots
8 mots
16 mots
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ
12
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
13
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
8 mots
2 octets
32 mots
2 octets
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁ
14
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
8 octets 8 octets
octet
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
15 32 octets 32 octets
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
16 64 octets 64 octets
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
17 4 octets 4 octets
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
18 8 octets 8 octets
mémoire tampon
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
19 12 octets 12 octets
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
20 16 octets 16 octets
Maître Esclave
Octet 0 Octet 0
Octet 1 Octet 1
Cohérence « octet »
Octet 2 Octet 2
Octet 3 Octet 3
Octet 0 Octet 0
Octet 1 Octet 1
Cohérence « mot »
Octet 2 Octet 2
Octet 3 Octet 3
Octet 0 Octet 0
Octet 1 Octet 1
Octet 2 Octet 2
Octet 3 Octet 3
Cohérence « mémoire tampon »
Octet 4 Octet 4
Octet 5 Octet 5
Octet 6 Octet 6
Octet 7 Octet 7
Nota
Vous ne pouvez pas configurer les tailles des mémoires tampons d’E/S de la CPU 215 ni leur
adresse en effectuant une écriture dans les octets SMB112 à SMB115. En effet, seul le maître DP
peut configurer la CPU 215 pour la communication DP.
Octet SM Description
SMB110 BPFo
7
BPFa
0
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Tableau 9-12 Indications d’état de la DEL DP
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Etat de la DEL Description de la situation
ÁÁÁÁÁ
HF
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Pas de tentative de communication DP depuis la dernière mise en route
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Rouge,
ÁÁÁÁÁ
Erreur de paramétrage ou de configuration, CPU pas en mode d’échange de données
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
clignotement
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Verte Actuellement en mode d’échange de données
ÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
Rouge Désactivation du mode d’échange de données
Tableau 9-13 Exemple de fichier GSD pour des maîtres non SIMATIC
;======================================================
; GSD–Data for the S7–215 DP slave with SPC3
; MLFB : 6ES7 215–2.D00–0XB0
; Date : 05–Oct–1996/release 14–March–97/09/29/97 (45,45)
; Version: 1.2 GSD
; Model–Name, Freeze_Mode_supp, Sync_mode_supp, 45,45k
; File : SIE_2150
;======================================================
#Profibus_DP
; Unit–Definition–List:
GSD_Revision=1
Vendor_Name=”Siemens”
Model_Name=”CPU 215–2 DP”
Revision=”REV 1.00”
Ident_Number=0x2150
Protocol_Ident=0
Station_Type=0
Hardware_Release=”A1.0”
Software_Release=”Z1.0”
9.6_supp=1
19.2_supp=1
45.45_supp=1
93.75_supp=1
187.5_supp=1
500_supp=1
1.5M_supp=1
3M_supp=1
6M_supp=1
12M_supp=1
MaxTsdr_9.6=60
MaxTsdr_19.2=60
MaxTsdr_45.45=250
MaxTsdr_93.75=60
MaxTsdr_187.5=60
MaxTsdr_500=100
MaxTsdr_1.5M=150
MaxTsdr_3M=250
MaxTsdr_6M=450
MaxTsdr_12M=800
Redundancy = 0
Repeater_Ctrl_Sig = 2
24V_Pins = 2
Implementation_Type=”SPC3”
Bitmap_Device=”S7_2150”
;
; Slave–Specification:
OrderNumber=”6ES7 215–2.D00–0XB0”
Periphery=”SIMATIC S5”
;
Freeze_Mode_supp=1
Sync_Mode_supp=1
Set_Slave_Add_supp=1
Min_Slave_Intervall=1
Tableau 9-13 Exemple de fichier GSD pour des maîtres non SIMATIC, suite
Max_Diag_Data_Len=6
Slave_Family=3@TdF@SIMATIC
;
; UserPrmData–Definition
ExtUserPrmData=1 ”I/O Offset in the V–memory”
Unsigned16 0 0–5119
EndExtUserPrmData
; UserPrmData: Length and Preset:
User_Prm_Data_Len=3
User_Prm_Data= 0,0,0
Ext_User_Prm_Data_Ref(1)=1
;
Modular_Station=1
Max_Module=1
Max_Input_Len=64
Max_Output_Len=64
Max_Data_Len=128
;
; Module–Definitions:
;
Module=”2 Bytes Out/ 2 Bytes In –” 0x31
EndModule
Module=”8 Bytes Out/ 8 Bytes In –” 0x37
EndModule
Module=”32 Bytes Out/ 32 Bytes In –” 0xC0,0x1F,0x1F
EndModule
Module=”64 Bytes Out/ 64 Bytes In –” 0xC0,0x3F,0x3F
EndModule
Module=”1 Word Out/ 1 Word In –” 0x70
EndModule
Module=”2 Word Out/ 2 Word In –” 0x71
EndModule
Module=”4 Word Out/ 4 Word In –” 0x73
EndModule
Module=”8 Word Out/ 8 Word In –” 0x77
EndModule
Module=”16 Word Out/ 16 Word In –” 0x7F
EndModule
Module=”32 Word Out/ 32 Word In –” 0xC0,0x5F,0x5F
EndModule
Module=”2 Word Out/ 8 Word In –” 0xC0,0x41,0x47
EndModule
Module=”4 Word Out/ 16 Word In –” 0xC0,0x43,0x4F
EndModule
Module=”8 Word Out/ 32 Word In –” 0xC0,0x47,0x5F
EndModule
Module=”8 Word Out/ 2 Word In –” 0xC0,0x47,0x41
EndModule
Module=”16 Word Out/ 4 Word In –” 0xC0,0x4F,0x43
EndModule
Module=”32 Word Out/ 8 Word In –” 0xC0,0x5F,0x47
EndModule
Module=”4 Byte buffer I/O –” 0xB3
EndModule
Module=”8 Byte buffer I/O –” 0xB7
EndModule
Module=”12 Byte buffer I/O –” 0xBB
EndModule
Module=”16 Byte buffer I/O –” 0xBF
EndModule
Tableau 9-14 Exemple de programme LIST pour la communication DP avec une CPU 215 esclave
Programme
//Les données de configuration DP dans la zone de mémoire SM indiquent comment le
//maître a configuré l’esclave DP. Le programme fait appel aux données suivantes :
// SMB110 Etat DP
// SMB111 Adresse du maître
// SMB112 Décalage de mémoire V des sorties (valeur de mot)
// SMB114 Nombre d’octets de sortie
// SMB115 Nombre d’octets d’entrée
// VD1000 Pointeur des données de sortie
// VD1004 Pointeur des données d’entrée
NETWORK
LD SM0.0 //A chaque cycle :
MOVD &VB0, VD1000 //Créer un pointeur de sortie,
MOVW SMW112, VW1002 //y ajouter le décalage pour les sorties
MOVD &VB0, VD1004 //Créer un pointeur d’entrée,
MOVW SMW112, VW1006 //y ajouter le décalage pour les sorties
MOVW +0, AC0 //Effacer l’accumulateur
MOVB SMB114, AC0 //Charger le nombre d’octets de sortie
+I AC0, VW1006 //Pointeur de décalage
NETWORK
LDB>= SMB114, 9 //Si nombre d’octets de sortie > 8,
MOVB 8, VB1008 //décompte des sorties = 8
NOT //Sinon
MOVB SMB114, VB1008 //décompte des sorties = nombre d’octets de sortie
NETWORK
LDB>= SMB115, 9 //Si nombre d’octets d’entrée > 8,
MOVB 8, VB1009 //décompte des entrées = 8
NOT //Sinon
MOVB SMB115, VB1009 //décompte des entrées = nombre d’octets d’entrée
NETWORK
LD SM0.0 //A chaque cycle :
BMB *VD1000, QB0, VB1008 //copier les sorties DP dans les sorties
BMB EB0, *VD1004, VB1009 //et les entrées dans les entrées DP
NETWORK
MEND
CONT
Réseau 1 Réseau 3
SM0.0 MOV_DW SMB115 MOV_B
EN >=B EN
9
&VB0 IN OUT VD1000 8 IN OUT VB1009
MOV_W
EN
MOV_B
NOT EN
SMW112 IN OUT VW1002
MOV_W BLKMOV_B
EN
EN
IB0 IN
+0 IN OUT AC0
VB1009 N OUT *VD1004
MOV_B
EN
Réseau 5
SMB114 IN OUT AC0
END
ADD_I
EN
AC0 IN1
VW1006 IN2 VW1006
Réseau 2
SMB114 MOV_B
>=B EN
9
8 IN OUT VB1008
MOV_B
NOT EN
suite dans
colonne de droite
Figure 9-12 Exemple de programme CONT pour la communication DP avec une CPU 215 esclave
Restrictions
Les performances du réseau sont fonction de nombreuses variables complexes, mais sont surtout
déterminées par deux facteurs principaux : la vitesse de transmission et le nombre de stations
connectées au réseau.
Nota
L’exemple fourni ici se base sur un réseau identique à celui de la figure 9-13. La configuration
inclut des afficheurs de texte TD 200. Les CPU 214 utilisent les opérations NETR et NETW. Les
formules pour le temps de détention et le temps de rotation du jeton présentées à la figure 9-14 se
basent également sur cette configuration.
Dans cette configuration, le TD 200 (station 3) communique avec la CPU 212 (station 2), le TD 200
(station 5) communique avec la CPU 212 (station 4), et ainsi de suite. D’autre part, la CPU 214 (sta-
tion 6) envoie des messages aux stations 2, 4 et 8 et la CPU 214 (station 8) en envoie aux sta-
tions 2, 4 et 6. Ce réseau comporte six maîtres (les quatre TD 200 et les deux CPU 214) et deux
esclaves (les deux CPU 212).
Envoi de messages
Un maître doit détenir le jeton pour pouvoir envoyer un message. Par exemple, lorsque la station 3
détient le jeton, elle peut émettre un message de demande à la station 2, puis passer le jeton à la
station 5. La station 5 émet alors un message de demande à la station 4, puis passe le jeton à la
station 6. La station 6 émet alors une demande à la station 2, 4 ou 8, puis passe le jeton à la station
7. Ce processus d’émission de message et de passage du jeton se poursuit sur l’anneau logique de
la station 3 à la station 5, à la station 6, à la station 7, à la station 8, à la station 9 avant de revenir à
la station 3. Le jeton doit donc faire un tour complet de l’anneau logique pour qu’un maître puisse
envoyer une demande d’information. Avec un anneau logique comportant six stations, envoyant
une demande par passage du jeton afin de lire ou d’écrire une valeur de double mot (quatre octets
de données), le temps de rotation du jeton est d’environ 900 millisecondes à 9600 bauds. Augmen-
ter le nombre d’octets de données en accès par message ou le nombre de stations entraîne un al-
longement du temps de rotation du jeton.
Temps de détention du jeton (Thold) = (128 temps système + n car. données) < 11 bits/car. < 1/débit en bauds
Temps de rotation du jeton (Trot) = Thold du maître 1 + T<hold du maître 2 + . . . + Thold du maître m
Dans l’exemple ci-dessus, lorsque chacun des six maîtres détient le jeton pendant la même durée, le temps
de rotation du jeton est de :
T (temps de détention du jeton) = (128 + 4 car.) < 11 bits/car. < 1/9600 durées bit/s
= 151,25 ms/maître
Figure 9-14 Formules pour le calcul des temps de détention et de rotation du jeton, avec utilisation de
NETR et NETW
Tableau 9-15 Temps de rotation du jeton selon le nombre de stations et le volume de données à 19200 bauds
Tableau 9-16 Temps de rotation du jeton selon le nombre de stations et le volume de données à 9600 bauds
Il est possible de configurer les CPU S7-200 afin qu’elles ne contrôlent les intervalles entre adres-
ses que sur une base périodique. Pour ce faire, il faut, à l’aide de STEP 7-Micro/WIN, affecter une
valeur au facteur de mise à jour d’intervalle dans la configuration CPU d’une interface CPU. Le fac-
teur de mise à jour d’intervalle indique à la CPU à quelle fréquence elle doit contrôler son intervalle
d’adresses à la recherche d’autres maîtres. S’il est égal à 1, la CPU vérifie l’intervalle d’adresses à
chaque détention de jeton. S’il est égal à 2, la CPU ne le vérifie qu’une détention de jeton sur deux.
Définir un facteur de mise à jour d’intervalle élevé réduit le trafic de service du réseau s’il existe des
intervalles entre les adresses des maîtres. En revanche, le facteur de mise à jour d’intervalle n’a
aucun effet sur les performances en l’absence de tels intervalles. Une valeur élevée pour le facteur
de mise à jour d’intervalle retarde de manière importante le passage en ligne des maîtres puisque
les adresses sont contrôlées moins fréquemment. Le facteur de mise à jour d’intervalle ne sert que
lorsqu’une CPU opère en tant que maître PPI.
L’adresse de station la plus élevée définit l’adresse la plus élevée à laquelle un maître doit recher-
cher un autre maître. La définition d’une telle adresse réduit l’intervalle d’adresses devant être
contrôlé par le dernier maître (adresse la plus élevée) dans le réseau, ce qui diminue le temps né-
cessaire à la recherche d’un autre maître et à l’accession de ce dernier au réseau. L’adresse de
station la plus élevée n’a aucun effet sur les adresses d’esclaves : les maîtres peuvent toujours
communiquer avec des esclaves ayant des adresses supérieures à l’adresse de station la plus éle-
vée. L’adresse de station la plus élevée ne sert que lorsqu’une CPU opère en tant que maître PPI.
Vous définissez l’adresse de station la plus élevée à l’aide de STEP 7-Micro/WIN dans la configura-
tion CPU d’une interface CPU.
En règle générale, il est recommandé de donner dans tous les maîtres la même valeur à l’adresse
de station la plus élevée. En outre, cette adresse doit être supérieure ou égale à l’adresse de maître
la plus élevée. La valeur par défaut pour cette adresse est de 126 dans les CPU S7-200.
C n
O Schéma à contacts
N (CONT)
T Conditionnel : exécution
selon le résultat logique END
précédent
L
I Liste d’instructions
= n Inconditionnel : exécution sans
S (LIST) END
prise en compte du résultat
T logique précédent
✓ ✓ ✓ ✓ Disponible dans
ces CPU
212 214 215 216
Contenu de ce chapitre
Paragraphe Description Page
10.1 Plages autorisées pour les CPU S7-200 10-2
10.2 Contacts 10-4
10.3 Opérations de comparaison 10-7
10.4 Opérations de sortie 10-10
10.5 Temporisations, compteurs, compteurs rapides, sorties rapides, horloge, sortie 10-13
d’impulsions
10.6 Opérations arithmétiques et de gestion de boucle PID 10-50
10.7 Opérations d’incrémentation et de décrémentation 10-66
10.8 Opérations de transfert, d’initialisation et sur table 10-68
10.9 Opérations de décalage et de rotation 10-78
10.10 Gestion d’exécution de programme 10-84
10.11 Opérations sur pile 10-98
10.12 Combinaisons logiques 10-101
10.13 Opérations de conversion 10-107
10.14 Opérations d’interruption et de communication 10-113
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Tableau 10-1 Résumé des plages de mémoire et des fonctions des CPU S7-200
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Description CPU 212 CPU 214 CPU 215 CPU 216
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Taille du programme utilisateur 512 mots 2 kilo-mots 4 kilo-mots 4 kilo-mots
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Taille des données utilisateur 512 mots 2 kilo-mots 2,5 kilo-mots 2,5 kilo-mots
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Mémoire image des entrées I0.0 à I0.7 I0.0 à I0.7 I0.0 à I0.7 I0.0 à I0.7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Mémoire image des sorties Q0.0 à Q7.7 Q0.0 à Q7.7 Q0.0 à Q7.7 Q0.0 à Q7.7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Entrées analogiques AIW0 à AIW30 AIW0 à AIW30 AIW0 à AIW30 AIW0 à AIW30
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
(lecture seule)
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Sorties analogiques AQW0 à AQW30 AQW0 à AQW30 AQW0 à AQW30 AQW0 à AQW30
(écriture seule)
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Mémoire des variables (V)
ÁÁÁÁÁÁÁ
Zone rémanente (max.)
ÁÁÁÁÁÁÁ
V0.0 à V1023.7
V0.0 à V199.7
V0.0 à V4095.7
V0.0 à V1023.7
V0.0 à V5119.7
V0.0 à V5119.7
V0.0 à V5119.7
V0.0 à V5119.7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Mémentos (M) M0.0 à M15.7 M0.0 à M31.7 M0.0 à M31.7 M0.0 à M31.7
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Zone rémanente (max.) MB0 à MB13 MB0 à MB13 MB0 à MB13 MB0 à MB13
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Mémentos spéciaux (SM) SM0.0 à SM45.7 SM0.0 à SM85.7 SM0.0 à SM194.7 SM0.0 à SM194.7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Lecture seule SM0.0 à SM29.7 SM0.0 à SM29.7 SM0.0 à SM29.7 SM0.0 à SM29.7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Temporisations 64 (T0 à T63) 128 (T0 à T127) 256 (T0 à T255) 256 (T0 à T255)
Retard à la montée mémorisé 1 ms T0 T0, T64 T0, T64 T0, T64
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Retard à la montée mémorisé 10 ms T1 à T4
ÁÁÁÁÁÁÁÁÁ
T1 à T4, T65 à T68 T1 à T4, T65 à T68 T1 à T4, T65 à T68
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Retard à la montée mémorisé100 ms T5 à T31 T5 à T31, T69 à T95 T5 à T31, T69 à T95 T5 à T31, T69 à T95
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Retard à la montée 1 ms T32 T32, T96 T32, T96 T32, T96
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Retard à la montée 10 ms T33 à T36 T33 à T36, T97 à T100 T33 à T36, T97 à T100 T33 à T36, T97 à T100
Retard à la montée 100 ms T37 à T63 T37 à T63, T101 à T127 T37 à T63, T101 à T255 T37 à T63, T101 à T255
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Compteurs
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Compteurs rapides
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
C0 à C63
HC0
C0 à C127
HC0 à HC2
C0 à C255
HC0 à HC2
C0 à C255
HC0 à HC2
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
Relais séquentiels
ÁÁÁÁÁÁ
Accumulateurs
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
S0.0 à S7.7
AC0 à AC3
S0.0 à S15.7
AC0 à AC3
S0.0 à S31.7
AC0 à AC3
S0.0 à S31.7
AC0 à AC3
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Sauts/repères
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Appels/sous-programmes
ÁÁÁÁÁÁÁ
0 à 63
0 à 15
0 à 255
0 à 63
0 à 255
0 à 63
0 à 255
0 à 63
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Programmes d’interruption
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Evénements d’interruption
0 à 31
0, 1, 8 à 10, 12
0 à 127
0 à 20
0 à 127
0 à 23
0 à 127
0 à 26
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Boucles PID
ÁÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Non prises en
charge
Non prises en charge 0à7 0à7
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
Interfaces 0 0 0 0 et 1
Accès par CPU 212 CPU 214 CPU 215 CPU 216
bit (octet.bit) V 0.0 à 1023.7 V 0.0 à 4095.7 V 0.0 à 5119.7 V 0.0 à 5119.7
I 0.0 à 7.7 I 0.0 à 7.7 I 0.0 à 7.7 I 0.0 à 7.7
Q 0.0 à 7.7 Q 0.0 à 7.7 Q 0.0 à 7.7 Q 0.0 à 7.7
M 0.0 à 15.7 M 0.0 à 31.7 M 0.0 à 31.7 M 0.0 à 31.7
SM 0.0 à 45.7 SM 0.0 à 85.7 SM 0.0 à 194.7 SM 0.0 à 194.7
T 0 à 63 T 0 à 127 T 0 à 255 T 0 à 255
C 0 à 63 C 0 à 127 C 0 à 255 C 0 à 255
S 0.0 à 7.7 S 0.0 à 15.7 S 0.0 à 31.7 S 0.0 à 31.7
octet VB 0 à 1023 VB 0 à 4095 VB 0 à 5119 VB 0 à 5119
IB 0à7 IB 0à7 IB 0à7 IB 0à7
QB 0à7 QB 0à7 QB 0à7 QB 0à7
MB 0 à 15 MB 0 à 31 MB 0 à 31 MB 0 à 31
SMB 0 à 45 SMB 0 à 85 SMB 0 à 194 SMB 0 à 194
AC 0à3 AC 0à3 AC 0à3 AC 0à3
SB 0à7 SB 0 à 15 SB 0 à 31 SB 0 à 31
Constante Constante Constante Constante
mot VW 0 à 1022 VW 0 à 4094 VW 0 à 5118 VW 0 à 5118
T 0 à 63 T 0 à 127 T 0 à 255 T 0 à 255
C 0 à 63 C 0 à 127 C 0 à 255 C 0 à 255
IW 0à6 IW 0à6 IW 0à6 IW 0à6
QW 0à6 QW 0à6 QW 0à6 QW 0à6
MW 0 à 14 MW 0 à 30 MW 0 à 30 MW 0 à 30
SMW 0 à 44 SMW 0 à 84 SMW 0 à 193 SMW 0 à 193
AC 0à3 AC 0à3 AC 0à3 AC 0à3
AIW 0 à 30 AIW 0 à 30 AIW 0 à 30 AIW 0 à 30
AQW 0 à 30 AQW 0 à 30 AQW 0 à 30 AQW 0 à 30
SW 0à6 SW 0 à 14 SW 0 à 30 SW 0 à 30
Constante Constante Constante Constante
double mot VD 0 à 1020 VD 0 à 4092 VD 0 à 5116 VD 0 à 5116
ID 0à4 ID 0à4 ID 0à4 ID 0à4
QD 0à4 QD 0à4 QD 0à4 QD 0à4
MD 0 à 12 MD 0 à 28 MD 0 à 28 MD 0 à 28
SMD 0 à 42 SMD 0 à 82 SMD 0 à 191 SMD 0 à 191
AC 0à3 AC 0à3 AC 0à3 AC 0à3
HC 0 HC 0à2 HC 0à2 HC 0à2
SD 0à4 SD 0 à 12 SD 0 à 28 SD 0 à 28
Constante Constante Constante Constante
10.2 Contacts
Contacts standard
✓ ✓ ✓ ✓
Opérandes : n I, Q, M, SM, T, C, V, S
212 214 215 216
Ces opérations prennent la valeur référencée dans la mémoire image
qui est mise à jour au début de chaque cycle de CPU.
C
Le contact direct à fermeture est fermé (activé) lorsque la valeur de
O n bit de l’entrée physique référencée « n » est égale à 1.
N I
T En LIST, le contact direct à fermeture est représenté par les opérations
n LDI (Charger valeur binaire directement), AI (ET direct) et OI (OU di-
/I rect). LDI charge la valeur de bit de l’entrée physique référencée « n »
en haut de la pile et les opérations AI et OI combinent, et ce directe-
ment, cette valeur à la valeur supérieure de la pile selon ET et OU res-
pectivement.
L LDI n
I Le contact direct à ouverture est fermé (activé) lorsque la valeur de
S AI n
OI n bit de l’entrée physique référencée « n » est égale à 0.
T
En LIST, le contact direct à ouverture est représenté par les opérations
LDNI n
LDNI (Charger valeur binaire inverse directement), ANI (ET NON di-
ANI n
ONI n rect) et ONI (OU NON direct). LDNI charge la valeur inversée de l’en-
trée physique référencée « n » en haut de la pile et les opérations ANI
et ONI combinent cette valeur inversée à la valeur supérieure de la pile
✓ ✓ ✓ ✓
selon ET et OU respectivement, et ce directement.
212 214 215 216
Opérandes : n I
Ces opérations lisent la valeur référencée dans l’entrée physique lors
de l’exécution de l’opération, mais la mémoire image n’est pas mise à
jour.
NOT
C Le contact NOT change l’état du trajet de courant. Lorsque le courant
O atteint le contact NOT, ce dernier l’arrête. Si le courant n’atteint pas le
N NOT
T
contact, ce dernier émet le courant.
En LIST, l’opération NOT inverse la valeur supérieure de la pile (en 1 si
L 0 ou en 0 si 1).
I NOT
S
T
Opérandes : Néant
✓ ✓ ✓ ✓
212 214 215 216
Opérandes : Néant
Exemples de contacts
CONT LIST
Réseau 1 NETWORK
I0.0 I0.1 Q0.0 LD I0.0
A I0.1
= Q0.0
Réseau 2 NETWORK
I0.0 Q0.1 LD I0.0
NOT NOT
= Q0.1
Réseau 3
I0.1 Q0.2 NETWORK
N LD I0.1
ED
= Q0.2
Chronogramme
I0.0
I0.1
Q0.0
Q0.1
à 1 pour un cycle
Q0.2
Comparer octets
C
L’opération Comparer octets permet de comparer les valeurs « n1 » et
n1 « n2 ». Les comparaisons d’égalité (=), de supériorité ou égalité (>=) et
O
N ==B d’infériorité ou égalité (<=) sont possibles.
T n2
✓ ✓ ✓ ✓
212 214 215 216
C
L’opération Comparer entiers de 16 bits permet de comparer les va-
n1 leurs « n1 » et « n2 ». Les comparaisons d’égalité (=), de supériorité ou
O
N ==I égalité (>=) et d’infériorité ou égalité (<=) sont possibles.
T n2
✓ ✓ ✓ ✓
212 214 215 216
Comparer réels
L’opération Comparer réels permet de comparer les valeurs « n1 » et
C n1
O « n2 ». Les comparaisons d’égalité (=), de supériorité ou égalité (>=) et
N ==R d’infériorité ou égalité (<=) sont possibles.
T n2
✓ ✓ ✓
212 214 215 216
CONT LIST
Réseau 4
NETWORK
VW4 Q0.3
LDW>= VW4, VW8
>=I
= Q0.3
VW8
Chronogramme
Sortie
C
Lorsque l’opération Sortie est exécutée, le paramètre « n » indiqué est
n activé.
O
N
T En LIST, l’opération de sortie copie la valeur supérieure de la pile dans
le paramètre « n » indiqué.
L
I = n
S
T Opérandes : n I, Q, M, SM, T, C, V, S
✓ ✓ ✓ ✓
212 214 215 216
Sortie directe
C
Lorsque l’opération Sortie directe est exécutée, la sortie physique
n « n » indiquée est activée directement.
O
N I
T En LIST, l’opération de sortie directe copie la valeur supérieure de la
pile directement dans la sortie physique « n » indiquée.
L
I I
S
T Opérandes : n Q
✓ ✓ ✓ ✓ Le « I » – pour immédiat – signifie que la nouvelle valeur est écrite à la
212 214 215 216 fois dans la sortie physique et dans l’adresse correspondante de la
mémoire image lors de l’exécution de l’opération. Pour les opérations
indirectes en revanche, la nouvelle valeur est écrite dans la mémoire
image uniquement.
Mettre à 1, Mettre à 0
C
L’exécution des opérations Mettre à 1 et Mettre à 0 entraîne, respecti-
S_BIT vement, la mise à 1 et la mise à 0 du nombre N de bits indiqué, en
O
N S commençant à S_BIT.
T N
C
L’exécution des opérations Mettre à 1 directement et Mettre à 0 di-
S_BIT rectement entraîne, respectivement, la mise à 1 et la mise à 0 directes
O
N S_I du nombre N de sorties physiques indiqué, en commençant à S_BIT.
T N
Opération nulle
C
L’opération nulle (NOP) n’a aucun effet sur l’exécution du programme
N utilisateur. Son opérande N est un nombre de 0 à 255.
O
N NOP
T
Opérandes : N: 0 à 255
L
I NOP N Si vous utilisez l’opération NOP, vous devez la placer à l’intérieur du
S
T programme principal, d’un sous-programme ou d’un programme d’inter-
ruption.
✓ ✓ ✓ ✓
212 214 215 216
CONT LIST
Réseau 1 NETWORK
I0.0 Q0.0 LD I0.0
= Q0.0
S Q0.1, 1
R Q0.2, 2
Q0.1
S
1
Q0.2
R
2
Chronogramme
I0.0
Q0.0
Q0.1
Q0.2
Démarrer temporisation sous forme de retard à la montée, Démarrer temporisation sous forme
de retard à la montée mémorisé
C
Les opérations Démarrer temporisation sous forme de retard à la
O Txxx montée et Démarrer temporisation sous forme de retard à la mon-
N IN TON tée mémorisé s’écoulent jusqu’à la valeur maximale lorsqu’elles sont
T
activées. Lorsque la valeur en cours « Txxx » est supérieure ou égale
PT à la valeur prédéfinie PT, le bit de temporisation T est activé.
La temporisation « retard à la montée » est remise à zéro lors de sa
Txxx
IN TONR
désactivation ; la désactivation de la temporisation « retard à la montée
mémorisé » entraîne son arrêt. Ces deux temporisations s’arrêtent lors-
que leur valeur maximale est atteinte.
PT
Les temporisations TON et TONR sont disponibles avec trois résolutions. La résolution est détermi-
née par le numéro de la temporisation, comme illustré au tableau 10-3. Chaque valeur de comptage
de la valeur en cours est un multiple de la base de temps. Ainsi, une valeur de comptage de 50
pour une temporisation de 10 ms (millisecondes) correspond à 500 ms.
Opération Résolution Valeur maximale CPU 212 CPU 214 CPU 215/216
TON 1 ms 32,767 secondes T32 T32, T96 T32, T96
10 ms 327,67 s T33 à T36 T33 à T36, T33 à T36,
T97 à T100 T97 à T100
100 ms 3276,7 s T37 à T63 T37 à T63, T37 à T63,
T101 à T127 T101 à T255
TONR 1 ms 32,767 s T0 T0, T64 T0, T64
Nota
Certaines valeurs en cours de temporisation peuvent être rendues rémanentes. Les bits de
temporisation ne sont pas rémanents, leur mise à 1 est uniquement le résultat de la comparaison
de la valeur en cours et de la valeur prédéfinie.
Lors de la mise à zéro d’une temporisation, sa valeur en cours et le bit T sont remis à zéro. Vous
pouvez remettre à zéro n’importe quelle temporisation à l’aide de l’opération R (Mettre à zéro). Les
temporisations TONR doivent obligatoirement être remises à zéro à l’aide de l’opération R. Le fait
d’écrire un zéro en tant que valeur en cours d’une temporisation ne remet pas à 0 son bit de tempo-
risation. De même, le fait d’écrire un zéro dans le bit T de la temporisation ne remet pas à zéro sa
valeur en cours.
Il est également possible d’utiliser plusieurs temporisations de 1 ms pour générer un événement
d’interruption (voir paragraphe 10.14 pour plus d’informations à ce sujet).
Nota
Le programme système qui sauvegarde la base de temps système de 1 ms est indépendant de
l’activation et de la désactivation des temporisations. Une temporisation de 1 ms est activée à un
moment quelconque de l’intervalle 1 ms en cours. Cela signifie que l’intervalle mesuré pour une
temporisation de 1 ms donnée peut ne pas excéder 1 ms. Vous devriez programmer la valeur
prédéfinie de la temporisation pour obtenir une valeur supérieure d’une unité à l’intervalle
minimum désiré. Pour obtenir, par exemple, un intervalle de 56 ms au moins avec une
temporisation de 1 ms, vous devez choisir une valeur prédéfinie de 57.
Nota
L’accumulation d’intervalles de 10 ms étant réalisée indépendamment de l’activation et de la
désactivation des temporisations, l’activation des temporisations de 10 ms se produira à un
moment quelconque d’un intervalle de 10 ms donné. Cela signifie qu’un intervalle mesuré pour
une temporisation de 10 ms donnée peut ne pas excéder 10 ms. Vous devriez programmer la
valeur prédéfinie pour obtenir une valeur supérieure d’une unité à l’intervalle minimum désiré.
Pour obtenir, par exemple, un intervalle de 140 ms au moins avec une temporisation de 10 ms,
vous devez choisir une valeur prédéfinie de 15.
Nota
L’accumulation d’intervalles de 100 ms étant réalisée indépendamment de l’activation et de la
désactivation des temporisations, l’activation d’une temporisation de 100 ms donnée se produira
à un moment quelconque d’un intervalle de 100 ms. Cela signifie qu’un intervalle mesuré par une
temporisation de 100 ms donnée peut ne pas excéder 100 ms. Vous devriez programmer la
valeur prédéfinie pour obtenir une valeur supérieure d’une unité à l’intervalle minimum désiré.
Pour obtenir par exemple un intervalle de 2100 ms au moins avec une temporisation de 100 ms,
vous devez choisir une valeur prédéfinie de 22.
300 PT 300 PT
T32 Q0.0 T32 Q0.0
END END
30 PT 30 PT
T33 Q0.0 T33 Q0.0
END END
3 PT 3 PT
END END
CONT LIST
I2.0 T33
LD I2.0
IN TON TON T33, 3
3 PT
Chronogramme
I2.0
T33 (bit)
Figure 10-5 Exemple de temporisation sous forme de retard à la montée en CONT et en LIST
CONT LIST
I2.1 T2 LD I2.1
IN TONR TONR T2,10
10 PT
Chronogramme
I2.1
PT = 10
T2 (valeur en cours)
T2 (bit)
Figure 10-6 Exemple de temporisation sous forme de retard à la montée mémorisé en CONT et en LIST
Nota
Comme il existe une valeur en cours pour chaque compteur, ne donnez pas le même numéro à
plusieurs compteurs (les compteurs incrémentaux et les compteurs incrémentaux/décrémentaux
accèdent à la même valeur en cours).
Exemple de compteur
CONT LIST
I2.0
R
4 PV
Chronogramme
I4.0
Incrémenter
I3.0
Décrémenter
I2.0
A zéro
5 5
4 4 4
3 3
2
C48 1
(valeur en cours)
0 0
C48
(bit)
N
Opérandes : HSC : 0à2
MODE : 0 (HSC0)
L 0 à 11 (HSC1 ou 2)
I HDEF HSC, MODE
S N: 0à2
T HSC N
✓ ✓ ✓ ✓
212 214 215 216
Mise à 0 0
(activité « haut »)
Interruption de Interruption de
mise à 0 générée mise à 0 générée
1
Mise à 0 (activité « haut ») 0
Valeur Valeur
Valeur de comptage en cours 0 en cours en cours
figée figée
Interruption « VC = VP » générée
Sens modifié pendant programme d’interruption
1
Horloge 0
1
Commande
interne du sens 0
de comptage
(1 = incrémenter)
4
3 3
2 2
1 1
Valeur de comp- 0
tage en cours 0
-1
Interruption « VC = VP » générée
Interruptions « VC = VP » et « Inverser sens de
comptage » générées
1
Horloge 0
1
Commande ex-
terne du sens 0
de comptage
(1 = incrémenter)
5
4 4
3 3
2 2
Valeur de comp- 1 1
tage en cours
0
Lorsque vous utilisez les compteurs HSC1 ou HSC2 en modes 6, 7 ou 8 et qu’un front montant ap-
paraît en moins de 0,3 microseconde d’intervalle à l’entrée d’incrémentation et à l’entrée de décré-
mentation, il peut arriver que le compteur rapide considère ces deux événements comme simulta-
nés. La valeur en cours reste alors inchangée et le sens de comptage n’est pas inversé. En
revanche, tant que les fronts montants apparaissant à l’entrée d’incrémentation et à l’entrée de dé-
crémentation sont distants de plus de 0,3 microseconde, le compteur rapide les appréhende
comme événements distincts. Aucune erreur n’est générée dans ces deux cas et le compteur
conserve la valeur de comptage correcte (voir figures 10-12, 10-13 et 10-14).
Valeur en cours chargée = 0, valeur prédéfinie chargée = 4, sens de comptage initial : incrémenter
bit de validation de compteur : valider
Interruption « VC = VP » générée
Horloge de 1
décrémen-
tation 0
5
4 4
3 3
2 2
Valeur de 1 1
comptage
en cours
0
Valeur en cours chargée = 0, valeur prédéfinie chargée = 3, sens de comptage initial : incrémenter
bit de validation de compteur : valider
Interruption « VC = VP » Interruptions « VC = VP » et
générée « Inverser sens de comptage »
générées
Horloge 1
phase A
0
Horloge 1
phase B
0
4
3 3
2 2
Valeur de
comptage 1
en cours
0
Valeur en cours chargée = 0, valeur prédéfinie chargée = 9, sens de comptage initial : incrémenter
bit de validation de compteur : valider
Interruption « VC = VP » générée
Interruption « VC = VP »
Interruption « Inverser sens générée
de comptage » générée
Horloge 1
phase A 0
Horloge 1
phase B
0
12
11 11
10 10
9 9
8 8
7 7
6 6
5
4
3
2
1
Valeur de
comptage
en cours 0
HC2
Numéro du compteur rapide
Identificateur de zone (compteur rapide)
HSC0
Mode Description I0.0
0 Compteur incrémental/décrémental monophase Horloge
avec gestion interne du sens de comptage
SM37.3 = 0, décrémentation
SM37.3 = 1, incrémentation
HSC1
Mode Description I0.6 I0.7 I1.0 I1.1
0 Compteur incrémental/décrémental monophase Horloge
avec gestion interne du sens de comptage
1 SM47.3 = 0,, décrémentation Mise à 0
2 SM47.3 = 1, incrémentation Démarrage
3 Compteur incrémental/décrémental monophase Horloge Sens de comptage
avec gestion externe du sens de comptage
4 I0.7 = 0 : décrémentation Mise à 0
5 I0.7 = 1 : incrémentation Démarrage
6 Compteur biphase avec entrées d’horloge d’incré- Horloge Horloge
mentation et de décrémentation (incrémentation) (décrémentation)
7 Mise à 0
8 Démarrage
9 Compteur en quadrature de phase A/B Horloge Horloge
Phase A est 90 degrés devant B en rotation phase A phase B
10 dans le sens des aiguilles d’une montre Mise à 0
Phase B est 90 degrés devant A en rotation
11 dans le sens inverse des aiguilles d’une montre Démarrage
HSC2
Mode Description I1.2 I1.3 I1.4 I1.5
0 Compteur incrémental/décrémental monophase Horloge
avec gestion interne du sens de comptage
1 SM 57.3 = 0 : décrémentation Mise à 0
2 SM 57.3 = 1 : incrémentation Démarrage
3 Compteur incrémental/décrémental monophase Horloge Sens de comptage
avec gestion externe du sens de comptage
4 I1.3 = 0 : décrémentation Mise à 0
5 I1.3 = 1 : incrémentation Démarrage
6 Compteur biphase avec entrées d’horloge Horloge Horloge
d’incrémentation et de décrémentation (incrémentation) (décrémentation)
7 Mise à 0
8 Démarrage
9 Compteur en quadrature de phase A/B Horloge Horloge
Phase A est 90 degrés devant B en rotation phase A phase B
10 dans le sens des aiguilles d’une montre Mise à 0
Phase B est 90 degrés devant A en rotation
11 dans le sens inverse des aiguilles d’une montre Démarrage
Tableau 10-6 Bits de commande du niveau d’activité pour la mise à zéro et le démarrage et bits de sélection
pour fréquence simple ou quadruple (HSC1 et HSC2)
Octet de commande
Une fois le compteur et son mode définis, vous pouvez programmer les paramètres dynamiques du
compteur. Chaque compteur rapide a un octet de commande permettant de valider ou d’inhiber le
compteur et de commander le sens de comptage (modes 0, 1 et 2 uniquement). Cet octet de com-
mande définit également le sens de comptage initial pour tous les autres modes, ainsi que la valeur
en cours et la valeur prédéfinie à charger. L’interrogation de l’octet de commande et des valeurs en
cours et prédéfinie associées est liée à l’exécution de l’opération HDEF. Le tableau 10-7 présente
chacun des bits de commande.
Tableau 10-8 Valeur en cours et valeur prédéfinie pour HSC0, HSC1 et HSC2
Octet d’état
Un octet d’état fournit, pour chaque compteur rapide, des mémentos d’état indiquant le sens de
comptage en cours, si la valeur en cours est égale à la valeur prédéfinie ou si elle lui est supérieure.
Le tableau 10-9 présente les bits d’état de chaque compteur rapide.
Nota
Les bits d’état pour HSC0, HSC1 et HSC2 ne sont licites que tant que le programme d’interruption
du compteur rapide est en cours d’exécution. La surveillance de l’état du compteur rapide permet
de valider des interruptions pour les événements qui influencent l’opération en cours d’exécution.
Interruptions HSC
Il existe une condition d’interruption pour HSC0 : lorsque la valeur en cours égale la valeur prédéfi-
nie. Il en existe trois pour HSC1 et HSC2 : lorsque la valeur en cours égale la valeur prédéfinie, lors-
que la mise à zéro externe est activée et lorsque le sens de comptage est modifié. Vous pouvez
valider ou inhiber ces conditions d’interruption séparément. Reportez-vous à la description des opé-
rations d’interruption pour plus de détails sur l’utilisation des interruptions.
Les sections suivantes décrivant l’initialisation et le fonctionnement des compteurs rapides doivent
vous aider à mieux comprendre l’utilisation de ces derniers. HSC1 sert de modèle pour toutes ces
descriptions. Nous y supposons, en outre, que le S7-200 vient d’être mis à l’état de marche et que
donc le mémento « Premier cycle » est à 1. Si ce n’est pas le cas, n’oubliez pas que l’opération
HDEF ne peut être exécutée qu’une seule fois pour chaque compteur rapide une fois que l’auto-
mate est à l’état de marche (RUN). Si vous exécutez cette opération une seconde fois pour un
compteur rapide, une erreur à l’exécution est signalée et la définition du compteur reste identique à
ce qu’elle était après la première exécution de HDEF.
Initialisation, modes 0, 1 ou 2
La procédure suivante décrit comment initialiser HSC1 comme compteur incrémental/décrémental
monophase avec gestion interne du sens de comptage (modes 0, 1 ou 2).
1. Appelez, à l’aide du mémento « Premier cycle », un sous-programme où l’initialisation est exé-
cutée. L’appel d’un sous-programme permet de mieux structurer le programme et, comme il
n’est pas exécuté lors des cycles suivants, le temps de cycle n’est pas allongé.
2. Dans le sous-programme d’initialisation, chargez dans SM47 les valeurs correspondant au fonc-
tionnement désiré. Par exemple :
SM47 = 16#F8 valide le compteur,
écrit une nouvelle valeur en cours,
écrit une nouvelle valeur prédéfinie,
active l’incrémentation comme sens de comptage,
règle l’activité des entrées de démarrage et de mise à zéro au niveau haut.
3. Exécutez l’opération HDEF avec l’entrée HSC à 1 et l’entrée MODE aux valeurs suivantes : 0
pour pas de mise à zéro ni de démarrage externes, 1 pour mise à zéro externe mais pas de
démarrage, ou bien 2 pour mise à zéro et démarrage externes.
4. Chargez la valeur en cours désirée – 0 pour l’effacer – dans SM48 (double mot).
5. Chargez la valeur prédéfinie désirée dans SM52 (double mot).
6. Afin de détecter si la valeur en cours est égale à la valeur prédéfinie, programmez une interrup-
tion en associant l’événement d’interruption 13 (Valeur en cours égale à valeur prédéfinie) à un
programme d’interruption. Reportez-vous au paragraphe sur les opérations d’interruption pour
plus de détails sur le traitement des interruptions.
7. Afin de détecter une mise à zéro externe, programmez une interruption en associant l’événe-
ment d’interruption 15 (Mise à zéro externe) à un programme d’interruption.
8. Exécutez l’opération ENI (Valider tous les événements d’interruption) afin de valider les interrup-
tions pour HSC1.
9. Exécutez l’opération HSC afin que le S7-200 programme le compteur HSC1.
10. Quittez le sous-programme.
Initialisation, modes 3, 4 ou 5
La procédure suivante décrit comment initialiser HSC1 comme compteur incrémental/décrémental
monophase avec gestion externe du sens de comptage (modes 3, 4 ou 5).
1. Appelez, à l’aide du mémento « Premier cycle », un sous-programme où l’initialisation est exé-
cutée. L’appel d’un sous-programme permet de mieux structurer le programme et, comme il
n’est pas exécuté lors des cycles suivants, le temps de cycle n’est pas allongé.
2. Dans le sous-programme d’initialisation, chargez dans SM47 les valeurs correspondant au fonc-
tionnement désiré. Par exemple :
SM47 = 16#F8 valide le compteur,
écrit une nouvelle valeur en cours,
écrit une nouvelle valeur prédéfinie,
définit l’incrémentation comme sens de comptage initial,
règle l’activité des entrées de démarrage et de mise à zéro au niveau haut.
3. Exécutez l’opération HDEF avec l’entrée HSC à 1 et l’entrée MODE aux valeurs suivantes : 3
pour pas de mise à zéro ni de démarrage externes, 4 pour mise à zéro externe mais pas de
démarrage, ou bien 5 pour mise à zéro et démarrage externes.
4. Chargez la valeur en cours désirée – 0 pour l’effacer – dans SM48 (double mot).
5. Chargez la valeur prédéfinie désirée dans SM52 (double mot).
6. Afin de détecter si la valeur en cours est égale à la valeur prédéfinie, programmez une interrup-
tion en associant l’événement d’interruption 13 (Valeur en cours égale à valeur prédéfinie) à un
programme d’interruption. Reportez-vous au paragraphe sur les opérations d’interruption pour
plus de détails sur le traitement des interruptions.
7. Afin de détecter si le sens de comptage change, programmez une interruption en associant
l’événement d’interruption 14 (Sens de comptage modifié) à un programme d’interruption.
8. Afin de détecter une mise à zéro externe, programmez une interruption en associant l’événe-
ment d’interruption 15 (Mise à zéro externe) à un programme d’interruption.
9. Exécutez l’opération ENI (Valider tous les événements d’interruption) afin de valider les interrup-
tions pour HSC1.
10. Exécutez l’opération HSC afin que le S7-200 programme le compteur HSC1.
11. Quittez le sous-programme.
Initialisation, modes 6, 7 ou 8
La procédure suivante décrit comment initialiser HSC1 comme compteur incrémental/décrémental
biphase avec horloge d’incrémentation et de décrémentation (modes 6, 7 ou 8).
1. Appelez, à l’aide du mémento « Premier cycle », un sous-programme où l’initialisation est exé-
cutée. L’appel d’un sous-programme permet de mieux structurer le programme et, comme il
n’est pas exécuté lors des cycles suivants, le temps de cycle n’est pas allongé.
2. Dans le sous-programme d’initialisation, chargez dans SM47 les valeurs correspondant au fonc-
tionnement désiré. Par exemple :
SM47 = 16#F8 valide le compteur,
écrit une nouvelle valeur en cours,
écrit une nouvelle valeur prédéfinie,
définit l’incrémentation comme sens de comptage initial,
règle l’activité des entrées de démarrage et de mise à zéro au niveau haut.
3. Exécutez l’opération HDEF avec l’entrée HSC à 1 et l’entrée MODE aux valeurs suivantes : 6
pour pas de mise à zéro ni de démarrage externes, 7 pour mise à zéro externe mais pas de
démarrage, ou bien 8 pour mise à zéro et démarrage externes.
4. Chargez la valeur en cours désirée – 0 pour l’effacer – dans SM48 (double mot).
5. Chargez la valeur prédéfinie désirée dans SM52 (double mot).
6. Afin de détecter si la valeur en cours est égale à la valeur prédéfinie, programmez une interrup-
tion en associant l’événement d’interruption 13 (Valeur en cours égale à valeur prédéfinie) à un
programme d’interruption. Reportez-vous au paragraphe sur les opérations d’interruption pour
plus de détails sur le traitement des interruptions.
7. Afin de détecter si le sens de comptage change, programmez une interruption en associant
l’événement d’interruption 14 (Sens de comptage modifié) à un programme d’interruption.
8. Afin de détecter une mise à zéro externe, programmez une interruption en associant l’événe-
ment d’interruption 15 (Mise à zéro externe) à un programme d’interruption.
9. Exécutez l’opération ENI (Valider tous les événements d’interruption) afin de valider les interrup-
tions pour HSC1.
10. Exécutez l’opération HSC afin que le S7-200 programme le compteur HSC1.
11. Quittez le sous-programme.
Initialisation, modes 9, 10 ou 11
La procédure suivante décrit comment initialiser HSC1 comme compteur en quadrature de phase
A/B (modes 9, 10 ou 11).
1. Appelez, à l’aide du mémento « Premier cycle », un sous-programme où l’initialisation est exé-
cutée. L’appel d’un sous-programme permet de mieux structurer le programme et, comme il
n’est pas exécuté lors des cycles suivants, le temps de cycle n’est pas allongé.
2. Dans le sous-programme d’initialisation, chargez dans SM47 les valeurs correspondant au fonc-
tionnement désiré.
Exemple (vitesse de comptage simple ) :
SM47 = 16#FC valide le compteur,
écrit une nouvelle valeur en cours,
écrit une nouvelle valeur prédéfinie,
définit l’incrémentation comme sens de comptage initial,
règle l’activité des entrées de démarrage et de mise à zéro au niveau haut.
Exemple (vitesse de comptage quadruple ) :
SM47 = 16#F8 valide le compteur,
écrit une nouvelle valeur en cours,
écrit une nouvelle valeur prédéfinie,
définit l’incrémentation comme sens de comptage initial,
règle l’activité des entrées de démarrage et de mise à zéro au niveau haut.
3. Exécutez l’opération HDEF avec l’entrée HSC à 1 et l’entrée MODE aux valeurs suivantes : 9
pour pas de mise à zéro ni de démarrage externes, 10 pour mise à zéro externe mais pas de
démarrage, ou bien 11 pour mise à zéro et démarrage externes.
4. Chargez la valeur en cours désirée – 0 pour l’effacer – dans SM48 (double mot).
5. Chargez la valeur prédéfinie désirée dans SM52 (double mot).
6. Afin de détecter si la valeur en cours est égale à la valeur prédéfinie, programmez une interrup-
tion en associant l’événement d’interruption 13 (Valeur en cours égale à valeur prédéfinie) à un
programme d’interruption. Reportez-vous au paragraphe sur les opérations d’interruption pour
plus de détails sur le traitement des interruptions.
7. Afin de détecter si le sens de comptage change, programmez une interruption en associant
l’événement d’interruption 14 (Sens de comptage modifié) à un programme d’interruption.
8. Afin de détecter une mise à zéro externe, programmez une interruption en associant l’événe-
ment d’interruption 15 (Mise à zéro externe) à un programme d’interruption.
9. Exécutez l’opération ENI (Valider tous les événements d’interruption) afin de valider les interrup-
tions pour HSC1.
10. Exécutez l’opération HSC afin que le S7-200 programme le compteur HSC1.
11. Quittez le sous-programme.
CONT LIST
Réseau 1 NETWORK 1
SM0.1 0 Appeler sous-programme LD SM0.1
CALL 0 au premier cycle CALL 0
Réseau 2
END Fin du programme principal NETWORK 2
MEND
Réseau 3
0
Début du sous-programme 0 NETWORK 3
SBR
SBR 0
Valide le compteur.
Réseau 4 Ecrit nouvelle valeur en cours. Ecrit
SM0.0 MOV_B nouvelle valeur prédéfinie. NETWORK 4
EN Définit incrémentation comme sens LD SM0.0
initial de comptage. MOVB 16#F8, SMB47
16#F8 IN OUT SMB47 Définit activité entrées de démarrage HDEF 1, 11
et de mise à 0 à niveau haut. Active MOVD 0, SMD48
HDEF fréquence quadruple. MOVD 50, SMD52
EN HSC1 configuré pour fréquence ATCH 0, 13
1 HSC quadruple avec entrées de mise ENI
11 MODE à 0 et de démarrage HSC 1
MOV_DW
EN Effacer valeur en cours de
HSC1
0 IN OUT SMD48
MOV_DW
EN Poser valeur prédéfinie de HSC1
égale à 50
50 IN OUT SMD52
ATCH
EN Evénement 13 (valeur en cours de
HSC1 = valeur prédéfinie) associé à
0 INT programme d’interruption 0
13 EVENT
ENI Valider tous les événements d’interruption
HSC
EN Programmer HSC1
1 N
Réseau 5 NETWORK 5
Fin du sous-programme RET
RET
Réseau 6 NETWORK 6
0 INT 0
INT Début du programme d’interruption 0
NETWORK 7
Réseau 7 LD SM 0.0
SM0.0 MOV_DW Effacer valeur en cours de MOVD 0, SMD48
EN HSC1 MOVB 16#C0, SMB47
HSC 1
0 IN OUT SMD48
MOV_B Ecrire nouvelle valeur en cours
EN et valider compteur
16#C0 IN OUT SMB47
HSC
EN Programmer HSC1
1 N
Réseau 8 NETWORK 8
RETI Fin du programme d’interruption RETI
Sortie d’impulsions
L’opération Sortie d’impulsions interroge les mémentos spéciaux
C
O
PLS pour la sortie d’impulsions Q0.x. Le mode de fonctionnement défini par
EN
N ces mémentos spéciaux est ensuite appelé.
T
Q0.x
L Opérandes : x: 0à1
I
S PLS x
T
✓ ✓ ✓
212 214 215 216
La fonction PWM (modulation de durée des impulsions) fournit une période fixe avec un rapport
cyclique variable. Vous pouvez indiquer la période et la durée des impulsions en microsecondes ou
en millisecondes. La période peut aller de 250 à 65 535 microsecondes ou de 2 à 65 535 millise-
condes et la durée d’impulsion de 0 à 65 535 microsecondes ou de 0 à 65 535 millisecondes. Si la
durée des impulsions est égale à la période, le rapport cyclique est de 100 % et la sortie est tou-
jours au niveau haut. Si la durée des impulsions est de zéro, le rapport cyclique est de 0 % et la
sortie est toujours au niveau bas.
Si vous indiquez une période inférieure à deux unités de temps, une période de deux unités de
temps sera prise par défaut.
Nota
Dans les fonctions PTO et PWM, les temps de commutation des sorties du niveau bas au niveau
haut et du niveau haut au niveau bas ne sont pas identiques (voir annexe A). Cette différence se
manifeste par une distorsion du rapport cyclique. Les sorties PTO et PWM doivent avoir une
charge minimale d’au moins 10 % de la charge nominale afin d’obtenir des transitions nettes du
niveau bas au niveau haut et du niveau haut au niveau bas.
Pipeline PTO
En plus des informations de commande, il existe deux bits d’état pour la fonction PTO qui indiquent
que le nombre d’impulsions précisé a été généré et s’il s’est produit un débordement du pipeline.
Il est possible, avec la fonction PTO, soit de combiner deux définitions de sorties d’impulsions, soit
de les enchaîner selon le principe du pipeline. Cela permet d’assurer la continuité entre trains d’im-
pulsions de sortie qui se suivent. Pour charger le pipeline, vous établissez d’abord la première défi-
nition PTO, puis vous exécutez l’opération PLS. Immédiatement après l’exécution de l’opération
PLS, vous pouvez établir la deuxième définition PTO et exécuter une autre opération PLS.
Si vous effectuez une troisième définition avant que la première fonction PTO ne soit achevée –
c’est-à-dire avant que le nombre d’impulsions de sortie indiqué dans la première définition ne soit
généré –, le bit « Débordement du pipeline PTO » (SM66.6 ou SM76.6) est mis à 1. Ce bit est mis à
0 lors du passage à l’état de marche (RUN). Après détection d’un débordement, le programme doit
le remettre à 0 pour que les débordements éventuels suivants soient détectés.
Le tableau 10-10 présente les adresses des mémentos spéciaux pour les sorties d’impulsions 0
et 1.
Nota
Zéro est la valeur prise par défaut pour les bits de commande, la période, la durée d’impulsion et
la valeur de comptage des impulsions.
Tableau 10-10 Mémentos spéciaux PTO/PWM pour enchaînement en pipeline de deux sorties d’impulsions
SM66.7 SM76.7
Inactivité PTO 0 : traitement, 1 : PTO inactif
Vous pouvez vous reporter au tableau 10-11 pour déterminer la valeur à placer dans le registre de
commande PTO/PWM pour appeler l’opération désirée. Utilisez SMB67 pour PTO/PWM 0 et
SMB77 pour PTO/PWM 1. Si vous chargez la nouvelle valeur de comptage des impulsions (SMD72
ou SMD82), la durée d’impulsion (SMW70 ou SMW80) ou la période (SMW68 ou SMW78), vous
devez charger ces valeurs et le registre de commande avant d’exécuter l’opération PLS.
Nota
Il est nécessaire, pour les étapes facultatives de mise à jour synchrone, que la sortie PWM soit
réinjectée dans l’une des entrées d’interruption.
Nota
Si vous désactivez une fonction PTO avant son achèvement, le train d’impulsions en cours est
interrompu et la sortie Q0.0 ou Q0.1 est de nouveau gérée via la mémoire image. En cas de
réactivation de PTO, le train d’impulsions reprend du début, en se basant sur la dernière
spécification de sortie d’impulsions chargée.
CONT LIST
Réseau 1 NETWORK 1
SM0.1 Q0.0 LD SM0.1
Lors du premier cycle, mettre bit
R en mémoire image à niveau bas R Q0.0, 1
1 et appeler sous-programme 0. CALL 0
0
CALL NETWORK 2
Réseau 2 MEND
END Fin du programme principal
CONT
NETWORK 3
Réseau 3 SBR 0
0
SBR Début du sous-programme 0
Réseau 4 NETWORK 4
MOV_B Définition de l’octet de commande PTO 0 :
SM0.0 – sélectionner fonction PTO LD SM0.0
EN – sélectionner ms comme unité de MOVB 16#8D, SMB67
temps MOVW 500, SMW68
16#8D IN OUT SMB67 – mettre à jour valeur de comptage des
MOVD 4, SMD72
impulsions et période
– valider fonction PTO ATCH 3, 19
MOV_W ENI
EN Définir période à 500 millisecondes
PLS 0
4 IN OUT SMD72
3 INT
19 EVENT
PLS
Demander l’exécution de PTO 0
EN
PLS0 => Q0.0
0 Q0.x
Réseau 5 NETWORK 5
RET Fin du sous-programme RET
CONT LIST
Réseau 18 NETWORK 18
3 INT 3
INT Programme d’interruption NETWORK 19
PTO 0 LDW= SMW68, 500
MOVW 1000, SMW68
Réseau 19 PLS 0
CRETI
SMW68 MOV_W Si la période en vigueur
== est de 500 ms, définir le
EN temps de cycle à 1000 ms
500 1000 IN OUT SMW68 et sortir 4 impulsions.
PLS
EN
0 Q0.x
NETWORK 20
RETI LDW= SMW68, 1000
Réseau 20 MOVW 500, SMW68
PLS 0
SMW68 MOV_W Si la période en vigueur
== est de 1000 ms, définir le
EN temps de cycle à 500 ms
1000 et sortir 4 impulsions.
500 IN OUT SMW68
PLS
EN
NETWORK 21
0 Q0.x
RETI
Réseau 21
RETI
Chronogramme
1 période 1 période
500 ms 1000 ms
Q0.0
Interruption 3 se Interruption 3 se
produit. produit.
CONT LIST
Réseau 1 NETWORK 1
SM0.1 Q0.1 Lors du premier cycle, mettre LD SM0.1
S bit en mémoire image à niveau S Q0.1, 1
1 haut et appeler sous-pro- CALL 0
gramme 0.
0
CALL
Réseau 2 Réinjecter Q0.1 en I0.0 et associer NETWORK 2
I0.1 ATCH l’événement « Front montant » à INT LD I0.1
1. Cela permet la mise à jour
P EN EU
synchrone de la durée d’impulsion
. 1 INT par rapport au cycle PWM après ATCH 1, 0
. l’activation de I0.1. .
. 0 EVENT .
Réseau 49
NETWORK 49
END Fin du programme principal CONT MEND
Réseau 50 0 NETWORK 50
SBR Début du sous-programme 0 SBR 0
Réseau 51 Définition de l’octet de commande
SM0.0 MOV_B NETWORK 51
PWM 1 :
EN – sélectionner fonction PWM LD SM0.0
– sélectionner ms comme unité de MOVB 16#CB, SMB77
16#CB IN OUT SMB77 temps MOVW 10000, SMW78
– mettre à jour durée des impulsions MOVW 1000, SMW80
MOV_W et période valider fonction PWM
PLS 1
EN ENI
Définir période à 10 000 millisecondes
10000 IN OUT SMW78
.
MOV_W .
EN Définir durée des impulsions
à 1 000 ms
1000 IN OUT SMW80
PLS Demander l’exécution de PWM 1
EN PLS1 => Q0.1
1 Q0.x
.
. ENI Valider tous les événements
. d’interruption
Réseau 59
NETWORK 59
RET
RET
(Suite du programme à la page suivante)
CONT LIST
(Suite du programme de la page précédente)
Réseau 60 NETWORK 60
1
Commencer le programme d’inter- INT 1
INT ruption lorsque I0.0 passe de l’état 0
Réseau 61 à l’état 1. NETWORK 61
LD SM0.0
SM0.0 ADD_I Augmenter la durée d’impulsion de
la valeur figurant dans VW100. +I VW100, SMW80
EN
PLS 1
VW100 IN1 DTCH 0
Chronogramme
VW100 = 4000 VW100 = -2000
Valider interruption Valider interruption
I0.1
I0.0
Q0.1
L
I TODR T Opérandes : T: VB, IB, QB, MB, SMB, *VD, *AC, SB
S
T TODW T
L’horloge temps réel est initialisée comme suit en cas de coupure de
✓ ✓ ✓ courant prolongée ou de perte de mémoire :
212 214 215 216
Date : 01-Jan-90
Heure : 00:00:00
Jour : dimanche
L’horloge temps réel dans le S7-200 utilise seulement les deux chiffres les moins significatifs pour
l’année. Ainsi, l’an 2000 est représenté par « 00 » (il y aura passage de 99 à 00).
Vous devez coder toutes les valeurs de date et d’heure en format décimal codé binaire (par exem-
ple, 16#97 pour l’année 1997). Les formats des données sont les suivants :
année/mois aamm aa : 0 à 99 mm : 1 à 12
jour/heure jjhh jj : 1 à 31 hh : 0 à 23
minute/seconde mmss mm : 0 à 59 ss : 0 à 59
jour de la semaine 000j j:0à7 1 : dimanche
0 = désactive le jour de la semaine (reste à 0)
Nota
La CPU S7-200 ne vérifie pas si le jour de la semaine correspond bien à la date. Elle peut
accepter des dates incorrectes comme le 30 février. C’est à vous de vous assurer que la date est
correcte.
L’automate S7-200 n’utilise en aucune façon les informations concernant l’année et ne sera donc
pas affecté par le passage à l’an 2000. Toutefois, les programmes utilisateur exécutant des
opérations arithmétiques ou de comparaison avec la valeur de l’année doivent prendre en compte
cette représentation à deux chiffres et ce changement de millénaire.
SUB_I
OUT : VW, T, C, IW, QW, MW, SMW, AC,
EN *VD, *AC, SW
SUB_R OUT : VD, ID, QD, MD, SMD, AC, *VD, *AC,
EN SD
Nota
Les nombres réels ou nombres à virgule flottante sont représentés dans le format décrit dans la
norme ANSI/IEEE 754-1985 (simple précision). Reportez-vous à cette norme pour plus
d’informations.
IN2 OUT
L’opération Diviser entiers de 16 bits divise deux nombres entiers de
16 bits et fournit un résultat de 32 bits (OUT). Ce résultat comprend un
DIV quotient de 16 bits (mot de poids faible) et un reste de 16 bits (mot de
EN poids fort).
IN1 OUT En LIST, le mot de poids faible (16 bits) du double mot OUT sert de
dividende.
IN2 OUT
IN2 OUT
Opérandes : IN1, IN2 : VD, ID, QD, MD, SMD, AC,
DIV_R constante, *VD, *AC, SD
EN
OUT : VD, ID, QD, MD, SMD, AC, *VD, *AC,
IN1 OUT SD
En CONT : IN1IN2 = OUT
IN2 OUT
IN1/ IN2 = OUT
En LIST : IN1OUT = OUT
L OUT / IN1 = OUT
I *R IN1, OUT
S Remarque : Vous pouvez réduire l’espace mémoire nécessaire si vous
T /R IN1, OUT
indiquez, en CONT, la même adresse pour IN1 et OUT.
✓ ✓ ✓ Ces opérations influencent les mémentos spéciaux suivants :
212 214 215 216
SM1.0 (zéro), SM1.1 (débordement), SM1.2 (négatif), SM1.3 (division
par zéro)
Si SM1.1 ou SM1.3 sont mis à 1, les autres bits d’état des opérations
arithmétiques restent inchangés et les opérandes d’entrée d’origine ne
sont pas modifiés.
Nota
Les nombres réels ou nombres à virgule flottante sont représentés dans le format décrit dans la
norme ANSI/IEEE 754-1985 (simple précision). Reportez-vous à cette norme pour plus
d’informations.
C
L’opération Racine carrée de nombre réel extrait la racine carrée d’un
O SQRT nombre réel IN de 32 bits et fournit un résultat réel de 32 bits, comme
EN
N illustré dans l’équation :
T
IN OUT
√ IN = OUT
CONT LIST
Réseau 1 NETWORK
I0.0 ADD_I LD I0.0
EN +I AC1, AC0
MUL AC1, VD100
AC1 IN1 OUT DIV VW10, VD200
MUL
EN
DIV
EN
Application
Addition Multiplication Division
Régulateur PID
C
L’opération Boucle PID exécute un calcul de boucle PID sur la boucle
O PID LOOP référencée en se basant sur les entrées et les informations de
EN
N configuration figurant dans TABLE.
T
TABLE
Opérandes : TABLE : VB
LOOP
LOOP : 0à7
L Cette opération influence les mémentos spéciaux suivants :
I
S PID TABLE, LOOP
T
SM1.1 (débordement).
✓ ✓
212 214 215 216
L’opération de boucle PID (régulateur à actions proportionnelle, intégrale et dérivée) permet le cal-
cul du régulateur PID. La valeur supérieure de la pile doit être à 1 (le courant circule) pour valider le
calcul PID. Cette opération comporte deux opérandes : TABLE contient l’adresse de début de la
table pour la boucle de régulation et LOOP indique le numéro (compris entre 0 et 7) de la boucle de
régulation. Vous pouvez utiliser au maximum huit opérations PID dans un programme. Si deux opé-
rations PID ou plus indiquent le même numéro de boucle, les calculs PID interféreront les uns avec
les autres et le résultat sera imprévisible, et ce même si les adresses des tables sont différentes.
La table pour la boucle contient neuf paramètres servant à la commande et à la surveillance de
l’opération de boucle. Il s’agit de la valeur en cours et de la valeur précédente de la mesure (varia-
ble du processus), de la consigne, de la grandeur réglante, du gain (coefficient d’action proportion-
nelle), de la période d’échantillonnage, du temps d’intégration, du temps de dérivation et de la
somme intégrale (bias).
Pour pouvoir effectuer le calcul PID avec la période d’échantillonnage désirée, il faut exécuter l’opé-
ration PID soit à l’intérieur d’un programme d’interruption cyclique, soit à l’intérieur du programme
principal à une fréquence gérée par une temporisation. La période d’échantillonnage est un para-
mètre d’entrée de l’opération PID que vous indiquez dans la table pour la boucle de régulation.
Algorithme PID
Lors du fonctionnement en état stable, un régulateur PID régule la valeur de la grandeur réglante de
façon à amener le signal d’écart (e) à zéro. Le signal d’écart est mesuré par la différence entre la
consigne (SP, point de fonctionnement désiré) et la mesure (PV, point de fonctionnement effectif).
Le principe de la régulation PID est basé sur l’équation suivante qui exprime la grandeur réglante
M(t) comme fonction d’une action proportionnelle, d’une action intégrale et d’une action dérivée :
ÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁ
t
ŕ
ÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁ
M(t) = KC * e + K C e dt ) M initial + KC * de/dt
ÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁ
ÁÁÁÁÁÁ
0
ÁÁÁÁ
ÁÁÁ ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ ÁÁÁ
ÁÁÁÁÁÁ
grandeur = action + action intégrale + action dérivée
réglante proportionnelle
avec :
M(t) grandeur réglante en fonction du temps
KC gain
e signal d’écart (différence entre consigne et mesure)
Minitial valeur initiale de la grandeur réglante
Pour réaliser cette fonction de commande dans un ordinateur numérique, il faut quantifier la fonction
continue en échantillonnages périodiques du signal d’écart avec calcul consécutif de la grandeur
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
réglante. Voici l’équation sur laquelle se base la solution pour un ordinateur numérique :
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ
ÁÁ
ȍ ÁÁ
ÁÁÁÁÁÁÁ
ÁÁ
n
ÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ ÁÁÁÁÁÁÁ
Mn = KC < en + KI < ) M initial + K D < (e n–e n–1)
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
1
ÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁÁÁ
avec :
ÁÁÁÁÁÁÁÁ
réglante
ÁÁÁÁÁÁÁ
ÁÁ proportionnelle
ÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ
Mn ÁÁ
ÁÁÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁÁ
= KC < en + K I < e n ) MX + K D < (e n–e n–1)
ÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁ ÁÁÁÁÁÁÁÁ
grandeur
ÁÁ
ÁÁÁÁÁÁÁ
= action + action intégrale + action dérivée
ÁÁÁÁÁÁ
ÁÁ
ÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
réglante proportionnelle
avec :
Mn valeur calculée de la grandeur réglante à l’instant d’échantillonnage n
KC gain
en valeur du signal d’écart à l’instant d’échantillonnage n
en - 1 valeur précédente du signal d’écart (à l’instant d’échantillonnage n - 1)
KI constante proportionnelle de l’action intégrale
MX valeur précédente de l’action intégrale (à l’instant d’échantillonnage n - 1)
KD constante proportionnelle de l’action dérivée
La CPU utilise une forme modifiée de l’équation simplifiée ci-dessus lorsqu’elle calcule la grandeur
réglante de la boucle. Voici cette équation modifiée :
ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ
Á
ÁÁ ÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁ
Mn
ÁÁÁÁÁÁÁÁÁ
Á
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
= MPn + MIn + MDn
ÁÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁ ÁÁ
ÁÁÁÁÁÁÁ
grandeur réglante
ÁÁÁÁÁÁÁÁÁ ÁÁ
ÁÁÁÁÁÁÁ
ÁÁÁÁÁÁÁÁÁ
=
ÁÁÁÁÁÁÁ
action
proportionnelle
+ action intégrale + action dérivée
avec :
Mn valeur calculée de la grandeur réglante à l’instant d’échantillonnage n
MPn valeur de l’action proportionnelle de la grandeur réglante à l’instant d’échantillonnage n
MIn valeur de l’action intégrale de la grandeur réglante à l’instant d’échantillonnage n
MDn valeur de l’action dérivée de la grandeur réglante à l’instant d’échantillonnage n
Action proportionnelle
L’action proportionnelle MP est le produit du gain (KC) – qui commande la sensibilité du calcul de la
grandeur réglante – et du signal d’écart (e) – qui est la différence entre la consigne (SP) et la me-
sure (PV) à un instant d’échantillonnage donné. La CPU calcule l’action proportionnelle à l’aide de
l’équation suivante :
MPn = KC * (SPn - PVn)
avec :
MPn valeur de l’action proportionnelle de la grandeur réglante à l’instant d’échantillonnage n
KC gain
SPn valeur de la consigne à l’instant d’échantillonnage n
PVn valeur de la mesure à l’instant d’échantillonnage n
Action intégrale
L’action intégrale est proportionnelle à la somme du signal d’écart dans le temps. La CPU calcule
l’action intégrale à l’aide de l’équation suivante :
MIn = KC * TS / TI * (SPn - PVn) + MX
avec :
MIn valeur de l’action intégrale de la grandeur réglante à l’instant d’échantillonnage n
KC gain
TS période d’échantillonnage
TI temps d’intégration de la boucle
SPn valeur de la consigne à l’instant d’échantillonnage n
PVn valeur de la mesure à l’instant d’échantillonnage n
MX valeur de l’action intégrale à l’instant d’échantillonnage n - 1
(ou somme intégrale ou bias)
La somme intégrale ou « bias » (MX) est la somme cumulée de toutes les valeurs précédentes de
l’action intégrale. Après chaque calcul de MIn, la somme intégrale est mise à jour avec la valeur de
MIn qui peut être adaptée ou limitée (voir le paragraphe « Variables et plages » pour plus de dé-
tails). Typiquement, la valeur initiale de la somme intégrale est posée égale à la valeur de la gran-
deur réglante (Minitial) juste avant le premier calcul de la grandeur réglante pour la boucle. L’action
intégrale fait également intervenir d’autres constantes : gain (KC), période d’échantillonnage (TS) –
périodicité à laquelle la boucle PID recalcule la grandeur réglante – et temps d’intégration (TI) –
temps utilisé pour commander l’influence de l’action intégrale lors du calcul de la grandeur réglante.
Action dérivée
L’action dérivée MD est proportionnelle à la modification du signal d’écart. En voici l’équation :
MDn = KC * TD / TS * ((SPn - PVn) - (SPn - 1 - PVn - 1))
Afin d’éviter, en cas d’échelons de consigne, des échelons ou des à-coups dans la grandeur ré-
glante dus à l’action dérivée, on suppose que la consigne est constante (SPn = SPn-1). Cela en-
traîne le calcul de la modification de mesure au lieu du calcul de la modification de signal d’écart,
comme illustré ci-dessous :
MDn = KC * TD / TS * (SPn - PVn - SPn + PVn - 1)
ou uniquement :
MDn = KC * TD / TS * (PVn - 1 - PVn)
avec :
MDn valeur de l’action dérivée de la grandeur réglante à l’instant d’échantillonnage n
KC gain
TS période d’échantillonnage
TD temps de dérivation de la boucle
SPn valeur de la consigne à l’instant d’échantillonnage n
SPn - 1 valeur de la consigne à l’instant d’échantillonnage n - 1
PVn valeur de la mesure à l’instant d’échantillonnage n
PVn - 1 valeur de la mesure à l’instant d’échantillonnage n - 1
Il faut sauvegarder la mesure et non le signal d’écart pour le calcul suivant de l’action dérivée. La
valeur de PVn-1 est initialisée à PVn pour le premier échantillonnage.
Sélection du régulateur
Il peut être nécessaire, dans de nombreuses installations de régulation, de n’utiliser qu’une ou deux
méthodes de régulation. On peut, par exemple, n’avoir besoin que d’un régulateur à action propor-
tionnelle ou d’un régulateur à actions proportionnelle et intégrale. On sélectionne le type de régula-
tion en déterminant la valeur des paramètres constants.
Si vous ne voulez pas d’action intégrale (pas de I dans le calcul PID), vous devez indiquer la valeur
« infini » pour le temps d’intégration. Même sans action intégrale, la valeur de l’action intégrale peut
ne pas être zéro en raison de la valeur initiale de la somme intégrale MX.
Si vous ne voulez pas d’action dérivée (pas de D dans le calcul PID), vous devez indiquer la valeur
0,0 pour le temps de dérivation.
Si vous ne voulez pas d’action proportionnelle (pas de P dans le calcul PID) mais que vous vouliez
une régulation I ou ID, vous devez indiquer la valeur 0,0 pour le gain. Comme le gain de la boucle
est un coefficient dans les équations pour le calcul des actions intégrale et dérivée, mettre le gain à
0,0 entraîne l’utilisation de la valeur 1,0 comme gain de la boucle dans le calcul des actions inté-
grale et dérivée.
Variables et plages
La mesure et la consigne sont des valeurs d’entrée pour le calcul PID. Aussi l’opération PID lit-elle
les champs de ces variables dans la table pour la boucle, mais elle ne les modifie pas.
Le calcul PID génère la grandeur réglante ; le champ de cette valeur dans la table pour la boucle
est donc actualisé à la fin de chaque calcul PID. La grandeur réglante est limitée à une plage com-
prise entre 0,0 et 1,0. Vous pouvez toutefois vous servir du champ de la grandeur réglante comme
entrée pour spécifier une grandeur réglante initiale lors du passage du mode manuel au mode
« opération PID » (équivalent au mode automatique). Pour plus d’informations, consultez le para-
graphe sur les modes ci-après.
Lors de l’utilisation d’un régulateur intégral, la valeur de la somme intégrale est mise à jour par le
calcul PID et la valeur actualisée sert d’entrée pour le calcul PID suivant. Lorsque la grandeur ré-
glante calculée est hors plage (elle est inférieure à 0,0 ou supérieure à 1,0), la somme intégrale est
adaptée sur la base des formules suivantes :
MX = 1,0 - (MPn + MDn) lorsque la grandeur réglante calculée Mn > 1,0
ou
MX = - (MPn + MDn) lorsque la grandeur réglante calculée Mn < 0,0
avec :
MX valeur de la somme intégrale adaptée
MPn valeur de l’action proportionnelle de la grandeur réglante à l’instant d’échantillonnage
n
MDn valeur de l’action dérivée de la grandeur réglante à l’instant d’échantillonnage n
Mn valeur de la grandeur réglante à l’instant d’échantillonnage n
L’adaptation de la somme intégrale comme décrit ci-dessus entraîne une amélioration dans la rapi-
dité de réaction du système lorsque la grandeur réglante calculée revient dans la plage autorisée.
La somme intégrale est également fixée dans la plage entre 0,0 et 1,0, puis est écrite dans le
champ correspondant de la table de la boucle à la fin de chaque calcul PID. La valeur rangée dans
la table sert au calcul PID suivant.
Vous pouvez modifier la valeur de la somme intégrale dans la table pour la boucle de régulation
avant l’exécution de l’opération PID afin de prévenir des problèmes liés à cette valeur dans certai-
nes applications. Il faut toutefois être très prudent en cas d’ajustement manuel de la somme inté-
grale : toute somme intégrale inscrite dans la table pour la boucle doit être un nombre réel compris
entre 0,0 et 1,0.
Une valeur de comparaison de la mesure est conservée dans la boucle pour la table ; elle est utili-
sée dans l’action dérivée du calcul PID et vous ne devez pas la modifier.
Modes
Il n’existe pas de commande intégrée du mode pour les boucles PID S7-200. Le calcul PID n’a lieu
que lorsque le courant circule vers la boîte PID. Ainsi, le mode automatique existe lorsque le calcul
PID est effectué cycliquement. Le mode manuel correspond à la non-exécution du calcul PID.
L’opération PID comporte un bit historique de flux de courant, similaire à une opération de comp-
tage. Elle se sert de ce bit pour détecter une transition de 0 à 1 du flux de courant qui entraîne, le
cas échéant, l’exécution par l’opération d’une série d’actions afin de permettre un passage sans
à-coup du mode manuel au mode automatique. Pour assurer un passage sans à-coup au mode
automatique, la valeur de la grandeur réglante définie par le mode manuel doit être fournie comme
entrée à l’opération PID (inscrite dans l’entrée Mn de la table de la boucle), et ce avant de commuter
en mode automatique. L’opération PID agit comme suit sur les valeurs dans la table pour la boucle
afin d’assurer une transition sans à-coup du mode manuel au mode automatique lors de la détec-
tion d’un front montant :
Elle pose la consigne (SPn) égale à la mesure (PVn).
Elle pose l’ancienne mesure (PVn-1) égale à la mesure (PVn).
Elle pose la somme intégrale (MX) égale à la valeur réglante (Mn).
Par défaut, le bit historique PID est à 1 ; cet état est établi à la mise en route de la CPU et à chaque
passage de l’automate de l’état « Arrêt » (STOP) à l’état « Marche » (RUN). Si le courant circule
vers la boîte PID à sa première exécution après le passage à l’état « Marche » (RUN), aucune tran-
sition n’est détectée dans le flux de courant et les actions visant à éviter les à-coups lors du chan-
gement de mode ne sont pas exécutées.
Situations d’erreur
Au moment de la compilation, la CPU génère une erreur de compilation (erreur de zone) et la com-
pilation échouera si les opérandes TABLE (adresse de début de la table de boucle) ou LOOP (nu-
méro de boucle PID) précisés dans l’opération sont hors plage.
L’opération PID ne vérifie pas la plage de certaines valeurs d’entrée de la table pour la boucle. C’est
à vous de vous assurer que la mesure et la consigne (ainsi que la somme intégrale et la mesure
précédente si elles sont utilisées comme entrées) sont des nombres réels compris entre 0,0 et 1,0.
En cas d’erreur lors de l’exécution des fonctions mathématiques du calcul PID, le bit SM1.1 (débor-
dement ou valeur illicite) est mis à 1 et l’exécution de l’opération PID est interrompue. La mise à jour
des valeurs de sortie dans la table de la boucle peut être incomplète ; vous ne devez donc pas tenir
compte de ces valeurs, mais corriger la valeur d’entrée à l’origine de l’erreur mathématique avant
l’exécution suivante de l’opération PID pour la boucle.
CONT LIST
Réseau 1 NETWORK 1
SM0.1 0 LD SM0.1 //Lors du premier cycle,
CALL CALL 0 //appeler le sous–programme
//d’initialisation.
Réseau 2
NETWORK 2
END
MEND //Fin du programme principal
Réseau 3
0 NETWORK 3
SBR 0
SBR
NETWORK 4
Réseau 4 LD SM0.0
MOVR 0,75, VD104 //Charger la consigne
SM0.0 MOV_R
// = plein à 75 %
EN MOVR 0,25, VD112 //Charger le gain = 0,25
0,75 IN OUT VD104 MOVR 0,10, VD116 //Charger la période d’échantillonnage
//= 0,1 seconde
MOV_R MOVR 30,0, VD120 //Charger le temps d’intégration
EN //= 30 minutes.
//
0,25 IN OUT VD112 MOVR 0,0, VD124 //Pas d’action dérivée
MOVB 100, SMB34 //Définir la période
MOV_R //(100 ms) pour
EN //l’interruption cyclique 0.
0,10 IN OUT VD116 ATCH 0, 10 //Configurer une interruption
//cyclique pour déclencher
MOV_R //l’exécution de PID.
EN ENI //Valider les interruptions.
10 EVENT
ENI
Réseau 5 NETWORK 5
RET
RET
NETWORK 6
Réseau 6 INT 0 //Programme d’interruption
0
//de calcul PID
INT
CONT LIST
Réseau 7 NETWORK 7
SM0.0 WXOR_DW //Convertir PV en
EN //nombre réel normalisé
//(PV est une entrée
AC0 IN1 //unipolaire et ne peut
//être négatif).
LD SM0.0
AC0 IN2 OUT AC0 XORD AC0, AC0 //Effacer l’accumulateur
MOVW AIW0, AC0 //Sauvegarder la valeur
MOV_W //analogique unipolaire dans
EN //l’accumulateur
DTR AC0, AC0 //Convertir l’entier de
AIW0 IN OUT AC0 //32 bits en réel
DIV_R
EN
AC0 IN1
MOV_R
EN
0 LOOP
NETWORK 9
Réseau 9 //Convertir Mn en entier de
SM0.0 MUL_R //16 bits mis à l’échelle.
EN //Mn est une valeur unipolaire
//et ne peut être négatif.
LD SM0.0
VD108 IN1 OUT MOVR VD108, AC0 //Transférer la grandeur réglante
//dans l’accumulateur
32000 IN2 OUT AC0 *R 32000,0, AC0 //Mettre à l’échelle la valeur dans
//l’accumulateur
TRUNC TRUNC AC0, AC0 //Convertir le nombre
EN //réel en entier
//de 32 bits
AC0 IN OUT AC0 MOVW AC0, AQW0 //Ecrire la valeur entière
//de 16 bits dans
//la sortie analogique
MOV_W
EN
NETWORK 10
Réseau 10
RETI
RETI
IN OUT
En CONT : IN + 1 = OUT
IN - 1 = OUT
L En LIST : OUT+ 1 = OUT
I INCB OUT
S
OUT - 1 = OUT
T DECB OUT
Les opérations d’incrémentation et de décrémentation d’octet ne sont
✓ ✓
pas signées.
212 214 215 216 Remarque : Vous pouvez réduire l’espace mémoire nécessaire si vous
indiquez, en CONT, la même adresse pour IN et OUT.
Ces opérations influencent les mémentos spéciaux suivants :
SM1.0 (zéro), SM1.1 (débordement)
C
L’opération Incrémenter mot ajoute 1 au mot d’entrée et l’opération
O Décrémenter mot en retire 1.
N INC_W
EN
T
Opérandes : IN : VW, T, C, IW, QW, MW, SMW, AC,
IN OUT
AIW, constante, *VD, *AC, SW
OUT : VW, T, C, IW, QW, MW, SMW, AC,
DEC_W
EN
*VD, *AC, SW
IN OUT
En CONT : IN + 1 = OUT
IN - 1 = OUT
L En LIST : OUT+ 1 = OUT
I INCW OUT
S OUT - 1 = OUT
T DECW OUT
Les opérations d’incrémentation et de décrémentation de mot sont si-
✓ ✓ ✓ ✓
gnées (16#7FFF > 16#8000).
212 214 215 216 Remarque : Vous pouvez réduire l’espace mémoire nécessaire si vous
indiquez, en CONT, la même adresse pour IN et OUT.
Ces opérations influencent les mémentos spéciaux suivants :
SM1.0 (zéro), SM1.1 (débordement), SM1.2 (négatif)
CONT LIST
DEC_DW
EN
Application
incrémenter décrémenter
Transférer octet
C
L’opération Transférer octet transfère l’octet d’entrée IN dans l’octet de
O MOV_B sortie OUT. L’octet d’entrée n’est pas modifié par ce transfert.
EN
N
T
IN OUT Opérandes : IN : VB, IB, QB, MB, SMB, AC, constante,
*VD, *AC, SB
L
I OUT : VB, IB, QB, MB, SMB, AC, *VD, *AC,
S MOVB IN, OUT
T SB
✓ ✓ ✓ ✓
212 214 215 216
Transférer mot
C
L’opération Transférer mot transfère le mot d’entrée IN dans le mot de
O MOV_W sortie OUT. Le mot d’entrée n’est pas modifié par ce transfert.
EN
N
T
IN OUT Opérandes : IN : VW, T, C, IW, QW, MW, SMW, AC,
AIW, constante, *VD, *AC, SW
L
I OUT : VW, T, C, IW, QW, MW, SMW, AC,
S MOVW IN, OUT
AQW, *VD, *AC, SW
T
✓ ✓ ✓ ✓
212 214 215 216
Transférer réel
C
L’opération Transférer réel transfère le double mot d’entrée réel de 32
O MOV_R bits IN dans le double mot de sortie OUT. Le double mot d’entrée n’est
N EN
pas modifié par ce transfert.
T
IN OUT
C
L’opération Transférer nombre de mots transfère le nombre N de
O BLKMOV_W mots précisé du tableau d’entrée commençant à IN au tableau de sor-
N EN
tie commençant à OUT. N est compris entre 1 et 255.
T
IN
Opérandes : IN : VW, T, C, IW, QW, MW, SMW, AIW,
N OUT
*VD, *AC, SW
N OUT
Opérandes : IN, OUT : VD, ID, QD, MD, SMD, *VD, *AC, SD
L N: VB, IB, QB, MB, SMB, AC, constante,
I *VD, *AC, SB
S BMD IN, OUT, N
T
✓ ✓
212 214 215 216
Permuter octets
C
L’opération Permuter octets permute l’octet de poids fort du mot IN
O SWAP avec celui de poids faible.
N EN
T
IN
Opérandes : IN : VW, T, C, IW, QW, MW, SMW, AC,
*VD, *AC, SW
L
I
S SWAP IN
T
✓ ✓ ✓ ✓
212 214 215 216
CONT LIST
MOV_B LD I2.1
I2.1
EN MOVB VB50, AC0
SWAP AC0
SWAP
EN
AC0 IN
Application
Transfert Permutation
VB50 C3 AC0 D6 C3
transférer dans permuter
AC0 C3 AC0 C3 D6
CONT LIST
4 N OUT VB100
Application
transféré dans
Initialiser
C
L’opération Initialiser initialise la mémoire avec le profil de mot à l’en-
O FILL_N trée IN, et ce à partir du mot de sortie OUT et pour le nombre de mots
N EN spécifié par N. N est compris entre 1 et 255.
T
IN
N OUT
Opérandes : IN : VW, T, C, IW, QW, MW, SMW, AIW,
constante, *VD, *AC, SW
CONT LIST
10 N OUT VW200
Application
0
initialiser
VW200 VW202 VW218
0 0 ... 0
C L’opération Inscrire dans table inscrit des valeurs de mot (DATA) dans
O AD_T_TBL la table TABLE.
N EN
T
DATA Opérandes : DATA : VW, T, C, IW, QW, MW, SMW, AC,
AIW, constante, *VD, *AC, SW
TABLE
TABLE : VW, T, C, IW, QW, MW, SMW, *VD,
L *AC, SW
I
S ATT DATA, TABLE
T La première valeur dans la table (LT) correspond à la longueur maxi-
✓ ✓ ✓ male de la table et la seconde valeur (DE) au décompte des entrées
212 214 215 216 effectivement dans la table (voir figure 10-26). Les nouvelles données
sont ajoutées après la dernière entrée de la table. Le décompte des
entrées est incrémenté à chaque inscription de nouvelles données.
Une table peut comporter jusqu’à 100 entrées, paramètres indiquant le
nombre d’entrées autorisé et le nombre d’entrées effectif exclus.
Cette opération influence les mémentos spéciaux suivants :
Si vous tentez d’ajouter trop d’entrées, le mémento « Table pleine »
(SM1.4) est mis à 1.
CONT LIST
VW100 DATA
VW200 TABLE
Application
VW200 0006 LT (nb. max. d’entrées) VW200 0006 LT (nb. max. d’entrées)
VW202 0002 DE (décompte des entrées) VW202 0003 DE (décompte des entrées)
VW204 5431 d0 (donnée 0) VW204 5431 d0 (donnée 0)
VW206 8942 d1 (donnée 1) VW206 8942 d1 (donnée 1)
VW208 xxxx VW208 1234 d2 (donnée 2)
VW210 xxxx VW210 xxxx
VW212 xxxx VW212 xxxx
VW214 xxxx VW214 xxxx
C
L’opération Dernier entré, premier sorti extrait la dernière entrée de la
O LIFO table TABLE et l’écrit à l’adresse DATA. Le décompte des entrées (DE)
N EN
est décrémenté à chaque exécution de cette opération.
T
TABLEOUT
Opérandes : TABLE : VW, T, C, IW, QW, MW, SMW, *VD,
DATA
*AC, SW
CONT LIST
I4.0 LIFO
EN LD I4.0
LIFO VW200, VW300
VW200 TABLE
DATA VW300
Application
VW300 1234
VW200 0006 LT (nb. max. d’entrées) VW200 0006 LT (nb. max. d’entrées)
VW202 0003 DE (décompte des entrées) VW202 0002 DE (décompte des entrées)
VW204 5431 d0 (donnée 0) VW204 5431 d0 (donnée 0)
VW206 8942 d1 (donnée 1) VW206 8942 d1 (donnée 1)
VW208 1234 d2 (donnée 2) VW208 xxxx
VW210 xxxx VW210 xxxx
VW212 xxxx VW212 xxxx
VW214 xxxx VW214 xxxx
DATA
CONT LIST
Application
VW200 0006 LT (nb. max. d’entrées) VW200 0006 LT (nb. max. d’entrées)
VW202 0003 DE (décompte des entrées) VW202 0002 DE (décompte des entrées)
VW204 5431 d0 (donnée 0) VW204 8942 d0 (donnée 0)
VW206 8942 d1 (donnée 1) VW206 1234 d1 (donnée 1)
VW208 1234 d2 (donnée 2) VW208 xxxx
VW210 xxxx VW210 xxxx
VW212 xxxx VW212 xxxx
VW214 xxxx VW214 xxxx
INDX
CMD
Opérandes : SRC : VW, T, C, IW, QW, MW, SMW, *VD,
*AC, SW
PATRN : VW, T, C, IW, QW, MW, SMW, AC,
L FND= SRC, PATRN,
I AIW, constante, *VD, *AC, SW
INDX
S
T FND<> SRC, PATRN, INDX : VW, T, C, IW, QW, MW, SMW, AC,
INDX *VD, *AC, SW
FND< SRC, PATRN,
INDX CMD : 1 (=) 2 (< >) 3 (<) 4 (>)
FND> SRC, PATRN,
INDX
Si une entrée correspondant au critère est trouvée, INDX pointe sur
cette entrée. Pour chercher l’entrée suivante correspondant au critère,
il faut incrémenter INDX avant de rappeler l’opération de recherche. Si
✓ ✓ ✓
une telle entrée s’avère introuvable, la valeur de INDX est égale au
212 214 215 216 décompte des entrées.
Les entrées de données, c’est-à-dire la zone objet de la recherche,
sont numérotées de 0 à une valeur maximale de 99. Une table peut
comporter jusqu’à 100 entrées, paramètres correspondant au nombre
d’entrées autorisé et au nombre effectif d’entrées exclus.
Nota
Lorsque vous utilisez les opérations de recherche sur des tables générées à l’aide des opérations
ATT, LIFO et FIFO, le décompte des entrées et les entrées de données correspondent
directement. Le mot précisant le nombre maximal d’entrées pour ATT, LIFO et FIFO n’est pas
nécessaire pour les opérations de recherche. Ainsi, l’opérande SRC d’une opération de
recherche est plus élevé d’une adresse de mot (deux octets) que l’opérande TABLE d’une
opération ATT, LIFO ou FIFO correspondante (voir figure 10-29).
Format de table pour ATT, LIFO et FIFO Format de table pour TBL_FIND
Figure 10-29 Différence dans le format de table entre les opérations de recherche et ATT, LIFO et FIFO
CONT LIST
Application
Voici la table où s’effectue la recherche. Si vous l’avez créée avec les opérations ATT, LIFO ou FIFO, VW200
contient le nombre maximal d’entrées autorisées et n’est pas nécessaire pour la recherche.
AC1 0 AC1 doit être mis à 0 pour commencer la recherche au début de la table.
Exécuter recherche
AC1 contient le numéro de la première entrée de la table correspondant au
AC1 2 critère de recherche.
AC1 3 Incrémenter INDX d’un avant d’examiner les entrées restantes de la table.
Exécuter recherche
AC1 contient le numéro de la deuxième entrée de la table correspondant au
AC1 4 critère de recherche.
AC1 5 Incrémenter INDX d’un avant d’examiner les entrées restantes de la table.
Exécuter recherche
AC1 contient une valeur égale au décompte des entrées. La table entière
AC1 6 a été examinée sans qu’une nouvelle entrée correspondant au critère de
recherche n’ait été trouvée.
AC1 0 Remettre INDX à zéro avant d’exécuter à nouveau une recherche dans la
table.
C
L’opération Décaler valeur dans registre à décalage décale la valeur
O SHRB de DATA dans le registre à décalage. S_BIT indique le bit de poids
N EN faible du registre à décalage. N en précise la longueur et le sens de
T
décalage (décalage positif = N, décalage négatif = -N).
DATA
L
I SHRB DATA, S_BIT, N
S
T
✓ ✓ ✓ ✓
212 214 215 216
V34 7 0 V34 7 0
V35 7 1 0 V35 7 1 0
Bit de poids fort du registre à décalage Bit de poids fort du registre à décalage
CONT LIST
I0.2 SHRB LD I0.2
P EN EU
SHRB I0.3, V100.0, 4
I0.3 DATA
V100.0 S_BIT
4 N
Chronogramme
I0.2
BPFo BPFa
7 0 S_BIT
Avant le premier décalage V100 0 1 0 1 I0.3
Débordement (SM1.1) x
S_BIT
Après le premier décalage V100 1 0 1 1 I0.3
Débordement (SM1.1) 0
S_BIT
Après le deuxième décalage V100 0 1 1 0 I0.3
Débordement (SM1.1) 1
N OUT Opérandes : IN : VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC
SHL_B
EN N: VB, IB, QB, MB, SMB, SB, AC,
constante, *VD, *AC
IN OUT
OUT : VB, IB, QB, MB, SMB, SB, AC, *VD,
N OUT *AC
Les bits décalés sont remplacés par des zéros.
L Si la valeur de décalage N est supérieure ou égale à 8, la valeur est
I SRB OUT, N
S
décalée 8 fois au maximum. Si elle est supérieure à 0, le mémento
T SLB OUT, N spécial « Débordement » prend la valeur du dernier bit décalé.
Les opérations de décalage d’octet vers la droite et vers la gauche ne
✓ ✓
sont pas signées.
212 214 215 216
Remarque : Vous pouvez réduire l’espace mémoire nécessaire si vous
indiquez, en CONT, la même adresse pour IN et OUT.
Ces opérations influencent les mémentos spéciaux suivants :
SM1.0 (zéro), SM1.1 (débordement)
Décalage de double mot vers droite, Décalage de double mot vers gauche
Les opérations Décalage de double mot vers droite et Décalage de
C
O SHR_DW double mot vers gauche décalent la valeur de double mot d’entrée IN
N EN respectivement vers la droite ou vers la gauche du nombre N de bits
T indiqué et chargent le résultat dans le double mot de sortie OUT.
IN OUT
N OUT
Opérandes : IN : VD, ID, QD, MD, SMD, AC, HC,
SHL_DW constante, *VD, *AC, SD
EN
N: VB, IB, QB, MB, SMB, AC, constante,
IN OUT *VD, *AC, SB
N OUT OUT : VD, ID, QD, MD, SMD, AC, *VD, *AC,
SD
Les bits décalés sont remplacés par des zéros.
L
I SRD OUT, N
Si la valeur de décalage N est supérieure ou égale à 32, la valeur est
S
T SLD OUT, N décalée 32 fois au maximum. Si elle est supérieure à 0, le mémento
spécial « Débordement » prend la valeur du dernier bit décalé.
✓ ✓ ✓ ✓
Les opérations de décalage de double mot vers la droite et vers la gau-
212 214 215 216 che ne sont pas signées.
Remarque : Vous pouvez réduire l’espace mémoire nécessaire si vous
indiquez, en CONT, la même adresse pour IN et OUT.
Ces opérations influencent les mémentos spéciaux suivants :
SM1.0 (zéro), SM1.1 (débordement)
N OUT Opérandes : IN : VB, IB, QB, MB, SMB, SB, AC, *VD,
*AC, SB
ROL_B
EN N: VB, IB, QB, MB, SMB, SB, AC,
constante, *VD, *AC, SB
IN OUT
OUT : VB, IB, QB, MB, SMB, SB, AC, *VD,
N OUT *AC, SB