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 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.
La commande est utilisée pour l'ajouter à l'application. La commande ouvre lePour é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.
Fonction de surveillance | Taper |
---|---|
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 | |
Contrôles divisionnaires: Surveille la valeur du diviseur pour éviter la division par zéro | |
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 | |
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 | |
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 |