![](../gifs/logoto_1.gif) |
Corso di Automazione Manifatturiera (Parte 2 del corso di Robotica e Automazione (10cfu) o Automazione e Robotica con Laboratorio (12cfu))
|
|
Progetto sui PLC (A.A. 2023/24)
Il lavoro di programmazione da effettuare sui PLC Siemens può essere portato avanti in gruppi di più studenti (indicativamente fino ad un massimo di 5).
Traccia del progetto.
Si consideri il progetto descritto nell'Esempio 16 della dispensa sui PLC. Si tratta del progetto TIA Portal lavoraManualeArriviAutomaticiConHMI, che è uno dei progetti presenti nel file esempiPLC.zip da 78Mb (il link per il download di questo file è riportato nella pagina Testi di riferimento e materiale didattico).
Come descritto nella dispensa, il codice di questo progetto simula sul PLC un sistema di produzione costituito da una macchina che lavora tre tipi di parti. I pezzi attendono di essere lavorati in tre buffer distinti, i quali hanno una capacità massima limitata (gli arrivi vengono ignorati se il contenuto del buffer ha raggiunto il suo valore massimo). La dinamica degli arrivi è modellata con un temporizzatore che fa arrivare un pezzo ogni tot secondi. Le lavorazioni dei tre tipi di pezzi vengono invece effettuate quando gli interruttori collegati agli ingressi I0.0, I0.1 e I0.2 rispettivamente per le parti di tipo 1, 2 e 3, passano da 0 a 1. Un pannello HMI permette di visualizzare in tempo reale l'evoluzione dinamica del contenuto dei tre buffer.
Modificare il progetto aggiungendovi i seguenti ingredienti:
- Le lavorazioni non devono più essere effettuate manualmente, pigiando gli interruttori, ma implementando una politica CLAR, assumendo pari a uno le costanti ci che compaiono nella sua definizione.
- Il colore della macchina deve variare in base al suo stato: a) colorata del colore del buffer che sta lavorando durante le lavorazioni; b) colorata di un altro colore se sta facendo un setup; c) nera altrimenti.
- Nel pannello grafico inserire un interruttore per accendere/spegnere la macchina e dei campi numerici I/O che riportino il contenuto dei tre buffer e le loro priorità in base alla politica CLAR. Fare riferimento alla figura in basso per avere un'idea di come deve apparire il pannello grafico. Si notano in basso i campi I/O relativi al contenuto xi dei buffer e quelli con le priorità Pi degli stessi. La macchina è gialla perché sta lavorando il buffer 2, il cui materiale è rappresentato in giallo. I campi I/O permettono non solo di leggere ma anche di modificare il valore della variabile che descrivono.
Scegliere un sistema con i seguenti parametri: tempo di setup pari a un secondo; capacità dei 3 buffer pari a 100; tassi di domanda pari a 10, 3 e 1 pezzi al secondo per le parti di tipo 1, 2 e 3 rispettivamente; tempi di lavorazione τ pari a 20, 143 e 50 ms rispettivamente per le tre parti.
Confrontare il risultato che si osserva durante l'esecuzione sul pannello HMI con quello che si può ottenere da Matlab adattando opportunamente i parametri di questo script: la sequenza a regime delle lavorazioni e i valori massimi dei vari buffer che si ottengono con la simulazione mediante PLC della CLAR coincidono con quelli che fornisce Matlab?
Suggerimento: Scrivere prima il programma SFC che implementa la CLAR. In base a tale programma, la macchina sceglie il buffer da processare con priorità più alta e, dopo aver lavorato un pezzo, controlla se il buffer è vuoto. Se ci sono altri pezzi ne lavora un altro, altrimenti torna alla scelta del buffer in base alle priorità e, dopo il setup, comincia a lavorare il buffer selezionato. La priorità secondo la CLAR è determinata dalla formula riportata nella definizione 1.9 del testo Modello fluido e Controllo di Sistemi di Produzione. Tradurre quindi il programma SFC nel linguaggio a contatti e aggiungere nel progetto un blocco in cui si riporterà il programma ottenuto. Infine aggiungere in tale blocco un segmento che calcola la priorità dei vari buffer (per tradurre le variabili di tipo tempo in variabili da utilizzare nei calcoli si può ricorrere all'operatore MOVE, presente tra le Operazioni di trasferimento delle Istruzioni di base nel menu a destra, che permette di trasferire il valore numerico in ms di una variabile di tipo tempo in una variabile di tipo intero).