Attribute monitoring

Présentation

Ce pragma d'attribut permet de surveiller les propriétés et résultats d'appel de fonction dans l'affichage en ligne de l'éditeur IEC ou dans une liste de surveillance.

Surveillance des propriétés

Ajoutez le pragma sur la ligne précédant la définition de la propriété. Le nom, le type et la valeur des variables de la propriété s'affichent alors dans l'affichage en ligne du POU associé à la propriété, ou dans une liste de surveillance. Il est également possible de forcer les variables de la propriété au moyen de valeurs prédéfinies.

Exemple de propriété définie pour la surveillance des variables

Exemple de vue surveillance

Surveillance de la valeur actuelle des variables de propriété

Il existe deux manières de surveiller la valeur actuelle des variables de propriété. Prenez soin de sélectionner l'attribut qui convient pour obtenir la valeur souhaitée. Tout dépend si des opérations applicables aux variables sont implémentées dans la propriété :

1. Pragma {attribute 'monitoring':='variable'}

Une variable implicite est créée pour la propriété. Elle prend la valeur actuelle de la propriété à chaque appel de méthode set ou get par l'application. La dernière valeur enregistrée dans cette variable implicite est surveillée.

Syntaxe

{attribute 'monitoring':='variable'}

2. Pragma {attribute 'monitoring':='appel'}

Cet attribut est réservé aux propriétés renvoyant des pointeurs ou des types de données simples, et non aux types structurés.

La valeur à surveiller est lue ou écrite en appelant directement la propriété : le service de surveillance du système d'exécution exécute la méthode Get ou Set de la fonction de propriété incluant la partie implémentation de la propriété.

NOTE : si vous choisissez ce type de surveillance et non une variable intermédiaire (voir 1. Pragma), tenez compte des incidences possibles si des opérations sont implémentées dans la propriété.
NOTE : la configuration de symbole évalue également le monitoring pragma. Si la valeur variable a été indiquée, la propriété est seulement accessible en lecture dans cette configuration.

Syntaxe

{attribute 'monitoring':='call'}

Surveillance des résultats d'un appel de fonction

La surveillance des appels de fonction convient pour n'importe quelle valeur constante pouvant être interprétée en tant que valeur numérique de 4 octets (INT, SHORT et LONG, par exemple). Pour les autres paramètres d'entrée (BOOL, par exemple), préférez une variable à un paramètre constant. Ajoutez le pragma {attribute 'monitoring':='call'} sur la ligne précédant la déclaration de la fonction. Vous pouvez ensuite surveiller la variable renvoyée dans la vue en ligne du POU dans lequel une variable se voit attribuer le résultat d'un appel de fonction. Dans le même objectif, la variable peut aussi être ajoutée à une liste de surveillance. Pour que la variable soit immédiatement disponible dans une vue de surveillance, exécutez la commande Add watchlist.

Exemple 1 : fonctions FUN2 et FUN_BOOL2 avec attribut 'monitoring'

Exemple 2 : appel des fonctions FUN2 et FUN_BOOL2 dans un POU du programme

Exemple 3 : appels de fonction en mode en ligne

Surveillance des variables via l'appel implicite d'une fonction externe

La surveillance des variables via l'appel implicite d'une fonction externe est soumise aux conditions suivantes :

  • La fonction est marquée par {attribute 'monitoring' := 'call'}.

  • L'option Toujours lier est activée pour la fonction.

  • La variable est marquée par {attribute 'monitoring_instead' := 'MyExternalFunction(a,b,c)'}.

  • Les valeurs a,b,c sont des entiers qui correspondent aux paramètres d'entrée de la fonction à appeler.

NOTE : Les fonctions ne peuvent être ni écrites, ni forcées. Il est possible d'implémenter un forçage implicite en ajoutant un paramètre d'entrée supplémentaire à la fonction servant d'indicateur de forçage interne.
NOTE : La surveillance des fonctions n'est pas prise en charge sur le système d'exécution compact.