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, elogdelfiltercomandi 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:
loggetfilterpotrebbe restituire il seguente risultato:Logger.0.Filter : 0x0000000FPer impostare la categoria di registro corrente a livello globale:
logsetfilter 0xffffffffPer leggere la categoria di registro corrente per un componente specifico (ad esempio,
CmpCodeMeter):loggetfilter CmpCodeMeterPer 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
puttyo 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.cfgTrova il
CmpLogsezione e imposta il filtro.Esempio 2. Impostazione di un filtro globaleEsempio:
Logger.0.Filter=0xFFFFFFFFFFper abilitare tutti i messaggi di debug
Esempio 3. 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.