Skip to main content

Surveillance des appels dans les objets de programmation

Si une application est en cours d'exécution sur le contrôleur, les valeurs réelles sont affichées pour les variables dans les éditeurs des blocs de programmation. Cela vous permet de surveiller les valeurs des balises.

Exigence : dans Outils → Options sous la catégorie éditeur de texte dans l'onglet surveillance est l'option Activer la surveillance en ligne activé.

  1. Chargez une application sur le contrôleur et démarrez l'application.

  2. Choisissez la commande Débogage → Apparence → Décimal.

    Le format d'affichage des valeurs réelles est défini.

  3. Cliquer sur un objet de programmation de la vue équipement ou POU.

    L'éditeur associé s'ouvre. Les valeurs réelles des variables sont constamment mises à jour à la fois dans la déclaration et dans l'implémentation.

Moniteur dans l'éditeur de déclaration

_cds_img_declaration_editor_online.png

La valeur réelle d'une expression (1) est donnée dans la colonne valeur (3) affiché.

Les commentaires relatifs à une variable sont affichés dans le Commentaire colonne (6).

Pour plus d'informations sur la logique et la hiérarchisation des commentaires affichés, consultez : Commentaires ST

Vous pouvez en trouver un dans la colonne Valeur préparée (4) écrire et forcer la valeur entrée. Lors du forçage, la valeur réelle est repérée par le symbole rouge _cds_icon_forced_variable.png décoré.

L'impression d'une référence d'interface peut être étendue. Si l'interface pointe vers une instance globale, cette instance globale apparaît comme la première entrée sous la référence. Si la référence d'interface change par la suite, la référence affichée se réduit.

Surveiller dans la mise en œuvre (surveillance en ligne)

La représentation de la valeur actuelle de la variable dans l'implémentation est appelée surveillance en ligne.

Selon le langage de programmation, il existe les représentations suivantes dans la partie implémentation :

  • Les variables ont une fenêtre avec la valeur courante derrière leur nom _cds_img_ex_inline_monitoring_window.png affiché.

    Si vous avez préparé des valeurs pour le forçage ou l'écriture de variables, celles-ci sont affichées entre crochets après la valeur actuelle dans la fenêtre de surveillance en ligne.

    Après forçage, les valeurs affectées sont marquées du symbole _cds_icon_forced_variable.png marqué.

  • éditeurs de réseau et dans l'éditeur CFC

    Les lignes de connexion (lignes de signal) sont codées par couleur en fonction de leur valeur booléenne réelle : le bleu signifie TRUE, signifie noir FALSE.

  • Éditeur d'échelle

    De plus, les éléments de contact et de bobine sont marqués.

    Pour les contacts ou les bobines, une valeur préparée (TRUE ou FALSE) dans une petite fenêtre à côté de l'élément.

  • Éditeur AS

    transitions avec valeur TRUE sont codés par couleur en fonction de leur valeur réelle booléenne : le bleu signifie TRUE, signifie noir FALSE.

    Les étapes actives sont marquées en bleu.

    Dans l'implémentation, les valeurs de transition forcée sont marquées en rouge.

  • Éditeur de table IL

    Les valeurs actuelles sont affichées dans une colonne séparée.

Exemple 39. Surveillance dans l'éditeur ST
_cds_img_inline_monitoring_st.png


Exemple 40. Surveillance dans l'éditeur LD
_cds_img_monitoring_in_ld.png


Exemple 41. Surveillance dans l'éditeur AS
_cds_img_monitoring_in_sfc.png


Astuce

Vous pouvez désactiver la fonctionnalité de surveillance en ligne ici : Outils → Options, Catégorie éditeur de texte, onglet surveillance.

Surveiller partiellement la baie

Un tableau développé affiche les valeurs réelles jusqu'à 1000 éléments. Cependant, cela peut prêter à confusion. De plus, un tableau peut avoir plus de 1000 éléments. Il est alors utile de limiter la plage d'éléments affichés. Vous pouvez le faire en ligne de la manière suivante.

Procédure. Limiter la zone de surveillance

Condition : Une application est en cours d'exécution. Une variable de tableau multidimensionnel avec plus de 1000 éléments y est déclarée.

Exemple: arrBig : ARRAY [0..100, -9..10, -19..20] OF INT;

  1. Cliquez sur la variable arrBig dans le champ de la colonne Type de données.

    Le dialogue zone de surveillance s'ouvre.

  2. Soumettre commencer la valeur [1, -9, -19] un.

  3. Soumettre finir la valeur [1, 10, 20] un.

    Les valeurs réelles de 800 éléments du tableau sont affichées dans l'éditeur de déclaration. La portée est limitée aux éléments de l'indice [1, <i>, <j>] avec i de -9 à 10 et j de -19 à 20.

Module de fonction de surveillance

Si vous double-cliquez sur la vue de l'éditeur d'un bloc fonctionnel pendant le fonctionnement en ligne, une boîte de dialogue apparaît dans laquelle vous pouvez choisir entre la vue de l'implémentation de base ou une instance spécifique.

Si vous choisissez l'implémentation de base, le code apparaît sous l'éditeur sans que les valeurs courantes soient affichées. Définissez maintenant un point d'arrêt dans l'implémentation de base. Si l'exécution s'arrête là, les valeurs actuelles de l'instance traitée en premier dans le déroulement du programme sont affichées. Vous pouvez maintenant parcourir toutes les instances successivement.

Si vous choisissez l'une des instances, l'éditeur s'ouvre avec le code de l'instance du bloc fonction. Les valeurs actuelles sont affichées dans la déclaration et, le cas échéant, dans l'implémentation et sont constamment mises à jour.

Surveiller la propriété

Vous pouvez dans un objet de propriété _cds_icon_interface_property.png Surveillez les variables lorsque vous définissez un point d'arrêt dans la fonction en ligne. Si arrêté là, les valeurs actuelles sont affichées.

En plus de vos propres valeurs, les valeurs des variables de l'instance de niveau supérieur sont automatiquement affichées. Le pointeur apparaît dans la première ligne de la partie déclaration de la propriété THIS, qui pointe vers l'instance parente, avec les spécifications et les valeurs de type de données actuelles.

Exemple 42. Exemple

code

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

FB_BaseAlfa.PorpBeta.Get
iBaseLocal := iBaseLocal + 1;
IF iBaseLocal > 0 THEN
        PropBeta := TRUE;
END_IF

FB_BaseAlfa.PorpBeta.Set
IF PropBeta = TRUE THEN
        iBaseLocal := 0;
        sBaseLocal := 'Tested IF';
END_IF


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR

fb_BaseAlfa();

IF fb_BaseAlfa.PropBeta = TRUE THEN
        xResult := TRUE;
END_IF
IF xReset THEN
        fb_BaseAlfa.PropBeta := TRUE;
        xReset := FALSE;
END_IF
_cds_img_monitoring_property.png


Surveiller l'accès à la propriété dans l'objet de programmation parent

En plus des valeurs variables, vous pouvez également utiliser les valeurs des propriétés subordonnées dans un bloc fonction ou un programme _cds_icon_interface_property.png surveiller.

Pour ce faire, dans l'objet propriété enfant de la déclaration, ajoutez soit le pragma {attribute 'monitoring' = 'variable'} ou le pragma {attribute 'monitoring' = 'call'} un. Si vous ouvrez l'instance de programme de niveau supérieur ou l'instance de bloc fonctionnel de niveau supérieur pendant l'exécution, les valeurs de propriété actuelles sont affichées dans l'éditeur en plus des valeurs de variable actuelles.

Méthode de surveillance

Vous pouvez dans un objet méthode _cds_icon_method.png Surveillez les variables lorsque vous définissez un point d'arrêt dans la méthode en ligne. Si arrêté là, les valeurs actuelles sont affichées.

En plus de vos propres valeurs, les valeurs des variables de l'instance de niveau supérieur sont automatiquement affichées. Le pointeur apparaît dans la première ligne de la partie déclaration de la méthode THIS, qui pointe vers l'instance parente, avec les spécifications et les valeurs de type de données actuelles.

Exemple 43. Exemple

code

FUNCTION_BLOCK FB_BaseAlfa
VAR
        iBaseLocal : INT;
        sBaseLocal : STRING;
END_VAR
iBaseLocal := iBaseLocal + 1;
sBaseLocal := 'Testing Text';

METHOD MethBaseAlfa : BOOL // Method of FB_BaseAlfa
VAR_INPUT
END_VAR
VAR
        iMethLocal : INT;
END_VAR
iMethLocal := iMethLocal + 1;


PROGRAM PLC_PRG
VAR
        fb_BaseAlfa : FB_BaseAlfa;
END_VAR
fb_BaseAlfa();
fb_BaseAlfa.MethBaseAlfa();
_cds_img_monitoring_method.png


fonction moniteur

Vous pouvez surveiller les variables dans un objet fonction si vous définissez un point d'arrêt dans la fonction lorsqu'elle est en ligne. Si arrêté là, les valeurs actuelles sont affichées.

Surveiller la valeur de retour d'un appel de fonction

Dans l'éditeur ST d'une POU, la valeur de retour actuelle est affichée sous forme de surveillance en ligne à l'endroit où une fonction est appelée.

. Pour cela, les conditions suivantes doivent être remplies :
  • C'est une valeur qui peut être interprétée comme une valeur numérique de 4 octets. Par example INT, SINT ou LINT.

  • Dans la fonction est le pragma {attribute 'monitoring' := 'call'} inséré.