Benvenuto in questo tutorial dedicato alla programmazione dei PLC Allen Bradley della serie Micro. Oggi parliamo delle istruzioni di comparazione, che sono tra le funzioni più utili e utilizzate nei controllori logici programmabili, e non solo; queste istruzioni le troviamo praticamente in qualsiasi linguaggio di programmazione, anche ad alto livello.
Tra i controllori Rockwell programmabili con la suite CCW (Connected Components Workbench), abbiamo il piccolo Micro810 che rappresenta il modello meno costoso e performante, e poi una serie di modelli più grandi, per arrivare al Micro870, unità top della gamma.
Se vogliamo provare le istruzioni nel simulatore Micro800 Simulator che CCW ci mette a disposizione, allora possiamo scegliere come processore per le nostre prove il Micro850 (LC50).
Le istruzioni di comparazione e le variabili.
Quando rappresentiamo il nostro sistema d’automatizzare, che sia una linea di produzione, di movimentazione o altro, abbiamo a che fare con variabili che rappresentano stati discreti (0/1), e variabili analogiche, che contengono numeri interi o reali.
Le variabili numeriche ci permettono di rappresentare per esempio valori di processo come la temperatura, la pressione, la portata e così via; per poterle utilizzare nel programma del PLC, molto spesso è necessario confrontarle con altre variabili o delle costanti.
Facciamo un esempio, e supponiamo di avere un piccolo impianto come quello mostrato nella figura che segue. Le variabili numeriche potranno rappresentare la temperatura del serbatoio (TT101), la temperatura all’uscita dello scambiatore di calore (TT100), o ancora il valore di conducibilità CT100; in questo caso probabilmente rappresenteremmo queste variabili di processo con dei valori reali a virgola mobile.
Confronto dei valori nel plc.
Per gestire i parametri di funzionamento dell’impianto nel PLC, una volta acquisiti i dati dai moduli analogici e opportunamente scalati, possiamo utilizzare le istruzioni di comparazione per creare le funzioni necessarie.
Per esempio, possiamo dire “se la temperatura TT101 è maggiore di 60°C, allora il serbatoio è pronto per essere utilizzato”. Allo stesso modo potremmo dire “Se la temperatura TT100 è minore di 90°C, allora possiamo attivare il vapore per mezzo della valvola EV100”.
Per tradurre queste frasi in linguaggio ladder o di altro tipo per PLC utilizziamo proprio le istruzioni di comparazione; nella prossima immagine ne vediamo alcune.
Nel primo ramo di programma troviamo l’istruzione di comparazione “Minore di”, che restituisce valore “Vero” quando il valore del primo operando (in questo caso una variabile collegata a una sonda di temperatura), è minore del valore del secondo operando. Sulla parte di uscita del ramo abbiamo una bobina, potremmo però mettere anche un altro tipo di istruzione.
Sul secondo ramo ladder abbiamo l’istruzione di comparazione “Maggiore di”, la quale restituisce valore “Vero” quando il valore del primo operando (in questo caso la stessa variabile di prima), è maggiore del valore del secondo operando. Sulla parte di uscita del ramo abbiamo una nuova bobina, e anche quì potremmo mettere un altro tipo di istruzione.
Come abbiamo accennato, all’uscita di un’istruzione di comparazione possiamo mettere un’altra istruzione, come nel caso della terza linea di programma.
Quì troviamo due “compare” messi in serie, per cui la bobina sul bit 3 si attiva quando la temperatura TT100 è minore di 87.0 e la temperatura TT101 è maggiore o uguale a 44 gradi e mezzo.
Notiamo che esistono anche istruzioni di comparazione che includono l’uguaglianza (minore o uguale, maggiore o uguale), e ci sono poi istruzioni più complesse come quelle che verificano se un valore si trova in un range o fuori da un range.
In ogni caso anche con queste semplici istruzioni di base si possono comporre funzioni più sofisticate, dato che come abbiamo visto, le possiamo mettere anche in serie, e naturalmente in parallelo.