Transférer les modifications du code programme dans l’automate

Danger pour l’utilisateur et les machines

  • Lorsque des modifications sont transférées avec un périphérique connecté, des erreurs de programmation peuvent présenter un danger à la fois pour les utilisateurs et le système.

Vous pouvez transférer de petites modifications de programme dans l’unité centrale en mode en ligne sans avoir à passer en mode PROG, cependant avec les restrictions suivantes :

  • La configuration API ne doit pas être modifiée.

    1. Utiliser En ligne > Mode en ligne pour passer en mode hors ligne

    2. Effectuer les modifications de programme

    3. Utiliser En ligne > Mode en ligne pour passer en mode en ligne

    4. Il vous sera demandé de compiler le projet. Vous pouvez annuler le process si la compilation a échoué.

    5. La boîte de dialogue Transférer le projet vers l’API apparaît. Vous pouvez choisir de transférer l’ensemble du projet ou uniquement les différences de code programme vers l’automate en mode RUN.

    Le programme est compilé et transféré vers l’automate. Un message confirme que les modifications ont été transférées avec succès.

    Restrictions :

    • Pour FP3, FP5, FP10, FP10SH, FP2, FP2SH, FP0, FPe, FPS (12K, 16K), FPxLowCost, FPX0 : Les modifications du code programme ne doivent pas excéder le nombre de pas pouvant être transférés pendant un cycle (128 pas). Par conséquent, faites uniquement de petites modifications.

    • Pour tous les autres automates : Le code programme va être transféré. Cela peut prendre plusieurs cycles. L’automate passe au nouveau programme lorsque le transfert est terminé.

    • Pour FP2SH (120K), FP10SH (120K) : Les programmes dans la tâche Programmes 2 sont transférés dans une seconde étape séparée. Si les modifications affectent les programmes dans les deux tâches Programmes 1 et Programmes 2, il se peut que l’état de l’automate soit incohérent entre les transferts.

    • Pour FP7, ELC500 : Le programme dans la tâche Interruption périodique est transféré dans une seconde étape séparée. Si les modifications affectent les programmes dans les deux tâches Programmes et Interruption périodique, il se peut que l’état de l’automate soit incohérent entre les transferts.

    • Pour FP7, ELC500 : Si vous devez modifier le nombre maximum de pas de programme pour l’interruption périodique (voir Options de compilation), la capacité du code programme modifié ne peut pas être transférée vers l’automate en Mode RUN.

    NOTA
    • Les données du Configurator PMX ne sont pas transférées en Mode RUN.

    • Le projet est compilé avec les informations sur les adresses des variables à partir du dernier transfert du projet.

      • Avec ces informations sur les adresses des variables, les adresses des variables existantes sont maintenues et les adresses des variables supprimées sont libérées.

      • Une des adresses libérées est attribuée aux nouvelles variables qui sont initialisées avec leur valeur initiale.

      • Les variables, dont la classe de déclaration, le type de données, l’ordre des éléments ou le nombre d’éléments a été modifié, sont supprimées et une nouvelle variable avec le même nom est ajoutée. La nouvelle variable est initialisée.

      • Les variables avec des adresses utilisateur explicites sont traitées comme des variables modifiées si l’adresse utilisateur explicite est modifiée mais elles ne sont pas initialisées.

      • Lorsqu’une déclaration de type DUT est modifiée, toutes ses variables d’instance sont modifiées puisque les types de données des variables d’instance ont été modifiés. Toutes les variables d’instance sont supprimées et ajoutées en tant que nouvelles variables. Les variables nouvellement ajoutées sont initialisées.

      • Lorsque des déclarations de blocs fonctions sont modifiées, les modifications sont traitées différemment de celles des déclarations de DUT. Alors que les instances de DUT sont supprimées et re-créées, toutes les instances de blocs fonctions sont maintenues et leurs variables sont actualisées, c.-à-d. qu’elles sont ajoutées, modifiées ou supprimées selon le cas.

      • Des modifications apportées aux valeurs initiales des variables ne sont pas détectées.

      • Pour supprimer les informations sur les adresses des variables, utilisez Projet > Effacer le tableau d’affectation des adresses.

  • Si de nouvelles variables ont été ajoutées, il est possible que le programme soit transféré en deux étapes. La variable système sys_bIsFirstScanAfterDownloadChangesDuringRun devient TRUE à deux reprises. Cependant, après sa première activation (sys_bIsFirstScanAfterDownloadChangesDuringRun une fois sur TRUE), le programme final est déjà exécuté sur l’automate.

  • Si le transfert des modifications vers l’automate est interrompu en raison d’une coupure d'électricité ou d’une erreur de fonctionnement, l’état du code programme sur l’automate sera incohérent. Lorsque le courant est rétabli ou l’erreur supprimée, transférez le programme en entier à nouveau avec Transférer code programme et configuration API.

  • Lorsque vous souhaitez actualiser des programmes SFC en transférant les modifications du code programme et une structure d’étapes modifiée, il est recommandé de programmer le programme SFC avec les instructions de contrôle SFC (par ex StartStopSFC) et d’arrêter le programme SFC avant de transférer toute modification du code programme.

  • Les étapes SFC y compris leur numéro et leur drapeau d’étape sont traitées comme des variables, c.-à-d. que leur adresse et leur état sont maintenus jusqu’à ce quelles soient renommées ou supprimées.

    Avant de transférer un programme SFC avec des étapes supprimées, vous devez vérifier que les conditions suivantes sont remplies :

    • La machine n’est pas à l’étape que vous voulez supprimer.

    • Il n’y a pas d’étape active qui mène ou provient de l’étape que vous souhaitez supprimer.

    Si vous supprimez des étapes alors que ces conditions ne sont pas remplies, le programme SFC pourrait être dans un état inconnu et un redémarrage de l’automate pourrait même être nécessaire !

    Ajouter des étapes pourrait également être critique lorsque la structure du SFC est modifiée et lorsqu’un traitement parallèle (divergences à droite ou à gauche) est ajouté aux étapes en cours actives ou lorsque des sauts et étiquettes sont insérés autour de l’étape en cours active. Nous recommandons de définir l’état du programme SFC de la machine sur un état sur lequel le process n’est pas affecté, par ex. l’état initial.

  • Vérifiez que les différences de programmes n'affectent pas un process en cours d'exécution (tels que des automates finis, programmes SFC, positionnements, etc.) et que votre machine est dans un état sécurisé lors du transfert.

  • Le transfert des modifications du code programme peut démarrer uniquement à l’aide d’un bouton dans la boîte de dialogue Transférer le projet vers l’API. Le bouton démarrant le transfert peut afficher des erreurs, des avertissements ou même des conseils. Lisez attentivement ces messages.

Thèmes apparentés

Modifié le : 2025-02-21Commentaires sur cette pageAssistance téléphonique