Vai al contenuto
PLC Forum


Progettazione di una "barriera" che possa scattare in caso di un contatto non programmato (mano di una persona)


Frank123

Messaggi consigliati

Buongiorno a tutti,

scusate se il titolo magari non è molto chiaro ma non riuscivo a trovare qualcosa di corto e mirato al problema che sto per porgervi.

in un progetto alla mia scuola superiore, il professore ci ha chiesto di mettere appunto un programma plc per riuscire ad avere la seguente condizione:

"c'è una finestra di questa macchina automatizzata dalla quale devono uscire i pezzi del materiale che essa lavora. Voglio che mettiate sensori che possano determinare la forma del pezzo che imposto e che uscirà dalla macchina, in modo che se qualcuno ci mette una mano o un oggetto, i sensori riconoscano che non ha le stesse dimensioni impostate e quindi blocchino la macchina. Devo poi liberare i sensori da qualsiasi oggetto per poter riattivare il reset e dare nuovamente il comando alla macchina a ripartire."

In pratica il mio quesito principale è che tipo di sensori usare e soprattuto come inserirli nel programma plc. Pensavo a sensori ottici, allineati sopra alla finestra e di lato in modo da creare una griglia, e sul programma plc la possibilità di inserire le "dimensioni" del materiale che uscirà dalla macchina. Tipo --due sensori impegnati in orizzontale e 3 impegnati in verticale--, così se un numero diverso di sensori è attivo la macchina si ferma. 

Purtroppo non capisco che tipo di funzione plc potrei usare per "monitorare" il numero di input accesi per darmi il consenso a bypassare l'emergenza (nel caso di dimensioni scelte) oppure a fermare la macchina.

Spero di aver posto il quesito in maniera esaustiva e soprattutto chiara. 

Vi ringrazio per le vostre risposte e i vostri suggerimenti.

Buona domenica. 

Link al commento
Condividi su altri siti


se l'accesso della mano influisce solo uno o due sensori ma non tutti, in modo immediato, come  invece un pezzo che transita regolarmente, hai una discriminante di allarme, esempio se la mano accede da destra, non influenza i sensori di sinistra, se accede dall'alto non influenza i sensori longitudinali in modo immediato.

Link al commento
Condividi su altri siti

Il problema non è tanto la mano, ma il come monitorare a plc quanti sensori sono attivi. Pensavo ci fosse una funzione tipo il COUNTER, che però rilevi tutti gli input dei sensori in una sola volta, e non faccia il conteggio, perché naturalmente più sensori si accenderanno insieme. Una funzione che conti il numero di input accesi. Esiste? Oppure esiste qualche altro metodo per arrivare a ciò? 

Link al commento
Condividi su altri siti

Di quanti sensori stiamo parlando? Se non si tratta di molta roba, potresti utizzare qualcosa tipo un Select Case per capire che tipo di oggetto ha attraversato la barriera

Link al commento
Condividi su altri siti

La consegna parla di 10 sensori in verticale (sensori ottici con trasmettitore e ricevitore) e 10 in orizzontale.

Ma il Select Case come funziona? Non ne ho mai sentito parlare, potresti gentilmente spiegarlo?

Grazie

Link al commento
Condividi su altri siti

La vedo dura, risolvere il tutto via software mi sembra un pochino azzardato!

Esistono sensori che rilevano il verso di entrata pezzo e sicuramente la mano va in senso contrario all'uscita pezzo. Poi parlando di pezzo in generale è difficile dare una soluzione univoca, bisognerebbe conoscere forma, velocità dimensioni finestra ecc ecc

Link al commento
Condividi su altri siti

Se fosse una realizzazione vera lo avrei escluso anch'io, ma qui mi sembra di capire che è un progetto universitario. Da come viene descritto il problema sembra un esercizio sull'uso delle porte logiche..

 

Da come la vedo io, i pezzi usciranno dalla macchina e passeranno presumibilmente sempre nello stesso posto. Da qui in base ai sensori impegnati puoi capire se quello che sta uscendo è un pezzo oppure un arto umano:P(sempre a livello di esecizio ovvio). In tutti gli altri casi, l'oggetto non è un pezzo e alzi l'allarme.

La condizione di reset la valuti solo con tutti i sensori OFF. (devi aver prima liberato la finestra).

In base alla velocità di uscita dei pezzi, io eseguirei la valutazione dell'ispezione dopo una finestra temporale(il primo sensore impegnato fa partire un timer, allo scadere del quale verifico quanti sensori sono stati impegnati, ma per fare ciò dovresti memorizzarne lo stato). Non mi piace molto, ma su due piedi mi è venuto in mente questo

Link al commento
Condividi su altri siti

Ringrazio molto per le vostre risposte. 

Le dimensioni sono relative. Se volete avere qualcosa su cui basarvi prendiamo questi valori:

La finestra è rettangolare, B=1000mm H=1000mm.

ogni sensore è posto ad una distanza di 100mm da ognuno, in verticale e in orizzontale.

Purtroppo i pezzi possono variare forma e/o materiale. Quindi non posso appoggiarmi solo ad alcuni sensori. 

Pensate di creare una griglia di laser, nella quale entra un pezzo. In base alla forma alcuni sensori saranno attivi e altri no. Io definisco la forma dell'oggetto e quindi dico al programma il numero esatto di sensori impegnati, sia in verticale sia in orizzontale. Presumiamo che il pezzo sia rettangolare (la forma più semplice (B=500mm H=300mm)), e che impegnerà 5 sensori che leggono in verticale e 3 sensori che leggono in orizzontale. Io imposto nel programma la condizione

SE

SENS.VERTICALI=5 ON 

+

SENS.ORRIZZONTALI= 3 ON

=

Dammi il segnale.

in ogni altro caso, non darmi nessun segnale.

Ecco il perché chiedo di una funzione che possa monitorare lo stato degli input e dirmi quanti sono ON (1). Io posso più fare la somma degli stati e se la somma è pari al numero che voglio io allora attiverà un segnale che bypassera l'allarme. 

C'è una funzione chiamata SUM, e fa la somma dei bit del registro. In più ha uno ZERO FLAG, che potrebbe essermi utile per resettare il tutto (condizione che nessun oggetto è presente nella finestra). Il problema è che non so come attivare i bit del registro e come usarne molteplici per controllare tutti gli input.

spero di non aver creato più confusione ma di aver dato un'immagine più dettagliata.

 

Link al commento
Condividi su altri siti

cosa servono tutti quei sensori per individuare il pezzo ? essendo di varie forme, penso siano sprecati se sono puntati sul pezzo, dovrebbero casomai creare una barriera di accesso, ne bastano uno o due per la presenza del pezzo,

Link al commento
Condividi su altri siti

Sono dunque 20 sensori in tutto. Bene. Assegni ad ogni sensore il bit di una dword, cosi da avere sensore 1=W100.0, sensore 2=W100.1 e cosi via. Metti sotto la barriera il primo pezzo e la tua dword, in base al numero di sensori impegnati, assumerà un certo valore,ad esempio 19567( a caso). Metti il secondo pezzo e la variabile assumerà un altro valore, mettiamo 3450. A questo punto con un banale confronto sai cosa sta passando. Se la variabile assume un valore che non è nessuno di quelli noti, significa che è stata impegnata da qualcos altro ed alzi l'allarme. 

Ripeto, questo nell ottica di un esercizio scolastico, nella vita reale non mi affiderei mai ad un sistema del genere per una questione cosi delicata

Link al commento
Condividi su altri siti

Step-80, il sistema che hai proposto potrebbe andare, ma si otterrebbe una word con variazioni molto grosse, causa il raddoppio del peso del singolo bit, all'aumentare dei sensori attivati, 1, 2, 4, 16, 32, 64.....ecc.

Io lo migliorerei facendo una sequenza che scansiona i vari sensori, incrementando la word soltanto di 1 se il sensore relativo è attivo.

Esempio:

resetto la word 

Sensore 1 se ON incrementa + 1 la word

Sensore 2 se ON incrementa + 1 la word

Sensore 3 se ON incrementa + 1 la word

ecc...

Ottengo cosi a fine sequenza la somma dei sensori che "vedono" il pezzo, con aumento proporzionale e lineare alla sagoma rilevata.

Cioè se ogni fotocellula mi controlla una sagoma di 10 Cm, 3 fotocellule mi rileveranno 30 Cm, 5 fotocellule 50 Cm, e cosi via.

La stessa operazione la farei anche per la larghezza con un'altra word dedicata.

Poi tramite opportuni confronti tra le word altezza e larghezza con della impostazioni, si attiverà il blocco nella condizione desiderata.

Link al commento
Condividi su altri siti

Signori, grazie! Finalmente c'è una soluzione. Step-80 ha proposto e Davide ha finalizzato. Direi che ora mi serve sapere come "scrivere" questa istruzione al plc. So che non tutti i plc hanno le particolari caratteristiche. Tra i vari che abbiamo all'uni mi ricordo i Mitsubishi fx e Siemens s7. 

Che istruzione dovrei digitare per assegnare un input ad una dWord. Semplicemente come si fa con timer/counter/move?

cioè

 X001               DWord 100.1

-| |---------------------[ ]------|

 

Se si fa così potrei assegnare il mio input alla dWord, però poi non saprei come far incrementare la dWord, come dice Davide, di +1.

 

intanto davvero un grazie di cuore!:worthy:

 

 

Link al commento
Condividi su altri siti

Non conosco Siemens, ma visto che hai citato Mitsubishi (che io uso) ti faccio l'esempio con quello. 

Per trasferire lo stato dei tuoi sensori su una word(o, come nel nostro caso, una dword) , puoi usare l'istruzione MOV.

Se i tuoi sensori sono collegati sulla morsettiera a partire da X0, Ti basta fare cosi:

d7595e277ae284513c745012e94442b0.png

K8 perchè ragiona a gruppi di 4 bit, quindi per lui è 8x4=32 bit, e li trasferisce in D0-D1, solamente con questa istruzione. A questo punto hai il primo sensore su D0.0, il secondo su D0.1 e cosi via.

 

Per Davide-SB: Il tuo sistema non tiene conto della posizione del sensori. Facendo semplicemente una somma sai solo quanti sono attivi, ma non quali. A mio modo di ragionare, dando un peso diverso ed unico ad ogni sensore in termini numerici, ho maggiori probabilità di sapere la forma di cosa sta passando. 

Oltre ad essere molto molto più veloce. 

Link al commento
Condividi su altri siti

Ti ringrazio veramente moltissimo per il tempo dedicato!

Scusami l'ignoranza ma non ho capito K8X0, cioè, se ho gli input connessi rispettivamente, sensore 1=x000; sensore 2=x001; è così via, fino a sensore 10=x009 (non sarà 9 perchè non lo usano come bit, ma sarà x011) devo mettere in parallelo a K8X0, gli altri sensori? Facendo tipo: 

K8X0

---| |------

K8X1

---| |------

Grazie per la pazienza!

 

 

 

Link al commento
Condividi su altri siti

No. 

MOV  K8X0  D0 tradotto sarebbe : Sposta i bit consecutivi a partire da X0 in D0. Quanti bit? Quanti te lo dice la cifra dopo il K: Siccome si ragiona sempre in gruppi di 4 bit, K8 significa sposta 8 gruppi di 4 bit, quindi 8x4=32 bit.

Se fosse stato K4 avresti spostato solo 4x4=16 bit(1 word). Spostandone 8 invece , sposti 32 bit, quindi occhio che oltre a D0 viene preso in considerazione anche D1.

L'area di memoria X(ingressi), come la Y(uscite) , per il plc non sono altro che bit, quindi manipolabili come l'area M(merker). L'unica differenza è che sono fisicamente connessi alla morsettiera di ingresso e di uscita.

 

Cosi facendo hai a disposizione su D0 un valore numerico dato dal numero e la posizione dei sensori impegnati. Che un sensore "pesi" più di un altro in termini numerici a te poco importa: l'importante è che il numero ti dia esattamente la combinazione dei sensori impegnati, cosi da evitarti interminabili confronti. 

Se ad esempio il pezzo 'pippo' impegna i sensori connessi rispettivamente a X0,X4 ed X7, la tua word assumerà un valore pari a:

 

(1x(2 alla 0)) + (1x(2 alla 4a)) + (1x(2 alla 7ma)) = 1 + 16 + 128 = 145.  Quando la tua variabile vale 145, sai che sono impegnati quei e solo quei sensori.

 

Non devi mettere in parallelo nulla, con solo questa istruzione hai già a disposizione lo stato dei tuoi ingressi sulle word D0 e D1.

Sicuramente in Siemens ci sarà qualcosa di analogo per fare la stessa cosa ma non conoscendolo(o meglio, non usandolo da molto tempo) non ti posso aiutare.

Spero di essere stato sufficientemente chiaro.;)

Link al commento
Condividi su altri siti

Quote

(non sarà 9 perchè non lo usano come bit, ma sarà x011)

 

Piccola precisazione:non è che non lo usano come bit, è che i plc della serie FX usano il sistema di numerazione ottale. Questo significa che i numeri 8 e 9 non sono contemplati. Gli ingressi quindi vanno ad esempio da X0 a X7, e poi da X10 a X17 e cosi via, la stessa cosa per le uscite.

 

La famiglia L e Q invece usa l'esadecimale, quindi i tuoi ingressi andranno ad esempio da X0......X9 per proseguire con XA, XB......XF.....quindi X10 e cosi via.

Link al commento
Condividi su altri siti

Wow! Grazie infinite e ho compreso benissimo il concetto!

Veramente molto chiaro! 

E grazie anche della precisazione, così almeno so bene il motivo per cui non ci sono e in futuro se dovessi imbattermi in altri modelli e vedere altri sistemi saprò il perché.

Adesso, solo per soddisfare la mia curiosità, come mai non useresti questo "sistema", e cosa invece useresti?

Grazie veramente tanto per tutto, davvero.

Link al commento
Condividi su altri siti

Quote

come mai non useresti questo "sistema"

 

Semplicemente perchè c'è di mezzo un discorso sicurezza. Prova a pensarci: oltre quella barriera supponiamo ci sia qualcosa in grado di Triturarti un braccio. Lo infileresti tranquillo sapendo che tutto è affidato ad una combinazione di sensori(Programmati da te magari, e dico magari, che non hai nemmeno molta esperienza a riguardo?)

 

Tralasciando la questione normativa, sulla quale ci sarebbe molto da dire, io ho inteso il tuo quesito come un compito scolastico. Punto. Se partiamo da un ragionamento del genere, allora tutto quello che è stato discusso fino ad adesso ha un senso, altrimenti..;)

Link al commento
Condividi su altri siti

Quote

Tralasciando la questione normativa, sulla quale ci sarebbe molto da dire, io ho inteso il tuo quesito come un compito scolastico.

 

Se fosse un esercizio scolastico potrebbe anche essere corretto.

Se si trattasse di un'applicazione pratica sarebbe da incarceramento immediato sia del progettista, sia del responsabile della sicurezza.:smilie_nono:

Link al commento
Condividi su altri siti

Questo È un progetto universitario. La mia era solo curiosità per sapere come mai non fosse affidabile, in quanto potrei farlo notare al professore e magari proporre altra soluzione. E mi sarebbe piaciuto sapere qualcosa in più sulla questione normativa in quanto potrebbe accrescere la mia personale conoscenza.

Probabilmente, il professore non vorrà un'altra soluzione perché magari mi ha detto di farlo in questo preciso modo proprio per testare capacità in un determinato campo. 

Vi ringrazio molto per la disponibilità. Auguro a tutti un buon inizio di settimana.

Link al commento
Condividi su altri siti

Quote

Questo È un progetto universitario.

 

Io lo avevo intuito da subito.;)

Quote

. E mi sarebbe piaciuto sapere qualcosa in più sulla questione normativa in quanto potrebbe accrescere la mia personale conoscenza.

 

C'è un solo modo: procurarsi la direttiva macchine e studiarla, studiando anche le norme da essa richiamate.

 

Quote

Probabilmente, il professore non vorrà un'altra soluzione .....

 

Purtroppo in Italia c'è quasi sempre un oceano tra quello che insegna la scuola e quella che è la pratica corrente.

La differenza tra ambiente scolastico ed esigenze lavorative è presente in tutti i paesi industrializzati, ma nel nostro paese è particolarmente rilevante, tranne pochissime fortunate eccezioni.

Link al commento
Condividi su altri siti

Al di là di tutto, la tua propensione all'approfondimento è senz'altro da elogiare. Credo che ben pochi si metterebbero li a mettere in discussione il dictatum del professore, il gregge si sarebbe limitato ad eseguire e basta. 

Puoi dire al tuo professore che discriminare una mano da un oggetto con sensori ottici è quantomeno andare a cercarsi guai.

 

Per il resto concordo con Livio

 

 

Link al commento
Condividi su altri siti

Quote

Al di là di tutto, la tua propensione all'approfondimento è senz'altro da elogiare.

 

Certamente. La mia critica è verso il docente, non certo al discente.

Link al commento
Condividi su altri siti

Come mai non useresti questo "sistema", e cosa invece useresti?

Si usano barriere fotoelettriche certificate con funzionalità di muting e/o blanking, inoltre le barriere sono collegate a un plc di sicurezza e non ad un normale plc.

Leggi p.es. qui http://www.reer.it/reer/supporto/assistenza-tecnica/itemlist/user/62-superuser?limit=10&start=120

 

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...