plc simulazione animata mediante aw-sys (autoware)

Transcript

plc simulazione animata mediante aw-sys (autoware)
PLC SIMULAZIONE ANIMATA MEDIANTE AW-SYS (AUTOWARE)
PLC (SAPERE)
PLC è l’acronimo di Programmable Logic Controller, ovvero Controllore Logico Programmabile.
Il PLC:
→ è un controllore perché utilizzato in ambito civile e industriale per il controllo automatico
di processi
→ è programmabile perché composto da una struttura hardware di base e da una
sovrastruttura software, che consente al programmatore di ottenere il comportamento
desiderato
→ è logico perché, di base, gli ingressi e le uscite sono digitali; in realtà il campo
applicativo si è evoluto e oggi i PLC contemplano moduli hardware analogici e sono dotati
di abilità software tipiche dei microprocessori.
INGRESSI, USCITE, PROGRAMMA
In estrema sintesi un PLC può essere descritto dal seguente schema funzionale:
PLC
ingressi
programma
L’azione di controllo di un processo da parte del PLC
contempla tre macrofasi:
1) interrogazione dello stato del processo, attraverso la lettura
degli ingressi
2) elaborazione interna, svolta in base alle istruzioni di
programmazione
3) attuazione delle decisioni del programma, mediante
aggiornamento dello stato delle uscite
uscite
1
ingressi
2
programma
3
uscite
Terminate le tre macrofasi, il PLC riprende dall’inizio, in modo ciclico.
Nella fase due il PLC esegue le istruzioni impartite attraverso un opportuno linguaggio di
programmazione.
I tre classici linguaggi di programmazione sono:
AWL=AnWeisungListe=lista istruzioni: comprende istruzioni simboliche, simili al linguaggio
macchina dei microprocessori
KOP=KOntaktPlan=schema a contatti: descrive le istruzioni di programmazione con simboli
mutuati dagli schemi elettrici
FUP=FUnktionPlan=schema logico: è espresso mediante blocchi funzionali
PROGRAMMAZIONE IN KOP
L’invenzione di questo linguaggio trae origine dalla necessità di riprodurre a livello software la
struttura degli schemi elettrici hardware, cosicchè un programma può essere compreso anche da
personale che ha familiarità con gli schemi elettrici, ma non possiede conoscenze approfondite di
informatica.
La migrazione dallo schema elettrico a quello informatico avviene secondo regole convenzionali:
→ il contatto normalmente aperto NA e normalmente chiuso NC di un interruttore viene
rappresentato dai seguenti due simboli stilizzati
contatto NA
contatto NC
1
→ un contatto NA genera un livello digitale 0 quando aperto
→ un contatto NC genera un livello digitale 1 quando aperto
→ l’uscita, che circuitalmente è un relè che aziona ad esempio una lampada, una
elettrovalvola, una suoneria, è rappresentata dal simbolo generale di una bobina:
→ le linee di alimentazione del circuito sono orientate verticalmente anziché
orizzontalmente
→ i rami sono orientati orizzontalmente
→ il flusso di potenza procede da sinistra a destra anziché dal positivo al negativo
→ l’elaborazione dello schema procede dall’alto in basso
Ne risulta uno schema che richiama la forma di una scala, nella quale:
→ le linee di alimentazione sono i montanti della scala
→ le istruzioni sono i pioli
Da qui la denominazione di “ladder diagram” ovvero “diagramma a scala”, noto anche come
linguaggio a contatti.
Pur essendo sovrapponibili, uno schema elettrico e il corrispondente diagramma a scala hanno
natura completamente differente:
→ lo schema elettrico manipola direttamente i segnali elettrici
→ il diagramma a scala gestisce in modo virtuale dei livelli digitali.
→ i livelli digitali sono valori binari di memoria, che rappresentano l’immagine degli
ingressi reali, campionati a ogni ciclo nella fase 1
ovvero:
→ lo schema elettrico è completamente hardware
→ il diagramma a scala è completamente software.
→ l’hardware effettivo del PLC è dato dalle interfacce di ingresso e uscita.
Il vantaggio della logica software è data:
→ dalla possibilità di modificare istruzioni di programmazione e non parti fisiche
→ dalla conseguente economicità e velocità di sviluppo
La rappresentazione simbolica degli ingressi e delle uscite è differente nelle due notazioni:
→ notazione tedesca: ingressi E, uscite A
→ notazione inglese: ingressi I, uscite U
☺ esempio: trasposizione da schema elettrico a schema a contatti
+
I1
U1
_
I2
I1
U1
I2
U2
pioli
U2
montanti
Nel passaggio da schema elettrico a schema a contatti, i segnali digitali diventano valori binari.
L’interpretazione degli schemi è data allora dalle seguenti proposizioni:
schema elettrico: Se I1 chiuso scorre corrente e U1 è attivato → schema a contatti: se I1=1 allora U1=1
schema elettrico: Se I2 chiuso scorre corrente e U2 è attivato → schema a contatti: se I2=1 allora U2=1
2
STRUTTURE DI BASE
Nella programmazione dei PLC ogni soluzione è affidata all’esperienza e all’inventiva del
programmatore. Tuttavia è possibile isolare alcune configurazioni ricorrenti di base.
Combinazione AND
A2.0=1 se E0.0=1 e E0.1=1
equivale alla serie di due contatti
Combinazione OR
A2.0=1 se E0.0=1 oppure E0.1=1
equivale al parallelo di due contatti
Combinazione OR di AND
A2.0=1 se ( E0.0=1 e E0.1=1 ) oppure se ( E0.2=1 e E0.3=1 )
Combinazione AND di OR
A2.0=1 se ( E0.0=1 o E0.1=1 ) e (E0.2=1 o E0.3=1 )
Autoritenuta
Lo stato di eccitazione della bobina viene innescato dal pulsante di avvio E0.0 e mantenuto dal
contatto ausiliario A2.0, che continua a alimentare la bobina, anche se E0.0 torna basso.
Nelle applicazioni industriali questa configurazione offre il vantaggio di avviare e mantenere in
funzione un processo mediante un pulsante.
3
Marcia Arresto
In aggiunta allo schema di autoritenuta, la pressione del pulsante normalmente chiuso E0.1, riporta
tutto allo stato di quiete.
Questo schema permette di comandare l’avvio (marcia) e l’arresto di un processo mediante due
pulsanti separati.
La separazione delle due funzioni è fatta per scopi di sicurezza nelle applicazioni industriali.
PLC (SAPER FARE)
Esercizio: sistema combinatorio
Dato lo schema a contatti e la relativa funzione logica, riempire la colonna A2.0.
E0.0 E0.1 E0.2 A2.0
A2.0 = ( E0.0 OR NOT E0.1 ) AND ( E0.2 )
Spuntare le risposte esatte
Affinchè A2.0=1 deve essere necessariamente E0.2=1
Affinchè A2.0=1 deve essere necessariamente E0.0=1 (f)
A2.0 è raggiunto dal flusso di potenza se E0.1 è aperto e E0.2 chiuso
Se E0.0=0, E0.1=0, E0.2=1, il flusso di potenza interessa E0.1 e E0.2
0
0
0
0
0
0
1
1
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
Esercizio: sistema combinatorio
Dato lo schema a contatti e la relativa funzione logica, riempire la colonna A2.0.
E0.0 E0.1 A2.0
( E0.0 AND NOT E0.1 ) OR ( NOT E0.0 AND E0.1 )
0
0
0
0
1
1
1
0
1
1
1
0
Spuntare le risposte esatte
se E0.0=1 e E0.1=0 il flusso di potenza giunge alla bobina dal ramo superiore
se E0.0=0 e E0.1=1 il flusso di potenza giunge alla bobina dal ramo inferiore
la bobina viene eccitata solo quando entrambi i contattori sono attivati (f)
implementa una porta EX-OR
4
PLC (SAPER APPLICARE)
Esercizio: sistema combinatorio a tre ingressi
1) Avviare PC_Sim
2) Selezionare il pulsante con la dicitura “Nuovo” per creare un nuovo blocco di codice
3) Nella finestra “Nuovo blocco” digitare la sigla OB1 (organization block), scegliere il tipo di
editor Ladder e premere il pulsante “Crea”
4) Compaiono la finestra editor del blocco, contrassegnata dal nome OB1 del blocco e il pannello
degli strumenti, dei quali si riporta una breve descrizione:
selezione di un ramo
cancellazione di un ramo
contatto normalmente aperto
contatto normalmente chiuso
bobina
impostazione ramo parallelo
bobina di set
bobina di reset
temporizzatore ad impulso
temporizzatore impulso prolungato
temporizzatore ritardo all’eccitazione
temporizzatore ritardo all’eccitazione con
memoria
contatore
temporizzatore ritardo alla
diseccitazione
5) Selezionare lo strumento “contatto normalmente aperto”, puntare con il mouse sul primo
segmento a sinistra del ramo 1 e cliccare. Aggiungere l’etichetta E0.0 nello spazio vuoto.
6) In modo analogo inserire anche E0.2 e scrivere l’etichetta A2.0
7) Selezionare lo strumento “imposta ramo parallelo”.
→ Premere il mouse in corrispondenza della posizione iniziale del costruendo parallelo.
→ Mantenere premuto il mouse e spostarlo nella posizione finale, quindi rilasciare il
pulsante del mouse.
Durante il trascinamento il programma disegna con una linea tratteggiata la forma del costruendo
parallelo, per aiutare l’utente nell’operazione.
8) Inserire E0.1 negato.
5
In questo caso la costruzione dello schema è terminata, ma in generale è possibile avvalersi del
seguente menù di scelta rapida, che si può invocare con un click destro sul numero del ramo
interessato:
• Elimina: elimina dallo schema il ramo interessato.
• Inserisci: inserisce un nuovo ramo sopra quello interessato.
• Aggiungi: aggiunge un nuovo ramo alla fine dello schema.
• Taglia: elimina il ramo interessato creandone una copia in memoria.
• Copia: crea una copia in memoria del ramo interessato.
• Incolla: inserisce prima del ramo interessato il percorso precedentemente copiato o tagliato
9) Selezionare Finestra → PLC e Finestra → Stato variabili per visualizzare rispettivamente:
→ il pannello di comando del PLC, popolato dei suoi pulsanti di ingresso e dei led di uscita
→ la tabella “Stato variabili” dove è possibile:
→ inserire nella colonna “Op. assoluto” il dato da osservare
→ leggerne il corrispondente stato nella colonna “Stato”
10) Premere il pulsante CPU on per accendere il PLC e il pulsante CPU run per avviare il
programma.
11) Impostare le otto combinazioni degli ingressi E0.0, E0.1, E0.2 e verificare i corrispondenti
valori dell’uscita E2.0 nelle finestre PLC e Stato variabili.
6
PLC (SAPER APPLICARE)
IMPIANTO ELETTROPNEUMATICA 1
Ingressi per il PLC (in blu)
A2.0 solenoide positivo cilindro A
A2.1 solenoide negativo cilindro A
A2.2 solenoide positivo cilindro B
A2.3 solenoide negativo cilindro B
A2.4 solenoide positivo cilindro C
A2.5 solenoide negativo cilindro C
Uscite dal PLC (in rosso)
E0.0 finecorsa negativo cilindro A
E0.1 finecorsa positivo cilindro A
E0.2 finecorsa negativo cilindro B
E0.3 finecorsa positivo cilindro B
E0.4 finecorsa negativo cilindro C
E0.5 finecorsa positivo cilindro C
Per caricare i collegamenti tra PLC e elementi della
finestra di simulazione selezionare File→Carica
collegamenti e fare doppio clic su uno dei file di
estensione .LIN presenti nella cartella AW-SYS\
Pl_SIM
Questo impianto simula tre cilindri pneumatici azionati da distributori. Consideriamo per tutti il
cilindro A.
Il pistone suddivide il cilindro in due camere:
→ la camera positiva è quella che riempita di aria spinge fuori il pistone, che raggiunge la
condizione di fine corsa positiva
→ la camera negativa è quella che riempita di aria fa rientrare il pistone, che raggiunge la
condizione di fine corsa negativa
Il distributore è di tipo bistabile, in quanto può assumere due posizioni possibili, nelle quali
permane se non ulteriormente sollecitato. Il comando del distributore avviene elettricamente per
mezzo di due solenoidi:
→ Il solenoide positivo A+ fa commutare il distributore in modo che l’aria fluisca nella
camera positiva
→ Il solenoide negativo A- fa commutare il distributore in modo che l’aria fluisca nella
camera negativa
Ogni solenoide è dotato di un led di segnalazione dello stato.
Il sistema è anche equipaggiato di finecorsa, che segnalano la posizione raggiunta dal pistone:
→ a0 è il finecorsa negativo
→ a1 è il finecorsa negativo
esercizio: Ciclo A+/AIl programma deve movimentare il pistone alternativamente verso la posizione di fine corsa positiva
e negativa.
Completare la tabella di figura, in base alle seguenti considerazioni:
→ se è attivato il finecorsa negativo a0, deve essere azionato il solenoide A+
→ se è attivato il finecorsa positivo a1, deve essere azionato il solenoide A7
a0
1
0
a1
0
1
comando
A+
B+
Completare lo schema:
Il significato dei rami è:
1. Pone A2.0=1 se E0.0=1
2. Pone A2.1=1 se E0.1=1
Provare il sistema
esercizio: Ciclo A+/B+/A-/BAll’inizio del ciclo, in condizioni di riposo, si ha a0=b0=1. In corrispondenza di questa
combinazione deve essere impartito il comando A+. Il pistone A si estende e attiva il finecorsa
a1………
Proseguire il ragionamento e completare la tabella.
a0
1
0
0
1
a1
0
1
1
0
b0
1
1
0
0
b1
0
0
1
1
comando
A+
B+
AB-
Analizzando le combinazioni digitali degli ingressi si riscontra
che ogni riga presenta una coppia di ‘1’ disposti in modo
diverso rispetto alle altre righe.
Pertanto:
→ non c’è rischio di ambiguità
→ ogni ramo invia all’uscita l’AND degli ingressi digitali a
livello alto
Sulla base di queste considerazioni completare lo schema e verificarlo:
8
Il significato dei rami è:
1. A+ = a0 AND b0
2. B+ = a1 AND b0
3. A- = a1 AND b1
4. B- = a0 AND b1
esercizio: Ciclo A+/B+/B-/ADalla tabella si osserva che la seconda e l’ultima riga
sono mutuamente ambigue, in quanto presentano le
medesime combinazioni. Per rimuovere l’ambiguità è
stato introdotto nella quarta colonna il merker M0, che
rende le due righe distinguibili. Si ha infatti:
→ seconda riga
M0=1
→ quarta riga
M0=0
Il merker viene impostato in corrispondenza delle righe
precedenti:
→ prima riga
M0 settato
→ terza riga
M0 resettato
a0
1
0
0
0
a1
0
1
1
1
b0
1
1
0
1
b1
0
0
1
0
M0
1
1
0
0
comando
A+
B+
BA-
Sulla base di queste considerazioni completare lo schema e verificarlo:
Il significato dei rami è:
1. A+ = a0 AND b0 M0.0 settato
2. B+ = a1 AND b0 AND M0.0
3. B- = a1 AND b1 M0.0 resettato
4. B- = a0 AND b1 AND NOT M0.0
9
PLC (SAPER APPLICARE)
IMPIANTO CONTROLLO
LIVELLO SERBATOIO
Ingressi per il PLC (in blu)
E0.0 livellostato tracimazione serbatorio
E0.1 livellostato livello massimo
E0.2 livellostato livello minimo
E0.3 livellostato scorta insufficiente
E1.0 reset allarme
E1.1 tacitazione sirena
Uscite dal PLC (in rosso)
A2.0 comando valvola afferente
A2.1 allarme tracimazione serbatoio
A2.2 allarme scorta insufficiente
A2.3 sirena di allarme
Il serbatoio di figura è alimentato tramite una valvola afferente e distribuisce all’utenza attraverso
una valvola efferente. Queste valvole possono essere comandate in modalità manuale o automatica.
→ in modalità manuale è possibile comandarne l’apertura e la chiusura rispettivamente con i
pulsanti 1 e 0
→ la modalità automatica, impostata mediante il pulsante A, dipende dalla valvola:
→ valvola afferente: il comando proviene dal PLC attraverso A2.0
→ valvola efferente: la richiesta di liquido è su base casuale
Il sistema è equipaggiato con quattro livellostati.
→ H e L sono utilizzati per il normale controllo del livello, di tipo a tutto o niente
→ H livello massimo
→ L livello minimo
→ HH e LL segnalano una condizione estrema di allarme
→ HH condizione di imminente tracimazione serbatoio
→ LL condizione di scorta di liquido insufficiente
Una sezione di gestione allarmi comprende due segnalatori ottici e uno sonoro:
→ MAX si deve accendere per segnalare la condizione di tracimazione serbatoio
→ MIN si deve accendere per segnalare la condizione scorta di liquido insufficiente
→ l’utilizzo della sirena è lasciato all’iniziativa del lettore
Due pulsanti Reset e Tacitazione sono deputati alle seguenti funzioni:
→ Reset: resetta i segnalatori ottici se la condizione che ha innescato l’allarme è cessata
→ Tacitazione: inibisce la sirena
10
Esercizio: controllo livello a tutto o niente
Completare e verificare lo schema che segue, nel quale il programma controlla la valvola
afferente per assicurare un livello compreso tra MIN e MAX. Per verificarne la funzionalità
impostare la valvola efferente a livello 1 in modalità manuale e la valvola afferente in modalità
automatica. Aiutarsi con i commenti collocati sotto il programma
Il ramo 1 arresta il flusso afferente se il livello supera MAX
1. A2.0=0 se E0.1=1
Il ramo 2 alimenta il serbatoio se il livello scende sotto MIN
3. A2.0=1 se E0.2=0
Spuntare le risposte esatte:
Il sistema di controllo mantiene un livello costante pari alla media tra MIN e MAX (f)
Se il livello è compreso tra MIN e MAX risulta E0.1=0, E0.2=1
Se il livello è minore di MIN risulta E0.1=E0.2=0
Se il livello è maggiore di MAX risulta E01=E0.2=1
Esercizio: controllo livello a tutto o niente con allarmi
Modificare il programma in modo che i segnalatori ottici MIN e MAX indichino le
condizioni di allarme. Il pulsante Reset deve annullare lo stato di allarme nel caso in cui la
condizione di allarme sia stata rimossa. Per simulare le condizioni di allarme agire sulle valvole in
modalità manuale. Provare il programma.
Il ramo 3 imposta l’allarme MAX nel caso di superamento soglia massima
3. Se E0.0=1 A2.1=1
Il ramo 4 resetta il segnalatore ottico MAX se viene premuto il tasto di Reset
4. Se E1.0=1 A2.1=0
Il ramo 5 imposta l’allarme MIN nel caso in cui il livello si porti sotto il minimo
5 Se E0.3=0 A2.2=1
Il ramo 6 resetta il segnalatore ottico MIN se viene premuto il tasto di Reset
6 Se E1.0=1 A2.2=0
Spuntare le risposte esatte:
Il segnalatore ottico MIN si illumina se il livellostato LL è disattivato
Il segnalatore ottico MAX si illumina se il livellostato HH è attivato
Il segnalatore ottico MAX si illumina se il livellostato H è attivato (f)
11
TIMER
TIMER (SAPERE)
Il Timer è un dispositivo dedicato, utile per la temporizzazione delle azioni di controllo.
Sono disponibili diversi temporizzatori, che si distinguono per il diverso comportamento in risposta
all’impulso di innesco. Si riporta di seguito il significato dei terminali e le modalità di
funzionamento:
ingresso in alto a sinistra:
ingresso TW:
ingresso R:
uscita Q:
avvio della temporizzazione
impostazione durata temporizzazione ∆T
ingresso di reset dell’uscita
uscita del temporizzatore
SI impulso
1
1
Q
Q
∆T
∆T
→ un fronte di salita sull’ingresso di avvio della temporizzazione innesca in
uscita un impulso Q di durata ∆T
→ se l’impulso sull’ingresso di avvio della temporizzazione non si mantiene a
potenziale alto, anche Q si azzera
TW
R
SV impulso prolungato
1 V Q
TW
R
1 V
Q
∆T
∆T
→ un fronte di salita sull’ingresso di avvio della temporizzazione innesca in
uscita un impulso Q di durata
→ se l’impulso sull’ingresso di avvio della temporizzazione non si mantiene a
potenziale alto, Q rimane comunque alto per un intervallo ∆T
SE ritardo all’eccitazione T 0
T 0 Q
TW
R
Q
∆T
∆T
→ un fronte di salita sull’ingresso di avvio della temporizzazione innesca in
uscita un impulso Q dopo un intervallo ∆T
→ se l’impulso sull’ingresso di avvio della temporizzazione termina prima
dell’intervallo ∆T, Q non si innesca.
SS ritardo all’eccitazione con memoria
T s Q
T s
R
TW
Q
R
∆T
→ un fronte di salita sull’ingresso di avvio della temporizzazione innesca in
uscita un impulso Q dopo un intervallo ∆T
→ se l’impulso sull’ingresso di avvio della temporizzazione termina prima
dell’intervallo ∆T, Q si innesca comunque e viene resettato da R
12
SA ritardo alla diseccitazione
0 T Q
0 T
Q
TW
∆T temporizzazione innesca in
→ un fronte di salita sull’ingresso di avvio della
uscita un impulso Q
→ tale impulso si mantiene per un intervallo ∆T dopo la cessazione
dell’impulso di avvio della temporizzazione
R
L’ingresso TW accetta, come specificazione dell’intervallo ∆t, una costante di tempo KT, costituita
da:
→ Sigla KT
→ Numero che esprime gli intervalli di tempo (da 0 a 999)
→ Carattere punto
→ Numero da 0 a 3 che specifica la base dei tempi secondo la seguente associazione:
→ 0↔0,01 sec; 1↔0,1 sec; 2↔1 sec; 3↔10 sec;
Per impostare ad esempio un tempo di 5 secondi è possibile scegliere tra queste alternative: KT
500.0, KT 50.1 e KT 5.1. Tuttavia, poiché l’errore massimo che si commette è pari alla costante di
tempo, la rappresentazione più conveniente risulta essere la prima, quella con la base più piccola.
Il più piccolo tempo rappresentabile è KT1.0 (1 centesimo di secondo) mentre il più grande è
KT999.3 (9990 sec).
☺ esempio: ritardo all’eccitazione con memoria
Il temporizzatore in figura, del tipo con ritardo all’eccitazione con memoria, è innescato da un
impulso su E0.0. L’uscita si porta a livello alto dopo 100×0,01=1secondo, e può essere resettata con
un impulso su E0.1.
☺ esempio: shift di un impulso
L’uscita A2.0 si attiva ∆t=5 secondi dopo il fronte di salita dell’impulso di innesco E0.0.
L’uscita A2.1 si attiva in corrispondenza del fronte di salita di E0.0 e si disattiva 5 secondi dopo il
suo fronte di discesa.
L’uscita A2.7, ricavata come AND tra E0.0 e E0.1 è pertanto uguale all’impulso di innesco,
ritardato di 5 secondi.
E0.0
t
A2.0
∆T
t
A2.1
∆T
t
A2.7
t
13
TIMER (SAPER FARE)
Esercizio: generatore onda quadra
Un generatore di onda quadra può essere realizzato collegando in modo incrociato due
temporizzatori ad impulso prolungato. Come descritto dal diagramma temporale, il fronte di salita
dell’uscita negata di un temporizzatore innesca l’impulso sull’altro.
T0
T0¬
T1
T1¬
∆T0
∆T1
Completare lo schema
Spuntare le risposte vere
il fronte di salita di T0 negato innesca l’impulso di T1
il fronte di salita di T1 negato innesca l’impulso di T0
il fronte di discesa di T0 innesca l’impulso di T1
il fronte di salita di T1 innesca l’impulso di T0 (f)
prima dell’istante t=0 T0 e T1 sono a livello basso
all’istante t=0 T1 negato compie una transizione basso-alto
all’istante t=0 T1 innesca il primo impulso di T0
all’istante t=0 T0 e T1 generano entrambi un impulso (f)
14
Esercizio: semafori formula uno
I cinque semafori sono collegati alle uscite A3.0, A3.1, A3.2, A3.3 A3.4. Come descritto dal
diagramma temporale, l’impulso di innesco I0.0 accende il primo semaforo A3.0, poi seguono i
successivi, intervallati di ∆T=1 secondo.
I0.0
T0
T0¬
T1
T2
I0.0
T3
T4
A3.0
A3.1
A3.2
A3.0
A3.1
A3.2
A3.3
A3.4
A3.3
A3.4
Dopo aver analizzato il funzionamento, completare lo schema e verificarlo.
15
TIMER (SAPER APPLICARE)
IMPIANTO SEMAFORICO
La figura mostra un semaforo a quattro
facce F1, F2, F3, F4, per la regolazione
di un incrocio. La centralina semaforica,
implementata mediante PLC, comanda
le lampade per mezzo di attuatori
d’uscita. Gli indirizzi degli attuatori
sono specificati nella tabella seguente.
Uscite dal PLC (in rosso)
A2.0 rosso faccia 1
A2.1 giallo faccia 1
A2.2 verde faccia 1
A2.3 rosso faccia 2
A2.4 giallo faccia 2
A2.5 verde faccia 2
A2.6 rosso faccia 3
A2.7 giallo faccia 3
A3.0 verde faccia 3
A3.1 rosso faccia 4
A3.2 giallo faccia 4
A3.3 verde faccia 4
Esercizio: temporizzazione semaforica
La sequenza semaforica è:
Semaforo1: Rosso
Semaforo2: Verde;
Semaforo1: Rosso
Semaforo2: Verde, Giallo;
Semaforo1: Verde
Semaforo2: Rosso;
Semaforo1: Verde, Giallo Semaforo2: Rosso
Il diagramma di tempificazione descrive gli intervalli temporali generati dai quattro temporizzatori
T0, T1, T2, T3 e i corrispondenti livelli delle uscite RF1, GF1, VF1, RF2, GF2, VF2.
→ i temporizzatori sviluppano 4 sequenze, rispettivamente di 5sec, 2sec, 5sec, 2sec.
→ le uscite sono abilitate dai temporizzatori negli opportuni intervalli
T0
T1
T2
T3
5s
2s
5s
2s
RF1
GF1
VF1
RF2
GF2
VF2
16
Completare la seguente tabella di corrispondenza tra ritardi sviluppati dai temporizzatori
(colonne) e segnali di comando delle lampade (righe).
RF1
GF1
VF1
RF2
GF2
VF2
A2.0
A2.1
A2.2
A2.3
A2.4
A2.5
T0
X
T1
X
T2
T3
X
X
X
X
Si riporta di seguito lo schema nel quale:
→ il fronte di discesa di un temporizzatore, dopo negazione logica, innesca l’impulso del
temporizzatore a valle di esso
→ le uscite dei temporizzatori, con l’ausilio di OR, comandano le uscite.
Completare lo schema.
Provare il sistema
Spuntare le risposte esatte:
Il temporizzatore T0 è innescato da T2 (f)
Il temporizzatore T2 comanda contemporaneamente VF1 e RF2
La terza e la quarta riga della tabella di corrispondenza sono uguali
La prima e la sesta riga della tabella di corrispondenza sono uguali
17
Esercizio: temporizzazione reale
T0
Nella realtà, per ragioni di sicurezza,
al passaggio dal giallo al rosso di una
faccia, non corrisponde un immediato
passaggio al verde dell’altra faccia.
Esiste un tempo di latenza, nel quale
entrambi i semafori sono rossi.
Per questo, come si può osservare
dalla seguente figura, nel diagramma
temporale si aggiunge un terzo
intervallo di 1 secondo.
T1
T2
T3
T4
T5
5s
2s
1s
Compilare la seguente tabella di corrispondenza:
RF1
GF1
VF1
RF2
GF2
VF2
A2.0
A2.1
A2.2
A2.3
A2.4
A2.5
T0
X
T1
X
T2
X
T3
T4
T5
X
X
X
X
X
X
X
X
X
X
Completare lo schema. Provare il sistema.
18
TIMER (SAPER APPLICARE)
IMPIANTO AUTOMAZIONE CANCELLO
Ingressi per il PLC (in blu)
E1.0 fine corsa chiusura
E1.1 fine corsa apertura
E1.2 fotocellula
E1.3 pulsante telecomando chiusura
E1.4 pulsante telecomando apertura
Uscite dal PLC (in rosso)
A3.0 comando chiusura cancello
A3.1 comando apertura cancello
A3.2 comando lampeggiante
La figura mostra uno scenario di ingresso a una abitazione.
Il cancello può essere comandato per mezzo di un telecomando, provvisto di:
→ un pulsante di chiusura TELESX
→ un pulsante di apertura TELEDX
Due finecorsa segnalano il raggiungimento dei limiti della corsa del cancello:
→ FCC finecorsa di chiusura
→ FCA finecorsa di apertura
Una fotocellula intercetta la presenza di un ostacolo alla chiusura del cancello.
Due contattori provvedono a comandare separatamente l’apertura e la chiusura del cancello.
E’ presente un lampeggiatore di avvertimento.
La corsa viene bloccata da due relè:
→ relè termico che interviene se il motore viene continuamente alimentato anche a fine
corsa
→ relè magnetico che interviene se in contattori di apertura e chiusura del cancello sono
azionati contemporaneamente, determinando un cortocircuito franco.
I relè possono essere resettati mediante il tasto R.
19
Esercizio: apertura e chiusura cancello
Completare e provare il seguente segmento di programma, che permette di aprire e
chiudere il cancello mediante il telecomando e comanda l’apertura a fronte della rilevazione della
fotocellula. Aiutarsi con i commenti collocati sotto il programma
Il ramo 1serve a comandare l’apertura del cancello
1. Attiva A3.1 se premuto pulsante apertura oppure presente rilevazione fotocellula
Il ramo 2 serve a fermare l’apertura
2. Disattiva A3.1 se rilevato finecorsa di apertura oppure premuto pulsante di chiusura
Il ramo 3serve a comandare la chiusura del cancello
3. Attiva A3.0 se premuto pulsante chiusura
Il ramo 4 serve a fermare la chiusura del cancello
4. Disattiva A3.0 se rilevato finecorsa di chiusura, oppure premuto pulsante di apertura,
oppure presente rilevazione fotocellula,
Spuntare le risposte esatte:
Se E1.2=1 deve essere azionato il contattore di apertura
Se E1.2=1 deve essere disinserito il contattore di chiusura
A3.0 è attivato dal fine corsa di apertura (f)
A3.0 è attivato da TELESX
20
Esercizio: apertura e chiusura cancello con temporizzazione
Completare e verificare il seguente schema, modificato in modo che la chiusura del
cancello avvenga anche automaticamente, con un ritardo di 4 secondi dal rilevamento dell’apertura
completa del cancello, mediante il relativo fine corsa.
Nel ramo 5 è presente un temporizzatore con ritardo all’eccitazione, che ha lo scopo di intervenire
con un ritardo di 4 secondi, a partire dal raggiungimento del contatto di fine corsa.
5. Innesca un impulso con ritardo quando E1.1=1
Nel ramo 3 è introdotto T0, che serve a attivare con ritardo il contattore di chiusura
3. Imposta A3.0=1 quando T0=1
Spuntare le risposte esatte:
Il Timer T0 si solleva con ritardo di 4 secondi rispetto al fronte di salita di E1.1
La chiusura del cancello avviene se E1.3=1 e contemporaneamente T0=1 (f)
KT400.0 è la costante di tempo del timer
KT400.0 imposta un intervallo complessivo pari a 400 intervalli di 0,01 secondi ciascuno
21
Esercizio: apertura e chiusura cancello con temporizzazione e lampeggio
Completare e verificare lo schema seguente, nel quale il programma ha la funzione
aggiuntiva di attivare il lampeggiatore mentre il cancello è in movimento.
I rami 6 e 7 implementano un generatore di onda quadra.
Il ramo 8 utilizza l’onda quadra all’uscita di T1 per parzializzare l’illuminazione del lampeggiatore.
8. Se il cancello è in movimento (A3.0=1 oppure A3.1=1) viene comandato il lampeggiatore
(A3.2) attraverso l’onda prodotta da T1.
Spuntare le risposte esatte:
Il semiperiodo dell’onda quadra dura mezzo secondo
Il lampeggiatore si accende quando l’uscita di T1 vale 0 (f)
Il lampeggiatore non si accende se A3.0=A3.1=0
Il lampeggiatore non si accende se il cancello è fermo
22
CONTATORE
CONTATORE (SAPERE)
Il contatore è un dispositivo dedicato utile per il conteggio di eventi.
La figura che segue mostra i terminali che fanno capo al contatore e il loro significato.
ZR
ZV
S
ZW
R
Q
ZR:
ZV:
S:
ZW:
R:
Q:
conteggio indietro
conteggio in avanti
impostazione conteggio al valore della costante di tempo
costante di tempo
azzeramento conteggio
uscita
Il comportamento del contatore è il seguente:
→ un fronte di salita sugli ingressi ZR e ZV causa rispettivamente il decremento o
l’incremento del contatore di una unità
→ un fronte di salita su S imposta il contatore a ZW
→ un fronte di salita su R azzera il conteggio
→ l’uscita Q è alta se il conteggio è diverso da zero.
☺ esempio: rimpallo due contatori
Nello schema i due contatori sono interdipendenti:
→ il contatore Z0 viene impostato a 5 dal livello 0 dell’uscita QZ1
→ il contatore Z1 viene impostato a 5 dal livello 0 dell’uscita QZ0
Il conteggio avviene all’indietro ad opera degli ingressi E0.0 e E0.1. Questi tasti
possono essere trasformati in pulsanti con corsa di ritorno, cliccandovi sopra con il
mouse destro. Si noterà che il loro aspetto cambia come nella figura a fianco.
Nella finestra “Stato variabili” è possibile osservare il comportamento interdipendente dei contatori,
che è esplicitato dalla tabella sotto riportata:
→ facendo click su E0.0 il valore di Z0 scende
→ quando Z0=0 risulta QZ0=0 e viene impostato Z1=5
→ proseguendo con il click su E0.1 scende Z1 che, arrivato a 0, innesca di nuovo Z0
E0.0
E0.1
↑
↑
↑
↑
↑
↑
↑
↑
↑
↑
Z0
5
4
3
2
1
0
0
0
0
0
5
Z1
0
0
0
0
0
5
4
3
2
1
0
QZ0
1
1
1
1
1
0
0
0
0
0
1
QZ1
0
0
0
0
0
1
1
1
1
1
0
23
CONTATORE (SAPER FARE)
esercizio: contatore indietro automatico
Il diagramma temporale e lo schema descrivono un contatore all’indietro, nel quale:
→ i due temporizzatori T0 e T1 implementano un generatore d’onda quadra.
→ il fronte di salita di T0 comanda il conteggio indietro di Z0
→ il conteggio inizia quando, alla pressione di E0.0, il contatore Z0 viene impostato a 5.
T0
T1
E0.0
5
4
3
2
Z0 1
Completare lo schema.
24
esercizio: conteggio tempo di chiusura
I due temporizzatori T0 e T1 implementano un’onda quadra di periodo T=0,3+0,7=1secondo che
funge da base dei tempi.
→ il contatore Z0 funge conta in avanti in corrispondenza dei fronti di salita di T0, ma solo
se contemporaneamente si preme E0.0
→ come si può evincere dalla figura, gli impulsi contati da Z0 rappresentano la durata
cumulativa dei tempi di chiusura di E0.0.
→ un impulso su E0.1 azzera il conteggio
T0
T1
E0.0
T0 AND E0.0
5
4
3
2
Z0 1
Completare lo schema,
25
CONTATORE (SAPER APPLICARE)
IMPIANTO NASTRI TRASPORTATORI
Ingressi per il PLC (in blu)
E0.3 E0.4 fotocellule nastro orizzontale
E0.5 E0.6 E0.7 fotocellule nastro verticale
E1.0 E1.1 fine corsa nastro verticale
E0.0 E0.1 E0.2 E1.4 pulsanti
E1.2 E1.3 E1.5 fusibili
Uscite dal PLC (in rosso)
A2.0 avvio motore M1 nastro orizzontale
A2.1 comando motore M2 traslazione
verso l’alto
A2.2 comando motore M2 traslazione
verso il basso
A2.3 A2.4 A2.5 spie intervento fusibili
A2.6 sirena
Il sistema rappresenta un impianto di movimentazione scatole; le scatole sono di due tipi:
→ scatola larga (colore blu)
→ scatola stretta (colore giallo)
Le scatole possono essere caricate secondo due modalità stabilite dal selettore CARICO
SCATOLE:
→ M = manuale: l’operatore sceglie il tipo di scatola attraverso la pressione dei due pulsanti blu
e giallo
→ A = automatico: ogni volta che esce una scatola dal secondo nastro, il primo nastro viene
alimentato; la scelta del tipo di scatola è casuale
Un primo nastro trasportatore orizzontale, mosso dal motore M1, convoglia le scatole verso un
secondo nastro trasportatore verticale, mosso dal motore M2, che le veicola verso il basso o verso
l’alto.
→ il contattore K1 aziona M1
→ i contattori K2 e K3 azionano M2 nei due versi di rotazione: si noti infatti che K2 opera una
inversione delle fasi L1 e L3
Diversi fine corsa e fotocellule distribuiti lungo i due nastri permettono di intercettare il passaggio
delle scatole:
→ la combinazione B1=B2=1 individua il passaggio di una scatola larga (blu)
→ S1 rileva l’arrivo di una scatola sul secondo nastro
Sono presenti nello schema dei fusibili, con i quali è possibile simulare interventi di protezione da
cortocircuiti e sovraccarichi.
26
→ F1 e F2 a monte dei motori proteggono da sovraccarichi: è possibile simularne l’intervento
cliccando su essi
→ se per errore K2 e K3 vengono attivati contemporaneamente generando un corto circuito, si
interrompono i tre fusibili posti sulle linee di alimentazione; per ripristinarli fare clic su essi con
il mouse
E’ presente sulla sinistra un quadro per il controllo del processo tramite i pulsanti Start, Stop,
Reset, Tacitazione.
Sotto il quadro sono collocati dei LED che segnalano le varie condizioni di allarme insorte per
l’intervento dei fusibili. Esiste infine una sirena, utile per segnalare uno stato di allarme.
esercizio: conteggio scatole
Completare il seguente programma che movimenta le scatole sui due nastri e conta, mediante
due contatori Z0 e Z1, il numero delle scatole blu e di quelle gialle. Aiutarsi con i commenti
collocati sotto il programma.
I rami 1, 2, 3 gestiscono l’avvio e l’arresto del nastro orizzontale.
1. avvia nastro orizzontale
2. prenota l’arresto del nastro orizzontale se premuto STOP, mediante il merker M1.0, in attesa che la
scatola in transito raggiunga il nastro verticale
3. stop nastro orizzontale se scatola ricevuta su nastro verticale
I rami 4, 5, 6 stabiliscono la direzione di traslazione del nastro verticale.
4. memorizza mediante M0.0 la presenza di una scatola blu
5. se la scatola è gialla trasla verso l’alto
6. se la scatola è blu trasla verso il basso
Il ramo 7 gestisce l’uscita della scatola dal nastro verticale
7. arresta nastro verticale e riposiziona M0.0=0
I rami 8 e 9 inizializzano i due contatori e contano le scatole
8. incrementa Z0 se rilevato passaggio scatola verso l’alto
9. incrementa Z1 se rilevato passaggio scatola verso il basso
27
Provare il sistema e osservare il conteggio di Z0 e Z1:
Spuntare le risposte esatte:
Il merker M1.0 memorizza la richiesta di stop del nastro orizzontale
Non appena M1.0=1 il nastro orizzontale si arresta (f)
La ricezione di una scatola sul nastro verticale è segnalata dallo stato di E0.5
M0.0 serve a identificare il tipo di scatola
Spuntare le risposte esatte:
M0.0=1 se la scatola è gialla (f)
I due contatori vengono inizializzati se E0.0=1
E0.6 E0.7 individuano la direzione di traslazione del nastro verticale
E0.6 E0.7 sono dati di input per il PLC
esercizio: ripartizione scatole
Completare il seguente programma che movimenta le scatole sui due nastri, dirottandole a
gruppi di 5 verso l’alto e verso il basso. Aiutarsi con i commenti collocati sotto il programma.
I rami 1, 2 sono due contatori interallacciati . Mentre uno
conta all’indietro, l’altro è fermo e viceversa. Non appena
un contatore giunge a 0, carica 5 nell’altro e ne innesca il
conteggio. Con riferimento alla figura a destra si ha:
• Inizialmente Z1=0 e il valore di Z1 negato forza Z0=5
• Ogni impulso su E0.7 decrementa Z0
• Quando Z0=0 forza Z1=5 che inizia il conteggio all’indietro, e così via.
1. Decrementa Z0 sul fronte di salita di E0.7; forza Z0=5 sul fronte di salita di S
2. Decrementa Z1 sul fronte di salita di E0.6; forza Z1=5 sul fronte di salita di S
I rami 3, 4, 5 gestiscono l’avvio e l’arresto del nastro orizzontale.
3. avvia nastro orizzontale
4. prenota l’arresto del nastro, mediante il merker M1.0
28
5. stop nastro orizzontale se scatola ricevuta su nastro verticale
I rami 6 e 7 gestiscono la direzione di traslazione del nastro verticale
6. se M0.0=1 traslazione verso l’alto
7. se M0.1=1 traslazione verso il basso
Il ramo 8 gestisce l’arresto del nastro verticale
8. se finecorsa verso l’alto o verso il basso disattiva contattori K1 e K2
Provare il sistema
Spuntare le risposte esatte:
Non appena il ciclo viene avviato, viene forzato Z1=5 (f)
Sul fronte di salita di S viene impostata la costante di tempo KZ5 in Z0
Un fronte di salita su E0.7 decrementa Z0
Un fronte di salita su E0.6 decrementa Z1
Spuntare le risposte esatte:
Se Z0≠0 si ha M0.0=1
Se Z1=0 si ha M0.1=1 (f)
Quando il fine corsa S1 rileva la presenza di una scatola, viene azionato il nastro verticale
La direzione di traslazione del nastro verticale dipende dallo stato dei merker M0.0 e M0.1
29
CONTATORE (SAPER APPLICARE)
IMPIANTO ASCENSORE
Ingressi per il PLC (in blu)
E1.1 E1.2 E1.3 E1.4 sensori presenza
cabina al piano
E0.5 E0.6 E0.7 E1.0 pulsanti chiamata al
piano
E0.0 E0.1 E0.2 E0.3 E0.4 pulsanti di
chiamata interni alla cabina + stop
E1.5 E1.6 E1.7 sensori cabina
Uscite dal PLC (in rosso)
A2.0 A2.1 A2.2 A2.3 luci di segnalazione
interne alla cabina
A2.4 A2.5 A2.6 A2.7 luci di segnalazione
in corrispondenza del piano
A3.0 A3.1 movimentazione motori cabina
A3.2 A3.3 movimentazione porte cabina
L’ascensore in figura serve quattro piani.
→ a ogni piano è presente un sensore di presenza della cabina
→ i sensori, numerati a partire da 0, sono: S0, S1, S2, S3
Sono presenti dei pulsanti di chiamata, sia all’interno della cabina che in corrispondenza dei piani.
→ i pulsanti interni sono numerati da 0 a 3
All’interno della cabina e in corrispondenza dei piani sono presenti luci di segnalazione
→ all’interno della cabina le luci segnalano il passaggio dell’ascensore in un piano
→ in corrispondenza del piano una luce si accende per segnalare lo stato di occupato
Due contattori K1 e K2 mettono in movimento il motore nelle due distinte direzioni. E’ anche
possibile muovere la cabina manualmente, per mezzo di due pulsanti.
Due contattori K3 e K4 aprono e chiudono le porte dell’ascensore. E’ anche possibile comandare
manualmente le porte della cabina, per mezzo di due pulsanti.
Il sensore di peso S6 segnala la presenza di una o più persone nella cabina. Per modificare il
numero di occupanti cliccare all’interno della cabina.
Il sensore S5 è una cellula fotoelettrica che intercetta il passaggio attraverso le porte di una persona
S4 è il sensore di chiusura delle porte.
30
esercizio: ascensore con chiamate di cabina e di scala
Completare il seguente programma, che permette di chiamare l’ascensore sia con i pulsanti di
cabina che con quelli di scala. Aiutarsi con i commenti collocati sotto il programma.
Iniziamo dai rami 12, 13, 14, 15, che impostano i merker M0.0, M0.1, M0.2, M0.3. M0.0 è relativo al
piano terra, M0.1 al primo piano, M0.2 al secondo e M0.3 al terzo.
Questi merker memorizzano la presenza di una chiamata. Ad esempio M0.0 viene posto a 1 se viene
effettuata una chiamata al piano terra; analogamente avviene per gli altri merker.
12. pone M0.0=1 con autoritenuta se c’è una chiamata al piano terra (E0.0=1 oppure E0.5=1) e se
l’ascensore non è già presente al piano terra (sensore E1.1=0).
13. pone M0.1=1 con autoritenuta se c’è una chiamata al piano 1 (E0.1=1 oppure E0.6=1) e se l’ascensore
non è già presente al piano 1 (sensore E1.2=0).
14. pone M0.2=1 con autoritenuta se c’è una chiamata al piano 2 (E0.2=1 oppure E0.7=1) e se l’ascensore
non è già presente al piano terra (sensore E1.3=0).
15. pone M0.3=1 con autoritenuta se c’è una chiamata al piano 3 (E0.3=1 oppure E1.0=1) e se l’ascensore
non è già presente al piano terra (sensore E1.4=0).
I rami 1, 2, 3 impostano i merker M64.0, M64.1, M64.2, che hanno il significato di chiamata a un piano
superiore rispetto a quello attuale.
1. imposta M64.0=1 se: ascensore presente al piano terra (E1.1=1) e chiamata ai piani 1, 2 oppure 3.
2. imposta M64.1=1 se: ascensore presente al piano 1 (E1.2=1) e chiamata ai piani 2 oppure 3.
3. imposta M64.2=1 se: ascensore presente al piano 2 (E1.3=1) e chiamata al piano 3.
31
I rami 5, 6, 7 impostano i merker M65.3, M65.2, M65.1, che hanno il significato di chiamata a un piano
inferiore rispetto a quello attuale.
5. imposta M65.3=1 se: ascensore presente al piano 3 (E1.4=1) e chiamata ai piani 2, 1 oppure 0.
6. imposta M65.2=1 se: ascensore presente al piano 2 (E1.3=1) e chiamata ai piani 1 oppure 0.
7. imposta M65.1=1 se: ascensore presente al piano 1 (E1.2=1) e chiamata al piano 0.
Il ramo 4 imposta M2.0=1 se è presente una chiamata a uno dei piani superiori all’attuale
4. M2.0=1 se M64.0=1 oppure M64.1=1 oppure M64.2=1
Il ramo 10 aziona l’ascensore verso l’alto
10. imposta A3.1=1 se M2.0=1
Il ramo 8 imposta M2.1=1 se è presente una chiamata a uno dei piani inferiori all’attuale
8. M2.1=1 se M65.3=1 oppure M65.2=1 oppure M65.1=1
Il ramo 11 aziona l’ascensore verso l’alto
11. imposta A3.0=1 se M2.1=1
Il ramo 9 serve a comandare l’arresto dell’ascensore qualora esso sia giunto al piano di chiamata
9. Resetta i merker M0.0 e M0.1 se:
l’ascensore chiamato al piano 0 (M0.0=1) è giunto al piano 0 (E1.1)
l’ascensore chiamato al piano 1 (M0.1=1) è giunto al piano 1 (E1.2)
l’ascensore chiamato al piano 2 (M0.2=1) è giunto al piano 2 (E1.3)
l’ascensore chiamato al piano 3 (M0.3=1) è giunto al piano 3 (E1.4)
Provare il sistema
Spuntare le risposte esatte:
Se l’ascensore viene chiamato al piano 3, viene settato M0.3
Se l’ascensore viene chiamato al piano 2 e E1.3=1, l’ascensore non si muove
L’ascensore si muove verso il terzo piano sia nel caso E0.3=1 che nel caso E1.0=1
M0.0, M0.1, M0.2 e M0.3 servono a identificare il piano in cui si trova l’ascensore (f)
Spuntare le risposte esatte:
L’ascensore si muove verso l’alto se M2.0=1
L’ascensore si muove verso l’alto se A3.1=1
L’ascensore si muove verso l’alto se M64.0=1
L’ascensore si muove verso l’alto se M65.1=1 (f)
32
esercizio: ascensore con segnalazioni
Completare il seguente segmento di programma aggiuntivo, che attiva le luci di segnalazione di
cabina e di piano. Aiutarsi con i commenti collocati sotto il programma
Il ramo 1 attiva contemporaneamente le luci di segnalazione di piano, per segnalare lo stato di
occupato.
1. Imposta A2.4=A2.5=A2.6=A2.7=1 quando l’ascensore è in movimento
I rami 2, 3, 4, 5 impostano le luci di piano per segnalare il passaggio dell’ascensore.
2. Accendi luce piano 0 (A2.0=1) se ascensore presente al piano 0 (E1.1=1)
3. Accendi luce piano 1 (A2.1=1) se ascensore presente al piano 1 (E1.2=1)
4. Accendi luce piano 2 (A2.2=1) se ascensore presente al piano 2 (E1.3=1)
5. Accendi luce piano 3 (A2.3=1) se ascensore presente al piano 3 (E1.4=1)
Provare il sistema
Per la prova è opportuno mantenere questo segmento di programma aggiuntivo relativo alle
segnalazioni separato dal programma precedente, di gestione della movimentazione.
Ciò è possibile mediante l’uso della programmazione a blocchi, che rende il prodotto logicamente
strutturato e pertanto più leggibile e trasportabile.
I diversi tipi di blocchi implementati sono:
→ OB: blocchi organizzativi, i quali vengono richiamati ciclicamente dal sistema operativo.
→ PB: blocchi di programma, nei quali si scrivono le istruzioni in linguaggio Ladder o AWL
→ FB: blocchi funzionali, nei quali si scrivono le istruzioni in linguaggio AWL
→ DB: blocchi dati, nei quali sono riversati i dati utilizzati dal programma
In questo esercizio due blocchi di programma PB10 e PB20 per collocare i due schemi e un blocco
organizzativo OB1 per collocare le istruzioni AWL che richiamano PB10 e PB20, che sono le
seguenti:
: SPA PB10
: SPA PB20
: BE
; movimentazione
; segnalazioni
; end blocco
33
esercizio: ascensore con controlli cabina
Completare il seguente blocco aggiuntivo di programma, che gestisce il movimento della porta della
cabina e inibisce la chiamata dell’ascensore quando occupato da una o più persone o ci sia una
persona che sta entrando o uscendo. Modificare opportunamente il blocco di movimentazione
dell’ascensore. Aiutarsi con i commenti collocati sotto il programma
Il ramo 1 gestisce la chiusura delle porte
1. Avvia il motore per la chiusura (A3.2=1) se è stato comandato il movimento dell’ascensore
(M2.0=1 oppure M2.1=1), se non ci sono persone che ostacolano la chiusura ((E1.6=0) e se le porte
sono aperte (E1.7=0)
Il ramo 2 gestisce l’apertura delle porte
2. Avvia il motore per l’apertura (A3.3=1) se non è stato comandato il movimento dell’ascensore
(M2.0=0 e M2.1=0) e se le porte sono chiuse
Nel blocco di movimentazione deve essere modificata la sezione che riguarda i merker M0.0, M0.1,
M0.2, M0.3.
•
•
E’ stato inserito E1.6 negato in tutti i rami dal 12 al 15, per impedire il movimento nel caso in
cui le persone non siano entrate o uscite completamente.
E’ stato inserito E1.5 negato per impedire il movimento nel caso in cui il la chiamata giunga da
un pulsante di piano ma il sensore di peso ravvisi la presenza di una o più persone nella cabina.
Provare il sistema
Collocare il nuovo segmento nel blocco di programma PB30. Modificare PB10 come spiegato.
34