Le specifiche relative al sistema
da progettare sono nella terza parte del file seguente:
|
Specifiche.pdf |
98 KB |
Dopo aver letto le specifiche passiamo ad
analizzarle nel dettaglio. In fondo alla pagina troverai il link al file
contenete i sorgenti del programma completato.
Le specifiche
chiedono di compiere i seguenti passi:
- Aprire
V1 e V2 per caricare solvente e reagente
- Chiudere
V1 dopo un tempo t dall’apertura
- Chiudere
V2 dopo un tempo 2t dall’apertura
- Azionare
MIX e aprire V4
- Dopo
10 secondi dall’apertura di V4, aprire V3 e accendere M1
- Estrarre
600 cm3 dal serbatoio
- Spegnere
M1 e chiudere V3 e V4
Il primo conto da svolgere
è quello per il calcolo del valore corretto del tempo t.
Le specifiche indicano che la portata
in uscita dai serbatoi è 10 cm3/s
e il valore del livello dopo t secondi
dev’essere 600cm3/s.
Considerando che la portata
in ingresso al serbatoio è doppia nei primi t secondi, ne risulta la seguente
equazione:
20*t
+ 10*t = 600
30*t
= 600
t=20
Quindi V1 deve rimanere
aperta 40 secondi mentre V2 solo 20.
Tutte le valvole, MIX e M1
sono ovviamente valori booleani, anche l’indicatore di livello LD1 è booleano
(in quanto simula il comportamento del sensore).
TIM1, TIM2, TIM3 sono gli indicatori di
fine operazione associati rispettivamente
a:
- TIM1=TRUE
sse V1 è rimasta aperta per 40 secondi
- TIM2=TRUE
sse V2 è rimasta aperta per 20 secondi
- TIM3=TRUE
sse l’estrazione della miscela è stata completata
Valori booleani speciali
sono i valori di comando START e STOP i quali fanno rispettivamente iniziare e
terminare la sequenza.
NOTA: STOP interrompe
bruscamente la macchina ed è necessario riavviare il programma per riprendere
il corretto funzionamento.
Stop pone a TRUE la
variabile booleana ausiliaria ARRESTO.
Occorre anche una variabile
che memorizzi il valore del livello
di liquido in ogni istante, tale variabile è LEVEL,
ovviamente di tipo intero.
Quando LEVEL scende a 0,
l’indicatore di livello LD1 assume il valore FALSE,
ad indicare che non c’è più liquido nel serbatoio.
Per il calcolo del valore di
LEVEL, introduciamo due variabili ausiliarie CONTATORE1 e CONTATORE2 di tipo
timer. Esse servono a memorizzare il tempo trascorso dall’avvio della sequenza
e corrispondono linearmente alla quantità di solvente e reagente introdotte nel
serbatoio. Esse infatti vengono incrementate dai contatori che regolano TIM1 e
TIM2.
LEVEL non sarà altro che la
somma, istante per istante delle quantità introdotte da ciascun serbatoio.
NOTA: CONTATORE1 e
CONTATORE2 esprimono i millisecondi contati dal timer che le aggiorna, quindi
per ottenere il valore corretto di cm3 introdotti, bisogna dividere il loro
valore per 1000.
A partire da queste
considerazioni, una possibile rappresentazione del sistema con il Ladder Diagram
di Isagraf è quella contenuta nel file seguente:
|
MixProc.zip |
32.4 KB |
Analizziamola:
- Inizializzazione
della sequenza: simula il
comportamento di un flip-flop SR in cui lo START gioca il ruolo del SET e V3
quello del RESET. La variabile così impostata è AUX. Essa assumerà il
valore TRUE dopo che è stato premuto START e lo manterrà finché V3 non
viene attivata.
- Controllo
del timer TIM1: attende 40 secondi dal
momento in cui AUX diventa TRUE e poi pone TIM1 a TRUE.
- Controllo
del timer TIM2: attende 20 secondi dal
momento in cui AUX diventa TRUE e poi pone TIM2 a TRUE.
- Controllo
della valvola V1: pone V1 a TRUE se la
sequenza è stata attivata e se TIM1 non è ancora diventato TRUE.
- Controllo
della valvola V2: pone V2 a TRUE se la
sequenza è stata attivata e se TIM2 non è ancora diventato TRUE.
- Controllo
LEVEL crescente: esegue la somma tra
le quantità di liquido versate nel serbatoio, trasforma tale valore in cm3
e imposta il valore di LEVEL.
- Controllo
LD1: pone LD1 a TRUE se il serbatoio
non è vuoto. NOTA: nella rappresentazione grafica il valore di LD1 è
invertito per motivi a me ignoti.
- Controllo
MIX: Aziona MIX quando TIM1 e TIM2 si
sono verificati.
- Controllo
V4: Apre V4 quando TIM1 e TIM2 si sono
verificati.
- Controllo
V3: Apre V3 dopo 10 secondi
dall’apertura di V4.
- Controllo
M1: Aziona M1 contemporaneamente a V3.
- Controllo
TIM3: Pone TIM3 a TRUE quando la
sequenza di estrazione si è conclusa.
- Arresto
d’emergenza: Blocca la macchina in
corrispondenza della pressione del tasto STOP.
|