Explication du concept de mémoire des Siemens S7-300/400 : mémoire de chargement, mémoire de travail et données rétentives
Aug 18, 2026
L'architecture mémoire de la Siemens Les automates programmables S7-300 et S7-400 sont organisés en trois couches distinctes : mémoire de chargement, mémoire de travail et mémoire système. Tout défaut lié à la mémoire, qu’il s’agisse d’un processeur bloqué en mode STOP, d’un programme effacé après une coupure de courant ou d’une alarme de batterie sur un S7-400, trouve son origine dans l’une de ces couches et dans les règles qui régissent la circulation des données entre elles. Cet article définit précisément chaque couche, explique les différences d’implémentation entre les deux familles d’automates, fournit les paramètres concrets de processeurs représentatifs et aborde le diagnostic des pannes, les bonnes pratiques de maintenance et les questions les plus fréquemment posées par les ingénieurs. Ce document suppose une connaissance pratique de STEP 7 et de la structure générale d’un programme d’automate programmable, mais aucune spécialisation préalable en gestion de la mémoire n’est requise. 1. Définition des trois couches de mémoire La mémoire de chargement contient le programme utilisateur complet, incluant les blocs de code (OB, FB, FC), les blocs de données (DB), les symboles, les commentaires et les données techniques. Il s'agit du référentiel non volatil, ou sauvegardé par batterie, à partir duquel le processeur restaure sa copie de travail à chaque démarrage. La mémoire de travail est la zone de RAM intégrée dans laquelle le processeur exécute le programme ; elle contient uniquement le code et les données nécessaires à l'exécution. La mémoire système est l'ensemble des zones d'adressage sur lesquelles opère le jeu d'instructions : entrées de processus (I), sorties de processus (Q), mémoire binaire (M), temporisateurs (T), compteurs (C), données locales (L) et blocs de données (DB).La distinction entre les trois couches n'est pas purement théorique. Un bloc présent uniquement en mémoire de chargement n'est pas exécuté. Un bloc présent uniquement en mémoire de travail est exécuté, mais ne peut être chargé sur un périphérique de programmation. Un indicateur de rétention non sauvegardé en mémoire de chargement est réinitialisé à chaque redémarrage. Chaque couche possède sa propre volatilité, ses propres limites de capacité et son propre comportement en cas de défaillance, comme indiqué dans le tableau 1.Tableau 1 : Aperçu des trois couches de mémoireCouche | Contenu | Implémentation S7-300 | Implémentation S7-400 | Comportement en cas de coupure de courantChargement en mémoire | Programme complet : blocs, symboles, commentaires, données techniques | Carte micromémoire (MMC) | RAM alimentée par batterie ; carte Flash EPROM en option | S7-300 : conservé sur la carte MMC. S7-400 : conservé en RAM tant que la batterie est chargée ; sinon, restauré à partir de l’EPROM ou perdu.Mémoire de travail | Code exécutable et données uniquement | RAM intégrée | RAM intégrée | Contenu perdu ; reconstruit à partir de la mémoire de chargement au prochain démarrageMémoire système | Adressage I, Q, M, T, C, L, DB | Circuits internes du processeur | Circuits internes du processeur | Réinitialisation des composants non répétitifs ; restauration des composants répétitifs à partir de la mémoire de chargementUn second axe structurel traverse l'architecture : la différence entre mémoire volatile et non volatile. Sur le S7-300, la non-volatilité est assurée par une mémoire flash (MMC) et aucune batterie n'est requise. Sur le S7-400, elle est assurée par une RAM alimentée par batterie et, en option, par une carte Flash EPROM. Cette différence explique la majeure partie des divergences pratiques entre les deux familles, depuis le témoin de batterie faible du S7-400 jusqu'à l'impossibilité de démarrer un processeur S7-300 sans MMC. 2. Mémoire de chargement : emplacement où le programme est stocké La mémoire de chargement est la couche de plus grande capacité. Elle stocke le programme dans son intégralité, y compris les données que le processeur n'exécute jamais directement : commentaires de blocs, informations sur les symboles et objets technologiques. Lors de la compilation et du téléchargement d'un projet, chaque bloc est d'abord transféré dans la mémoire de chargement. Le processeur copie ensuite les portions exécutables dans la mémoire de travail. Puisque la mémoire de chargement contient le projet complet, c'est également cette couche qui est lue lors du transfert d'un programme du processeur vers un périphérique de programmation. 2.1 Chargement de la mémoire sur le S7-300 : carte micro-mémoire Tous les processeurs S7-300 actuels stockent la mémoire de chargement sur une carte mémoire microSD (MMC). Cette carte mémoire flash s'insère dans un emplacement situé à l'avant du processeur. Elle ne nécessite aucune batterie, ce qui permet à une centrale S7-300 de fonctionner sans alimentation électrique pendant des années et de redémarrer avec son programme intact. Les références typiques de la famille MMC sont 6ES7953-8LL31-0AA0 (512 Ko) et 6ES7953-8LM31-0AA0 (2 Mo) ; cette même famille s'étend de 64 Ko à 8 Mo, la capacité maximale admissible dépendant du processeur.La carte MMC n'est pas un accessoire optionnel. Un processeur S7-300 moderne sans carte MMC ne peut exécuter aucun programme : il s'arrête et demande une carte mémoire dans le tampon de diagnostic. Il s'agit d'un choix de conception délibéré. La carte MMC étant le seul support de stockage non volatil du système, elle contient non seulement le programme, mais aussi les données de mémoire et, sur certains processeurs, le firmware. En l'absence de carte, le processeur ne dispose ni d'aucun programme à exécuter ni d'aucun espace pour stocker les données de mémoire.La carte MMC est équipée d'un petit curseur de protection en écriture. Lorsque ce curseur est verrouillé, le processeur bloque les téléchargements et affiche un message indiquant que la carte mémoire est protégée en écriture. Ce curseur protège la carte contre les écritures accidentelles, mais il est une cause fréquente d'échec de téléchargement après une maintenance. Par conséquent, sa position doit être vérifiée en premier lieu lorsqu'un téléchargement est refusé.Si la mémoire de chargement est manquante ou absente : sur le S7-300, une mémoire MMC vide ou manquante entraîne l’arrêt du processeur et l’impossibilité de le redémarrer. Sur le S7-400, une mémoire de chargement RAM vide sans carte EPROM provoque l’arrêt du processeur sans programme utilisateur ; si une carte EPROM est présente, le processeur copie le programme de l’EPROM dans la RAM au démarrage et fonctionne normalement. 2.2 Chargement de la mémoire sur le S7-400 : RAM et mémoire Flash EPROM sauvegardées par batterie Le S7-400 implémente la mémoire de chargement en deux étapes. La première étape consiste en une mémoire RAM intégrée au module CPU, qui stocke la copie de travail de la mémoire de chargement. Cette RAM est alimentée par une pile de secours, par exemple la 6ES7971-0BA00, placée dans l'alimentation ou dans le compartiment du CPU. La seconde étape est une carte EPROM Flash enfichable, par exemple la 6ES7952-1KM00-0AA0, qui fournit un stockage non volatil persistant même en cas de coupure totale de l'alimentation.Au démarrage, le S7-400 fonctionne comme suit : si la mémoire RAM contient un programme, le processeur le copie dans la mémoire de travail et démarre. Si la RAM est vide mais qu'une carte Flash EPROM est insérée, le processeur copie le programme de l'EPROM dans la mémoire RAM, puis dans la mémoire de travail. Si les deux sont vides, le processeur s'arrête. Cette séquence de démarrage explique pourquoi un S7-400 bien entretenu peut redémarrer automatiquement après une panne de batterie, à condition que l'EPROM ait été mise à jour régulièrement.Si la mémoire de chargement est perdue ou vide : sur le S7-400, la perte de la mémoire de chargement RAM survient en cas de panne de batterie lors d’une coupure de courant, lorsqu’aucune carte EPROM n’est installée. Le programme est alors perdu et doit être retéléchargé ou restauré à partir d’une sauvegarde. Ce cas de figure justifie pleinement la pratique consistant à télécharger le programme sur l’EPROM après chaque modification lors de la mise en service. 3. Mémoire de travail : l'espace d'exécution La mémoire de travail est la mémoire vive intégrée dans laquelle le processeur exécute le programme. Elle est divisée en interne en une zone de code et une zone de données. Lors du téléchargement, le processeur copie les blocs exécutables de la mémoire de chargement vers la mémoire de travail ; lors de l'exécution, il récupère les instructions et les données exclusivement depuis la mémoire de travail. La mémoire de travail est toujours volatile. Sur les deux familles de processeurs, elle est reconstruite à partir de la mémoire de chargement à chaque mise sous tension. Ainsi, un programme qui « survit » à une coupure de courant le doit à la mémoire de chargement, et non à la mémoire de travail.La mémoire de travail détermine si un programme peut être exécuté. Un bloc de données volumineux, un bloc d'objet long ou un bloc de données fortement imbriqué peuvent saturer la mémoire de travail, même si la mémoire de chargement dispose encore d'espace libre. Dans ce cas, le téléchargement est refusé avec un message tel que « Mémoire utilisateur insuffisante ». La solution consiste alors soit à réduire la taille du programme, soit à utiliser un processeur doté de plus de mémoire de travail. La mémoire de travail ne peut être étendue par l'ajout de cartes ; il s'agit d'une caractéristique intrinsèque du module processeur. C'est pourquoi la valeur de la mémoire de travail indiquée dans les données techniques du processeur est la donnée la plus importante à vérifier lorsqu'un projet dépasse les capacités de son contrôleur.Si la mémoire de travail est perdue ou vide : le processeur s’arrête ou ne démarre pas. Comme la mémoire de travail est reconstruite à chaque mise sous tension, sa perte est généralement transitoire et invisible : le processeur se recharge simplement à partir de la mémoire de chargement. La perte devient permanente uniquement lorsque la mémoire de chargement est également perdue, comme dans le cas de la batterie du S7-400 décrit précédemment. 4. Mémoire système et zones d'adressage La mémoire système désigne l'ensemble des zones de données adressables sur lesquelles opère le jeu d'instructions. Ces zones sont implémentées dans les circuits internes du processeur, et non sur un support amovible ; leurs dimensions sont des caractéristiques fixes de chaque modèle de processeur. Le tableau 2 répertorie ces zones et leurs rôles.Tableau 2 : Zones d’adressage de la mémoire systèmeZone | Symbole | Contenu | NotesImage du traitement des entrées | I | États des entrées copiés des modules d'E/S au début de chaque balayage OB 1 | Adressage par octet et par bit, par exemple I0.0 à I0.7 dans l'octet d'entrée IB0 ; plage par défaut de 128 octets, configurable jusqu'à un maximum spécifique au processeur (2048 octets sur la plupart des processeurs S7-300)Image du processus des sorties | Q | États de sortie écrits dans les modules d'E/S à la fin de chaque cycle OB 1 | Adressage par octet et par bit, par exemple Q0.0 à Q0.7 dans l'octet de sortie QB0E/S périphériques | PI, PQ | Accès direct aux modules d'E/S sans passer par l'image du processus | Utilisé pour les E/S haute vitesse ou critiques en temps réel ; adressé par mots PIW/PQWMémoire de bits | M | Indicateurs d'états logiques intermédiaires | Adressage par octet et par bit, par exemple de M0.0 à M0.7 dans l'octet d'indicateur MB0 ; la taille dépend du processeur ; sur certains processeurs, les 256 premiers octets sont réservés aux données système et ne peuvent pas être utilisés librement.Blocs de données | BD | Stockage de données structurées pour le programme utilisateur | L'attribut « Conserver » détermine si le contenu de la BD est conservé après un redémarrageMinuteurs | T | Fonctions de minuterie S5 | Le nombre de minuteries dépend du processeurCompteurs | C | Fonctions de comptage | Le nombre de compteurs dépend du processeurDonnées locales | L | Variables temporaires de l'appel OB, FB ou FC actuellement actif | Basé sur la pile ; la profondeur est limitée par classe de priorité 4.1 L'image du processus Les zones I et Q sont actualisées par l'image de processus. Au début du programme cyclique, le processeur copie les états des modules d'entrée dans la zone I ; pendant le cycle, le programme lit ces instantanés cohérents ; à la fin du cycle, le processeur copie la zone Q dans les modules de sortie. Ce mécanisme garantit que toutes les sections du programme voient les mêmes états d'entrée au cours d'une même analyse. L'accès direct aux périphériques (PIW, PQW) contourne l'image et lit ou écrit directement dans le module, ce qui est plus rapide mais non cohérent au cours de l'analyse. Une image de processus trop petite pour les E/S installées peut être agrandie dans les propriétés du processeur de STEP 7, jusqu'à la limite maximale spécifique au processeur. 4.2 Bits de mémoire M et l'octet d'indicateur La mémoire de bits, historiquement appelée zone d'indicateurs, sert de zone de travail au programme. Un bit d'indicateur, par exemple M0.0, représente un état booléen ; huit bits consécutifs forment l'octet d'indicateur MB0, adressé de M0.0 à M0.7. Les mots d'indicateur (MW) et les doubles mots d'indicateur (MD) sont formés par regroupement d'octets. La taille de la zone M varie selon le processeur : un processeur 314 offre 256 octets, un processeur 315-2 DP 2 048 octets et un processeur 319-3 PN/DP 8 192 octets. Sur certains processeurs S7-300, une partie de la zone M, par exemple les 256 premiers octets, est réservée aux données système utilisées par le système d'exploitation et les fonctions système ; l'utilisation de ces adresses dans un programme utilisateur peut entraîner un comportement erratique. Il est donc impératif de consulter les données techniques du processeur concerné avant d'allouer librement de la zone M. 4.3 Minuteurs, compteurs et données locales Les temporisateurs (T) et les compteurs (C) sont des éléments fonctionnels dotés d'un état interne : un temporisateur stocke le temps restant, un compteur stocke la valeur de comptage. Leur nombre est fixe par processeur ; par exemple, 256 temporisateurs et 256 compteurs sur un processeur 314 et 2 048 de chaque sur un processeur 319-3 PN/DP. Les données locales (L) correspondent à la zone de pile qui stocke les variables temporaires de l'appel en cours. À chaque appel d'un bloc fonctionnel (FB) ou d'une fonction de contrôle (FC), le processeur réserve une portion de la pile de données locales pour les variables temporaires de ce bloc. Une imbrication profonde ou des structures temporaires volumineuses peuvent saturer la pile, ce qui provoque une erreur de programmation et, si elle n'est pas gérée, un arrêt (STOP). Sur les processeurs S7-300, la pile de données locales est généralement de 32 Ko, partagée entre les classes de priorité. Sur les processeurs S7-400, sa capacité est plus importante et, sur les modèles plus récents, elle est allouée par classe de priorité.En cas de perte ou de réinitialisation de la mémoire système : les zones non rétentives I, Q, M, T, C et L sont initialisées à chaque redémarrage, et les bases de données non rétentives sont réinitialisées à leurs valeurs initiales. Les zones rétentives sont restaurées à partir de la mémoire de chargement ; ce mécanisme est examiné dans les sections suivantes. 5. Le S7-300 en pratique : MMC, données réceptives et question sur la batterie La caractéristique principale du concept de mémoire du S7-300 est l'absence de batterie. Le programme réside sur la carte MMC, la mémoire de travail est rechargée depuis la carte MMC à chaque mise sous tension, et les données répétitives y sont également stockées. Lorsque le processeur détecte une coupure de courant, il sauvegarde les valeurs actuelles des zones répétitives configurées sur la carte MMC ; au prochain redémarrage, il les restaure. Cette conception a trois conséquences pratiques.Tout d'abord, la carte MMC est un composant d'usure au sens strict. La mémoire flash a une durée de vie limitée en écriture/effacement, et chaque mise hors tension entraîne l'écriture dans les zones répétitives. En fonctionnement cyclique normal, cela ne pose pas de problème, mais les programmes qui modifient les données répétitives de manière rapide, ou qui utilisent les fonctions système SFC 82 à SFC 84 pour écrire des blocs de données sur la carte MMC en boucle, réduisent la durée de vie de la carte. Le nombre nominal de cycles d'écriture est indiqué dans la documentation Siemens de la carte.Deuxièmement, la configuration de la mémoire rémanente est explicite. Dans STEP 7, la boîte de dialogue des propriétés du processeur (Configuration matérielle, onglet Mémoire rémanente) définit le nombre d'octets de mémoire (M), le nombre de temporisateurs et le nombre de compteurs qui sont rémanents. La plage par défaut de l'indicateur de mémoire rémanente sur la plupart des processeurs S7-300 est de M 0,0 à M 15,7. Les blocs de données sont rendus rémanents individuellement en les marquant avec l'attribut « Retain » dans leurs propriétés. Seules les plages configurées sont conservées après une mise hors tension ; toutes les autres sont réinitialisées.Troisièmement, le comportement en téléchargement est simple et uniforme. Un téléchargement normal dans STEP 7 écrit le bloc dans la MMC (mémoire de chargement) et le copie dans la mémoire de travail. Il n'existe pas de chemin de « téléchargement en RAM uniquement » distinct sur le S7-300 : avec une MMC installée, chaque téléchargement est automatiquement non volatil. Le chargement fonctionne de la même manière : un chargement lit les données depuis la MMC. Les cartes MMC de remplacement, de toutes capacités, sont répertoriées dans le catalogue de pièces détachées Siemens PLC, ce qui est important pour les installations qui doivent disposer d'une carte de rechange programmée.La question de la batterie, omniprésente dans les discussions sur le S7-400, ne se pose tout simplement pas pour le S7-300. Si le processeur d'un S7-300 est dépourvu de batterie, le programme ne peut être perdu en cas de panne de celle-ci. Les modes de défaillance réalistes sont une carte MMC manquante, pleine, protégée en écriture ou défectueuse ; chacun d'eux est examiné dans la section 9. 6. Le S7-400 en pratique : batteries, EPROM et chaîne de démarrage Le système de mémoire du S7-400 est organisé autour d'une RAM sauvegardée par batterie, la mémoire Flash EPROM servant de filet de sécurité. La batterie de sauvegarde, par exemple la 6ES7971-0BA00, maintient la mémoire de chargement (RAM) et les données résiduelles lorsque le contrôleur est hors tension. Le module CPU intègre également une batterie tampon rechargeable qui assure l'alimentation de la RAM pendant une durée limitée (quelques dizaines de minutes après une charge complète) lors du remplacement de la batterie principale. C'est grâce à cette batterie tampon que le remplacement de la batterie est possible hors tension, mais son autonomie ne doit jamais excéder celle spécifiée dans le manuel.La carte Flash EPROM, par exemple la 6ES7952-1KM00-0AA0, constitue la couche non volatile du S7-400. Bien qu'elle ne soit pas indispensable au fonctionnement, elle est cruciale pour éviter une panne de batterie catastrophique en cas de défaillance mineure. La gamme de cartes s'étend de 64 Ko à 64 Mo, la capacité maximale dépendant du processeur. La procédure de démarrage décrite dans la section 2.2 implique qu'un processeur doté d'une carte EPROM fonctionnelle redémarre automatiquement après une panne de batterie ; un processeur dépourvu de carte EPROM démarre en mode STOP et nécessite un nouveau téléchargement.Le comportement de téléchargement sur le S7-400 comporte deux niveaux, et leur confusion est une source fréquente de problèmes sur le terrain :1. Un téléchargement normal écrit le bloc dans la mémoire RAM de chargement et dans la mémoire de travail. La modification est effective immédiatement, mais volatile : elle ne persiste après une coupure de courant que tant que la batterie alimente la RAM.2. La fonction « Télécharger sur EPROM » (ou « Copier la RAM vers la ROM ») enregistre le contenu actuel de la mémoire chargée sur la carte Flash EPROM. Les modifications sont ainsi conservées même en cas de panne de batterie.Le scénario classique de panne du S7-400 est donc le suivant : télécharger une modification l’après-midi, ne jamais copier la RAM vers la ROM, et constater deux semaines plus tard, après une coupure de courant et une batterie déchargée, que le processeur redémarre avec l’ancien programme depuis l’EPROM. La modification, présente uniquement en RAM, a été perdue. Maintenir l’EPROM à jour après chaque modification lors de la mise en service est la règle de maintenance la plus efficace pour la mémoire du S7-400.Le S7-400 signale en continu l'état de sa batterie. Lorsque la batterie est faible, la LED BATF située en façade du processeur ou de l'alimentation s'allume et une entrée est enregistrée dans la mémoire tampon de diagnostic. STEP 7 affiche l'état détaillé dans Diagnostics matériels / Informations sur le module, onglet Batterie, qui indique l'état de la batterie et, sur de nombreux processeurs, la capacité de secours restante estimée. Les batteries de secours telles que la 6ES7971-0BA00 sont stockées dans la gamme de pièces détachées pour automates programmables car il s'agit de consommables dont la durée de vie se mesure en années, et non en décennies. 7. Dimensionnement de la mémoire par processeur : réalité Dans toute discussion relative à la mémoire, la question pratique est la même : quelles sont les capacités réelles de mémoire de travail et de mémoire de chargement du processeur ? Le tableau 3 présente des valeurs représentatives pour cinq processeurs largement répandus. La capacité de mémoire de travail est fixe ; la capacité de mémoire de chargement correspond à la taille maximale de la carte MMC ou EPROM acceptée par le processeur.Tableau 3 : Processeurs représentatifs et leur mémoireProcesseur | Numéro de commande | Mémoire de travail | Mémoire chargée (max.) | Utilisation typiqueProcesseur 314 | 6ES7314-1AG14-0AB0 | 128 Ko | Carte mémoire jusqu'à 8 Mo | Machines de taille moyenne, applications standard S7-300Processeur 315-2 DP | 6ES7315-2EH14-0AB0 | 256 Ko | Carte MMC jusqu'à 8 Mo | E/S distribuées via PROFIBUS DPCPU 319-3 PN/DP | 6ES7318-3EL01-0AB0 | 2 Mo | Carte mémoire jusqu'à 8 Mo | Applications S7-300 volumineuses avec PROFINETCPU 414-2 | 6ES7414-2XK05-0AB0 | 512 Ko | RAM + EPROM jusqu'à 64 Mo | Applications S7-400 de milieu de gammeProcesseur 417-4 | 6ES7417-4XT05-0AB0 | 4 Mo | RAM + EPROM jusqu'à 64 Mo | Applications S7-400 hautes performancesDeux règles de dimensionnement découlent du tableau. Premièrement, la mémoire de travail est la contrainte principale pour la logique du programme. Un projet comportant de gros blocs de données ou de nombreux blocs dans le chemin cyclique nécessite une marge de mémoire de travail suffisante, car le processeur exécute le code à partir de cette mémoire et ne peut pas charger de code à la demande depuis la mémoire de chargement. Deuxièmement, la mémoire de chargement est la contrainte principale pour les données du projet : les symboles, les commentaires et les objets technologiques y sont stockés. Un projet compilé en 300 Ko de code peut nécessiter une carte MMC de 2 Mo une fois les commentaires et les informations sur les symboles inclus. Il est généralement conseillé de surdimensionner la carte MMC lors de la mise en service, car un remplacement ultérieur nécessite un téléchargement complet et un bref arrêt de production. 8. Configuration des données rétentives Les données persistantes sont les données qui doivent être conservées après une coupure de courant : compteurs de pièces finies, sélections de recettes, indicateurs de mode et totaux cumulés. La procédure de configuration est identique dans sa structure pour les deux familles, seul le mécanisme de stockage sous-jacent diffère.Sur le S7-300, ouvrez les propriétés du processeur dans la configuration matérielle et sélectionnez l'onglet « Mémoire rétentive ». Définissez ensuite les plages de mémoire rétentive (par exemple, 16 octets de M par défaut), le nombre de temporisateurs rétentifs et le nombre de compteurs rétentifs. Les blocs de données sont gérés individuellement : dans les propriétés du bloc de données, cochez la case « Rétentive ». Les données rétentives sont alors stockées sur la carte MMC à la mise hors tension et restaurées à la mise sous tension, ce qui explique pourquoi le système fonctionne sans batterie.Sur le S7-400, la même boîte de dialogue définit les plages de données à conserver, mais le mécanisme de stockage est la RAM sauvegardée par batterie. Les valeurs conservées sont maintenues après une coupure de courant tant que la batterie est en bon état. Si la batterie tombe en panne pendant que le contrôleur est hors tension, les données conservées sont perdues et les bases de données concernées sont réinitialisées à leurs valeurs initiales au prochain démarrage. C'est pourquoi l'état de la batterie d'un S7-400 relève de la maintenance et non du fonctionnement.La plupart des problèmes liés à la rétention des données sont dus à trois erreurs de configuration. Soit la plage de rétention n'est pas configurée, ce qui entraîne une réinitialisation des indicateurs à chaque redémarrage ; soit la plage est configurée, mais la base de données ne possède pas l'attribut « Retain », ce qui provoque la réinitialisation de son contenu malgré la persistance des indicateurs « M » ; soit la plage est configurée sur le mauvais processeur dans un projet multiprocesseur, ce qui entraîne la réinitialisation du processeur concerné tandis qu'un processeur inutilisé conserve les données. Ces trois problèmes sont diagnostiqués en quelques minutes en comparant l'onglet « Mémoire rétentive » avec le comportement observé après un cycle d'alimentation de test. 9. Modes de défaillance et diagnostic Les défauts de mémoire sur les S7-300/400 se manifestent par l'affichage des LED, la mise en mémoire tampon de diagnostic et les anomalies lors des téléchargements et des chargements. Le tableau 4 répertorie les modes de défaillance courants, leurs causes et la procédure de diagnostic correspondante.Tableau 4 : Modes de défaillance et diagnostics liés à la mémoireSymptôme | Cause probable | Démarche diagnostique | TraitementProcesseur arrêté ; voyants SF et STOP allumés ; message de diagnostic « Arrêt dû à une erreur de mémoire » | Carte MMC manquante ou défectueuse (S7-300), ou mémoire de chargement corrompue | Lire le tampon de diagnostic via STEP 7 (nœuds accessibles, informations sur le module) ; vérifier l’insertion de la carte MMC | Insérer une carte MMC fonctionnelle avec une sauvegarde du programme ; télécharger à nouveau le programme ; remplacer la carte si elle est défectueuseTéléchargement refusé : « Mémoire utilisateur insuffisante » | Capacité de mémoire de travail ou de chargement épuisée | Comparez la taille des blocs du projet avec la mémoire de travail du processeur ; vérifiez la mémoire de chargement disponible | Supprimez les blocs inutilisés ; réduisez la taille de la base de données ; utilisez un processeur avec plus de mémoire de travail ou une carte MMC plus grandeTéléchargement refusé : « Carte mémoire protégée en écriture » | Curseur MMC verrouillé | Vérifiez le curseur sur le boîtier de la carte | Ouvrez le curseur ; réessayez le téléchargement.Téléchargement refusé sur un S7-300 sans carte mémoire insérée | Carte MMC absente | Vérifiez le lecteur de carte ; consultez le tampon de diagnostic | Insérez la carte MMC ; le processeur acceptera alors le téléchargementVoyant S7-400 BATF allumé ; message de diagnostic « batterie faible » | Batterie de secours déchargée ou manquante | Informations du module, onglet Batterie ; vérifier la tension et l’état | Remplacer la batterie conformément à la procédure de la section 11 ; vérifier ensuite le contenu de la RAMLe S7-400 redémarre avec un programme antérieur après une coupure de courant | Batterie déchargée et carte EPROM contenant une version plus ancienne que la dernière mise à jour de la RAM | Comparez la date de l'EPROM avec la dernière modification de mise en service | Copiez la RAM vers la ROM / téléchargez-la sur l'EPROM après chaque modification ; remplacez la batterieLe chargement ne renvoie aucun bloc ou un projet incomplet | Les blocs existent uniquement en mémoire vive ou la carte MMC contient une version antérieure (S7-300) | Tentez un chargement depuis le processeur ; vérifiez les blocs affichés | Téléchargez d’abord le programme actuel sur la carte MMC, puis chargez-lePerte de données rétentives après un redémarrage | Plages rétentives non configurées, base de données sans attribut Retain ou carte MMC retirée lors de la mise hors tension (S7-300) | Consultez l'onglet Mémoire rétentive ; effectuez un cycle d'alimentation de test contrôlé | Configurez les plages rétentives et les attributs Retain ; téléchargez à nouveauLes appels SFC 82/83/84 signalent « Mémoire utilisateur insuffisante » | Mémoire MMC pleine ou limite de cycles d'écriture atteinte pendant l'enregistrement des données en temps réel | Vérifiez l'espace libre sur la carte MMC ; examinez les paramètres d'appel | Libérez de l'espace sur la carte ; archivez et supprimez les anciens blocs de données enregistrésDeux règles générales permettent d'accélérer ces diagnostics. Premièrement, le tampon de diagnostic constitue la preuve principale : il enregistre la cause de l'arrêt, l'horodatage et le module ayant déclenché l'événement, et il est lisible même depuis un processeur à l'arrêt. Deuxièmement, la distinction entre la mémoire de chargement et la mémoire de travail explique la plupart des anomalies lors des chargements/téléchargements : si un bloc n'est pas présent dans la mémoire de chargement, il ne peut pas être chargé ; s'il n'est pas présent dans la mémoire de travail, il ne peut pas être exécuté. 10. Pratiques de maintenance et de sauvegarde La maintenance de la mémoire sur les équipements S7-300/400 anciens suit un petit ensemble de règles qui empêchent presque tous les modes de défaillance du tableau 4.Avant toute manipulation, effectuez une sauvegarde complète. Le téléchargement intégral du programme et de la configuration matérielle vers le poste d'ingénierie doit précéder tout téléchargement, toute opération sur carte mémoire et toute intervention sur la batterie. Ce fichier de sauvegarde garantit la réversibilité de chaque étape ultérieure. De nombreuses installations programment une nouvelle sauvegarde après chaque modification de mise en service et conservent le fichier sur un serveur, la date étant incluse dans son nom.Contrôlez régulièrement la batterie du S7-400. Son état est visible dans STEP 7, Diagnostics matériels / Informations sur le module, onglet Batterie. La LED BATF fournit également une indication locale. Un contrôle mensuel de la LED BATF lors des opérations de maintenance courantes, ainsi qu'une vérification trimestrielle de l'onglet Batterie, permettent de détecter une batterie faible bien avant qu'elle n'affecte la production. La durée de vie de la batterie se mesure en années, mais elle varie en fonction de la température ambiante et de la durée des coupures de courant. Par conséquent, un remplacement basé sur le calendrier est moins fiable qu'un remplacement basé sur l'état de la batterie.Manipulez les cartes MMC conformément aux instructions. L'insertion ou le retrait d'une carte MMC ne peuvent être effectués que lorsque l'unité centrale est hors tension. Le retrait d'une carte en cours de fonctionnement ou de téléchargement peut l'endommager et entraîner un formatage et un nouveau téléchargement complet. Les cartes doivent être stockées dans un emballage antistatique, étiquetées avec le nom du projet et la version du firmware, et protégées en écriture à l'aide du curseur une fois le contenu finalisé. Disposer d'une carte de rechange programmée constitue la solution de reprise d'activité la plus rapide pour une installation S7-300 ; la gamme de pièces détachées pour automates Siemens couvre les cartes de 512 Ko à 8 Mo.Concernant l'alimentation, le S7-300 est alimenté par le PS 307 et le S7-400 par le PS 407, tous deux disponibles pour les réseaux 120 V/60 Hz et 230 V/50 Hz ; la plage d'entrée est indiquée sur la plaque signalétique de chaque module. Ces modules sont conformes aux normes CE pour le marché européen et homologués UL/CSA pour les installations nord-américaines. Une défaillance de l'alimentation peut entraîner des problèmes de mémoire avant une panne totale, car les baisses de tension corrompent le contenu de la RAM et déclenchent des redémarrages. La mesure de la tension aux bornes de la charge doit être effectuée lors de la même opération de maintenance que le contrôle de la batterie.Pièces de rechange pour les installations anciennes. Les installations utilisant du matériel S7-300/400 au-delà de sa durée de vie initiale doivent disposer, au minimum, d'une carte MMC programmée par type de processeur, d'une batterie de secours par S7-400 et d'un processeur de rechange pour chaque type utilisé. Les processeurs anciens étant de plus en plus difficiles à trouver, il est conseillé de se procurer le processeur de rechange tant qu'il est encore disponible. Si l'installation utilise des cartes Flash EPROM, une carte de rechange avec le programme actuel complète le stock. Le coût d'une carte programmée et d'une batterie est faible comparé au coût d'un arrêt de production imprévu, et les prix en dollars américains varient selon la région et la disponibilité. 11. Foire aux questions Le S7-300 perd-il son programme lorsque sa batterie est déchargée ? Non, car le S7-300 ne possède pas de batterie pour le stockage du programme. Ce dernier réside sur la carte MMC, et la mémoire de travail est rechargée depuis la MMC à chaque mise sous tension. Une batterie déchargée n'entraîne donc pas de perte de programme sur le S7-300 ; la plupart des processeurs S7-300 ne disposent même pas de compartiment pour la batterie. Cette question concerne le S7-400, dont la mémoire de chargement (RAM) dépend de la batterie de secours lorsque le contrôleur est hors tension.Que se passe-t-il si la carte MMC est retirée pendant que le processeur est en marche ? Le processeur peut s'arrêter (arrêt complet) et la carte elle-même peut être endommagée, car le processeur écrit sur la carte MMC lors de la mise hors tension et pendant les téléchargements. Siemens précise que la carte MMC ne peut être insérée ou retirée que lorsque le processeur est hors tension. Si une carte a été retirée pendant le fonctionnement, mettez le processeur hors tension, réinsérez la carte et vérifiez le tampon de diagnostic. Si la carte est corrompue, formatez-la et téléchargez à nouveau le programme à partir de la sauvegarde.Comment activer la rétention des données sur un S7-300 ? Ouvrez les propriétés du processeur dans la configuration matérielle et sélectionnez l’onglet « Mémoire rétentive ». Définissez les plages de rétention pour la mémoire de bits (par défaut : M 0,0 à M 15,7), le nombre de temporisateurs et le nombre de compteurs. Pour les blocs de données, activez l’option « Rétention » dans leurs propriétés. Les données rétentives sont alors enregistrées sur la carte MMC à la mise hors tension et restaurées à la mise sous tension, sans nécessiter de batterie. Notez que seules les plages configurées conservent leurs valeurs ; toutes les autres sont réinitialisées au redémarrage.Quelle est la procédure de remplacement de la batterie du S7-400 ? Tout d’abord, assurez-vous que le programme actuel est enregistré sur une carte Flash EPROM ou dans un fichier de sauvegarde sur la station d’ingénierie ; cette étape est obligatoire. Ensuite, CPU sous tension, ouvrez le compartiment de la batterie et remplacez l’élément par un neuf du même type (6ES7971-0BA00), en respectant le temps de charge de la batterie rechargeable intégrée, généralement de l’ordre de quelques dizaines de minutes après une charge complète. Après l’insertion, vérifiez que la LED BATF s’éteint et consultez l’état dans les informations du module, onglet « Batterie ». Si le CPU a été mis hors tension et que la RAM a été perdue, restaurez le programme à partir de l’EPROM ou de la sauvegarde avant de relancer la production.Puis-je télécharger uniquement dans la mémoire de travail ? Sur le S7-300, non : avec une carte MMC, chaque téléchargement est écrit sur la carte MMC et copié dans la mémoire de travail, ce qui rend chaque téléchargement automatiquement non volatil. Sur le S7-400, un téléchargement normal écrit dans la mémoire RAM de chargement et dans la mémoire de travail ; la modification est volatile, sauf si vous téléchargez ensuite sur l’EPROM ou copiez la RAM vers la ROM. Une modification présente uniquement dans la RAM est conservée après une coupure de courant uniquement si la batterie alimente la RAM. Si la batterie tombe en panne pendant une coupure de courant, la modification est perdue et le processeur redémarre avec la version EPROM.Pourquoi mon chargement n'affiche-t-il aucun bloc ? Un chargement s'effectue depuis la mémoire de chargement. Sur le S7-300, les blocs présents uniquement dans la mémoire de travail ne peuvent pas être chargés, ce qui se produit généralement lorsque la carte MMC a été remplacée ou formatée après le dernier téléchargement. Téléchargez d'abord le programme actuel sur la carte MMC, puis effectuez le chargement. Sur le S7-400, vérifiez que la mémoire de chargement (RAM), et non seulement la mémoire de travail, contient le programme ; si le processeur a redémarré à partir de l'EPROM après une coupure de batterie, le chargement renvoie la version EPROM.Quelle est la durée de vie de la batterie du S7-400 et quand faut-il la remplacer ? Sa durée de vie dépend de sa composition chimique, de la température ambiante, ainsi que de la fréquence et de la durée des coupures de courant. La méthode la plus fiable consiste à la remplacer en fonction de son état : remplacez la batterie lorsque la LED BATF s’allume ou lorsque les informations du module signalent un niveau bas. Dans un rack sous tension, sa durée de vie est généralement de plusieurs années. La batterie tampon rechargeable du processeur offre une fenêtre de remplacement limitée pour la batterie principale ; il est donc conseillé de prévoir une batterie de rechange avant de commencer l’opération. 12. Résumé Le concept de mémoire des S7-300/400 repose sur un modèle à trois couches. La mémoire de chargement contient le programme complet et est non volatile (MMC sur le S7-300, RAM avec batterie de secours et mémoire Flash EPROM en option sur le S7-400). La mémoire de travail est la RAM intégrée volatile à partir de laquelle le processeur s'exécute ; elle est reconstruite à partir de la mémoire de chargement à chaque démarrage. La mémoire système fournit les zones d'adressage I, Q, M, T, C, L et DB, avec des sous-ensembles répétables configurés dans STEP 7 et restaurés à partir de la mémoire de chargement au redémarrage.La plupart des problèmes rencontrés sur le terrain se résument à quelques causes : une carte MMC manquante ou protégée en écriture sur le S7-300, une batterie déchargée ou une EPROM obsolète sur le S7-400, une plage de rétention jamais configurée ou un programme dépassant la capacité de la mémoire de travail. Chaque problème possède une procédure de diagnostic définie via les LED, la mémoire tampon de diagnostic et les informations du module, ainsi qu'une solution spécifique. Les règles de maintenance préventive sont tout aussi peu nombreuses : effectuer une sauvegarde avant tout téléchargement, maintenir l'EPROM du S7-400 à jour, vérifier régulièrement l'état de la batterie, manipuler les cartes MMC uniquement hors tension et conserver une carte de rechange programmée et une batterie de rechange. Pour les installations utilisant du matériel S7-300/400 ancien, ces règles ne sont pas une simple précaution ; elles font toute la différence entre une intervention rapide et une remise en service complète. 13. Liste de contrôle de maintenance · [ ] Sauvegarde complète du programme et de la configuration matérielle sur le poste d'ingénierie après chaque modification de mise en service· [ ] Carte MMC insérée dans chaque processeur S7-300 ; carte MMC programmée de rechange stockée par type de processeur (curseur de protection en écriture fermé)·