Compilation des applications

Présentation

EcoStruxure Machine Expert propose différentes procédures de compilation dans le menu Compiler. Ces procédures permettent de gérer les contrôles syntaxiques, soit uniquement sur les objets modifiés, soit sur tous les objets de l'application active.

Vous pouvez effectuer une génération de code hors connexion afin de rechercher d'éventuelles erreurs de compilation avant le téléchargement du code sur l'appareil. Pour que la connexion aboutisse, la génération de code doit avoir été effectuée sans erreur.

Génération du code, informations sur la compilation

Le code machine est généré dans les cas suivants :

  • lors du téléchargement du projet d'application sur l'équipement cible (contrôleur, cible de simulation) ;

  • lors de l'exécution de la commande Compiler > Créer code.

A chaque téléchargement, les informations de compilation (le code et l'identificateur de référence de l'application chargée, notamment) sont enregistrées dans le répertoire de projet, dans un fichier appelé <nom du projet>.<nom de l'équipement>.<identificateur de l'application>.compileinfo. Le fichier compileinfo est supprimé lors de l'exécution de la commande Nettoyer ou Nettoyer tout.

Aucune génération de code n'a lieu lors de la compilation du projet à l'aide des commandes de compilation (dans le menu Compiler par défaut). Le processus de compilation vérifie le projet afin de détecter les erreurs de programmation. Toute erreur de programmation détectée est affichée dans l'affichage Messages (catégorie de message Compiler).

Pendant la génération de code, des erreurs supplémentaires peuvent être détectées et affichées. Seul le générateur de code peut les détecter, à moins qu'elles ne soient provoquées par l'allocation de mémoire.

Messages lors de la génération du code

A chaque génération de code, des informations supplémentaires apparaissent dans l'affichage Messages > Compiler : code et taille des données (en octets), contenu des zones de mémoire allouées et adresse la plus élevée utilisée (octet).

Les zones de mémoire dans lesquelles sont enregistrés le code et les différents types de données varient en fonction du contrôleur. Pour les adresses, la mémoire %I, %M, %Q est allouée, même si aucune variable n'est affectée à une adresse. La mémoire est entièrement réallouée suite à un nettoyage de l'application.