Progr Programm ammer er avec avec STEP STEP 7 Les instructions de step7 Le lecteur trouve dans de ce document un jeu d'instructions les plus courantes permettant de résoudre les tâches tâches d'automatisati d'automatisation on avec step7. 1.2
INSTRU TRUCTIO TIONS DE BASE
Les instructions suivantes suffisent pour la programmation de base. Il ne s'agit donc pas d'une liste complète d’instructions. Vous trouverez des informations détaillées sur toutes les instructions CONT/LOG/L CONT/LOG/LIST IST dans les manuels en internet internet chercher chercher SIMATIC S7 Langage CONTACT pour SIMATIC S7-300/400. 1.2 1.2.1
AFFEC FFECTA TATI TIO ON L'affectation (=) copie le résultat logique (RLG) de l'opération précédente et l'assigne à l'opérande suivant. Une affectation ferme une séquence d'opérations logiques. CONT E 0.0
A0.0
||
()
LOG
U E 0.0 0.0 = A 0.0 0.0
A 0.0
=
E 0.0
1.2 1.2.2
LIST
FONC ONCTION TION ET La fonction ET est comparable à un montage en série de contacts du schéma des circuits. La sortie A 0.0 affiche l'état logique 1 si toutes les entrées ont simultanément pour état logique 1. Si l'une des entrées a pour état logique 0, la sortie affiche l'état logique 0. CONT
LIST
E 0.0
E 0.1
A 0.0
||
||
()
U E 0.0 0.0 U E 0.1 0.1 = A 0.0 0.0
LOG A 0.0 E 0.0 E 0.1
E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
&
=
1
1.2 1.2.3
FONC ONCTION TION OU La fonction OU peut elle être comparée à un montage en parallèle de contacts du schéma des circuits. La sortie A 0.1 affiche l'état logique 1 si au moins l'une des entrées a pour état logique 1. Elle n'affiche 0 que si toutes les entrées ont pour état logique 0. CONT E 0.2
LIST O E 0.2 0.2 O E 0.3 0.3 = A 0.1
A 0.1
||
()
E 0.3
|| LOG
A 0.1
E 0.2
=
>1 E 0.3
1.3
FONCTION ET AVANT VANT OU La fonction ET avant OU est comparable à un montage en parallèle de plusieurs contacts montés en série du schéma des circuits. La sortie 0.1 délivre l'état logique 1 si dans au moins une branche tous les contacts contacts en série sont fermés (=état logique logique 1). Les fonctions ET avant OU sont programmées en mode de représentation LIST sans parenthèses, les branches parallèles doivent toutefois être séparées par le caractère O (fonction OU). Les fonctions fonctions ET sont traitées traitées en premier, premier, leurs leurs résultats résultats servant à former le résultat de la fonction OU. La première fonction ET (E 0.0, E 0.1) est séparée de la deuxième fonction ET (E 0.2, E 0.3) par l'unique O (fonction OU).
CONT E 0.0 E 0.1
||
||
E 0.2 E 0.3
||
A 0.1 0.1
()
LOG LOG
LIST
E 0.0 0.0
U U O U U =
&
A 0.1 0.1
E 0.1 0.1
||
>1
=
E 0. 0.0 E 0. 0.1 E 0. 0.2 E 0. 0.3 A 0. 0.1
E 0.2 0.2
& E 0.3 0.3
Les fonctions fonctions ET sont prioritaires prioritaires et sont toujours toujours traitées traitées avant les fonctions OU. 1.4
FONCTION OU AVAN VANT ET La fonction OU avant ET peut être comparée à un montage en série de plusieurs contacts montés en parallèle du schéma des circuits. La sortie 1.0 n'affiche l'état logique 1 que si dans chacune des deux branches parallèles au moins un contact a l'état logique 1.
E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
2
CONT
LIST
LOG E 1.0
E 1.0
E 1.2
A 1.0
||
||
()
E 1.1
E 1.3
||
>1 A 1.0
E 1.1
&
||
=
E 1.2
>1
U( O O ) U( O O ) =
E 1.0 E 1.1
E 1.2 E 1.3 A 1.0
E 1.3
Pour que les fonctions OU aient la priorité sur les fonctions ET, elles doivent figurer entre parenthèses .
1.5 1.5
TEST EST A 0 DE L'ETA 'ETAT T DU SIG SIGNAL NAL Le test à 0 de l'état de signal équivaut à un contact à ouverture dans un circuit circuit de contacts et est réalisé dans les opérations opérations logiques logiques ET NON (UN), OU NON (ON) et OU NON EXCLUSIF (XN). Exemple d'une fonction OU NON:
CONT
LIST
E 0.2
O E 0.2 ON E 0.3 0.3 = A 0.1
A 0.1
||
()
E 0.3
|/| LOG
A 0.1
E 0.2
>1
=
E 0.3
1.6
FONCTION OU EXCLUSIF Le circuit comporte une fonction OU exclusif (X) dans laquelle la sortie 1.0 n'est activée (état de signal 1) que si l'une des entrées a pour état de signal 1. Ceci ne peut être réalisé dans un circuit de contacts qu'avec des contacts à ouverture ouverture et fermeture. fermeture. CONT E 1.0 1.0
|| E 1.0 1.0
|/| |/|
E1.1
A 1.0
|/| |/|
()
E1.1
||
LIST X X =
E1. E1.0 E1. E1.1 A 1. 1.0
LOG
E 1.0 E1.1
E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
XO R
A 1.0 1.0
3
Nota : La fonction OU exclusif ne doit comporter exactement que deux entrées. 1.7
TEST DES SORTIES Différentes conditions déterminent l'activation des sorties A 1.0 et A 1.1. Il faut prévoir dans ces cas pour chaque sortie une branche ou un symbole de fonction séparé. Comme l'automate peut interroger non seulement l'état du signal des entrées mais aussi celui des sorties, mémentos etc., la sortie A 1.0 est interrogée dans la fonction ET de la sortie A 1.1. LOG
LIST A 1.0
E 1.0
&
E 1.1
= A 1.1
U U = U U =
E 1.0 E 1.1 A 1.0 A 1.0 E 1.2 A 1.1
A 1.0
&
=
E 1.2
Cont E 1.0
E 1.1
||
||
A 1.0
E 1.2
||
||
A 1.0
() A 1.1
()
1.8
ELEMENTS BISTABLES R - S Un élément bistable est représenté selon DIN 40900 et DIN 19239 par un rectangle avec une entrée S (Set ) et une entrée R (Reset ). Un état de signal 1 bref sur l'entrée S met la bascule à 1. Un état de signal 1 bref sur l'entrée R remet la bascule à 0. L'état de signal 0 aux entrées R et S ne modifie pas l'état préalable. Si les deux entrées R et S ont simultanément l'état de signal 1, une mise à 1 ou à 0 prioritaire aura lieu. Cette mise à 1 ou à 0 prioritaire doit être programmée.
1.8.1
MISE A ZERO PRIORITAIRE
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
4
CONT(1)
LIST
E 1.1
A 2.0
||
(S)
E 1.0
A 2.0
||
(R)
U S U R
CONT(2) A 2.0 E 1.1
||
A 2.0
SR S
Q
E 1.1 A 2.0 E 1.0 A 2.0
LOG
A 2.0
E 1.1
S
()
A 2.0
E 1.0
||
R
E 1.0
R
Q
=
Les instructions programmées en dernier sont traitées en priorité par l'automate. Dans l'exemple, la mise à 1 est d'abord effectuée, puis la sortie A 2.0 est remise à 0 et reste à 0 pendant le reste du traitement du programme. Cette mise à 1 brève de la sortie n'est exécutée que dans la mémoire image. L'état de signal sur le module de périphérie correspondant n'est pas influencé durant le traitement du programme. 1.8.2
MISE A UN PRIORITAIRE Selon le paragraphe 4.10.1., la mise à 1 de la sortie A 2.1 dans cet exemple est prioritaire. CONT 1
LIST
E 1.1
A 2.1
||
(R)
E 1.0
A 2.1
||
(S)
CONT 2
A 2.1
E 1.1
||
U R U S
A 2.1
RS R
Q
E 1.1 A 2.1 E 1.0 A 2.1
LOG
A 2.1
E 1.1
R
()
A 2.1
E 1.0
||
S
E 1.0
S
Q
=
1.9
FRONTS A l'opposé de l'état de signal statique "0" et "1", un front correspond à un changement de signal par exemple celui d'une entrée. Le programme d'un front correspond à un contact détecteur de front d'un circuit à relais.
1.9.1
FRONT MONTANT (FP)
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
5
Si un front montant (transition de '0' à '1') est détecté à l'entrée E 0.2, A 4.0 est mis à '1' pour la durée d'un cycle de l'OB1. Cette sortie peut ensuite servir à mettre par exemple un mémento à 1. Pour détecter le front montant, le système d'automatisation sauvegarde le RLG fourni par l'opération U dans le mémento de front M 2.0 et le compare au RLG du cycle précédent. Le second mode de représentation en CONT/LOG présente l'avantage de pouvoir connecter d'autres opérations logiques à l'entrée du front.
CONT/LOG E 0.2
U FP =
A 4.0
POS
( )
A
M 2.0
LIST E 0.2 M 2.0 A 4.0
M_BIT
ou : M 2.0 E 0.2
A 4.0
P
()
Diagramme de l'état du signal
1 0 1 0 1 0
E 0.2 M 2.0 A 4.0 Cycle OB1
1.9.2
1
2
3
4
5
6
7
8
9
10 11
12
FRONT DESCENDANT (FN) Si un front descendant (transition de '1'à '0') est détecté à l'entrée E 0.2, A 4.0 est mise à '1' pendant la durée d'un cycle de l'OB1. Cette sortie peut ensuite servir à mettre par exemple un mémento à 1. Pour détecter le front descendant, le système d'automatisation sauvegarde le RLG fourni par l'opération U dans le mémento de front M 2.0 et le compare au RLG du cycle précédent. Le second mode de représentation en CONT/LOG présente l'avantage de pouvoir connecter d'autres opérations logiques à l'entrée du front.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
6
CONT/LOG LIST E 0.2
U FN =
A 4.0 NEG
( )
A
M 2.0
E 0.2 M 2.0 A 4.0
M_BIT
ou : M 2.0 E 0.2
A 4.0
N
()
Diagramme de l'état du signal
1 0 1 0 1 0
E 0.2 M 2.0 A 4.0 Cycle OB1
1
2
3
4
5
6
7
8
9
10 11
12
1.10
TEMPORISATIONS Diverses temporisations sont souvent utilisées dans la réalisation de tâches d'automatisation. Ces fonctions sont intégrées dans l'unité centrale de l'automate programmable. Leur temps d'exécution et leur déclenchement sont paramétrés dans le programme utilisateur. Les automates programmables SIMATIC disposent d'un nombre défini de temporisations qui varie en fonction de la CPU. Un mot de 16 bits est affecté à chaque temporisation. Les fonctions suivantes peuvent être programmées dans une temporisation.
1.10.1
VALIDATION DE LA TEMPORISATION (FR) SEULEMENT EN LIST Un front montant ( de '0' à '1' ) dans le résultat logique de l'opération Validation (FR) valide la temporisation. La validation n'est pas nécessaire pour le déclenchement ou le fonctionnement normal d'une temporisation. La validation est uniquement utilisée pour réarmer, c'est-à-dire redéclencher une temporisation en cours d'exécution. Ce redéclenchement n'est possible que si l'opération de déclenchement a toujours le RLG '1'. L'op é ration Validatio n (FR) n'existe qu e dan s le m od e de r e p r s e n t at i o n L IS T .
1.10.2
DECLENCHEMENT DE LA TEMPORISATION (SI/SV/SE/SS/SA) Une transition à l'entrée de déclenchement (front montant) lance l'exécution de la temporisation.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
7
Pour lancer une temporisation, insérez ces trois instructions dans votre programme LIST. Par exemple Interrogation de l'état du signal : Chargement du temps de déclenchement dans l'accu 1 U E 0.0 Déclenchement ( SI, SV, SE, SS ou SA) L
1.10.3
PRESELECTION DE LA TEMPORISATION (TW) Une temporisation doit toujours s'exécuter durant un temps prédéfini. La durée de temporisation TW peut être définie soit comme constante dans le programme ou comme mot d'entrée EW, mot de sortie AW, mot de données DBW/DIW, mot de données locales LW ou mot de mémento MW. La valeur de temporisation est décrémentée d'une unité à chaque intervalle de temps défini dans la base de temps. Une valeur de temporisation prédéfinie est chargée avec la syntaxe suivante : L W#16#abcd - avec : a = base de temps codée binaire (c'est-à-dire intervalle de temps ou résolution; voir plus
bas)
- bcd = valeur de temporisation en format DCB L S5T#aH_bbM_ccS_dddMS - avec: a = heures, bb = minutes, cc = secondes et ddd = millisecondes - La base de temps est automatiquement choisie.
Base de temps : La base de temps définit l'intervalle de temps nécessaire pour que la valeur de la temporisation soit décrémentée d'une unité. Les valeurs qui ne sont pas des multiples de l'intervalle de temps sont tronquées. Les valeurs dont la résolution est trop grande pour la plage souhaitée sont arrondies. Base tps 10ms 100ms 1s 10s
1.10.4
Code bin. 00 01 10 11
Plage de temps 10MS à 9S_990MS 100MS à 1M_39S_900MS 1S à 16M_39S 10S à 2H_46M_30S
REINITIALISATION DE LA TEMPORISATION (R) Un signal à l'entrée de la réinitialisation met fin à l'exécution de la temporisation. La valeur courante de la temporisation est effacée, la sortie Q du temporisateur est remise à 0.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
8
1.10.5
INTERROGATION DE LA VALEUR DE TEMPORISATION (L/LC) La valeur de temporisation est sauvegardée dans un mot de temporisation codé binaire. La valeur figurant dans le mot de temporisation peut être chargée dans l'accumulateur sous forme de nombre binaire (DUAL) ou de nombre décimal codé binaire (DCB) pour être à partir de là transférée dans d'autres zones d'opérandes. En programmation LIST, vous avez le choix entre L T1 pour interroger le nombre binaire et LC T1 pour interroger le nombre DCB.
1.10.6
TEST A 0/1 DE L'ETAT DU SIGNAL DE LA TEMPORISATION (Q) Il est possible de tester à 0/1 l'état du signal ('0' ou '1') d'une temporisation. Les états de signaux peuvent être testés comme d'habitude - avec U T1, UN T1, ON T1, etc... et servir à d'autres opérations. Vous pouvez sélectionner l'une des cinq temporisations suivantes.
1.10.7
TEMPORISATION SOUS FORME D'IMPULSION (SI) La sortie d'une temporisation lancée comme impulsion délivre après son déclenchement l'état de signal 1 (1). La sortie est remise à 0 si le temps programmé est écoulé (2), si le signal de déclenchement est remis à 0 (3) ou si l'entrée de réinitialisation de la temporisation a pour état de signal 1 (4). Un front montant (transition de '0' à '1' ) dans le RLG de l'opération de validation (FR) redéclenche la temporisation (5). Ce redéclenchement n'est possible que si l'opération de déclenchement a comme RLG '1'.
LOG
LIST
T1 U E 0.2 FR T1
S_IMPULS E0.0 S5T#2S E0.1
S TW
DUAL
MW0
DEZ
MW2
Q
A 4.0
R
CONT T1 S_IMPULS
E0.0 S S5T#2S E0.1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
Q
A 4.0
U L SI U R L T LC T U =
E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0
Validation de temporisation T1 (seulement dans LIST) Charge le temps (2s) ds accu 1 Lance T1 sous forme impulsion Remise à 0 T1 Charge T1 codé binaire Charge T1 codé DCB Interrogation tem ps T 1
()
TW
DUAL
MW0
R
DEZ
MW2
9
Diagramme de l'état du signal avec validation
1 0
E 0.2 E 0.0 E 0.1 A 4.0
-T-
-T-
1
1.10.8
2
3
4
-T-
1 0 1 0 1 0
5
IMPULSION PROLONGEE (SV) La sortie d'une temporisation lancée sous forme d'impulsion prolongée délivre après son déclenchement l'état de signal 1 (1). La sortie est remise à 0 si le temps programmé est écoulé (2) ou si l'entrée de réinitialisation de la temporisation est activée (5). La désactivation de l'entrée de déclenchement pendant l'écoulement de la temporisation ne remet pas à 0 la sortie (automaintien) (3). Une nouvelle mise à 1 à l'entrée de déclenchement de la temporisation pendant l'écoulement de la temporisation relance (redéclenche) la temporisation (4).
LOG
LIST
T1 U E 0.0 L S5T#2S SV T 1
S_VIMP E0.0 S5T#2S E0.1
S TW
DUAL
MW0
DEZ
MW2
Q
A 4.0
R
CONT T1 S_VIMP
E0.0 S S5T#2S E0.1
U R L T LC T U =
E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0
Charge temps (2s) in AKKU 1 Lance T 1 sous form e d'impulsion Remet T1 à 0 Charge T1 codé binaire Charge T1 codé DCB Interrogation tem po T1
A 4.0 ()
Q
TW
DUAL
MW0
R
DEZ
MW2
Diagramme état du si gnal
1 0 1 0 1 0
E 0.0 E 0.1 A 4.0
-T1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
-T2
3
-T4
5
10
1.10.9
RETARD A LA MONTEE (SE) La sortie d'une temporisation lancée comme retard à la montée ne délivre après son déclenchement l'état de signal 1 que si le temps programmé est écoulé et que le RLG à l'entrée de déclenchement est toujours 1 (1). L'activation de l'entrée de déclenchement entraîne l'activation de la sortie Q retardée du temps spécifié. La sortie est remise à 0 si l'entrée de déclenchement est désactivée (2) ou si l'entrée de réinitialisation de la temporisation a comme état de signal 1 (3). La sortie Q n'est pas activée en cas de désactivation de l'entrée de déclenchement ou de mise à 1 de l'entrée de réinitialisation durant l'exécution de la temporisation.
LOG
LIST
T1 S_EVERZ E0.0 S5T#2S E0.1
S TW
DUAL
MW0
DEZ
MW2
Q
A 4.0
R
CONT
U L SE U R L T LC T U =
E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0
Charge tmps (2s) dans l'accu 1 Lance T1 ss forme d'impulsion Remet T1 à 0 Charge T1 codé binaire Charge T1 codé DCB Interrogation de tempo T 1
T1 S_EVERZ
E0.0 S S5T#2S E0.1
Q
A 4.0 ()
TW
DUAL
MW0
R
DEZ
MW2
Diagramme état du signal
1 0 1 0 1 0
E 0.0 E 0.1 A 4.0
-T-
-T1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
2
-T3
11
1.10.10 RETARD A LA MONTEE MEMORISE (SS) La sortie d'une temporisation lancée comme retard à la montée mémorisé ne délivre après son déclenchement l'état de signal 1 que si le temps programmé est écoulé (1). La fonction n'a après son lancement plus besoin du RLG 1 à l'entrée de déclenchement (automaintien), cette dernière peut donc être désactivée (3). La sortie n'est remise à 0 qui si l'entrée de réinitialisation de la temporisation est activée (2). Une désactivation et réactivation de l'entrée de déclenchement durant l'exécution de la temporisation relance (redéclenche) la temporisation (4).
LOG
LIST
T1 U L SS U R L T LC T U =
S_SEVERZ E0.0 S5T#2S E0.1
S TW
DUAL
MW0
DEZ
MW2
Q
A 4.0
R
CONT
E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0
Charge temps (2s) ds accu 1 Lance T1 sous forme impulsion Remet T1 à 0 Charge T1 codé binaire Charge T1 codé DCB Interrogation tem po T1
T1 S_SEVERZ
E0.0 S S5T#2S E0.1
A 4.0 ()
Q
TW
DUAL
MW0
R
DEZ
MW2
Diagramme état du signal
E 0.0 E 0.1 A 4.0
-T-
-T1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
2
3
-T-
1 0 1 0 1 0
4
12
1.10.11 RETARD A LA RETOMBEE (SA) Une transition (front montant) à l'entrée d'une temporisation lancée comme retard à la retombée active la sortie Q de la temporisation (1). Si l'entrée de déclenchement est désactivée, la sortie continue à délivrer l'état de signal 1 jusqu'à ce que la temporisation soit écoulée (2). La désactivation de l'entrée de déclenchement (front descendant) entraîne la désactivation de la sortie retardée du temps spécifié. La sortie de la temporisation est aussi désactivée si l'entrée de réinitialisation a l'état de signal 1 (4). Une nouvelle activation de la temporisation durant son exécution arrête la temporisation qui ne sera relancée qu'à la prochaine désactivation de l'entrée de déclenchement (3). Si l'entrée de déclenchement et l'entrée de réinitialisation de la temporisation ont toutes deux pour état du signal 1, la sortie de la temporisation n'est mise à 1 que si la remise à 0 dominante a été désactivée (5).
LOG
LIST
T1 U L SA U R L T LC T U =
S_AVERZ E0.0 S5T#2S E0.1
S TW
DUAL
MW0
DEZ
MW2
Q
A 4.0
R
CONT
E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0
Charge temps (2s) dans accu 1 Lance T1 sous forme impulsion Remet T1 à 0 Charge T1 codé binaire Charge T1 codé DCB Interrogation de tempo T 1
T1 S_AVERZ
E0.0 S S5T#2S E0.1
A 4.0 ()
Q
TW
DUAL
MW0
R
DEZ
MW2
Diagramme état du signal
1 0 1 0 1 0
E 0.0 E 0.1 A 4.0
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
-T-
-T1
2
3
4
5
13
1.11
HORLOGES Les horloges sont utilisées pour diverses tâches de contrôle, surveillance et commande. Elles sont qualifiés en technologie numérique de bascules astables. Une fréquence de clignotement est dans la pratique requise pour les signalisations de marche ou de défaut.
Il existe dans la CPU S7-300 un mémento d'horloge paramétrable que vous configurez avec l'application S7
Paramétrage des mémentos d'horloge : Les mémentos d'horloge sont des mémentos contenus dans les octets de mémentos d'horloge. Un octet de mémentos quelconque peut être défini comme "octet de mémentos d'horloge" par paramétrage (cliquez pour cela dans la ligne de la CPU dans l'application Configuration). La valeur binaire d'un mémento d'horloge varie périodiquement. Si vous activez un mémento d'horloge (case cochée), vous devez choisir un numéro pour l'octet de mémentos. L'octet de mémentos sélectionné ne peut pas être utilisé pour la sauvegarde intermédiaire de données.
Durée de période du cycle d'horloge : Une durée de période ou une fréquence est affectée à chaque bit de l'octet de mémentos d'horloge. L'affectation est comme suit : Bit : 0 Durée de période(s) : 0,1 Fréquence (Hz) :
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
0,5
7
6
5
4
3
2
1
2
1,6
1
0,8
0,5
0,4
0,2
1,25
2
2,5
5
10
0,625 1
14
1.12
OPERATIONS DE COMPTAGE Dans l'automatisation, les fonctions de comptage sont requises pour l'acquisition du nombre de pièces ou d'impulsions, pour la lecture de temporisations et de distances. Des compteurs sont déjà intégrés dans le SIMATIC S7. Ces compteurs ont leur zone de mémoire réservée. La plage de valeurs du compteur est comprise entre 0 et 999. Les fonctions suivantes ne peuvent être programmées que pour un compteur :
1.12.1
1.12.2
VALIDATION DU COMPTEUR (FR) UNIQUEMENT EN LIST Un front montant (de '0'à '1' ) du résultat logique de l'opération Validation (FR) valide le compteur. Une validation du compteur n'est requise ni pour l'activation du compteur, ni pour les opérations normales de comptage. Si l'on veut toutefois activer un compteur ou lancer le comptage ou le décomptage sans front montant avant l'opération de comptage correspondante ( ZV, ZR ou S ), il est possible de le faire à l'aide de la validation. Mais ceci n'est possible que si le bit RLG précédant l'opération concernée ( ZV, ZR ou S ) a pour état de signal '1'.
L'op é ration Validation (FR) n'existe qu e dan s le m od e de repr sentation LIST. COMPTAGE (ZV) La valeur du compteur adressé est incrémentée de 1. La fonction n'est active qu'en cas de front montant de l'opération programmée avant le compteur ZV. Lorsque la valeur du compteur a atteint la limite supérieure 999, elle n'est plus incrémentée. ( Il n'y a pas de report ! )
1.12.3
DECOMPTAGE (ZR) La valeur du compteur adressé est décrémentée de 1. La fonction n'est active qu'en cas de front montant de l'opération programmée avant le compteur ZR. Lorsque la valeur du compteur a atteint la limite inférieure 0, elle n'est plus décrémentée. ( Valeurs positives seulement ! )
1.12.4
INITIALISATION DU COMPTEUR (S) Pour initialiser un compteur, insérez les trois instructions suivantes dans votre programme LIST : Interrogation de l'état du signal Par ex. : Chargement de la valeur de comptage U E 2.3 Initialisation du compteur avec la valeur chargée L C#5 Cette fonction n'est traitée qu'après un front S Z1 montant de l'interrogation.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
15
1.12.5
PREDEFINITION DE LA VALEUR DE COMPTAGE (ZW) Le contenu de l'accumulateur 1 est pris comme valeur de comptage lors de l'initialisation du compteur. Vous pouvez charger la valeur de comptage soit en code binaire, soit en code DCB. Les opérandes suivants sont possibles : -
Mot d'entrée Mot de sortie Mot de mémento Mot de données Mot de données locales Constantes ^ C#5,
EW .. AW .. MW .. DBW/DIW .. LW .. 2#...etc.
1.12.6
REINITIALISATION DU COMPTEUR (R) Le compteur est réinitialisé (remis à 0) lorsque le RLG est égal à 1. Si le RLG est égal à 0, le compteur n'est pas influencé. La remise à 0 d'un compteur agit de manière statique. Lorsque la condition de remise à 0 est vraie, l'initialisation ou le comptage ne sont pas possibles.
1.12.7
INTERROGATION DE LA VALEUR DU COMPTEUR (L/LC) Une valeur de comptage est sauvegardée dans un mot compteur codé binaire. La valeur figurant dans le compteur peut être chargée dans l'accumulateur sous la forme d'un nombre binaire (DU) ou DCB (DE) et être transférée à partir de là dans d'autres zones d'opérandes. En programmation LIST, vous avez le choix entre L Z1 pour l'interrogation du nombre binaire et LC Z1 pour l'interrogation du nombre DCB.
1.12.8
TEST A 0/1 DE L'ETAT DU SIGNAL DU COMPTEUR (Q) Il est possible de tester à 0/1 l'état de signal du compteur, 0 et 1 ayant les significations suivantes. Etat du signal 0 = Etat du signal 1 =
Le compteur est sur la valeur 0; Le compteur fonctionne, c-à-d. est prêt à compter.
Vous pouvez interroger les états de signaux comme vous êtes habitué à le faire avec U Z1, UN Z1, ON Z1,etc... et utiliser ce résultat pour d'autres opérations.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
16
LOG
Z1
E0.0
Compteur ZV
E0.1
ZR
E0.2
S
C#5
ZW
E0.3
R
CONT E0.0
LIST
DUA L
AW2
D EZ
AW4
Q
A 0.0
Z1
Compteur ZV Q
A 0.0 ()
E0.1
ZR
E0.2
S
C#5
ZW
DUAL
AW2
E0.3
R
DEZ
AW4
U FR U ZV U ZR U L S U R L T LC T U
E 0.7 0.7 Z1 E 0.0 Z1 E 0.1 Z1 E 0.2 C#5 C#5 Z1 E 0.3 Z1 Z1 AW 2 Z1 AW 4 Z1
=
A 0.0
Valid Validat atio ion n (seu (seule leme ment nt en LIST LIST))
Comptage Décomptage Char Charge geme ment nt vale valeur ur préd prédéf éfin inie ie Init Initia iali lis sati ation comp compte teur ur Z1 Réi Réiniti nitia alisat isatio ion n comp comptteur Z1 Cha Chargem rgeme ent Z1 cod codé binai inaire re Cha Chargem rgeme ent Z1 cod codé DCB DCB Int Interro erroga gati tion on du compt mpteur eur Z1
Diagramme de l'état du signal : FR
ZV
ZR
S
R
A 0.0
5
0
E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
17
1.13 1.13 OPERA OPERATIO TIONS NS DE CHARGE CHARGEMEN MENT T ET DE TRANSF TRANSFERT ERT (L/T) (L/T) UNIQUEMENT EN LIST Des opérations opérations de chargemen chargementt et de transfert transfert permettent permettent en langage langage de programmation LIST de STEP 7 l'échange d'informations par octets, mots ou double mots entre modules modules d'entrées d'entrées et de sorties, la mémoire mémoire image des entrées et sorties, les mémoires de temporisations, compteurs et mémentos ainsi que les blocs de données. Cet échange d'informations n'a pas lieu directement, mais toujours via l'accumulateur 1. L'accumula L'accumulateur teur 1 est un registre registre dans le processeur processeur et sert de mémoire mémoire intermédiaire. Le flux d'informations n'est pas le même en fonction du sens : CHARGEMEN CHARGEMENT T : de la mémoire mémoire source dans l'accumulateu l'accumulateurr 1 TRANSF TRANSFERT ERT : de l'acc l'accumu umulat lateur eur dans dans la la mémo mémoire ire cible cible CHARGT
ACCU 1 31
Mémoire source
16 15
0
TRANSFERT Mémoire cible
Le contenu de la mémoire source adressée est copiée lors du chargement et écrite dans l'accumulateur 1. Le contenu de l'accumulateur est ensuite transféré dans l'accumulateur 2. Le contenu de l'accumulateur 1 est copié lors du transfert et écrit dans la mémoire cible adressée. Comme le contenu de l'accumulateur est seulement copié, il reste disponible pour d'autres opérations de transfert. LIST : : L EW
0 MIE
: T AW
(*1)
EW 0
ACCU
AW 4
MIS
+5
ACCU
AW 6
MIS
4
: L +5 : T AW
6
Constante
: BE
*1: Mémoire Mémoire image image des des entrées entrées
*2: Mémoire Mémoire image image des des sorties sorties
Le chargement et le transfert sont des opérations inconditionnelles qui sont exécutées à chaque cycle quel que soit le résultat logique. E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
18
(*2)
1.14 1.14
OPER OPERAT ATION IONS S DE COMP COMPAR ARAI AISO SON N Les langages de programmation de STEP7 vous offrent la possibilité de comparer directement deux valeurs numériques et de connecter aussitôt le résultat de la comparaison (RLG). Il faut pour cela que les deux nombres aient le même format. Les paires suivantes de valeurs numériques peuvent être comparées :
de deux entiers ( 16 bits symbole : I ) deux entiers ( 32 bits symbole: D ) deux deux réel réels s (nom (nombr bres es à virg virgul ule e flott flottan ante te 32 bits bits,, symb symbol ole e:R)
Vous pouvez choisir entre six types de comparaisons :
Si valeur du nombre Z 1 (dans l'accu 2) est
égale à == différente de <> supérieure ou égale à > = supérieure à > inféri inférieur euree ou égal égalee à < = infér ieure à <
la valeur du nombre Z 2 (dans l'accu 1)
L'opération de comparaison compare les deux valeurs figurant dans les accumulateurs 1 et 2. Le premier opérande (par exemple EW 0) est chargé dans l'accumulateur 1 lors du premier chargement. Le second chargement transfère le premier opérande de l'accumulateur 1 à l'accumulateur 2, puis le second opérande (par exemple EW 2) dans l'accumulateur 1. Les valeurs numériques figurant dans les deux accumulateurs sont ensuite comparées bit par bit dans le bloc arithmétique. Le résultat de la comparaison est binaire. Si la comparaison recherchée s'avère vraie, le résultat logique est 1. Si la comparaison recherchée n'est pas vraie, le RLG sera 0.
LOG/CONT
LIST
ACCU ACCU 1
ACCU ACCU 2
L EW 0
EW 0
** *
L EW 2
EW 2
EW 0
A 4.7 CMP >I
EW 0
IN 1
EW 2
IN 2
( )
>I
= A 4.7
Bloc arithmétique arithmétique
RLG
Utilisation de steep7 et application des instructions E E p p pooossseee p ppaaar r r L p LA A H C N NIII Exxx p AH HC CII N I N
19
Le logiciel de programmation STEP 7 vous permet de structurer votre programme utilisateur, c'est à dire de le subdiviser en différentes parties autonomes. Il en résulte les avantages suivants : écrire des programmes importants mais clairs, standardiser certaines parties du programme, simplifier l'organisation du programme, modifier facilement le programme, simplifier le test du programme, car vous pouvez l'exécuter section par section, faciliter la mise en service.
Programmation
1-Lancer l’application Pour lancer l’application, il suffit de trouver l'icône de STEP 7 dans l'interface Windows et de double cliquer dessus.
2-Création d'un projet à l'aide de l'assistant Le plus simple pour créer un nouveau projet, c'est d'avoir recours à l'assistant "Nouveau projet". Pour l'appeler, choisissez la commande Fichier > Assistant "Nouveau projet" .
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
20
Il vous posera les questions nécessaires dans des boîtes de dialogue et créera le projet pour vous.
Cliquer sur suivant
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
21
Choisir le type de CPU ( CPU 314 IFM) et Cliquer sur suivant.
Choisir un langage par exemple CONT et cliquer sur suivant.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
22
Taper le nom du projet et cliquer sur créer.
Pour écrire un programme sur le bloc OB1 Double cliquer sur OB1.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
23
3-Ecrire un programme. Programme de Démarrage étoile tringle d’un moteur asynchrone.
Réseau 1
Réseau 2
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
24
Réseau 3
Réseau 4
Réseau 5
Ajouter le réseau suivant pour le test en mode de simulation avec PLCSIM.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
25
3-Enregistrer. Activez la fenêtre de travail du bloc à enregistrer. Choisissez : la commande Fichier > Enregistrer Si vous voulez sauvegarder le bloc sous le même nom ; la commande Fichier > Enregistrer sous si vous voulez sauvegarder le bloc sous un autre programme utilisateur S7 ou sous un autre nom. Indiquez, dans la boîte de dialogue qui apparaît alors, le nouveau chemin d'accès ou le nouveau bloc.
4-Simulation avec PLCSIM Lancer PlcSim Sélectionner le bloc programme OB1 et cliquer sur charger puis sur visualiser.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
26
5-Paramétrage de l'interface de programmation (adaptateur PC) et charger un programme. Paramétrage de l'interface Une liaison MPI est nécessaire pour programmer un SIMATIC S7-300 depuis le PC ou la PG. MPI signifie Multi Point Interface (interface multipoint) et est une interface de communication utilisée pour la programmation, le contrôle-commande avec HMI et l'échange de données entre CPU SIMATIC S7 jusqu'à 32 nœuds maximum. Chaque CPU du SIMATIC S7-300 est équipée d'une interface MPI intégrée. Il existe plusieurs possibilités pour raccorder le PC, la PG ou un portable à l'interface MPI : - Processeurs de communication ISA intégrés pour la PG - Processeurs de communication ISA pour le PC (par exemple carte MPIISA) - Processeurs de communication PCI pour le PC (par exemple CP5611) - Processeurs de communication PCMCIA pour le portable (par exemple CP5511) - Adaptateur pour la communication via l'interface série du PC ou du portable (par exemple adaptateur PC) Nous décrivons par la suite étape par étape comment choisir et paramétrer l'adaptateur PC pour le PC. 1.
Appelez le 'Paramétrage de l'interface PG/PC'. ( Démarrer
SIMATIC STEP7 Paramétrage de l'interface PG/PC)
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
27
2. Cliquez ensuite sur le bouton ' Selectionner ' pour installer l'interface MPI proposée. (
Selectionner )
Cliquez sur 'Selectionner’!
3.
Sélectionnez la carte voulue, par exemple 'PC Apapter (PC/MPI-Cable)', et
choisissez 'Installer' ('PC Apapter (PC/MPI-Cable)Installer).
Cliquez sur 'Installer’!
Cliquez sur 'PC Apapter PC/MPI-
4.
Sélectionnez l'appareil voulu (PC Apapter (PC/MPI-Cable)
5. Choisissez les 'Propriétés' de l' PC Apapter (MPI)’ ( Propriétés)
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
OK )
PC Apapter (MPI)
28
Cliquez sur 'Propriétés’ !
Cliquez sur' PC Apapter (MPI)’
6.
Réglez le 'Port COM' et la 'Vitesse de transmission' de l'interface série.
Port COM
Vitesse de transmission
Nota : La vitesse de transmission doit être également réglée sur l'adaptateur PC ! Les adaptateurs PC de l'ancienne génération (aussi appelés câbles PC/MPI) ne peuvent traiter qu'une vitesse de transmission plus lente de 19200 bit/s. 7.
Sélectionnez des valeurs pour les options 'Adresse', Délai d’attente ', 'Vitesse de transmission' et 'Adresse la plus élevée'.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
29
Adresse MPI du PC/PG !
Délai d’attente Vitesse de Adresse la plus élevée !
Nota : Il est recommandé de laisser les valeurs par défaut ! 8.
Validez les paramètres par défaut ( OK
OK ).
9. Pour voir si le paramétrage est correct, appelez maintenant 'SIMATIC Manager' en double-cliquant sur son icône. (
SIMATIC Manager)
10. Enfichez ensuite le connecteur provenant de l'interface MPI du PC dans l'interface MPI de la CPU et activez l'alimentation en courant de l'automate. L'interface MPI est située derrière le couvercle de la CPU. Il s'agit d'un connecteur sub D à 9 points. 11. Cliquez ensuite sur le bouton ' – Partenaires accessibles'. Si tous les paramètres sont corrects, la boîte de dialogue suivante s'affiche. Vous pouvez y lire l'adresse MPI de la CPU qui est l'adresse par défaut (MPI = 2). (
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
)
30
6-Charger le programme en PG Nous vous recommandons d'effectuer un effacement général de la CPU avant de charger votre programme utilisateur, afin d'être sûr qu'il n'y a plus d'anciens blocs dans la CPU. Remarque Vous devez faire passer la CPU de l'état de fonctionnement "Marche" (RUN) à l'état "Arrêt" (STOP) avant : de charger le programme utilisateur complet ou certaines de ses parties dans la CPU, d'effectuer un effacement général de la CPU, Remarque. En cas d'effacement général ou de panne secteur lorsque la mémoire vive n'est pas sauvegardée, les blocs "effacés" sont à nouveau copiés de l'EPROM dans la mémoire vive, où ils sont alors à nouveau actifs. Système cible > Effacement général.
Système cible > Charger Une autre possibilité consiste à ouvrir une fenêtre en ligne avec la vue du système cible (par exemple via la commande Affichage > En ligne ou Système cible > Afficher les partenaires accessibles ) et de copier l'objet à charger dans la fenêtre en ligne.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
31
L'état en cours du bloc de l'éditeur est chargé seulement dans la CPU. La syntaxe est vérifiée. Le cas échéant, les erreurs vous seront signalées dans des boîtes de dialogue, avec indication de la cause et de l'emplacement des erreurs. Vous devez corriger ces erreurs avant d'enregistrer ou de charger le bloc. Si la syntaxe est correcte, le bloc est ensuite compilé en code machine et enregistré ou chargé.
Pour le S7-300, la mémoire de chargement peut comporter une partie EEPROM intégrée en plus de la partie RAM (par exemple CPU312 IFM et CPU314 IFM). Pour le S7-400, l'utilisation d'une carte mémoire (RAM ou EEPROM) s'avère indispensable pour l'extension de la mémoire de chargement
7-Ouverture en ligne du bloc Procédez de la manière suivante : Avec gestion du projet 1. Ouvrez la fenêtre du projet en ligne dans SIMATIC Manager. 2. Dans la fenêtre en ligne, sélectionnez un dossier Blocs. La liste des blocs chargés s'affiche. 3. Effectuez un double clic sur le bloc que vous souhaitez ouvrir. Sans gestion du projet 1. Cliquez sur le bouton "Partenaires accessibles" dans SIMATIC Manager ou choisissez la commande Système cible > Partenaires accessibles . E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
32
2. Sélectionnez le partenaire (objet "MPI=...") dans la liste affichée et ouvrez le dossier Blocs pour afficher les blocs. 3. Effectuez un double clic sur le bloc que vous souhaitez ouvrir
6-Introduction au forçage de variables Vous disposez des possibilités suivantes pour forcer des variables : Activer la visualisation en cliquant sur des lunettes. Activez la fonction de forçage avec la commande Variable > Forcer. Le programme utilisateur affecte aux variables sélectionnées les valeurs de forçage figurant dans la table des variables, en fonction du point et de la condition de déclenchement définis. Si vous avez choisi la condition de déclenchement "Cyclique", vous pouvez à nouveau désactiver la fonction de forçage avec la commande Variable > Forcer. Actualisez les valeurs des variables sélectionnées de manière unique et immédiatement avec la commande Variable > Actualiser valeurs d'état .
Création et ouverture d'une table de variables Pour visualiser ou forcer des variables, il faut d'abord créer une table de variables (VAT) et y entrer les variables concernées. Pour créer une table de variables, vous disposez des possibilités suivantes : Dans SIMATIC Manager : Sélectionnez le dossier Blocs et choisissez la commande Insertion > Bloc S7 > Table des variables. Vous pouvez donner un nom à la table dans la boîte de dialogue qui apparaît alors (champ de saisie "Nom s ymbolique"). Ce nom s'affichera dans la fenêtre de projet. Pour ouvrir la table de variables, effectuez un double clic sur l'objet. Sélectionnez une liaison dans la liste des partenaires accessibles ou un programme S7/M7 dans la vue en ligne. Vous pouvez alors créer une table de variables sans nom à l'aide de la commande Système cible > Visualiser/forcer des variables .
Insertion d'une plage d'opérandes continue dans une table de variables E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
33
1. Ouvrez une table de variables. 2. Positionnez le curseur dans la ligne à la suite de laquelle vous souhaitez insérer la plage d’opérandes. 3. Choisissez la commande Insertion > Plage : la boîte de dialogue "Insérer une plage d’opérandes" s’affiche. 4. Dans le champ "Opérande initial", tapez une adresse d’opérande comme adresse de début de plage. 5. Dans le champ "Nombre", tapez le nombre de lignes à insérer. 6. Choisissez le format d'affichage souhaité dans la liste affichée. 7. Cliquez sur OK. La plage d’opérandes est alors insérée dans la table des variables. Dans la fenêtre "Visualisation et forçage de variables" : Vous pouvez créer, avec la commande Table > Nouvelle, une nouvelle table qui n'est encore affectée à aucun programme S7 ou M7. Vous ouvrez les tables existantes avec la commande Table > Ouvrir . Vous pouvez vous servir des boutons de la barre d'outils pour créer ou ouvrir une table de variables. Une fois créée, vous pouvez sauvegarder, imprimer et réutiliser la table des variables pour la visualisation et le forçage.
8-Marche à suivre pour la visualisation et le forçage avec des tables de variables Pour exécuter les fonctions de visualisation et de forçage, procédez de la manière suivante : 1. Créez une nouvelle table de variables ou ouvrezen une existante. 2. Editez ou vérifiez la table de variables. 3. Etablissez une liaison en ligne entre la table de variables en cours et la CPU de votre choix à l'aide de la commande Système cible > Etablir la liaison à... . 4. Choisissez, avec la commande Variable > Déclenchement , un point de déclenchement approprié et définissez la condition de déclenchement. 5. Les commandes Variable > Visualiser et Variable > Forcer activent et désactivent les fonctions correspondantes. 6. Sauvegardez la table de variables achevée en choisissant la commande Table > Enregistrer ou Table > Enregistrer sous, afin de pouvoir la rappeler à tout moment. Chargement et enregistrement ( EPROM)
Enregistrement dans la mémoire intégrée EPROM Pour la CPU 312, il existe encore la possibilité de charger le contenu de la mémoire vive dans la mémoire intégrée EPROM, où les données sont rémanentes en cas de panne secteur. Après retour du courant suite à une panne secteur, quand la mémoire vive n'est pas sauvegardée, et après effacement général de la CPU, le contenu de l'EPROM est à nouveau copié dans la zone de mémoire vive de la mémoire de la CPU. Chargement dans la gestion du projet 1. Dans la fenêtre du projet, sélectionnez le programme utilisateur ou les blocs à charger. 2. Chargez les objets sélectionnés dans le système cible en choisissant la commande Système cible > Charger . Autre procédure possible (glisser-lâcher) 1. Ouvrez à la fois une fenêtre hors ligne et une fenêtre en ligne de votre projet. 2. Sélectionnez ensuite les objets à charger dans la fenêtre hors ligne, puis glissez-les dans la fenêtre en ligne.
Enregistrement de blocs chargés dans la mémoire intégrée EPROM E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
34
Dans les modules CPU disposant d'une EPROM intégrée (par exemple la CPU 312), vous pouvez copier des blocs de la mémoire vive dans l'EPROM intégrée afin de ne pas perdre les données en cas de coupure de courant ou d'effacement général. 1. Affichez une fenêtre avec la vue en ligne d'un projet ouvert en choisissant la commande Affichage > En ligne ou alors affichez la fenêtre "Partenaires accessibles" en cliquant sur le bouton "Partenaires accessibles" dans la barre d'outils ou en choisissant la commande Système cible > Afficher les partenaires accessibles . 2. Choisissez le programme S7 ou M7 dans la fenêtre en ligne du projet ou le partenaire dans la fenêtre "Partenaires accessibles". 3. Sélectionnez le dossier Blocs de la CPU que vous voulez enregistrer dans : la fenêtre en ligne du projet si vous travaillez dans la gestion du projet. o la fenêtre "Partenaires accessibles", si vous travaillez hors gestion du projet. o 4. Choisissez la commande Système cible > Copier de RAM en ROM .
Chargement via des cartes mémoire EPROM Condition préalable Pour pouvoir accéder depuis l'outil de développement aux cartes mémoire EPROM destinées à un système cible S7, vous devez avoir installé le pilote d'EPROM correspondant. Pour pouvoir accéder aux cartes mémoire EPROM destinées à un système cible M7, vous devez avoir installé le système Flash File (ceci n'est possible que sur les PG720/740/760). Le pilote d'EPROM et le système Flash File sont proposés en option lors de l'installation du logiciel de base STEP 7. Si vous utilisez un PC, vous devez en plus posséder un programmateur d'EPROM externe pour pouvoir réaliser l'enregistrement sur une carte mémoire EPROM. Vous pouvez également installer les pilotes ultérieurement. Ouvrez à cet effet la boîte de dialogue correspondante via la barre des tâches ( Démarrer > Simatic > STEP 7 > Paramétrage de cartes mémoire ) ou via le panneau de configuration (double clic sur l'icône "Paramétrage de cartes mémoire”).
Sauvegarde sur carte mémoire Pour sauvegarder des blocs ou des programmes utilisateur sur une carte mémoire, procédez de la manière suivante : 1. Enfichez la carte mémoire dans l'emplacement prévu à cet effet sur votre outil de développement. 2. Ouvrez la fenêtre "Carte mémoire S7" de la manière suivante : Cliquez sur le bouton de la carte mémoire dans la barre d'outils. Si cette o dernière n'est pas affichée, vous pouvez le faire en choisissant la commande Affichage > Barre d'outils. Une alternative consisterait à choisir la commande Fichier > Carte mémoire S7 o > Ouvrir. 3. Ouvrez ou activez la fenêtre dans laquelle vous allez afficher les blocs à enregistrer. Il peut s'agir d'une : fenêtre du projet, vue du projet en ligne o fenêtre du projet, vue du projet hors ligne o fenêtre de bibliothèque o fenêtre "Partenaires accessibles" o 4. Sélectionnez le dossier Blocs ou les blocs à enregistrer, puis copiez-les dans la fenêtre "Carte mémoire S7". 5. Si un bloc se trouve déjà sur la carte mémoire, un message d'erreur est émis. Dans ce cas, effacez le contenu de la carte mémoire et répétez les étapes à partir de l'étape 2.
Chargement d'une configuration depuis une station dans la PG E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
35
Condition préalable Vous avez connecté la console de programmation à l'interface MPI de la CPU via un câble MPI. Conseils Char gez des stations dans un pr ojet vide, nouvellement cré é . Marche à suivre 1. Choisissez la commande Système cible > Charger dans PG La boîte de dialogue dans laquelle vous ouvrez la configuration s'affiche. 2. Sélectionnez le projet dans lequel vous souhaitez ultérieurement sauvegarder la configuration, puis cliquez sur "OK". 3. Dans la boîte de dialogue suivante, vous paramétrez l'adresse de réseau, le numéro de châssis et l'emplacement d'enfichage du module dont vous souhaitez lire la configuration (en général, une CPU). Confirmez par "OK". Vous pouvez donner un nom de station à cette configuration en choisissant la commande Station > Propriétés , puis la sauvegarder dans le projet présélectionné avec la commande Station > Enregistrer .
L’Effacement Effacement dans la mémoire vive du système cible Vous pouvez effacer un ou plusieurs blocs que la CPU soit à l'état de fonctionnement d'arrêt (STOP) ou de marche (RUN-P). Si à l'état de marche (RUN-P) vous effacez un bloc qui est encore appelé, soit la CPU passera à l'état d'arrêt, soit un OB d'erreur sera appelé. Procédez de la manière suivante : 1. Sélectionnez les blocs à effacer dans la fenêtre du projet en ligne ou dans le fenêtre "Partenaires accessibles". 2. Dans SIMATIC Manager, choisissez la commande Edition > Effacer ou appuyez sur la touche SUPPR. Pour effacer le programme utilisateur entier de la CPU, vous pouvez aussi effectuer un effacement général de la CPU
Effacement dans l'EPROM intégrée Pour effacer l'EPROM intégrée de la CPU 314, vous écrasez son contenu par le contenu actuel de la mémoire vive dans laquelle vous aviez effacé tous les blocs utilisateur. Procédez de la manière suivante : 1. Dans SIMATIC Manager, ouvrez la fenêtre "Partenaires accessibles" en choisissant la commande Système cible > Afficher les partenaires accessibles ou la fenêtre du projet en ligne via la commande Affichage > En ligne. 2. Sélectionnez les blocs à effacer. 3. Choisissez la commande Edition > Effacer ou appuyez sur la touche SUPPR. 4. Choisissez la commande Système cible > Copier de RAM en ROM .
Effacement de la carte mémoire EPROM Pour effacer la carte mémoire EPROM, procédez de la manière suivante : 1. Enfichez la carte mémoire dans l'emplacement prévu à cet effet sur votre outil de développement. 2. Cliquez sur le bouton de la carte mémoire dans la barre d'outils (carte mémoire S7). La fenêtre "Carte mémoire S7" s'ouvre. 3. Dans cette fenêtre, sélectionnez le dossier "S7-Memory Card". 4. Choisissez la commande Edition > Effacer ou appuyez sur la touche SUPPR. Autre manière de procéder : E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
36
1. Enfichez la carte mémoire dans le logement correspondant sur votre système cible. 2. Choisissez la commande Fichier > Carte mémoire S7 > Effacer . Vous pouvez ainsi également effacer des cartes mémoire que vous ne pouvez pas ouvrir
9 Commutateurs :
RUN-P : Automate en marche, et modification de programme autorisée. RUN : Automate en marche, et modification de programme interdite. STOP : Automate à l‘arrêt, et modification de programme autorisée. MRES : Effacement général de la CPU.
Voyants : SF : Défauts groupés : Matériel, logiciel, programme, ... BATF : Défaut batterie. DC5V : Alimentation 5V correcte. FRCE : Fixe ? indique la présence d’un (de) forçage(s) permanent(s). RUN : Clignotant ? Démarrage. Fixe ? CPU en marche. STOP : Clignotant ? Demande d’effacement général. Fixe >>> CPU à l’arrêt
Ici, vous définissez le format d'affichage de la date et de l'heure. Vous pouvez choisir les formats d'affichage suivants : E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
37
Selon la langue nationale STEP 7 Activez cette option, si vous souhaitez afficher la date et l'heure conformément à la langue de STEP 7. Si vous n'avez pas effectué de choix, il s'agit du paramétrage par défaut. Exemple de formats d'affichage dans la langue de STEP 7
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
38
Chariot
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
39
Traduction GRAFCET ladder
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
40
uuuu
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
41
FC2 les étapes.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
42
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
43
FC3 les temporisateurs et compteur.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
44
OB100 le premier scruté au démarrage une seule fois. E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
45
OB1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
46
Pour suivre l’évolution des étapes et des actions programmer les lignes suivantes en OB1.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
47
Lancer simatic et éditer la table des mnémoniques.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
48
Programmer FB2 E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
49
Programmer OB1
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
50
GRAFCET
Tp en S7-siemens Traduction grafcet- ladder
Le GRAFCET est un diagramme qui représente L’état Logique d’un procédé et qui Le contrôle. Nous ferons ici Le GRAFCET d’un automatisme très simple.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
51
Ce petit automatisme de remplissage de bouteilles est constitué : D’un convoyeur commandé par un moteur « MT ». D’une valve de remplissage « V » . De deux capteurs, un capteur de présence de bouteille prête à être remplie « pb » eu un bouton poussoir « m ». Pour démarrer L’automatisme, il suffit d’appuyer sur Le bouton poussoir « m ». Le tapis roulant démarre et une première bouteille se présente au poste de remplissage. La capteur « pb » détecte La bouteille, puis La vanne « V » s’ouvre pendant 12 secondes pour remplir la bouteille. La bouteille est évacuée et une nouvelle bouteille est présentée pour remplissage. IL faut remplir six bouteilles suite à L’appui sur Le bouton « m ». Le GRAFCET de niveau 2 sera Le suivant :
Le GRAFCET est composé d’étapes que nous représenterons en utilisant des mémoires internes (ou mémentos) identifiés M(octet).(bit). Ainsi pour notre GRAFCET, nous pouvons choisir de faire La correspondance suivante :
Étape1 X1 :M0.0 Étape2 X2 :M0.1 Étape3 X3 : M0.2 Étape 4 X4 : M0.3
4
Le GRAFCET est aussi composé de transitions que nous représenterons aussi avec des mémoires internes. Ainsi pour notre GRAFCET, nous pouvons choisir de faire La correspondance suivante :
Transition « étape 1 Transition « étape 2 Transition « étape 3 Transition « étape 4 Transition « étape 4
→ étape 2
» (T1) : M1.0 (mnémonique Y001) → étape 3 » (T2) : M1.1 (mnémonique Y002) → étape 4» (T3) : M1.2 (mnémonique Y003) → étape 1 » (T4a) : M1.3(mnémonique Y004) → étape 2 » (T4b) : M1.4. (mnémonique Y005)
L’automate reçoit deux signaux d’entrée : Bouton poussoir « m » branché à l’entrée I124.0 Capteur de présence de bouteille « pb » branché à L’entrée I124 .1 E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
52
L’automate envoie deux signaux de sortie : Contacteur commandant Le moteur « MT » branché à La sortie Q124 .0 ; Vane de remplissage « V » branchée à La sortie Q124.1. En premier Lieu créer un nouveau projet et nommé le.
Lors de La création de ce projet avec L’assistant demander d’inclure Les blocs OB1 et OB100.
Phase1 : création de projet et chois de cpu. Phase2 : création d’une table de mnémoniques.
Programmons dans Le bloc de fonction FC1 Les 5 transitions. L’équation Logique de La première transition est : Y001= X001•m•pb Cette équation contient L’état de L’étape validant cette transition (ici c’est L’étape 1 identifiée X001) et La réceptivité de cette transition. Les autres transitions auront comme équations Logiques : Y002 = X002•pb Y003 = X002•T1 Y004a = X004•pb•C1 Y004b = X004•pb•C1 Le bit C1 identifie L’état d’un compteur décrémentaL qui donne un niveau Logique 0 Lorsque Le compteur est à 0. Le temporisateur T1 identifie L’état d’un temporisateur de 12 secondes avec déLai sur La montée.
Phase3 : Edition de bloc FC1.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
53
Phase4 : Edition de bloc FC2 Programmons maintenant Les quatre équations représentant L’état des quatre étapes. .Le signal « Init » initialise L’étape initiale et sera obtenu avec Le bit interne M10.0.
X001= Y004b + X001× !Y001+Init Les autres étapes auront comme équations Logiques :
X002 = Y001+ Y004b + X002 × !Y002 X003 = Y002 + X003 × !Y002 X004 = Y003 + X004 × !Y004a × !Y004b
Le diagramme échelle du FC2 est :
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
54
Phase4 : Edition de bloc FC3 Les actions de notre GRAFCET. Les équations Logiques des actions seront :
MT = X002 + X004 V = X003 La temporisation et Le compteur seront aussi dans ce bloc qui sera donc :
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
55
Phase4 : Edition de bloc OB1 F in alement Pour que le tout
fonctionne, il faut éditer le bloc OB1 pour qu’il appelle les 3
blocs de fonction. Le bloc OB1 doit remettre le bit d’initialisation « Init » à 0. Ainsi, OB1 sera : e contact de remise à 0 du réseau 4 qui est identifié « (R) » est obtenu via Le répertoire « eléments de programmes » de La fenêtre « éléments de programmes ». Le signal d’initialisation doit être mis à 1 Lors de La mise en marche de L’automate (Lorsque L’automate passe du mode STOP au mode RUN). Cela est obtenu en programmant Le bloc OB100 qui s’exécute Lors du changement de mode. Donc Lorsque L’on utilise un GRAFCET, on programme Le bloc OB100 comme suit :
Phase : Edition de bloc OB100
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
56
Phase6 : Vérifier le programme en utilisant PLCSIM Tester le programme en appuyant sur les boutons des entrées « m » et « pb » pour simuler ce procédé et examiner les voyants des sorties « MT » et « V ». Visualiser les blocs de fonctions FC1, FC2 et FC3.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
57
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
58
Configuration Bloc OB10 ALARME
On programme OB1 et OB10 et simule le fonctionnement.
E E p pooossseee p ppaaar r r L LA A H C NIII Exxx p AH HC CII N I N
59