Skip to main content

Comportement étrange dans l'application IEC

Exigences

Vous utilisez un CODESYS exécution.

Résolution des problèmes

Si vous observez un comportement étrange, vérifiez si l'enregistreur d'exécution fournit des conseils ou des informations utiles. CODESYS Runtime Logger dispose d'un mécanisme de filtrage des messages par catégorie. Déboguer la catégorie n'est pas activée par défaut. Activez cette catégorie pour trouver la cause d'un comportement étrange ou de symptômes inattendus.

Il existe des filtres de journalisation globaux et spécifiques aux composants. Vous pouvez consulter une liste détaillée de tous les filtres spécifiques aux composants possibles dans le fichier journal du moteur d'exécution. Utilisez les filtres comme décrit ci-dessous.

Symptômes liés à

Filtre journal basé sur les composants possible

Licences

CmpCodeMeter

Tâches et chronométrage IEC (niveau supérieur)

CmpIecTask

Tâches IEC/chronométrage (niveau bas)

CmpSchedule, SysTask

Application IEC (générale)

CmpApp, CmpIecTask

Application IEC (mémoire)

SysMem

Communication par socket

SysSocket

Communication Ethernet

SysEthernet

Fichiers/dossiers

SysFile, SysDir

Astuce

N'activez pas toutes les catégories de débogage en même temps car cela rendrait difficile la détection du problème réel. Procédez étape par étape et désactivez les filtres « non pertinents » pour avoir une meilleure vision du problème.

. Activez le Déboguer catégorie de message via le shell PLC (pour les versions d'exécution >= SP20).
  1. Ouvrez votre CODESYS projeter et le connecter au contrôleur.

  2. Ouvrez le shell du PLC en double-cliquant sur le contrôleur dans l'arborescence des appareils.

    _rtsl_img_plc_shell.png
  3. Entrez « ? « dans le shell afin de voir toutes les commandes possibles.

  4. Utilisez le logsetfilter, loggetfilter, et logdelfiltercommandes pour écrire, lire et supprimer un filtre. Vous pouvez utiliser des filtres de débogage globaux pour l'ensemble de l'exécution ou des filtres pour un composant spécifique

    • Pour lire la catégorie de journal actuelle dans le monde entier :

      loggetfilter pourrait renvoyer la sortie suivante : Logger.0.Filter : 0x0000000F

    • Pour définir la catégorie de journal actuelle de manière globale :

      logsetfilter 0xffffffff

    • Pour lire la catégorie de journal actuelle pour un composant spécifique (par exemple, CmpCodeMeter) :

      loggetfilter CmpCodeMeter

    • Pour définir la catégorie de journal actuelle pour un composant spécifique (par exemple, CMPCodeMeter) :

      logsetfilter CmpCodeMeter 0xffffffff

. Activation de la catégorie d'enregistreur via le fichier de configuration d'exécution (pour les anciennes versions d'exécution)

Exemple : via une connexion SSH et un éditeur de texte

  1. Arrêtez le runtime via l'outil Deploy.

  2. Connectez-vous à votre système cible (par exemple, via putty ou un autre client SSH).

  3. Ouvrez le fichier de configuration spécifique à l'utilisateur de l'environnement d'exécution avec un éditeur de texte (par exemple, nano) :

    sudo nano /etc/codesyscontrol/CODESYSControl_User.cfg

  4. Trouvez le CmpLog section et réglez le filtre.

    Exemple 1. Configuration d'un filtre global

    Exemple : Logger.0.Filter=0xFFFFFFFFFF pour activer tous les messages de débogage

    _rtsl_img_plc_shell_global.png


    Exemple 2. Configuration d'un filtre spécifique à un composant
    [CmpLog]
    CmpCodeMeter.Filter=0xFFFFFFFF
    SysTask.Filter=0xFFFFFFFF


  5. Enregistrez et fermez le fichier.

  6. Redémarrez le runtime à l'aide de l'outil Deploy.