Skip to main content

Strano comportamento nell'applicazione IEC

Requisiti

Stai usando un CODESYS runtime.

Risoluzione dei problemi

Se osservi un comportamento strano, dovresti verificare se il runtime logger fornisce suggerimenti o informazioni preziosi. Il CODESYS runtime logger dispone di un meccanismo per filtrare i messaggi per categoria. Eseguire il debug la categoria non è abilitata per impostazione predefinita. Abilita questa categoria per trovare la causa di comportamenti strani o sintomi imprevisti.

Sono disponibili filtri di registro globali e specifici dei componenti. È possibile visualizzare un elenco dettagliato di tutti i possibili filtri specifici dei componenti nel file di registro del runtime. Utilizza i filtri come descritto di seguito

Sintomi correlati a

Possibile filtro di registro basato su componenti

Licenze

CmpCodeMeter

Compiti/tempistiche IEC (livello superiore)

CmpIecTask

Compiti/tempistiche IEC (livello basso)

CmpSchedule, SysTask

Applicazione IEC (generale)

CmpApp, CmpIecTask

Applicazione IEC (memoria)

SysMem

Comunicazione socket

SysSocket

Comunicazione Ethernet

SysEthernet

File/cartelle

SysFile, SysDir

Suggerimento

Non abilitate tutte le categorie di debug contemporaneamente perché ciò renderebbe difficile l'individuazione del problema effettivo. Procedi passo dopo passo e disabilita i filtri «irrilevanti» per avere una visione migliore del problema

. Attivare il Eseguire il debug categoria di messaggio tramite la shell PLC (per le versioni runtime >= SP20).
  1. Apri il tuo CODESYS proietta e collegalo al controller.

  2. Aprire la shell del PLC facendo doppio clic sul controller nell'albero dei dispositivi.

    _rtsl_img_plc_shell.png
  3. Inserisci «? "nella shell per vedere tutti i comandi possibili.

  4. Usa il logsetfilter, loggetfilter, e logdelfiltercomandi per scrivere, leggere ed eliminare un filtro. È possibile utilizzare filtri di debug globali per l'intero runtime o filtri per un componente specifico

    • Per leggere la categoria di log corrente a livello globale:

      loggetfilter potrebbe restituire il seguente risultato: Logger.0.Filter : 0x0000000F

    • Per impostare la categoria di registro corrente a livello globale:

      logsetfilter 0xffffffff

    • Per leggere la categoria di registro corrente per un componente specifico (ad esempio, CmpCodeMeter):

      loggetfilter CmpCodeMeter

    • Per impostare la categoria di registro corrente per un componente specifico (ad esempio, CMPCodeMeter):

      logsetfilter CmpCodeMeter 0xffffffff

. Abilitazione della categoria dei logger tramite il file di configurazione del runtime (per le versioni di runtime precedenti)

Esempio: tramite una connessione SSH e un editor di testo

  1. Interrompi il runtime tramite il Deploy Tool.

  2. Connettiti al tuo sistema di destinazione (ad esempio, tramite putty o un altro client SSH).

  3. Aprire il file di configurazione specifico dell'utente dell'ambiente di runtime con un editor di testo (ad esempio nano):

    sudo nano /etc/codesyscontrol/CODESYSControl_User.cfg

  4. Trova il CmpLog sezione e imposta il filtro.

    Esempio 1. Impostazione di un filtro globale

    Esempio: Logger.0.Filter=0xFFFFFFFFFF per abilitare tutti i messaggi di debug

    _rtsl_img_plc_shell_global.png


    Esempio 2. Impostazione di un filtro specifico per i componenti
    [CmpLog]
    CmpCodeMeter.Filter=0xFFFFFFFF
    SysTask.Filter=0xFFFFFFFF


  5. Salva e chiudi il file.

  6. Riavviare il runtime con il Deploy Tool.