Blocchi Organizzativi (OB)

I blocchi organizzativi rappresentano l’interfaccia tra il sistema operativo ed il programma utente. Sono cioè blocchi che l’utente può programmare ma che normalmente vengono chiamati da sistema operativo ciclicamente o a seguito del verificarsi di specifiche condizioni. Essi possono essere programmati in ladder o in AWL. Di seguito elenchiamo i blocchi organizzativi che il sistema operativo del PLC simulato chiama e le condizioni per cui tale chiamata si verifica.

OB1     Elaborazione ciclica del programma

Il blocco organizzativo OB1 è richiamato ciclicamente da sistema operativo subito dopo l’aggiornamento dell’immagine di processo degli ingressi. Ogni programma dovrà contenere questo blocco ed esso potrà contenere, eventualmente, richiami di altri blocchi. Se intendete scrivere tutto il programma in un unico blocco è proprio l’OB1 che dovrete programmare.

OB100  Nuovo avviamento (Stop ® Run)

All’inserimento del selettore del modo di funzionamento Stop-Run (passaggio in Run) vengono cancellati l’immagine di processo, i temporizzatori, i contatori non ritentivi ed i merker non ritentivi, quindi viene elaborato, se programmato, il blocco OB101. Successivamente verrà eseguito il normale programma ciclico (richiamo dell’OB1). Durante l’elaborazione dell’OB101 il LED rosso STOP e quello verde di RUN sono accesi contemporaneamente.

Questo blocco può essere utilizzato per le impostazioni iniziali che eventuali merker debbano assumere al riavviamento della CPU.[PC1]

OB81   Fuori servizio batteria

La CPU del PLC simulato controlla continuamente lo stato della batteria. Quando la batteria viene disinserita (non è possibile simulare in senso stretto che la batteria si scarichi) viene elaborato prima di ogni ciclo, se programmato, l’OB81. In esso è possibile scrivere la reazione che il programma utente deve avere in caso di batteria fuori servizio.

L’OB81 continuerà ad essere elaborato, prima di ogni ciclo, fino al reinserimento della batteria tampone.

La funzione della batteria nel PLC reale è quella di mantenere il programma in RAM quando la CPU non è alimentata e di mantenere, nelle stesse condizioni, il valore dei merker e dei contatori ritentivi. Nella simulazione è stato riproposto un analogo comportamento perché lo si è ritenuto importante dal punto di vista didattico.

^