Présentation

Un démarrage à froid est une initialisation déclenchée à l'aide du bouton Reset de l'alimentation ou de la commande Control Expert Démarrage à froid.

Un démarrage à froid entraîne la réinitialisation de l'ensemble des variables, c'est-à-dire la restauration de leur valeur par défaut.

NOTE : après le téléchargement d'une application, les variables sont réinitialisées comme lors d'un démarrage à froid.

Causes de démarrage à froid et états de la CPU

Causes de démarrage à froid et états résultants de la CPU :

Cause

Etat résultant de la CPU

Fin du téléchargement de l'application.

STOP

L'application restaurée à partir de la mémoire flash est différente de celle présente dans la RAM d'application non persistante.

Exemple d'utilisation

  • Application restaurée à partir d'une carte mémoire si une carte mémoire compatible est insérée dans la CPU

  • Application restaurée à partir de la mémoire flash CPU

STOP(1)

L'application restaurée à partir de la mémoire persistante avec la commande Control Expert Automate > Sauvegarde du projet > .... est différente de celle présente dans la RAM d'application non persistante :

  • Application restaurée à partir d'une carte mémoire si une carte mémoire compatible est insérée dans la CPU

  • Application restaurée à partir de la mémoire flash CPU

STOP(1)

Pression sur le bouton RESET de l'alimentation.

STOP(1)

Le bouton RESET de l'alimentation est pressé pendant moins de 500 ms après une mise hors tension.

STOP(1)

Le bouton RESET de l'alimentation est pressé après une erreur détectée de la CPU, sauf dans le cas d'une erreur détectée de chien de garde (état halt).

STOP(2)

Initialisation demandée de l'une des 3 manières suivantes :

  • Bit système %S0 défini sur 0

  • Requête INIT

  • Commande Démarrage à froid dans Control Expert

La CPU ne modifie pas son état. Elle se contente d'initialiser l'application.

Il s'agit d'une simulation de démarrage à froid.

Restauration après mise hors tension avec perte de contexte.

STOP(1)

1. L'état de la CPU passe à RUN si l'option Démarrage automatique en mode Run est sélectionnée.

2. L'option Démarrage automatique en mode Run ne fait pas passer la CPU à l'état RUN.

Le chargement ou le transfert d'une application vers la CPU implique l'initialisation des variables non localisées.

Vous devez affecter une adresse topologique aux données si le process impose de conserver les valeurs courantes de ces données lors du transfert de l'application.

Pour enregistrer les variables localisées, évitez l'initialisation de %MWi en désélectionnant le paramètre Initialiser %MWi au démarrage à froid dans l'écran de configuration de la CPU.

NOTE : Le fait d'appuyer sur le bouton RESET de l'alimentation réinitialise %MWi, et les valeurs initiales sont chargées.
NOTE : n'appuyez pas sur le bouton RESET de l'alimentation si vous ne voulez pas que %MWi soit réinitialisé et chargé avec les valeurs initiales.

Exécution d'un démarrage à froid

Procédez de la manière suivante pour effectuer un démarrage à froid :

Phase

Description

1

Le démarrage est effectué à l'état RUN ou STOP en fonction de l'une ou l'autre des conditions suivantes :

  • Etat du paramètre Démarrage automatique en mode Run dans la configuration de la CPU. Si cette option est sélectionnée, le démarrage sera effectué à l'état RUN.

  • Etat de l'E/S définie dans le paramètre Entrée Run/Stop dans la configuration de la CPU.

L'exécution du programme reprend en début de cycle.

2

Le système effectue les actions suivantes :

  • Désactivation des tâches FAST, AUX et événementielles.

  • Exécution de la tâche MAST jusqu'à la fin de l'initialisation des données.

  • Initialisation des données (bits, image d'E/S, mots, etc.) avec les valeurs initiales définies dans l'éditeur de données (0 si aucune autre valeur initiale n'a été définie). Pour les mots %MW, ces valeurs peuvent être extraites lors d'un démarrage à froid lorsque les conditions suivantes sont remplies :

    • L'option Initialiser %MWi au démarrage à froid n'est pas cochée dans l'écran de configuration de la CPU.

    • La mémoire flash interne a une sauvegarde valide (voir %SW96).

    NOTE : Si le nombre de mots %MW dépasse la taille de la sauvegarde pendant l'opération d'enregistrement, les mots restants prennent la valeur 0.
  • Initialisation des blocs fonction élémentaires (données initiales).

  • Initialisation des données déclarées dans les blocs fonction dérivés (DFB) : 0 ou la valeur initiale déclarée dans le type de DFB.

  • Iinitialisation des bits et mots système.

  • Positionnement des graphes sur les étapes initiales.

  • Annulation de toute action de forçage.

  • Initialisation des files de messages et d'événements.

  • Envoi des paramètres de configuration à tous les modules d'E/S et modules propres à l'application.

3

Pour démarrer un cycle, le système effectue les tâches suivantes :

  • Nouveau lancement de la tâche MAST avec les bits système %S0 (démarrage à froid) et %S13 (premier cycle en mode RUN) définis sur 1. Le mot système %SW10 (premier cycle après démarrage à froid) est défini sur 0.

  • Remise à zéro des bits système %S0 et %S13, et attribution de la valeur 1 à chaque bit du mot système %SW10 à la fin de ce premier cycle de la tâche MAST.

  • Activation des tâches FAST et AUX, et traitement des événements à la fin du premier cycle de la tâche MAST.

Traitement par programme d'un démarrage à froid

Testez le bit système %SW10.0 pour détecter un démarrage à froid et adapter le programme en conséquence.

NOTE : Il est possible de tester le bit système %S0 lors du premier cycle d'exécution si le paramètre Démarrage automatique en mode Run est sélectionnée. Dans le cas contraire, la CPU démarre à l'état STOP et le bit %S0 passe à 1 lors du premier cycle suivant le démarrage (non visible pour le programme).

Modification des sorties

Dès qu'une coupure d'alimentation est détectée, les sorties prennent la position de repli configurée (valeur de repli programmée ou valeur en cours).

A la mise hors tension, les sorties ne sont pas pilotées et restent à 0.

Au retour de l'alimentation, les sorties restent à 0 jusqu'à ce qu'elles soient mises à jour par la tâche.