Skip to main content

Forcer et écrire des variables

Attention

Le changement extraordinaire des valeurs des variables dans une application exécutée sur le contrôleur peut entraîner un comportement indésirable du système contrôlé.

Évaluez les dangers potentiels avant de forcer les valeurs des variables et prenez les précautions de sécurité appropriées. Selon le système commandé, des dommages au système et aux pièces à usiner peuvent se produire ou la santé et la vie des personnes peuvent être mises en danger.

vous pouvez dans CODESYS modifier la valeur des variables sur le contrôleur en mode en ligne. Une distinction est faite entre le forçage et l'écriture d'une valeur préalablement préparée.

L'écriture se fait avec la commande écrire des valeurs, ctrl + F7 et définit la variable une fois sur la valeur préparée. La valeur peut ainsi être écrasée par le programme à tout moment.

Le forçage se fait avec la commande valeurs de force, F7 et définit la valeur préparée de façon permanente. Voir ci-dessous pour des informations plus détaillées.

La préparation d'une valeur pour le forçage ou l'écriture est possible à plusieurs endroits :

  • Partie déclaration : champ Valeur préparée

  • Partie implémentation de l'éditeur FBD/KOP/STL : champ de surveillance en ligne

  • Fenêtre de surveillance : champ Valeur préparée

Voir ci-dessous pour savoir comment procéder. Si vous souhaitez préparer une nouvelle valeur pour une variable déjà forcée, la boîte de dialogue correspondante s'ouvre préparer la valeur avec des options pour gérer la valeur de force actuelle.

Comment fonctionne le forçage

La valeur préparée est définie sur la variable pertinente au début et à la fin d'un cycle de tâche (ou d'une boucle de traitement dans le cas d'autres types de tâche).

La séquence de traitement dans chaque cycle d'une tâche est la suivante :

  1. Lecture des entrées

  2. Forçage : avant le premier appel du programme, toutes les valeurs préparées sont écrites dans les variables par le système d'exécution, qu'elles soient utilisées ou non par la tâche.

  3. Traitement du code CEI

  4. Forçage : Après le dernier appel de programme, toutes les valeurs préparées sont écrites dans les variables par le système d'exécution, qu'elles soient utilisées ou non par la tâche.

  5. écrire les sorties

Remarque : Il est possible qu'une variable forcée obtienne temporairement une valeur différente pendant le traitement du code dans le cycle car le code CEI effectue une affectation. La variable ne reçoit alors à nouveau la valeur forcée qu'à la fin du cycle. La valeur de la variable peut également être écrasée au milieu du cycle lorsqu'un client écrit dans les symboles de l'application. Dans ce cas, voir l'option Accès variable synchrone à la tâche IEC dans le Propriétés de l'objet périphérique ou le réglage Configurer la synchronisation avec les tâches CEI dans la configuration des symboles. Cela permet la synchronisation de l'accès en écriture par les clients avec le cycle de tâche, qui est pris en charge par le PLCHandler.

Important

Les valeurs forcées sont marquées du symbole _cds_icon_forced_variable.png marqué. CODESYS effectue le forçage jusqu'à ce qu'il soit explicitement déforcé par l'utilisateur via l'une des actions suivantes :

  • Exécution de la commande Déforcer toutes les valeurs

  • Annulation de la force via la boîte de dialogue préparer la valeur

  • Déconnectez-vous de l'application

    Si des variables forcées sont toujours présentes lors de la déconnexion, une boîte de dialogue s'ouvre demandant si le forçage doit être annulé pour toutes les variables. Si vous utilisez ce non réponse, les valeurs forcées s'appliquent à nouveau la prochaine fois que vous vous connectez.

Forçage dans la partie déclaration

Condition : Votre application contient un bloc avec des déclarations. L'application est en mode en ligne.

  1. Ouvrez le bloc dans l'éditeur avec la commande Projet → Modifier l'objet.

  2. Dans la partie déclaration de l'éditeur, double-cliquez dans la colonne (1) Valeur préparée une variable.

    Le champ devient modifiable et vous pouvez entrer une valeur. S'il s'agit d'une variable booléenne, modifiez la valeur en cliquant sur le champ.

    _cds_img_force_values_1.png
  3. Faites l'étape 2 pour plus de variables.

  4. Choisissez la commande Déboguer → Forcer les valeurs.

    Les valeurs des variables sont écrasées par les valeurs préparées. Les valeurs sont avec le symbole _cds_icon_forced_variable.png marqué.

    _cds_img_force_values_2.png

Astuce

Vous pouvez également afficher les valeurs des variables dans la vue Surveiller Obliger

Forçage dans la partie implémentation

Prérequis : L'application est en mode en ligne.

  1. Ouvrez le bloc dans l'éditeur avec la commande Projet → Modifier l'objet.

  2. Dans la partie implémentation de l'éditeur, double-cliquez sur un champ de surveillance en ligne (1).

    La boîte de dialogue s'ouvre préparer les valeurs.

  3. Tapez dans la case Préparer une nouvelle valeur pour la prochaine opération d'écriture ou de force entrez la nouvelle valeur.

    La valeur préparée apparaît dans le champ de surveillance en ligne.

    _cds_img_force_values_3.png
  4. Choisissez la commande Déboguer → Forcer les valeurs.

    La valeur de la variable est écrasée par les valeurs préparées. Les valeurs sont avec le symbole _cds_icon_forced_variable.png marqué.

    _cds_img_force_values_4.png

Afficher et modifier toutes les variables forcées dans une liste

Prérequis : L'application est en mode en ligne. Plusieurs variables sont à l'état forcé.

  1. Choisissez la commande Affichage → Surveiller → Afficher toutes les forces.

    La vue Afficher toutes les forces apparaît. Il contient toutes les variables actuellement forcées de l'application sous la forme d'une liste de moniteurs.

  2. Sélectionnez toutes les lignes de la liste et faites votre choix dans la liste de sélection en haut à gauche de la vue Déforcer → Déforcer et conserver toutes les valeurs sélectionnées.

    Les variables sont non forcées et compte tenu des valeurs qu'elles avaient avant d'être forcées.

Forcer une entrée de bloc fonction dans CFC

Condition préalable : une application avec un bloc de programme CFC, qui contient à son tour un bloc fonctionnel, se trouve en mode hors ligne.

Important

Ce type de forçage utilise un point d'arrêt de données en interne et est différent du forçage via l'instruction valeurs de force ou. F7 distinguer!

Valeurs concernant la commande Forcer l'entrée FB été forcé de ne pas répondre aux commandes Afficher toutes les forces ou Déforcer toutes les valeurs.

  1. Ouvrez l'éditeur du bloc de programme CFC en double-cliquant sur l'objet dans l'arborescence.

  2. Connectez-vous avec l'application sur l'appareil cible.

  3. Si vous utilisez la version 3.5.11.x ou 3.5.12.x du compilateur : Activez "Forceability" pour le bloc fonctionnel souhaité. Pour ce faire, sélectionnez l'élément de bloc dans le CFC et choisissez la commande CFC → Préparer l'élément de bloc pour le forçage.

  4. Dans le CFC, sélectionnez l'entrée du bloc fonction et choisissez la commande dans le menu contextuel Forcer l'entrée FB.

    Le dialogue forcer la valeur apparaît.

  5. Définissez une nouvelle valeur pour l'entrée. exemple dans le cas d'un TON-Bloquer: FALSE pour l'entrée booléenne IN, ou t#4s pour l'entrée PT (TEMPS). Confirmer avec d'accord.

    La valeur réglée est forcée immédiatement. L'élément de bloc est doté d'un cercle vert en haut à gauche et le nom de l'entrée dans l'élément est surligné en vert. Dans le cas d'une valeur booléenne, une petite fenêtre de surveillance apparaît également à l'entrée avec la spécification de la valeur. Dans les vues de surveillance, comme dans la partie déclaration, la valeur forcée apparaît dans la colonne valeur.

  6. Pour supprimer la valeur forcée, choisissez à nouveau la commande Forcer l'entrée FB. En dialogue forcer la valeur sélectionnez maintenant l'option supprimer la valeur.

    Le forçage est retiré. L'entrée reçoit à nouveau la valeur actuelle du contrôleur.

Pour plus d'informations, voir : Forcer les valeurs et Écrire des valeurs