| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
| simulazione2026 [2026/05/10 16:38] – [Punto 2] admin | simulazione2026 [2026/05/19 16:53] (versione attuale) – [Punto 3] admin |
|---|
| |MIN|attivazione valvola dosatore al 20%| | |MIN|attivazione valvola dosatore al 20%| |
| |MAX|attivazione valvola dosatore al 100%| | |MAX|attivazione valvola dosatore al 100%| |
| | |TAP|attivazione tappatrice| |
| |CAM|attivazione sistema di visione| | |CAM|attivazione sistema di visione| |
| |K1|espulsore pneumatico K1| | |K1|espulsore pneumatico K1| |
| * vasetto con 200g di miele V<sub>d</sub> = (0.15+0.2)*100 = 35 mV | * vasetto con 200g di miele V<sub>d</sub> = (0.15+0.2)*100 = 35 mV |
| * vasetto pieno con 250g di miele V<sub>d</sub> = (0.15+0.25)*100 = 40 mV | * vasetto pieno con 250g di miele V<sub>d</sub> = (0.15+0.25)*100 = 40 mV |
| | |
| |
| Allora il guadagno richiesto per ottenere 10 Volt quando il vasetto è pieno sarà A<sub>v</sub> = 10/0.04 = 250 | Allora il guadagno richiesto per ottenere 10 Volt quando il vasetto è pieno sarà A<sub>v</sub> = 10/0.04 = 250 |
| * i sensori A, B, C e D sono fotocellule a infrarosso, con elemento foto-emettitore a LED e ricevitore a fototransistor, alimentati a 24V in continua e con segnale in uscita 0-24V DC | * i sensori A, B, C e D sono fotocellule a infrarosso, con elemento foto-emettitore a LED e ricevitore a fototransistor, alimentati a 24V in continua e con segnale in uscita 0-24V DC |
| * i finecorsa sono meccanici con contatti normalmente aperti (per semplicità, altrimenti sarebbe più corretto usare contatti NC) | * i finecorsa sono meccanici con contatti normalmente aperti (per semplicità, altrimenti sarebbe più corretto usare contatti NC) |
| * | * il sistema di visione accetta è attivato da un segnale digitale in ingresso a 24V e produce due segnali digitali 0-24V in uscita per indicare il termine dell'elaborazione e l'errore di posizionamento del coperchio |
| | * l'elettrovalvola del dosatore è pilotata da due segnali digitali 0-24V DC che producono tre combinazioni: valvola chiusa, valvola aperta al 20% e valvola aperta al 100% |
| ==== Osservazioni varie ==== | * la tappatrice, alimentata a 230V in alternata, si attiva con un segnale digitale 0-24V DC |
| | * gli attuatori pneumatici sono cilindri pneumatici a semplice effetto pilotati da elettrovalvole di tipo 3-2 con bobine a 24V DC |
| 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è. | * la cella di carico è un sensore di forza (peso) che sfrutta una trave di metallo deformabile sulla quale sono inseriti quattro estensimetri collegati a ponte di Wheatstone; la forza deforma i quattro estensimetri (due lavorano in trazione e due in compressione) per produrre un segnale differenziale in tensione che va amplificato e riferito a massa preferibilmente con una soluzione con amplificatore per strumentazione |
| | |
| 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 dei segnali e non con il passo attivo. L'algoritmo ipotizza che il composto vada preparato dopo ogni deposito in una cella del magazzino ma si poteva supporre che il preparato fosse sufficiente a riempire tutte e quattro le celle; il testo non è chiaro al riguardo. | |
| | |
| {{::sfc_esame_2019.png?400|}} | |
| | |
| {{ ::sfc_esame_2019.zip |sorgente SFC per draw.io}} | |
| | |
| |
| ===== Punto 2 ===== | ==== Punto 3 ==== |
| |
| {{ ::esame2019plc30.zip |soluzione completa per PLC S7-1200 (serie 30)}}((nel programma c'è un errore: le coordinate negli array sono in metri invece che in centimetri)) | === Nastro trasportatore e K2 === |
| ===== Punto 3 ===== | |
| |
| Il rapporto di riduzione richiesto si ottiene dividendo la velocità di un MAT a 4 poli (circa 1500 giri/m) per quella richiesta: | Il nastro è sempre attivo. L'espulsore K2 è comandato dal contatore CTU1 che attiva la sua uscita dopo 3 impulsi del sensore D. Il finecorsa FCK2 resetta il conteggio disattivando K2. |
| |
| `i=n_(mot)/n_(mesc)=1500/40=37,5` | === Stazione di tappatura === |
| |
| Alla velocità di 40 rpm la coppia resistente vale: | La tappatrice TAP è comandata da un timer a impulso TP1 che attiva la sua uscita per un tempo pari a 2 secondi quando il segnale del sensore B passa al livello alto. Lo stopper S3 viene comandato insieme alla tappatrice. |
| |
| `C_r=60+1,17 ((40 cdot 2 pi)/60)^2=80,5 Nm` | === Stazione di singolarizzazione/riempimento e di ispezione/scarto === |
| |
| La potenza richiesta dal mescolatore è: | Le due stazioni sono gestite in maniera indipendente con gli algoritmi descritti dai seguenti diagrammi SFC((c'è un errore nel primo perché ci sono due passo P3, il secondo è il passo P4)). |
| |
| `P=C cdot omega = 80,5 cdot (40 cdot 2 pi)/60 = 337W` | {{::simulazione_2026.png|SFC della stazione di riempimento e di ispezione}} |
| |
| Tenendo conto del rendimento del riduttore la potenza minima del motore è: | |
| |
| `P_(min)=P/(0,75)=449W` | ===== Seconda parte ===== |
| |
| Si sceglie allora un motore da mezzo chilowatt. | ==== Quesito 1 ==== |
| ===== Punto 4: condizionamento ===== | |
| |
| Il circuito proposto è questo: | Considerato il range di temperatura richiesto la scelta più sensata è quella di utilizzare un sensore integrato LM35 (10 mV/°C) abbinato a semplice circuito di condizionamento con amplificatore operazionale nella configurazione non invertente. Nel campo richiesto il segnale del sensore sarà 0-500 mV; per ottenere 0-10 V in uscita serve un guadagno 20 quindi le due resistenze potrebbero essere da 1kΩ, verso massa, e 19kΩ (18 + trimmer multigiro da 2) nel ramo di retroazione. |
| |
| {{::condizionamento_2019.png?600|}} | ==== Quesito 2 ==== |
| |
| La soluzione non è per niente banale e viene da [[https://electronics.stackexchange.com/questions/500234/three-points-two-slopes-op-amp-conditioning-circuit/500259#500259|qui]]. | Vedi [[https://leonardocanducci.org/wiki/tp5/wheatstone#amplificatore_per_strumentazione|la sezione sull'amplificatore per strumentazione]] dagli appunti di quinta. |
| |
| Il circuito richiede guadagno 16 fino a 250mV. Questo si può imporre con opportuni valori di R<sub>1</sub> e R<sub>2</sub>. Fino a questa soglia U<sub>2</sub> satura (la tensione sull'ingresso invertente è maggiore di quella sull'ingresso non invertente), il diodo risulta interdetto e il ramo con R<sub>3</sub> è interrotto. | |
| |
| Quando V<sub>1</sub> supera i 250mV il guadagno richiesto è 24 (ΔV<sub>o</sub>/ΔV<sub>in</sub>) con un offeset di -2V (0.5*24=12V ma si vogliono 10V in uscita). In questo range di valori l'operazionale U<sub>2</sub> e il diodo si comportano come un buffer e ci sono 250mV costanti applicati a R<sub>3</sub>. La tensione in uscita si calcola con la sovrapposizione degli effetti considerando separatamente la sola V<sub>1</sub>, in configurazione non invertente con guadagno R<sub>1</sub>/(R<sub>2</sub> || R<sub>3</sub>), e la tensione costante di 250mV, in configurazione invertente con guadagno -R<sub>1</sub>/R<sub>3</sub>). Imponendo guadagno 24 si ottiene: | ==== Quesito 3 ==== |
| |
| | Ci sono più soluzioni possibili ma servirà: |
| | * generare col micro-controllore un segnale PWM con duty-cycle variabile per controllare la velocità senza dissipare potenza |
| | * una soluzione discreta (a BJT o MOSFET) o integrata (L293, L298, ecc.) per ponte H per l'inversione della velocità |
| |
| `24=1+(R1)/(R2 ∥ R3)` | Si possono fare considerazioni su: |
| | * eventuale problema della traslazione di livello per pilotare i MOSFET con segnali digitali a 5V |
| | * diodi di ricircolo per proteggere i componenti elettronici |
| | * schemi circuitali del ponte H |
| | * regolazione efficiente (senza perdite) del valore medio di una tensione, e quindi della velocità di un motore, usando un segnale PWM |
| |
| dove, sostituendo i valori di R<sub>1</sub> e R<sub>2</sub> si ottiene R<sub>3</sub> = 1,875Ω | ==== Quesito 4 ==== |
| |
| | Il quesito riprende la configurazione presente nel laboratorio di TPSEE dove: |
| | * la scheda PC ha indirizzo 192.168.0.2 |
| | * il PLC ha indirizzo 192.168.0.1 |
| | * l'HMI ha indirizzo 192.168.0.3 |
| | * la maschera di rete è 255.255.255.0 (quindi i primi tre numeri individuano la rete e il quarto l'indirizzo in quella rete) |
| |
| | Per connettersi a un server sul web bisognerà specificare anche: |
| | * l'indirizzo del gateway, cioè del PC/server/router collegato a più reti che instraderà o pacchetti provenienti dal PLC |
| | * l'indirizzo del server DNS, che tradurrà l'indirizzo ntp1.inrim.it in un indirizzo IP |