Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
- Introduzione
Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente
complesso) consiste nel dividerlo in sottoproblemi più piccoli. La divisione permette di realizzare
uno schema a blocchi che risulta molto utile per l’analisi del problema e semplifica la risoluzione
dello stesso. Ogni condizione nella quale può trovarsi il ciclo della lavorazione viene detta STATO;
la scelta ed il numero degli stati varia da caso a caso ed in generale programmatori diversi possono
usare stati di diversa complessità.
A ogni stato è possibile pervenire tramite delle apposite condizioni di ingresso; ad ognuno degli
stati è poi associata una Memoria la cui attivazione identificherà lo stato nel quale si trova la
macchina via via che il ciclo prosegue; l’ingresso in uno stato deve chiaramente provocare il reset
dello stato dal quale si proviene: non è infatti possibile trovarsi contemporaneamente in più stati
(anche se per problemi semplici questo in genere non causa problemi, in casi di maggiore
complessità può portare ad anomalie anche rilevanti);
Si passa da uno stato all’altro mediante una Condizione, essa può essere realizzata mediante segnali
di ingresso, contatti di temporizzatori oppure di contatori ecc…
Ad ogni stato sono associate delle azioni: tali azioni possono interessare direttamente le uscite,
oppure semplicemente creare delle condizioni di passaggio allo stato successivo;
alla fine del ciclo si deve ritornare alla condizione iniziale (che in alcuni casi viene chiamata
STATO0); a questo punto è quindi possibile ricominciare con il ciclo.
STATO 0
Macchina
ferma
Condizione Condizione
Condizione
STATO 1 STATO 2
Azioni in Azioni in
questo questo
stato stato
- Inizio ciclo: è la condizione che permette di entrare nello Stato 1 della macchina;
tipicamente essa è rappresentata dal pulsante di START;
- STATO 1: rappresenta una delle parti del ciclo di lavorazione che si deve implementare; tale
parte viene identificata all’interno del programma per mezzo di una memoria (M1);
- Azioni all’interno degli stati: sono le azioni da implementare all’interno di ogni stato:
possono essere ad esempio l’attivazione di una uscita, l’inserimento di un contatore o di un
temporizzatore, ecc…
- Condizione: è la condizione che, se verificata, permette di passare dallo STATO1 allo
STATO2; questa condizione può essere rappresentata da un ingresso, da un contatore o da
un temporizzatore; tale condizione deve anche resettare lo STATO1 poiché non è possibile
essere contemporaneamente all’interno di più stati; (in generale ogni condizione di
passaggio da uno stato al successivo deve resettare lo stato precedente)
- STATO 2: è la seconda parte del ciclo; anche questa parte viene identificata all’interno del
programma mediante una memoria (M2);
- Fine ciclo: è la condizione che permette di terminare il ciclo e tornare alla condizione di
partenza (spesso si introduce anche uno STATO0 ovvero lo stato di riposo prima che inizi il
ciclo; la fine del ciclo porta quindi allo STATO0.)
Esercizio 1
Alla pressione del tasto START il motore si avvii sino a raggiungere il finecorsa, arrivato a tale
finecorsa il motore inverta il suo moto sino a tornare nel punto di partenza.
- Identificazione degli ingressi: START (I1)1, Finecorsa avanti (I2), Finecorsa indietro (I3) = 3
Ingressi;
- Identificazione delle uscite: Motore avanti (Q1), Motore indietro (Q2) = 2 uscite;
- Identificazione degli stati: Andata (STATO1), Ritorno (STATO2);
- Realizzazione della macchina a stati:
1
È importante notare che in questo caso (estremamente comune) nello stato di riposo della macchina, il finecorsa I3 è
comunque attivo (si veda il disegno); per essere certi che la macchina parta dallo STATO0 è quindi possibile introdurre
un ulteriore condizione per l’avvio.
STATO 0
Macchina
ferma
START, I1 Fc indietro, I3
Fc avanti, I2
STATO 1 STATO 2
AVANTI INDIETRO
- Diagramma LADDER:
In uno schema completamente corretto, sarebbe necessario che l’intervento dell’ingresso I3 possa
provocare effetti sul sistema esclusivamente quando ci si trova nello STATO2; in questo caso non è
necessario poiché è fisicamente impossibile che l’ingresso I3 sia attivo in istanti diversi che dalla
posizione finale.
Esercizio 2
- Identificazione degli ingressi: START (I1), Finecorsa avanti (I2), Finecorsa indietro (I3) = 3
Ingressi;
- Identificazione delle uscite: Motore avanti (Q1), Motore indietro (Q2) = 2 uscite;
- Identificazione degli stati: Andata (STATO1), Attesa (STATO2), Ritorno (STATO3)2;
- Realizzazione della macchina a stati:
- Diagramma LADDER:
2
Si sarebbero potuti utilizzare ancora una volta 2 stati, ovvero inglobando gli stati 1 e 2.
- Condizioni a scelta multipla
È possibile creare una macchina che implementi delle condizioni a scelta multipla.
Questo tipo di condizioni viene usato quando si ha a che fare con una macchina che può eseguire
delle lavorazioni su dei pezzi: in questo modo, a seconda del tipo di pezzo che viene caricato
(segnali di ingresso distinguono i pezzi) è possibile eseguire una operazione piuttosto che un’altra.
Condizione STATO 0
Macchina
ferma
Condizione
Condizione 1 STATO
2a
STATO 1
Condizione 2 STATO
2b Condizione
È importante notare che, una volta entrati nello STATO2a, un eventuale verificarsi della
Condizione 2 non porta ad entrare nello STATO2b; anche le condizioni di uscita dagli STATI2
sono indipendenti, ovvero trovandosi nello STATO2a il verificarsi della condizione di uscita dallo
STATO2b il sistema non deve andare nello STATO0.
- Esercizio 1
Alla pressione del tasto START il motore si avvii sino a raggiungere i 2 sensori, a questo punto se è
attivo il “sensore basso” il motore torna indietro, se è attivo il “sensore alto” il motore aspetta 5
secondi e poi torna indietro, il motore si arresta una volta arrivato al “finecorsa indietro”.
- Identificazione degli ingressi: START (I1), sensore basso (I2), sensore alto (I3), Finecorsa
indietro (I4) = 4 Ingressi;
- Identificazione delle uscite: Motore avanti (Q1), Motore indietro (Q2) = 2 uscite;
- Identificazione degli stati: Avanti (STATO1), Ritorno (STATO2a)3, Attesa (STATO2b);
- Realizzazione della macchina a stati:
START, I1 STATO 0
Macchina
ferma
I4
STATO 2a
I2 INDIETRO
(M2)
STATO 1
AVANTI Tempo
(M1)
STATO2b
I3 ATTESA
(M3)
- Diagramma LADDER:
3
Non serve introdurre uno stato di ritorno apposito dopo l’attesa, infatti lo stato di ritorno già esiste.
- Cicli con posizioni doppie (o multiple)
Tipicamente un ciclo completo presenta delle posizioni doppie; si immagini ad esempio il ciclo
rappresentato in figura:
La sequenza che descrive questo è la seguente: alla pressione del pulsante di START parte il primo
motore sino a raggiungere il finecorsa (I2); a questo punto parte il motore 2 sino a raggiungere il
finecorsa (I4) per poi tornare indietro fino al finecorsa (I3); a questo punto il motore 1 ritorna al
punto iniziale raggiungendo il finecorsa (I5).
La cosa da notare in questo ciclo è che la condizione di I2 e I3 attivi si verifica 2 volte ma tale
condizione, a seconda che il ciclo sia in fase di andata oppure di ritorno il sistema deve compiere
una azione diversa. È quindi necessario in questo caso far capire al software in quale delle due
condizioni si trova; questo viene fatto mediante lo STATO.
Avremo quindi 2 STATI: uno STATO1 di andata e uno STATO2 di ritorno e in base a quale dei sue
si trovi la macchina, la condizione (I2 e I3 attivi) eseguirà una istruzione piuttosto che un’altra.
Tutte queste combinazioni e limitazioni vengono realizzate in modo automatico utilizzando gli
STATI: poiché ad ogni stato è associata una memoria, le condizioni di uscita sarà posta in serie ad
un contatto di tale memoria, in modo da poter agire esclusivamente in quello STATO e non in un
altro:
Analizzando lo schema in figura, si può notare che l’arrivo del pezzo in macchina (segnalato
dall’ingresso I1) provoca effetti differenti a seconda dello STATO in cui ci si trova; in particolare se
ci si trova nello STATO1 (M1) viene attivata l’uscita Q1, mentre se ci si trova nello STATO2 (M2)
viene attivata l’uscita Q2. L’utilizzo degli stati e delle memorie diviene quindi indispensabile
quando un sistema assume più volte la stessa posizione ma deve eseguire operazioni differenti.
- Identificazione degli ingressi: START (I1), motore 1 avanti (I2), motore 2 indietro (I3), motore
2 avanti (I4), motore 1 indietro (I5) = 5 Ingressi;
- Identificazione delle uscite: Motore1 avanti (Q1), Motore1 indietro (Q2), Motore2 avanti (Q3),
Motore2 indietro (Q4)= 4 uscite;
- Identificazione degli stati: Avanti motore1(STATO1), Avanti motore2 (STATO2), Indietro
motore2 (STATO3), Indietro motore1 (STATO4);
- Realizzazione della macchina a stati:
I2 I4 I3
STATO 1 STATO 2 STATO 3 STATO 4
AVANTI AVANTI INDIETRO INDIETRO
Motore1 Motore2 Motore2 Motore1
Come si può notare dallo schema, l’ingresso I3 agisce sul sistema unicamente se esso si trova
nello STATO3; se questo non avvenisse l’ingresso tenderebbe in ogni istante di far muovere
indietro il motore1.
- Diagramma LADDER:
[DA INSERIRE]
- Condizioni di salto
È possibile inserire delle condizioni che permettono di saltare da uno stato ad un altro non
adiacente: questo può avvenire in lavorazioni nella quali in base al tipo di oggetto si debba
effettuare oppure no una determinata operazione; si pensi ad esempio al caso in cui un pezzo debba
essere raffreddato tramite ventola (STATO2 nello schema sotto) oppure debba andare direttamente
in lavorazione (STATO3)
Macchina
ferma
Condizione
1-3
Condizione Condizione
1-2 2-3
STATO 1 STATO 2 STATO 3
- Diagramma LADDER: