|
Corso di Automazione Manifatturiera (Parte 2 del corso di Automazione e Robotica con Laboratorio (12cfu))
|
|
Video-lezioni
N.B. Essendo lezioni dell'a.a. 2020/21, avvisi dati eventualmente nel corso di queste lezioni potrebbero non valere per quest'anno accademico. La teoria rimane invece sostanzialmente la stessa.
Per una migliore qualità di riproduzione, si consiglia di scaricare le videolezioni anziché guardarle direttamente su Google Drive.
- Lezione AM1 (23/11/2020): diretta su Teams con introduzione al corso e concetti generali sull'Automazione Industriale (in parte presenti nel cap. 1 di questo documento).
- Lezione AM2 (24/11/2020): breve panoramica sulle principali tematiche dell'Automazione Industriale ed inizio presentazione PLC.
- Lezione AM3 (25/11/2020): linguaggio a contatti (istruzioni di conteggio, salto, manipolazione dati) e linguaggio SFC. Esempi (carrello trasportatore, sistema irrigazione, sistema produzione).
- Video AM3a: Prima parte (pagg. 18-24 di questo documento). Tempo 19:53: ho detto che "sono tutti costrutti possibili". In realtà i due grafi disegnati in basso a destra della lavagna sono entrambi da evitare. Infatti, come spiegato nella seconda parte della lezione, quello a sinistra contiene una scelta seguita da una sincronizzazione, che potrebbe portare a un blocco del programma, mentre quello a destra contiene un parallelismo seguito da una convergenza, che potrebbe dar luogo ad ambiguità. In generale, in questo punto della lezione, si vuole solo dire che a valle o a monte di una fase (o di una transizione) ci può essere anche più di una transizione (o più di una fase). Tempo 31:02: ho detto "la condizione non viene verificata" invece di "l'azione non viene effettuata".
- Video AM3b: Seconda parte (pagg. 24-28 di questo documento). Tempo 1:38: ho detto "che sono tutte a valle di una stessa transizione" invece di "che sono tutte a monte di una stessa transizione".
- Lezione AM4 (27/11/2020): traduzione dall'SFC al linguaggio a contatti.
- Video AM4a: Prima parte (pagg. 34-37 di questo documento). Al tempo 13:09 ho detto "il settimo bit" invece di "l'ottavo bit". Al tempo 17:13 ho detto "16 Mb" invece di "16Gb"!!
- Video AM4b: Seconda parte (pagg. 38-41 e 43-45 di questo documento). Tempo 7:58-8:35: effettivamente, nell'implementazione del ladder (KOP) su TIA Portal, mettendo un temporizzatore a valle di un interruttore chiuso (cioè che fa passare corrente), anche se a valle del temporizzatore c'è un interruttore aperto (cioè che blocca la corrente), comunque il computo del tempo parte (elettricamente parlando, è come se all'interno del temporizzatore ci fosse effettivamente un collegamento a massa che fa scorrere corrente dall'ingresso dello stesso, se alimentato, verso la massa, innescando così il conteggio del tempo).
- Lezione AM5 (30/11/2020): diretta su Teams con inizio della parte relativa al testo Modello fluido e controllo di sistemi di produzione (denominato nel seguito semplicemente libro). Controllo di sistemi di produzione mediante l’approssimazione fluida. Sistemi con tempi di setup non trascurabile a macchina singola: definizione e condizione di stabilizzabilità. Frequenza di setup massima a regime di politiche stabili. Politiche non idling: frequenza media di setup a regime di politiche stabili non idling. Caso di P=2 tipi di parti: cenno a non ottimalità politiche non idling (pagg. 7-20 del libro).
- Lezione AM6 (01/12/2020). Sistemi con setup non trascurabile: le politiche CMAA (CLB, CLAB, CLW, CLAW e CLAT) e il teorema che dimostra la loro capacità di stabilizzare il sistema quando ρ<1.
- Video AM6a: Prima parte (pagg. 19-24 del libro). Al tempo 9:23 ho detto "maggiore di P" invece di "maggiore di 2". Al tempo 37:22 ho detto "τi per" invece di "τi diviso".
- Video AM6b: Seconda parte (pagg. 24-28 del libro). Tempo 22:50: in effetti, con altre maggiorazioni non menzionate nella prova (ma riportate nel libro di testo), anche Q0 può essere scelto indipendente da j*. Tempo 24:55: chiaramente ciò vale nell'ipotesi che wn, come osservato in precedenza, è limitato inferiormente (è maggiore o uguale a zero).
- Lezione AM7 (02/12/2020). Sistemi con setup non trascurabile: indice di costo e suo Lower Bound; la politica CLAR e le politiche GRR; calcolo del costo di una RR e sue proprietà; esercizio 1 cap. 1 libro.
- Video AM7a: Prima parte (pagg. 28-36 del libro).
- Video AM7b: Seconda parte (pagg. 36-37 e 42 del libro). Al tempo 4:13, l'estremo superiore di integrazione, posto pari a un generico tempo T, dovrebbe essere +∞.
- Lezione AM8 (04/12/2020). Sistemi con setup non trascurabile: estensione al caso di sistemi con più di una macchina e al caso di singola macchina con tasso di domanda variabile; simulazioni con Matlab ed esercizio 2 del cap. 1 del libro.
- Video AM8a: Prima parte (pagg. 37-40 del libro). Tempo 22:32: si intende lo spessore della striscia misurato su una retta verticale (e non si intende quindi la larghezza effettiva della striscia).
- Video AM8b: Seconda parte (pagg. 40-41 e 43 del libro). Al tempo 22:21 ho detto "se e solo se" ma in realtà vale solo l'implicazione "se il sistema è stabilizzabile allora esiste almeno un buffer (il buffer 1 nell'esempio considerato) che, lavorato al massimo, fa diminuire il WIP complessivo del sistema". Il viceversa non è necessariamente vero.
- Lezione AM9 (09/12/2020). Sistemi con setup trascurabile: condizione di stabilizzabilità e di svuotamento dei buffer, calcolo del tempo minimo di svuotamento Tclear, definizione di una Clearing Policy, introduzione di un indice di costo e definzione della legge di controllo che lo ottimizza: la Regola cμ.
- Video AM9a: Prima parte (pagg. 49-53 del libro).
- Video AM9b: Seconda parte (pagg. 53-59 del libro). ATTENZIONE: al tempo 2:27 ho detto (e scritto sulla tavoletta grafica) che Tclear "è dato da questa formula", mentre in realtà, come osservato al tempo 27:40, la formula corretta è w(0)/(1-ρ). Tempo 22:15: ho detto "mantenere il buffer" invece di "mantenere a zero il buffer".
- Lezione AM10 (11/12/2020). Sistemi con setup trascurabile: estensione dei sistemi precedenti (detti PUSH) al modello PULL. Per tali sistemi: condizione di stabilizzabilità e di svuotamento dei buffer con indicazioni sul tempo minimo di svuotamento Tclear, indice di costo lineare e Regola cμ-estesa, generalizzazione della funzione di costo: le politiche miopi.
- Video AM10a: Prima parte (pagg. 59-67 del libro). Al tempo 19:33 ho detto (e scritto sulla tavoletta grafica) "il cui contenuto è positivo" invece di "il cui contenuto è negativo". Al tempo 29:03 ho detto (e scritto sulla tavoletta grafica) "diviso u2 - d2" invece di "diviso d2 - u2" (si noti che il discorso vale se u2 è stato scelto minore di d2, perché altrimenti x2 non andrebbe a zero).
- Video AM10b: Seconda parte (pagg. 67-71 del libro). Al tempo 7:01 ho detto "vengono minimizzati" invece di "vengono vuotati". Tempi 20:04, 20:06, 20:09 e 20:21: quando dico "il punto di questo triangolo" o "i punti di questo triangolo" intendo sempre anche l'interno del triangolo e non solo il suo perimetro. Al tempo 34:12 ho detto "buffer positivo" invece di "buffer negativo".
- Lezione AM11 (14/12/2020): diretta su Teams relativa all'ultima parte sui sistemi con setup trascurabile. Comportamento su linee di confine, generalizzazioni e limiti delle politiche miopi, esercizio 1 del cap. 2.4 (pagg. 71-80 del libro).
- Lezione AM12 (15/12/2020). Sistemi soggetti a guasti: modello con tempi di guasto e funzionamento descritti da variabili aleatorie esponenziali, cenno ai processi markoviani omogenei ed ergodici, condizione di stabilizzabilità, definizione di un indice di costo e della politica Hedging Point che lo minimizza.
- Video AM12a: Prima parte (pagg. 91-93, 95-96 e 109-110 del libro). Tempo 14:51: è sottinteso che il valore di T considerato in questa proprietà è maggiore o uguale a zero. Tempi 37:48 e 37:52: ho detto "intersezione" invece di "condizionato".
- Video AM12b: Seconda parte (pagg. 110-114 del libro). Dal tempo 36 in poi, avrei più correttamente dovuto parlare di scorta z solo quando z ≥ 0, perché solo in quel caso si tratta effettivamente di una scorta.
- Lezione AM13 (16/12/2020). Sistemi soggetti a guasti: densità di probabilità del buffer a regime ed espressione equivalente dell'indice di costo J(z) in funzione della scorta z, dimostrazione che dJ/dz = E[dg/dx] e applicazione al caso di g(x) lineare e al caso di g(x) quadratica. Politiche JIT (Just In Time). Cenni ad estensioni del problema.
- Video AM13a: Prima parte (pagg. 114-120 del libro).
- Video AM13b: Seconda parte (pagg. 120-127 del libro). Tempo 12:40: in fondo alla lavagna nel caso B ho scritto z* ≥ 0 mentre, come anche indicato nella figura e come si dirà dopo (al tempo 19:40), z* nel caso B è strettamente positiva. Tempo 35:07 e poi 35:52: l'h(tf) più a destra che ho scritto al tempo 35:07 e ho letto al tempo 35:52, dovrebbe essere h(T).
- Lezione AM14 (18/12/2020): diretta su Teams con esercizi su tutta la parte di AutMan: esercizio 3 del cap. 1 (pagg. 43-44 del libro), esercizio 2 del cap. 2 (pagg. 80-82) ed es. 1 del cap. 3 (pagg. 133-135).
- Lezione AM15 (21/12/2020). Esercizi su tutta la parte di AutMan.
- Video AM15a: Prima parte (esercizio 4 del cap. 1 (pagg. 45-46 del libro) ed esercizio 3 del cap. 2 (pagg. 82-83)).
- Video AM15b: Seconda parte (esercizio 4 del cap. 2 (pagg. 83-85) ed esercizio 2 del cap. 3 (pagg. 135-136)). Tempo 17:15: come chiarito poco dopo al tempo 18:44, la definizione di w(t) è errata, in quanto riferita al caso PUSH e non al caso PULL, per cui manca un valore assoluto. Tempo 34:40: ho detto "faccio comunque la derivata" invece di "faccio comunque la media". Tempo 37:22: ho detto "c1 lo conosciamo è 20" invece di "c1 lo conosciamo è 10".
- Lezione AM16 (08/01/2021). Esercizi su tutta la parte di AutMan.
- Video AM16a: Prima parte (esercizio 5 del cap. 1 (pagg. 46-47 del libro) ed esercizio 5 del cap. 2 (pagg. 86-88)). Tempo 6:44: ho detto "pezzi di tipo 1 alla macchina B" invece di "pezzi di tipo B alla macchina 1".
- Video AM16b: Seconda parte (esercizio 6 del cap. 2 (pagg. 88-89) ed esercizio 3 del cap. 3 (pagg. 137-139)). Tempo 16:31: ho scritto (e detto) "qu=1 e qd=100" mentre in realtà (come osservato al tempo 22:54) era il contrario, cioè "qu=100 e qd=1". I conti comunque sono stati fatti coi valori corretti.
- Lezione AM17 (11/01/2021): diretta su Teams con esercizi su tutta la parte di AutMan (esercizi 4 e 5 del cap. 3; cenni sulla simulazione della politica Hedging Point mediante Matlab; quesiti (3a) e (3b) del compito d'esame del 13feb2015). Dal tempo 58:08 al tempo 1h03:05 ho fatto un po' di confusione, anche se alla fine ho detto il legame corretto, e cioè che la varianza del costo calcolato con una simulazione decresce come 1/Tsim, dove Tsim è la durata della simulazione. Poiché la deviazione standard è la radice quadrata della varianza, la deviazione standard decrescerà come 1/√Tsim, che è quanto riscontrato con Matlab (deviazione standard circa un decimo con simulazioni 100 volte più lunghe).
- Lezione AM18 (12/01/2021): diretta su Teams con esercizi su tutta la parte di AutMan (quesito (3b) compito 28gen2016, cenno es. (1) compito 8feb2017, quesito (2b) compito 24gen2019, quesito (2c) compito 22gen2020, soluzione di alcuni dei quiz riportati in questo link).
- Lezione AM19 (13/01/2021). Breve introduzione alla programmazione di un PLC Siemens nell'ambiente TIA Portal.
- Video AM19a: Prima parte (breve descrizione dell'ambiente TIA Portal per la programmazione del PLC con implementazione dell'esempio 1 (Set e Reset) a pag. 30 di questa dispensa; aggiunta di un pannello grafico HMI). Tempo 3:56: in realtà i piedini di ingresso sono sull'altro lato del PLC, quelli che si vedono a destra in alto nell'immagine (modulo nero) sono i piedini di uscita. Tempo 17:44: in realtà l'ultimo byte è l'8191 e non l'8192, in quanto il primo byte è il byte 0 (come suggerito anche nella finestrella gialla di help che si è aperta nel programma).
- Video AM19b: Seconda parte (breve panoramica sugli esempi di programmazione descritti in questa dispensa e disponibili in questo file zip: esempi 2, 4, 5, 11, 12, 13, 14 e 16; cenno a Web Server per accedere al PLC da remoto). Tempo 6:41: ho detto "in serie" invece di "in parallelo" e comunque non è questo l'esempio in cui compare questa problematica ma è l'esempio 5, descritto al tempo 23:16. L'errore presentatosi al tempo 37:52 è molto probabilmente legato a un bug presente nel software PLCSIM, che non permette di ricaricare sul PLC il programma modificato. Pertanto, per evitare il problema, dopo aver modificato il codice su TIA Portal, occorre chiudere PLCSIM e ripartire da capo (col PLC fisico invece, messo in pausa il PLC e modificato il programma, si può procedere al caricamento dello stesso sul PLC senza problemi).