In particolar modo vedremo:
Il Problema
Il utilizzo ob100 s7-1200 è spesso una fonte di confusione per molti tecnici PLC. Tutti gli esempi che si trovano in rete usano una variabile di memoria che poi viene richiamata nell’OB1, ma così non capisco il vero utilizzo del blocco. Essenzialmente viene utilizzato per cosa? Per impostare valori iniziali ad esempio in timers e contatori? Per caricare dati salvati su variabili in un utilizzo precedente? O per verificare le condizioni iniziali di avviamento di un’automazione per poi mandare un allarme? Non mi è quindi sempre necessario in una semplice applicazione giusto?
Causa Tecnica utilizzo ob100 s7-1200
L’OB100 è un OB (Organizzazione Blocco) che viene eseguito come prima OB quando il PLC viene posto in RUN oppure quando viene fornita alimentazione al PLC. È un OB di prima scansione che serve a inizializzare tutto ciò che deve essere eseguito una sola volta e solo all’inizio del proprio programma, una volta eseguito non viene più eseguito. L’OB1 invece viene eseguito dopo che OB100 è stato eseguito e ne viene ovviamente ripetuta l’esecuzione all’infinito. Può essere utilizzato per settare o resettare dei bit che vuoi essere sicuro che all’avvio del programma siano a 0 o a 1. Oppure un’altro esempio è questo: nella normale scansione dell’ob1 salvi il valore di un’encoder incrementale in una db ad ogni ciclo plc avendo cura di dichiarare l’area dove lo salvi come ritentiva. Con l’ob 100 presetti il valore che hai salvato nella db sull’encoder. L’encoder incrementale diventa così una sorta di assoluto e in caso di mancanza di tensione volontaria o meno non perdi mai la posizione.
Soluzione Definitiva per utilizzo ob100 s7-1200
Step 1: Configurare OB100
Per configurare OB100, vai alla sezione di programmazione del TIA Portal e crea un nuovo OB100. Imposta le variabili iniziali che vuoi settare all’avvio del programma. Questo può includere resettare bit, impostare timers e caricare dati salvati in precedenza.
Step 2: Testare l’Inizializzazione
Esegui il programma e verifica che OB100 sia stato eseguito correttamente. Controlla i valori iniziali impostati e assicurati che tutto funzioni come previsto. Questo è un passaggio cruciale per garantire che l’automazione inizi correttamente.
Step 3: Verifica delle Condizioni Iniziali
Verifica le condizioni iniziali di avviamento dell’automazione. Utilizza log e messaggi di allarme per confermare che OB100 abbia eseguito correttamente le sue funzioni di inizializzazione.
Codice e Configurazione utilizzo ob100 s7-1200
OB100 {
// Settare bit iniziali
BIT_INIZIALIZZAZIONE = 1;
// Resettare timer
TIMER_INIZIALIZZAZIONE = 0;
// Carica dati salvati
MEMORIA_DB = VALORE_SALVATO;
}
Verifica e Test della Soluzione
Esegui il programma e verifica che OB100 abbia eseguito correttamente le sue funzioni di inizializzazione. Controlla i valori iniziali impostati e assicurati che tutto funzioni come previsto. Per maggiori dettagli consulta la documentazione ufficiale Siemens.
Errori Comuni utilizzo ob100 s7-1200
1. OB100 non eseguito: Verifica che il PLC sia posto in RUN e che non ci siano errori di configurazione.
2. Valori iniziali non impostati: Assicurati che le variabili siano correttamente definite e inizializzate.
3. Timer non resettati: Controlla che i timer siano impostati a 0 all’avvio.
Domande Frequenti su utilizzo ob100 s7-1200
1. Perché utilizzare OB100? OB100 è utilizzato per inizializzare il PLC una sola volta all’avvio.
2. Come posso settare i valori iniziali? Configura OB100 nel TIA Portal e imposta le variabili iniziali.
3. Come posso verificare che OB100 sia stato eseguito? Utilizza log e messaggi di allarme per confermare l’esecuzione di OB100.
Conclusione
L’utilizzo ob100 s7-1200 è essenziale per garantire un’iniziale corretta del programma PLC. Segui i passaggi sopra descritti per configurare e testare OB100. Per ulteriori risorse, consulta il forum PLC.
Approfondimento Tecnico Avanzato
L’OB100 S7-1200 è un’organizzazione di blocco (OB) che si esegue come prima operazione quando il PLC viene avviato o alimentato. Questo OB è cruciale per l’inizializzazione di vari parametri e variabili che devono essere impostati una sola volta all’avvio del sistema. All’interno del PLC/TIA, l’OB100 gestisce registri specifici come i registri di memoria (MB) e i registri di programma (PR) per settare i valori iniziali. Ad esempio, può essere utilizzato per inizializzare timer e contatori, impostare bit di stato, o caricare dati salvati in precedenza da un database di memoria (DB). L’OB100 è progettato per essere eseguito una sola volta e, dopo aver completato la sua funzione, non viene più eseguito, a differenza dell’OB1 che viene eseguito ciclicamente. La sua esecuzione è controllata da flag di stato specifici, come il bit di prima scansione, che determina se l’OB100 deve essere eseguito all’avvio del PLC.
La gestione dei registri all’interno dell’OB100 è cruciale per garantire che tutte le variabili siano impostate correttamente prima dell’inizio delle operazioni del PLC. Questo approccio garantisce che l’automazione funzioni in modo coerente e prevenisce errori dovuti a valori non inizializzati. Inoltre, l’OB100 può essere utilizzato per impostare condizioni iniziali per la verifica di errori critici o per avviare sequenze di autodiagnostica, migliorando così l’affidabilità e la manutenibilità del sistema.
Metodi Alternativi e Varianti
Esistono diverse metodologie per gestire l’inizializzazione e il settaggio di variabili nel PLC S7-1200. Oltre all’utilizzo dell’OB100, un approccio alternativo è l’uso di programmi di inizializzazione separati che vengono eseguiti prima dell’avvio principale del programma. Questo metodo offre maggiore flessibilità e può essere utile in sistemi complessi dove diverse inizializzazioni sono necessarie. Un pro di questo approccio è la separazione logica delle operazioni di inizializzazione, mentre un contro potrebbe essere la necessità di gestire la sequenza di esecuzione in modo più complesso.
Un’altra variante è l’uso di funzioni di inizializzazione all’interno dell’OB1. Questo metodo integra le operazioni di inizializzazione direttamente nel ciclo principale del PLC, permettendo un controllo più stretto e immediato. I pro includono una maggiore semplificazione della logica del programma, mentre un contro potrebbe essere una minore chiarezza nella separazione delle responsabilità tra inizializzazione e operazioni principali.
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







