Skip to main content

Configuration et exécution d'une analyse statique

À l’aide d’un exemple de projet de base ci-dessous, vous trouverez les étapes et options les plus importantes pour configurer et exécuter une analyse statique.

Exigences : CODESYS Static Analysis est installé.

Exemple de projet

Si vous souhaitez reproduire l'exemple de projet, créez un projet standard et insérez les POU sous l'application dans l'arborescence des appareils. Configurez ensuite les paramètres de communication pour la connexion à votre réseau local. CODESYS Control Win.

FUNCTION_BLOCK fb1
VAR_INPUT
    iVar_fb1in1 : INT;
    ivar_fb1in2 : INT;
    rVar_fb1in3 : REAL;
END_VAR
VAR_OUTPUT
       iVar_fb1out:INT;
END_VAR
VAR
    P_fSampleProperty : INT;
    rVar : REAL;
    PRO : BOOL;
END_VAR
iVar_fb1out:=iVar_fb1in1 + 1;
FUNCTION_BLOCK fb2
VAR_INPUT
    iVar_fb2in:INT;
END_VAR
VAR_OUTPUT
    iVar_fb2out:INT;
END_VAR
VAR
END_VAR
iVar_fb2out:=iVar_fb2in - 1;
PROGRAM PLC_PRG
VAR
    fb1_inst: fb1;
    fb2_inst: fb2;
END_VAR
fb1_inst(iVar_fb1in1 := 99);
fb2_inst(iVar_fb2in := 22);
fb2_inst(iVar_fb2in := 1);

Vérification du respect des règles

  1. Cliquez sur Construire → Analyse statique → Paramètres. Passez à la Des règles languette.

    Une liste s'affiche contenant toutes les vérifications de règles possibles. Ils sont organisés selon une arborescence par catégorie thématique. Le « numéro de règle » est ajouté entre parenthèses (exemple : Variables inutilisées (33) dans la catégorie Objets inutilisés).

  2. Cochez plusieurs fois la case de la première ligne (Règles nœud).

    Cliquer pour basculer l'état d'activation. Les cases à cocher dans l'ensemble de l'arborescence comportent une coche rouge ou orange, voire aucune coche du tout.

  3. De cette manière, activez toutes les entrées avec une coche rouge. Cela signifie que CODESYS Static Analysis doit signaler toute violation de règle détectée comme une erreur.

  4. Cliquez sur Construire → Analyse statique → Exécuter une analyse statique.

    Les erreurs sont signalées dans la vue des messages. Les textes des messages sont marqués d'un sa_icon_message.png et commencer par le numéro d'erreur "SA<numéro de règle>".

  5. Double-cliquez sur le message SA0033 : Variables inutilisées 'iVar_fb2out'.

    Le focus se déplace vers la partie déclaration du bloc fonction fb2 et la variable pertinente est sélectionnée. La variable est déclarée, mais pas utilisée. Ceci est vérifié dans la règle 33 (Variables inutilisées). Dans le code, les emplacements concernés sont soulignés par un trait ondulé.

  6. Pour tester l'exécution automatique de l'analyse, cliquez sur Construire → Analyse statique → Paramètres. Sur le Paramètres onglet, sélectionnez l'onglet Effectuer une analyse statique automatiquement après la compilation option. Cliquez sur D'ACCORD pour quitter la boîte de dialogue.

  7. Cliquez sur En ligne → Connexion.

    Une invite de dialogue indique que des erreurs de compilation existent. Les erreurs signalées par l'analyse du code sont à nouveau affichées dans la vue des messages.

  8. Cliquez sur Construire → Analyse statique → Paramètres. Passez au Règles languette. Effacez maintenant toutes les règles de la boîte de dialogue. Dans le Objets inutilisés catégorie, activez explicitement la règle SA0035 (Variables d'entrée inutilisées (35)) avec une coche de couleur orange pour signaler un « avertissement ». Consultez l'info-bulle pour le texte de la règle : Cette règle correspond aux règles PLCopen suivantes : CP24). Cliquez sur D'ACCORD pour quitter la boîte de dialogue.

  9. Cliquez sur Construire → Générer du code.

    L'analyse est effectuée automatiquement. Dans la vue des messages, deux erreurs sont signalées au Messages d'analyse statique catégorie:

    § SA0035 : Entrée inutilisée 'iVar_fb1in2'

    § SA0035 : Entrée inutilisée 'iVar_fb1in3'

  10. Double-cliquez sur le message et commentez ou supprimez la déclaration. Effectuez à nouveau l’analyse du code.

    Aucun message d'erreur ne s'affiche.

Vérification de la conformité aux conventions de dénomination définies

  1. Cliquez sur Construire → Analyse statique → Paramètres. Passez au Conventions de nommage languette.

    Vous voyez un tableau dans une structure arborescente divisée en catégories extensibles de variables et de blocs de programme.

  2. Élargir la Préfixes pour les variablesPréfixes pour les types catégorie, et dans la Préfixe colonne, précisez I pour INT (14).

    Élargir la Préfixes pour les POUPréfixes pour le type de POU catégorie. Dans le Préfixecolonne, précisez le prog pour PROGRAMME (122) et fb pour BLOC FONCTIONNEL (103).

  3. Sélectionnez le Le premier caractère après le préfixe doit être une lettre majuscule option. Désactivez toutes les autres options.

  4. Cliquez sur Construire → Analyse statique → Exécuter une analyse statique.

    Messages d'erreur:

    • NC0102 : Nom non valide 'PLC_PRG' : attendez le préfixe 'prog' car PLC_PRG n'a pas le préfixe requis

    • Le premier caractère après le préfixe doit être en majuscule : 'ivar_fb1in2' parce que ivar_fb1in2 : INT; est dans fb1.

    • NC0014 : Nom de variable non valide P_fSampleProperty : Attendez-vous au préfixe « i » car cette variable entière n'a pas le préfixe requis.

Vérification des symboles interdits

  1. Cliquez sur Construire → Analyse statique → Paramètres. Passez à la Symboles interdits languette.

    Un éditeur de ligne permet de spécifier des chaînes à ne pas utiliser dans le code.

  2. Par exemple, double-cliquez sur la ligne vide et saisissez la chaîne invalide PRO directement. Double-cliquez sur la ligne vierge suivante et cliquez sur le _cds_icon_three_dots.png pour ouvrir l'assistant de saisie. À partir de Types standards, sélectionnez RÉEL. Cliquez sur d'accord pour quitter la boîte de dialogue.

  3. Cliquez sur Construire → Analyse statique → Exécuter une analyse statique.

    Les messages d'erreur Forbidden symbol 'REAL' et Forbidden symbol 'PRO' sont affichés dans la vue des messages. Double-cliquez sur le texte du message pour accéder à la ligne de code correspondante.

Affichage des métriques

CODESYS Static Analysis effectue des tests sélectionnés sur le code et vous pouvez afficher les résultats dans une vue.

  1. Cliquez sur Construire → Analyse statique → Paramètres. Passez à la Métrique languette.

    Les métriques qui CODESYS Static Analysis s'applique au code sont répertoriés dans un tableau.

  2. Pour cet exemple, activez le Nombre de variables d'entrée métrique et spécifier la plage de valeurs autorisée : limite inférieure 1 et limite supérieure 2.

    Activez certaines mesures supplémentaires, telles que taille du code, nombre de vues Etc.

  3. Cliquez sur Construire → Analyse statique → Afficher les métriques standard.

    La vue comprend un tableau avec une ligne pour chacun Unité de programme de l’exemple de programme. Pour chaque métrique activée, il existe une colonne affichant les valeurs mesurées. Les valeurs qui se situent en dehors de la plage de valeurs définie dans les paramètres sont surlignées en rouge. Dans le cas de cet exemple spécifique, c'est au moins le PLC_PRG/Entrées champ car le nombre de variables d'entrée dans ce POU est supérieur à la limite supérieure définie de 2.