In particolar modo vedremo:
Il Problema
Un tecnico PLC ha incontrato malfunzionamenti quando utilizza variabili all’interno di funzioni blocco (FB) nel programma S7-1200 su TIA Portal. In particolare, quando si utilizzano le variabili dichiarate all’interno dell’FB, si notano comportamenti inaspettati tra il simulatore PLC e TIA Portal.
Causa Tecnica Malfunzionamenti Variabili FB
La scansione PLC è una lettura del programma dall’alto al basso. Se una variabile è utilizzata in più parti del programma, può causare conflitti. Le uscite fisiche devono essere gestite in un unico punto del programma, utilizzando memorie di appoggio come i merker. Se si utilizzano variabili globali all’interno di FB richiamate più volte, queste possono essere sovrascritte ad ogni richiamo, causando malfunzionamenti.
Soluzione Definitiva per Malfunzionamenti Variabili FB
Passo 1: Limitare l’uso di variabili globali
Evitare di utilizzare variabili globali all’interno delle FB richiamate più volte. Utilizza variabili locali all’interno dell’FB per gestire le operazioni.
Passo 2: Verificare la logica del programma
Verifica che le uscite siano gestite in un unico punto del programma. Utilizza merker o altre memorie di appoggio per combinare i risultati.
Passo 3: Testare con variabili locali
Eseguire test utilizzando solo le variabili dichiarate all’interno dell’FB per eliminare i malfunzionamenti.
Codice e Configurazione Malfunzionamenti Variabili FB
FB_Esempio("VAR_LOCAL"); // Utilizza variabili locali
Questo esempio mostra come utilizzare variabili locali all’interno dell’FB per evitare conflitti.
Verifica e Test della Soluzione
Eseguire test dettagliati per verificare che le uscite siano corrette sia in TIA Portal che nel simulatore PLC. Consultare la documentazione ufficiale Siemens per ulteriori dettagli.
Errori Comuni Malfunzionamenti Variabili FB
1. Utilizzo di variabili globali all’interno di FB richiamate più volte.
2. Conflitti tra variabili utilizzate in più parti del programma.
3. Mancanza di gestione delle uscite fisiche in un unico punto del programma.
Domande Frequenti su Malfunzionamenti Variabili FB
Domanda 1: Come posso evitare conflitti tra variabili?
Risposta: Utilizza variabili locali all’interno delle FB e gestisci le uscite in un unico punto del programma.
Domanda 2: Perché i malfunzionamenti si verificano nel simulatore PLC?
Risposta: I malfunzionamenti possono derivare da conflitti di variabili o da una gestione errata delle uscite fisiche.
Conclusione
Risolvere i malfunzionamenti delle variabili FB nel S7-1200 richiede una gestione corretta delle variabili e delle uscite fisiche. Seguire le best practice per evitare conflitti e garantire una corretta esecuzione del programma.
Approfondimento Tecnico Avanzato
Nell’ambito dell’utilizzo delle funzioni blocco (FB) nel programma S7-1200 su TIA Portal, è cruciale comprendere il funzionamento interno del PLC e le dinamiche di scansione. Il PLC esegue la scansione del programma in modo sequenziale dall’alto in basso, il che implica che ogni istruzione viene eseguita in un ordine preciso. Le variabili utilizzate all’interno delle FB devono essere gestite con attenzione, poiché la loro allocazione e il loro stato possono influenzare la scansione. I registri coinvolti, come i registri di memoria (MB) e i registri di input/output (I/O), giocano un ruolo fondamentale nel processo di scansione. Per esempio, quando si utilizzano variabili globali all’interno di FB richiamate più volte, è possibile che queste variabili vengano sovrascritte ad ogni richiamo, causando malfunzionamenti. La comprensione approfondita di questi registri e delle loro interazioni è essenziale per evitare conflitti e garantire un funzionamento corretto del sistema.
Un esempio concreto è l’uso di memorie di appoggio come i merker per gestire le uscite fisiche. Questi registri permettono di combinare i risultati degli algoritmi in un unico punto del programma, evitando così conflitti tra diverse parti del codice. La scansione PLC, quindi, non solo è una semplice lettura del programma, ma coinvolge anche la gestione dei registri e delle variabili in modo tale da garantire la coerenza e l’efficienza del funzionamento del PLC.
Metodi Alternativi e Varianti
Per risolvere i malfunzionamenti delle variabili all’interno delle FB, esistono diversi approcci alternativi. Uno dei metodi è l’utilizzo di variabili locali all’interno delle FB, evitando così l’uso di variabili globali che possono essere sovrascritte ad ogni richiamo. Questo approccio garantisce che le variabili siano gestite esclusivamente all’interno della FB, riducendo il rischio di conflitti. Un altro metodo alternativo è l’uso di array di memoria per memorizzare i valori delle variabili, che può essere più efficiente per gestire grandi quantità di dati. Tuttavia, questo approccio richiede una gestione più complessa dei dati e può essere più difficile da implementare rispetto all’uso di variabili locali. Infine, un approccio basato sull’uso di funzioni di controllo (FC) invece di FB può offrire una maggiore flessibilità nella gestione delle variabili, ma richiede una conoscenza approfondita delle dinamiche di scansione del PLC.
Ognuno di questi metodi ha i suoi pro e contro. L’utilizzo di variabili locali è semplice e sicuro, ma può limitare la condivisione dei dati tra FB. L’uso di array di memoria offre maggiore efficienza per grandi set di dati ma può essere complesso da implementare. Le funzioni di controllo offrono flessibilità ma richiedono una maggiore conoscenza tecnica del sistema.
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







