Vai al contenuto
PLC Forum


Calcolo tempo ciclo e stazione lenta


Ghisla

Messaggi consigliati

Buongiorno, sto realizzando una macchina di assemblaggi con x stazioni.

Ognuna di queste stazioni parte quando il bit dedicato viene settato, quando la stazione finisce di lavorare resetta il bit. 

Io dovrei calcolare il tempo ciclo totale ovvero il tempo che impiega l'ultima stazione a finire il suo ciclo, e in più dovrei visualizzare in una variabile quale è questa stazione lenta. 

Sto utilizzando ancora lo step 7 😏

Grazie mille 

Link al commento
Condividi su altri siti


e qual'è il problema, calcolare il tempo totale? Mi sembra una banalità, c'è una stazione master o che fa da master? Da quella verifichi il tempo ciclo

Link al commento
Condividi su altri siti

È una linea a pallet della bosch basata su 18 stazioni, quando il pallet arriva sotto la stazione la stazione inizia a lavorare, quando tutte le stazioni hanno finito il ciclo, i pallet evacuano la stazione e passano a quella successiva

Link al commento
Condividi su altri siti

Vediamo se ho capito la situazione.

Hai 18 stazioni di lavoro controllate da un unico PLC.

Entra un pallet in una stazione quindi, stando a quanto scrivi, ci saranno 18 pallets che vengono lavorati da 18 stazioni.

Quando tutte le stazioni hanno terminato il lavoro, l'ultima stazione evaqua il pallet , tutti i pallets passano alla stazione seguente ed un nuovo pallet entra nella prima stazione.

E così?

Ogni stazione ha un bit che va alto quando inizia la lavorazione e va basso quando ha terminato la lavorazione.

 

Tu, per ragioni che non spieghi, vorresti conoscere il tempo intercorso da qaundo la prima stazione ha iniziato a lavorare sino a quanto l'ultima ha terminato il suo lavoro.

 

E così?

Link al commento
Condividi su altri siti

Buongiorno Livio,

Mi sono spiegato male. 

Allora, una linea a nastro fa muovere n pallet quando uno di questi raggiunge una stazione quest'ultima inizia a lavorare, contemporaneamente unaltro pallet avrà  raggiunto un'altra stazione e così via, ogni ciclo devono lavorare tutte le stazioni. quando una inizia a lavorare fa partire il tempo, quando tutte hanno finito, il tempo si arresta e devo sapere quanto ci hanno messo tutte le stazioni a lavorare. Mi serve per sapere il tempo ciclo macchina. È una linea di assemblaggio 

Link al commento
Condividi su altri siti

16 minuti fa, Ghisla scrisse:

Mi sono spiegato male.

 

Si certo, ma anche adesso non è che ti sei spiegato molto bene.

 

Spiega meglio, come avviene fisicamente la lavorazione.

 

Link al commento
Condividi su altri siti

Mettiamo che n stazioni iniziano a lavorare simultaneamente ma c'è ne una che ci mette un po' di più a finire il ciclo, ma ogni ciclo la stazione più lenta potrebbe cambiare. Come faccio a calcolare questo tempo? E come faccio a determinare quale è la più lenta? 

È una normalissima linea a pallet. 

Grazie

Link al commento
Condividi su altri siti

Semplice, quando dai il comando di inizio lavorazione, ovveri alzi il bit, leggi l'orologio di sistema e memorizzi il tempo, quando riabbasi il bit rileggi l'orologio di sistema e per differenza hai il tempo.

Ripeti l'operazione per tutte e 18 le stazioni.

Dopo l'ultima lettura fai una comparzione e trovi il tempo maggiore.

Per semplificare ti crei un vettore di 18 elementi (un array di 18 words) in cui memorizzi i 18 tempi, poi  semplice verificare a quale elemento (stazione) corrisponde il tempo maggiore.

Link al commento
Condividi su altri siti

Questa cosa dell'orologio di sistema non la avevo pensata. È una cosa sicura?

Oppure un altro modo utilizzando timer come sarebbe? 

Per determinare il tempo maggiore nell'array devo fare un loop con i puntatori? Ringrazio 

Link al commento
Condividi su altri siti

Dunque, per ogni stazione hai un bit che è alto finché la stazione lavora.

Da OB1 ti prendi il tempo di ciclo in millisecondi.

Ti fai una variabile (DINT o TIME) per ogni stazione.
Se il bit della stazione è alto, incrementi la relativa variabile.

Link al commento
Condividi su altri siti

E simile a quanto ti ho descritto solo che invece di usare l'orologio di sistema,che ti da il tempo in assoluto, usi il tempo che ha impiegato il plc per svolgere il ciclo precedente.

Fai l'array di 18 elementi e, per ogni elemento con il bit alto, sommi al valore precedente il tempo di ciclo letto in OB1.

Al termine, quando tutte i bit saranno a zero, saprai quale stazione ha impiegato più tempo e quanti millisecondi è durata la lavorazione.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Però è sbagliato il tuo concetto di tempo ciclo, se vuoi saper la produttività delle stazioni devi contare alche il tempo di cambio pallet, ossia da quando esce un pallet a quando esce l'altro, se devi calcolare la produzione questo tempo di cambio pallet influisce.

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...