Skip to main content

Objet : POU pour les contrôles implicites

Vous pouvez ajouter ces POU spéciales à une application pour leur fournir des fonctions de surveillance implicites. Lors de l'exécution, ces fonctions vérifient les limites des types de tableaux ou de sous-gammes, la validité des adresses de pointeur et la division par zéro. Remarque : Cette option peut être désactivée pour les appareils déjà équipés de ces types de blocs de surveillance par une bibliothèque implicite spéciale.

le Ajouter un objet → POU pour les contrôles implicites La commande est utilisée pour l'ajouter à l'application. La commande ouvre le Ajouter une POU pour les vérifications implicites boîte de dialogue dans laquelle vous pouvez sélectionner un type de fonction de surveillance (voir tableau ci-dessous). Selon la fonction de surveillance, vous devez modifier le code d'implémentation ou le créer vous-même à partir de zéro.

Pour éviter les inclusions multiples, les fonctions de surveillance qui ont déjà été insérées sont désactivées dans le Ajouter une POU pour les vérifications implicites dialogue.

Pour plus d'informations, consultez : Utiliser des blocs de construction pour les vérifications implicites

Important

Pour obtenir la fonctionnalité de surveillance des fonctions, ne modifiez pas la partie déclaration. Cependant, vous êtes autorisé à ajouter des variables locales.

Après suppression d'une fonction de surveillance implicite (exemple : Check Bounds) du projet, seul un téléchargement est possible, pas une modification en ligne. Un message correspondant s'affiche.

Astuce

Par défaut, CODESYS n'exécute pas de vérifications implicites des blocs fonctionnels des bibliothèques utilisées dans l'application. Cependant, vous pouvez étendre la vérification aux bibliothèques en ouvrant le Propriétés boîte de dialogue de l'application et en spécifiant la définition du compilateur checks_in_libs dans le Le compilateur définit terrain sur le Construire languette. Cette définition affecte les bibliothèques d'implémentation (*.library) uniquement, pas les bibliothèques protégées (*.compiled-library).

Vous pouvez utiliser l'attribut "no_check" pour désactiver la vérification des POU spéciales dans le projet.

Tableau 62. Fonctions disponibles

Fonction de surveillance

Taper

CheckBounds

Chèques liés

Traitement approprié des violations liées ; une telle manipulation comprend la définition d'indicateurs ou la modification d'indices de champ

CheckDivDInt

Contrôles divisionnaires:

Surveille la valeur du diviseur pour éviter la division par zéro

CheckDivLInt

CheckDivReal

CheckDivLReal

CheckRangeSigned

Contrôles de gamme:

Surveille la limite de plage d'un type de sous-plage en mode d'exécution

Valable pour les types de données DINT/UDINT

CheckRangeUnsigned

CheckLRangeSigned

Contrôles de gamme L:

Surveille la limite de plage d'un type de sous-plage en mode d'exécution

Valable pour les types de données LINT/ULINT

CheckLRangeUnsigned

CheckPointer

Contrôles de pointeur

Vous êtes responsable de remplir complètement cette fonction avec le code d'implémentation. Voir la page d'aide pour "POU 'CheckPointer'". La fonction doit surveiller si le pointeur passé référence ou non une adresse mémoire valide, et si l'orientation de la zone mémoire référencée correspond ou non au type de variable auquel le pointeur se réfère. Si les deux conditions sont remplies, le pointeur est renvoyé. Si non, alors CheckPointer doit effectuer un traitement d'erreur approprié. CheckPointer surveille de la même manière que les variables de type REFERENCE TO.