In particolar modo vedremo:
Il Problema
Un tecnico PLC ha incontrato difficoltà nel leggere lo stato dei LED del suo S7-1200. Nonostante le prove, i valori letti sono risultati incoerenti, con il LED 1 restituendo -32623 e il LED 5 restituendo sempre 9, indicando che il LED non esiste o l’informazione di stato non è disponibile.
Causa Tecnica errore LED
Il problema principale è che la variabile HW_IO non assume automaticamente il valore corretto. Il manuale suggerisce di collegare la costante ‘Local~Common’ alla variabile del DB o direttamente all’ingresso della funzione LED, ma non sempre tutte le CPU supportano la diagnostica di tutti i LED.
Soluzione Definitiva per errore LED
Passo 1: Verifica la Costante
Assicurati di utilizzare la costante ‘Local~Common’ nella variabile del DB o collegala direttamente all’ingresso LADDR della funzione LED. Questa costante si trova nella tabella delle variabili del PLC o nella configurazione hardware della CPU.
Passo 2: Configura il DB
Se utilizzi un DB, copia la costante ‘Local~Common’ nella variabile del DB. Questo permette di richiamare la funzione LED per diagnosticare lo stato dei LED di altre apparecchiature.
Passo 3: Verifica il Supporto della CPU
Controlla se la tua CPU supporta la diagnostica per tutti i LED. Non tutte le CPU del S7-1200 offrono questa funzionalità per tutti i LED.
Passo 4: Test e Debug
Dopo aver configurato la costante e il DB, esegui il programma e verifica lo stato dei LED. Se il problema persiste, potrebbe essere necessario un ulteriore debug.
Passo 5: Consultazione del Manuale
Per ulteriori dettagli, consulta il manuale completo del S7-1200. Questo offre informazioni dettagliate sulle opzioni di diagnostica disponibili.
Codice e Configurazione errore LED
DB1.DBX1 := 'Local~Common'; // Costante per LED 1
DB1.DBX2 := 'Local~Common'; // Costante per LED 5
Verifica e Test della Soluzione
Esegui il programma e verifica che i LED 1 e 5 restituiscano i valori corretti. Per maggiori dettagli consulta la documentazione ufficiale Siemens.
Errori Comuni errore LED
1. LED non esiste: Verifica se la CPU supporta la diagnostica per il LED in questione.
2. Valori incoerenti: Assicurati che la costante ‘Local~Common’ sia correttamente configurata.
3. Configurazione DB errata: Verifica che la variabile del DB sia correttamente impostata.
Domande Frequenti su errore LED
Q: Perché il LED 5 restituisce sempre 9?
R: Potrebbe essere che il LED 5 non è supportato dalla tua CPU per la diagnostica.
Q: Come posso verificare se la mia CPU supporta tutti i LED?
R: Consulta il manuale completo del S7-1200 per informazioni dettagliate.
Q: Cosa devo fare se il problema persiste?
R: Esegui un debug dettagliato e consulta la documentazione ufficiale.
Conclusione
Per risolvere l’errore LED S7-1200, è necessario configurare correttamente la costante ‘Local~Common’ e verificare il supporto della CPU per la diagnostica dei LED. Segui le istruzioni sopra per correggere il problema e consulta la comunità PLC per ulteriori supporti.
Approfondimento Tecnico Avanzato
Nell’ambito della programmazione PLC S7-1200, è fondamentale comprendere il funzionamento interno e i registri coinvolti per risolvere efficacemente i problemi di lettura degli stati dei LED. La variabile HW_IO, che rappresenta l’identificativo hardware dell’interfaccia, non assume automaticamente il valore corretto, obbligando l’utente a intervenire manualmente. La costante ‘Local~Common’, presente nella tabella delle variabili del PLC, è cruciale per collegare correttamente il sistema. La CPU S7-1200 utilizza registri specifici per la gestione dei LED, come il registro DB1, dove vengono memorizzati gli stati di ciascun LED. La lettura incoerente dei valori può derivare da una mancata configurazione corretta di questi registri o da una scarsa compatibilità hardware che non supporta la diagnostica di tutti i LED. La comprensione approfondita di questi meccanismi consente di intervenire con precisione per risolvere i problemi di comunicazione e lettura.
Metodi Alternativi e Varianti
Per affrontare il problema della lettura incoerente degli stati dei LED S7-1200, esistono diverse strade che possono essere percorse. Una prima variante implica l’uso diretto della costante ‘Local~Common’ collegata all’ingresso LADDR della funzione LED, evitando l’utilizzo di variabili DB. Questo approccio è semplice e diretto ma richiede una conoscenza approfondita delle costanti di sistema del PLC. Un’altra variante prevede l’implementazione di un ciclo di lettura periodico che aggiorna costantemente lo stato dei LED, migliorando la reattività del sistema. Questo metodo, sebbene più complesso, offre una maggiore affidabilità nei sistemi con frequenti variazioni di stato. Infine, un approccio alternativo potrebbe includere l’uso di un modulo di espansione per aumentare la capacità di diagnostica della CPU, consentendo una lettura più accurata e completa degli stati dei LED. Ognuna di queste strade ha i suoi pro e contro, e la scelta dipende dalle specifiche esigenze del sistema e dalle capacità hardware disponibili.
Stanco di andare a tentativi?
Se errori come questo ti mandano in panico, probabilmente ti mancano le basi solide della programmazione PLC.
Smetti di risolvere problemi uno alla volta e impara il metodo giusto dall’inizio.

“Semplifica, automatizza, sorridi: il mantra del programmatore zen.”
Dott. Strongoli Alessandro
Programmatore
CEO IO PROGRAMMO srl


