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 |
|
Compiti/tempistiche IEC (livello superiore) |
|
Compiti/tempistiche IEC (livello basso) |
|
Applicazione IEC (generale) |
|
Applicazione IEC (memoria) |
|
Comunicazione socket |
|
Comunicazione Ethernet |
|
File/cartelle |
|
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
Apri il tuo CODESYS proietta e collegalo al controller.
Aprire la shell del PLC facendo doppio clic sul controller nell'albero dei dispositivi.
Inserisci «? "nella shell per vedere tutti i comandi possibili.
Usa il
logsetfilter
,loggetfilter
, elogdelfilter
comandi per scrivere, leggere ed eliminare un filtro. È possibile utilizzare filtri di debug globali per l'intero runtime o filtri per un componente specificoPer 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
Esempio: tramite una connessione SSH e un editor di testo
Interrompi il runtime tramite il Deploy Tool.
Connettiti al tuo sistema di destinazione (ad esempio, tramite
putty
o un altro client SSH).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
Trova il
CmpLog
sezione e imposta il filtro.Esempio 1. Impostazione di un filtro globaleEsempio:
Logger.0.Filter=0xFFFFFFFFFF
per abilitare tutti i messaggi di debugEsempio 2. Impostazione di un filtro specifico per i componenti[CmpLog] CmpCodeMeter.Filter=0xFFFFFFFF SysTask.Filter=0xFFFFFFFF
Salva e chiudi il file.
Riavviare il runtime con il Deploy Tool.