Éditeur ST en mode en ligne

Présentation

En mode en ligne, l'éditeur ST (Structured Text) fournit des affichages permettant de surveiller, écrire et forcer des variables ainsi que des expressions sur le contrôleur. Le débogage (points d'arrêt, exécution par étapes, etc.) est disponible. Voir Positions des points d'arrêt dans l'éditeur ST.

Monitoring

Si l'option Activer le contrôle en ligne est activée dans l'onglet Surveillance de la boîte de dialogue Outils > Options > Éditeur de texte, de petites fenêtres de surveillance affichent la valeur en cours derrière chaque variable.

Affichage en ligne d'un objet de programmation PLC_PRG (surveillance activée) :

Forçage de variables

Outre la possibilité de saisir une valeur préparée pour une variable dans la déclaration de n'importe quel éditeur, l'éditeur ST permet de double-cliquer sur la zone de surveillance d'une variable dans la partie implémentation (en mode en ligne). Saisissez la valeur préparée dans la boîte de dialogue qui s'affiche.

 AVERTISSEMENT
FONCTIONNEMENT IMPRÉVU DE L'ÉQUIPEMENT
  • Vous devez savoir parfaitement comment le forçage affecte les sorties relatives aux tâches en cours d'exécution.
  • Ne tentez pas de forcer les E/S contenues dans des tâches dont vous ne connaissez pas le moment d'exécution avec certitude, sauf si votre intention est de rendre le forçage effectif lors de la prochaine exécution de la tâche, quel que soit ce moment de cette prochaine exécution.
  • Si vous forcez une sortie et que cette opération n'a apparemment aucun effet sur la sortie physique, ne quittez pas le mode en ligne sans avoir supprimé le forçage.
  • Si vous quittez le mode en ligne alors que le forçage est activé, rétablissez la connexion avec le contrôleur et supprimez le forçage.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des dommages matériels.

Boîte de dialogue Préparer la valeur

Le nom de la variable suivi de son chemin d'accès dans l'arborescence d'équipements (Expression), son type et sa valeur actuelle s'affichent.

Vous pouvez choisir d'effectuer l'une des opérations suivantes :

  • Préparer une nouvelle valeur qui doit être saisie dans la zone d'édition.

  • Supprimer une valeur préparée.

  • Arrêter le forçage de la variable.

  • Arrêter le forçage de la variable et rétablir la valeur affectée avant le forçage.

Pour effectuer l'action sélectionnée, exécutez la commande Débogage > Forcer les valeurs (option En ligne) ou appuyez sur F7.

Positions des points d'arrêt dans l'éditeur ST

Vous pouvez placer un point d'arrêt aux positions d'un POU où les valeurs des variables peuvent changer, où le flux du programme bifurque ou bien où un autre POU est appelé. Dans les descriptions qui suivent, {BP} indique une position de point d'arrêt possible.

Affectation :

Au début de la ligne. Gardez à l'esprit que les affectations en tant qu'expressions ne définissent pas de positions de point d'arrêt supplémentaire sur une ligne.

Boucle FOR :

  1. avant l'initialisation du compteur

  2. avant le test du compteur

  3. avant une instruction

{BP} FOR i := 12 TO {BP} x {BP} BY 1 DO
{BP} [statement1]
...
{BP} [statementn-2]
END_FOR

Boucle WHILE :

  1. avant la vérification de la condition

  2. avant une instruction

{BP} WHILE i < 12 DO
{BP} [statement1]
...
{BP} [statementn-1]
END_WHILE

Boucle REPEAT :

  • avant la vérification de la condition

REPEAT
{BP} [statement1]
...
{BP} [statementn-1]
{BP} UNTIL i >= 12
END_REPEAT

Appel d'un programme ou d'un bloc fonctionnel :

Au début de la ligne.

{{BP} POU( );

A la fin d'un POU :

Lors de l'exécution par étapes, cette position est également atteinte après une instruction RETURN.

Affichage des points d'arrêt dans ST

Point d'arrêt en mode en ligne

Point d'arrêt désactivé

Arrêt du programme au point d'arrêt

NOTE : Un point d'arrêt est défini automatiquement dans toutes les méthodes qui peuvent être appelées. Si une méthode gérée par l'interface est appelée, des points d'arrêt seront définis dans toutes les méthodes ou blocs fonction implémentant cette interface et dans tous les blocs fonction dérivés abonnés à cette méthode. Si une méthode est appelée à l'aide d'un pointeur sur un bloc fonction, des points d'arrêt seront définis dans la méthode du bloc fonction et dans tous les blocs fonction dérivés abonnés à cette méthode.