Plages d’adressage

Le compilateur doit attribuer une zone mémoire à chaque variable n’ayant pas d’adresse physique qui lui a été affectée directement.

Avec Extras > Options > Options de compilation > Plages d’adressage, vous pouvez définir les zones mémoire maintenues ou non maintenues, réparties en zones mémoire réservées au système (compilateur) et à l’utilisateur. Ajustez les zones mémoire en déplaçant le curseur ou en double-cliquant sur le curseur.

Les zones mémoire comprennent :

Pour en savoir plus, voir la définition des adresses.

Avec Agrandir les zones système selon les variables globales, la zone système (compilateur) est automatiquement paramétrée à la valeur maximale. La zone utilisateur (zone définie par les variables entrées par l’utilisateur) est limitée à celle définie par les adresses explicites attribuées aux variables globales.

NOTA

N’utilisez pas d’adresses explicites dans les corps de l’éditeur car elles ne seront pas prises en compte si vous sélectionnez Agrandir les zones système selon les variables globales.

Par exemple, si vous utilisez R110 et R200 directement dans le corps, WR11 et WR20 ne seront pas prises en compte.

WR11 et WR20 sont prises en compte lorsque vous utilisez des variables globales avec des adresses explicites comme indiqué dans l’exemple ci-dessous :

Les valeurs dans la zone non maintenue sont perdues en cas de coupure de courant ou lors de la commutation du mode RUN en mode PROG ; les valeurs dans la zone maintenue sont préservées. Elles ne sont initialisées que lorsque le programme est transféré vers l’automate.

Lorsque sous Extras > Options > Options de compilation > Génération de codes, vous activez Initialiser toutes les variables sauf les variables globales maintenues avec adresses explicites., les variables avec des adresses affectées par l’utilisateur ne sont pas réinitialisées.

NOTA
  • Pour FP2, FP3, FP-C et FP5, la taille du registre de fichiers (FL) peut être définie dans le volet Projet sous API > Registres système > Taille de la mémoire.

  • L’adresse à partir de laquelle les zones sont maintenues peut être définie dans le volet Projet sous API > Registres système > Zone maintenue.

  • Lorsque vous modifiez les options de compilation, vous devez compiler l’ensemble du projet à nouveau.

  • Le compilateur attribue automatiquement une zone mémoire à chaque variable n’ayant pas d’adresse affectée à partir de la liste des globales variables.

  • Les zones mémoire ne sont pas toutes adaptées à tous les types d’API (mis en relief en gris clair).

  • Affectez des adresses uniquement si c’est nécessaire ! Attribuez des adresses pour accéder aux entrées et sorties (X, Y) ou certaines zones mémoire de l’automate.
  • Le compilateur affecte automatiquement des adresses après la mise sous tension. Les erreurs de sorties doubles sont ainsi évitées et les adresses sont automatiquement mises à jour lorsque le type d’automate est modifié.

Le tableau suivant montre à quelle zone de mémoire le compilateur affecte quel type de données et quelle classe de variables :

Classe

Type de données

Zone mémoire

VAR, VAR_GLOBAL

BOOL

Mots de drapeaux WR, zone non maintenue

VAR_RETAIN, VAR_GLOBAL_RETAIN

BOOL

Mots de drapeaux WR, zone maintenue

VAR, VAR_GLOBAL

INT, DINT, WORD, DWORD, TIME, REAL, STRING

Registres de données DT, zone non maintenue

Registres de fichiers FL, zone non maintenue

VAR_RETAIN, VAR_GLOBAL_RETAIN

INT, DINT, WORD, DWORD, TIME, REAL, STRING

Registres de données DT, zone maintenue

Registres de fichiers FL, zone maintenue

Le compilateur crée aussi automatiquement des étiquettes qui sont nécessaires aux boucles.

Le nombre d’étiquettes pour le système (compilateur) peut être indiqué à l’aide de Extras > Options > Options de compilation > Etiquettes/Registres d’index.

NOTA

Pour reínitialiser les paramètres de votre compilateur, sélectionnez Défaut

Thèmes apparentés

Modifié le : 2021-01-26Commentaires sur cette pageAssistance téléphonique