Questa è una vecchia versione del documento!
Indice
Seconda prova 2019
Risorse
Operazioni preliminari
Leggendo attentamente il testo si osserva che:
- la prima parte è tutto sommato semplice da capire e implementare (preparazione del composto, scarico e trattamento termico)
- la parte sul traslo-elevatore è decisamente più complicata: vanno gestiti due motori con encoder e occupate in sequenza quattro celle, poi termina il ciclo
- il terzo punto chiede anche di dimensionare motore e riduttore (argomento che sfioriamo appena nella materia)
- il quarto punto richiede di progettare un circuito di condizionamento complesso
Punto 1
Ingressi, uscite e altro
Leggendo il testo della prova individuiamo ingressi e uscite:
nome | indirizzo | descrizione |
---|---|---|
PM | I0.2 | pulsante start NA |
PA | I0.3 | pulsante arresto NC |
SL | I0.6 | sensore livello NC (0 = livello raggiunto) |
FTCP | I0.7 | fotocellula passaggio panetto solido NA |
SP | I1.0 | sensore presenza contenitore NA (1 = presenza contenitore) |
FCMX | I1.11) | finecorsa sinistra motore traslo-elevatore asse x NC |
FCMY | I1.2 | finecorsa basso motore traslo-elevatore asse y NC |
HSCX | ID1000 | conteggio cm asse x |
HSCY | ID1008 | conteggio cm asse y |
EV1 | Q0.0 | elettrovalvola saracinesca carico |
NASTRO | Q0.1 | motore nastro trasportatore |
MESC | Q0.2 | mescolatore a pale |
EV2 | Q0.3 | elettrovalvola saracinesca scarico |
P6V | Q0.4 | contatto generatore da 6V per il piatto riscaldante |
P3V | Q0.5 | contatto generatore da 3,3V per il piatto riscaldante |
AGG | Q0.6 | aggancio contenitore |
MXA | Q0.7 | motore traslo-elevatore avanti asse x |
MXI | Q1.0 | motore traslo-elevatore indietro asse x |
MYA | Q1.1 | motore traslo-elevatore avanti asse y |
MYI | Q1.2 | motore traslo-elevatore indietro asse y |
LON | Q1.3 | lampada segnalazione ciclo attivo |
LOFF | Q1.4 | lampada segnalazione ciclo non attivo |
Saranno necessari anche questi timer e contatori:
nome | descrizione | parametri |
---|---|---|
CTUP | contatore panetti solidi | IN=FTCP, PV=5, reset con fronte salita di MESC o con PA |
CTUMAG | contatore celle magazzino | IN=AGG, PV=4 reset con PM o con PA |
TONM | timer mescolatore | PT=10' (10“ nel collaudo) |
TONS | timer scarico | PT=5” |
TON90 | timer piatto a 90°C | 10' (10“ nel collaudo) |
TON50 | timer piatto a 50°C | 5' (5” nel collaudo) |
TONAGG | timer aggancio/sgancio cella | PT=3' |
Osservazioni varie
Per gestire la temperatura del piatto riscaldante, dove servono 6V per 90°C e 3,3V per 50°C, si può usare un'uscita analogica. Un'alternativa più semplice è usare due generatori di tensione regolati su 3,3V e 6V e collegarli al piatto chiudendo il contatto di due uscite a relè.
Encoder degli assi X e Y del traslo-elevatore: ipotizziamo di usare due HSC per encoder incrementali (conta fino a 700) impegnando 4 ingressi (2 per encoder). Il valore del conteggio è contenuto nelle variabili ID1000 e ID1008 (double int). I conteggi vengono resettati da due finecorsa (sinistra e basso).
Per riempire le quattro celle il ciclo va ripetuto incrementando un contatore che indicizza i dati delle cordinate X e Y in due array. Gli array non possono essere dichiarati nella tabella delle variabili ma richiedono un blocco dati (DB1). Per esempio l'array con le quattro coordinate x si dichiara indicando Array[1..4] of Int
come tipo di dati e inserendo come valori inziali i quattro valori indicati nella tabella con le coordinate moltiplicati per 100 (nella tabella ci sono i metri mentre l'encoder fornisce un impulso ogni 10mm cioè ogni centimetro). Per l'array con le coordinate y si procede allo stesso modo. Come indice per iterare tra i valori dell'array useremo un contatore (l'indice sarà CTUMAG.CV
). NB: bisogna fare molta attenzione a non usare un indice non compatibile con la dichiarazione dell'array (ad esempio x[5]
) o il PLC segnalerà un errore.
SFC
Tralasciamo lo schema a blocchi, che è banale, e passiamo all'algoritmo che descriviamo con un diagramma SFC. Nel diagramma non ci sono i contatori perché incrementano il loro valore con sei segnali e non con il passo attivo.