Vai al contenuto
PLC Forum


Mettere In Pausa Un Ciclo Automatico Di Lavaggio


Messaggi consigliati

MakeDown Sk Vrap
Inserito:

Buongiorno

eccovi il mio problema... devo fare un programma per un ciclo automatico di lavaggio e cioè:

- Premo start

--------------------------- CICLO 1------------------------- Sequenza di cicli da compiere da decidere

- Si attiva l'elettrovalvola dell'acqua per tot tempo

- Successivamente (solo dopo che si è fermata la prima EV) parte quella dell'aria per tot tempo

--------------------------- CICLO 2-------------------------Sequenza di cicli da compiere da decidere

- Si attiva l'elettrovalvola liquido lavaggio per tot tempo

- Successivamente (solo dopo che si è fermata la prima EV) parte quella dell'aria per tot tempo

--------------------------- CICLO 3-------------------------Sequenza di cicli da compiere da decidere

- Si attiva l'elettrovalvola dell'igienizzante per tot tempo

- Successivamente (solo dopo che si è fermata la prima EV) parte quella dell'aria per tot tempo

--------------------------- CICLO 4-------------------------Sequenza di cicli da compiere da decidere

- Si attiva l'elettrovalvola dell'acqua per tot tempo

- Successivamente (solo dopo che si è fermata la prima EV) parte quella dell'aria per tot tempo

Perfetto questo è il programma che dovevo fare ...arrivato alla fine mi sono posto un quesito ...ovvero la funzione dello stop ...ho chiesto al committente e mi ha confermato il mio dubbio e cioè che il pulsante di stop DOVREBBE bloccare/congelare/mettere in pausa/fermare il tempo!

Io per comodità avevo usato il timer chiamato "Relè ad intermittenza triggerato dal fronte"

dato che aveva la funzione "Numero cicli impulso-pausa"

e davanti ad ognuno di questi timer ho messo un contattore avanti/indietro

Quindi ricapitolando ho:

4 contattori e 4 timer

Cosi se il cliente mi avesse richiesto una serie di tipo:

CICLO 1 = 2 VOLTE

CICLO 2= 1 VOLTA

CICLO 3= 3 VOLTE

CICLO 4= 1 VOLTA

io giocando con i contattori ...sul limite di attivazione e disattivazione avrei gestito tutto senza problemi...

E LO STOP?

Cioè se il mio cliente preme stop al secondo giro del CICLO 3 io come faccio a dire al programma riparti da quel punto preciso ?? dato che lo fanno ripartire sempre dallo start e dato che i cicli sono all'interno del timer ?

Bo io non ho esperienza da questo punto di vista ...a me sembra una cosa impossibile da fare ma suppongo che a livello industriale sia un processo abbastanza comune

Vi prego rispondetemi tra 2 giorni devo finirlo xD

Grazie a tutti!!!!!


Inserita:

Devi usare dei flags (merker) che diano lo stato delle operazioni. Inoltre se devi anche memorizzare per quanto tempo è stata aperta l'elettrovalvola dell'acqua, il temporizzatore lo devi realizzare o basandoti sull'orologio di sistema, oppure su di un temporizzatore basato su clock di sistema.

Alla prima accensione azzeri tutti i flags delle operazioni, poi ad ogni operazione iniziata alzi il Flag corrispondente. quando sarà terminata anche l'ultima operazione del ciclo 4 saranno riazzerati tutti i flags.

Ogni volta che premi Start, vai a verifcare quale è l'ultimo flag alzato e quell'operazione costituirà la partenza. Se avevi memorizzato il tempo per cui l'elettrovalvola o l'aria erano state attivate riparti con un tempo che sarà la differenza tra il totale e quello gia trascorso.

Co sono altri metodi. Alcuni PLC hanno la funzione "drum controller" che sarebbe perfetta per questo caso. Oppure puoi usare un registro a scorrimento. Ti ho indicato la soluzione che adotterei io se dovessi realizzare questa macchina.

Vi prego rispondetemi tra 2 giorni devo finirlo

Questa è una richiesta ammissibile per una consulenza a pagamento. :P

MakeDown Sk Vrap
Inserita:

Grazie mille Livio Orsini! ;)

Purtroppo per me non ho capito molto di ciò che hai detto :P Hahaha ma queste sono lacune mie

Tutto ciò che hai detto è realizzabile con il logo? e con la programmazione a blocchi?

MakeDown Sk Vrap
Inserita:

il temporizzatore lo devi realizzare o basandoti sull'orologio di sistema, oppure su di un temporizzatore basato su clock di sistema.

e che cosa significa? XD non sono un programmatore ed è la prima volta che uso il logo

Ahimè credo che faccio prima a rinunciare e licenziarmi XD

MakeDown Sk Vrap
Inserita:

Ah ovviamente ci si mette anche la sfiga xD ero appena riuscito a farlo partendo da zero... ho visto la funzione cronometro ...mettendola dopo il timer conta lo stesso tempo del timer ma anche se il timer viene resettato il cronometro mantiene il valore registrato ....prendendo ad esempio un valore di 10 secondi che deve fare un ciclo e sottraendogli il valore registrato dal cronometro funziona!!! ...potevo fermare il programma e farlo "ripartire" dallo stesso punto ( o meglio dai secondi che gli rimanevano da fare) ...La sfiga vuole che il cronometro c'è solo sui 0ba7 ..e il mio è un 0ba6 xD

( il mio problema è solo quello ..quello del tempo ...giocando un pò con contattori/merker/fronti di salita ecc... ero riuscito a farsi che il programma ripartisse dal ciclo interrotto ...non riuscivo e non riesco a fermare il tempo)

Inserita:

se vuoi prova a mettere un link del tuo programma e vedo cosa si può fare,bye

MakeDown Sk Vrap
Inserita:

Grazie mille fabri ma credo sia più facile se qualcuno mi mostra un esempio dove c'è uno start & stop e una uscita che viene alimentata per un tot di tempo ...cosi vedo come posso fermare il tempo poi io me lo adatto al mio programma ...perchè in realtà il programma fa altre cose ...quello è solo un ciclo dei tanti che deve fare ...ma è l'unico automatizzato e quindi è l'unico che mi crea problemi ...poi dato che è la prima volta che uso il logo ho fatto su un casino a livello grafico xD è incomprensibile anche per me che l'ho fatto ;)

Inserita:

Per prima cosa evita quegli antipatici "XD" che non si capisce cosa significhino, poi le abbreviazioni sono vietate dal regolamento perchè rendono poco comprensibile il messaggio e sono molto irritanti per chi legge.

Se non hai dimestichezza con il logo comincia ad affrontare il problema a piccoli passi. Scivi un ciclo come pensi debba funzionare, compreso il temporizzatore. Alleghi il file al messaggio e vediamo cosa si può fare per aiutarti.

MakeDown Sk Vrap
Inserita:

Non potreste mostrarmi un esempio di un timer che si ferma e riparte da quel punto preciso?

Sarebbe perfetto! Anche perchè se vi ho chiesto aiuto è perchè non so farlo :toobad:

Inserita:

Ciao Make Down Sk Vrap, anche io ho avuto un problema molto simile al tuo:

sempre di lavaggi industriali si parlava però, con delle comuni lavatrici modificate, il ciclo era simile al tuo e, anche io mi ero posto la domanda dello STOP e ripartenza da ciclo 2 piuttosto che dal 3 difatti, alla fine i "pulsanti di stop" sul quadro erano due: fermo della macchina in quel punto del suo ciclo e ripartenza da esso e, fermo della macchina, scarico del cestello e ripartenza dal punto "0".

In quel caso avevo utilizzatto uno Zelio della Schneider, cambia la marca rispetto al tuo caso ma, la tipologia di prodotto è quella.

Non potendo utilizzare i blocchi di temporizzazione in FBD perchè, non era possibile ripartire dal conteggio che precedentemente avevano effettuato avevo deciso di utilizzare un contatore a cui aggiungevo un'unità ogni secondo, in questo modo potevo tranquillamente ripartire dal "secondo y" del ciclo di lavoro "z".

Quando il contatore raggiungeva per esempio 60, intesi come secondi, passavo al ciclo successivo...

Spero di esserti stato utile :smile:

MakeDown Sk Vrap
Inserita:

Grazie andrea ;)

Guarda purtroppo io non ho questa possibilità quindi me la devo cavare con il pulsante di stop che ho ....adesso sto seguendo una lunga strada (veramente lunga ...una serie di incroci e robe strane) cioè gli sto dicendo se il timer del primo è passato dallo stato 1 a 0 e lo stop non è intervenuto (il che significa che va tutto bene e il ciclo può continuare) fai partire la seconda elettrovalvola ...se invece lo stop è intervenuto allora resetta il tuo contattore ....cosi che quando premeranno start per la seconda volta per lui sarà la prima ecc... cosi per tutte le elettrovalvole di tutti i cicli ....per il tempo sono arrivato a credere che sia impossibile da fare con il logo ...almeno con la programmazione a blocchi del 0BA6 ...

Inserita:

Scusa per la qualità del disegno ma, l'ho fatto di fretta..post-204533-0-59329800-1390906515_thumb.

MakeDown Sk Vrap
Inserita:

Ti ringrazio ancora ...Davvero gentilissimo ....il problema però è sempre il solito io non so usare il logo e io sui contattori non vedo l'uscita per tot tempo ... male che vada gli dirò che non ho i super poteri e non sono ancora capace di fermare il tempo :D ...il ciclo ripartirà dal ciclo interrotto ...ma dall'inizio ...purtroppo non posso perderci troppo tempo quindi se qualcuno riesce gentilmente a mandarmi un esempio fatto sul logo allora li copio e incollo sui cicli e sono a posto ...altrimenti stesso ...tanto l'è na macchinetta ;) vi ringrazio ancora!

Inserita:

Se anche noi ti facessimo un esempio ma non sappiamo in che modo addattarsi al tuo programma già funzionante sarà praticamente impossibile aiutarti,se per giusti motivi vuoi tenerti il copiright del tuo progetto ok o se come dici ti vergogni dei brogli dei collegamenti non è un problema qui tutti abbiamo avuto questi problemi ,copia una parte del tuo proggetto e mettilo a disposizione,così è molto più facile capire,bye

MakeDown Sk Vrap
Inserita:

no no ma figurati che copyright ? :) è solo che è molto incasinato ....adesso ne ho copiato una parte con un start e stop e due sole elettrovalvole (appena capisco come si caricano i file ve lo mando) come vedrete (è incasinato :D ) se stoppate la prima elettrovalvola riparte da lei ...e se stoppate la seconda e premete start parte dalla seconda

Inserita:

Guarda purtroppo io non ho questa possibilità quindi me la devo cavare con il pulsante di stop che ho ....adesso sto seguendo una lunga strada (veramente lunga ...una serie di incroci e robe strane) cioè gli sto dicendo se il timer del primo è passato dallo stato 1 a 0 e lo stop non è intervenuto (il che significa che va tutto bene e il ciclo può continuare) fai partire la seconda elettrovalvola ...se invece lo stop è intervenuto allora resetta il tuo contattore ....cosi che quando premeranno start per la seconda volta per lui sarà la prima ecc... cosi per tutte le elettrovalvole di tutti i cicli ....per il tempo sono arrivato a credere che sia impossibile da fare con il logo ...almeno con la programmazione a blocchi del 0BA6 ...

Come ti hanno già accennato ti butto lì un'idea più semplice e pulita, che credo sia facilmente adattabile al tuo programma.

Immagine.png

Quando premi START il relè si eccita, aziona il generatore di impulsi (1 impulso al secondo) che va ad incrementare il valore del contatore.

Il ciclo viene eseguito quando il relè è eccitato e ovviamente si ferma quando il relè viene diseccitato premendo STOP.

Il passaggio da un ciclo ad un altro viene fatto quando il contatore raggiunge valore X (che sai tu).

Premendo stop il generatore di impulsi si arresta, ma il valore del conteggio viene conservato e quando viene premuto START nuovamente, il ciclo riprende dal punto in cui era stato interrotto ;)

Inserita: (modificato)

1a opzione: Zelio

2a opzione: vuoi dirmi che il Logo non ha dei contatori? (ho visto il messaggio solo ora :smile: )

Modificato: da VRI
Inserita:

2a opzione: vuoi dirmi che il Logo non ha dei contatori?

Li ha li ha, guarda il mio messaggio sopra :thumb_yello:

MakeDown Sk Vrap
Inserita:

Oh scusate se non vi ho ancora ringraziati è che sto cercando di metterlo in praticaaaa :D Siete fortissimi!!!


Il passaggio da un ciclo ad un altro viene fatto quando il contatore raggiunge valore X (che sai tu).

Se ho capito bene quindi dopo il primo contattore devo mettere un'altro generatore di impulsi che va al secondo contattore giusto?

Inserita:

Se ho capito bene quindi dopo il primo contattore devo mettere un'altro generatore di impulsi che va al secondo contattore giusto?

Questo lo sai solo tu, dipende da come hai strutturato il programma :thumb_yello:

Se dovessi scrivere io da 0 il programma userei un registro di scorrimento. Ogni volta che il contatore arriva a X (lunghezza fase lavaggio) shifta di un bit il registro. Poi a ogni bit del registro associ una fase del ciclo di lavaggio.

Se bit1=1 fase 1

se bit2=2 fase 2

eccetera

Mi sono spiegato ?

Di metodi ne esistono infiniti, io personalmente lo farei così, ma niente vieta di fare in modo diverso :thumb_yello:

MakeDown Sk Vrap
Inserita:

NUMERO UNO!!!!

Grazie di cuore!! Mi hai salvato il c... ;)

io giustamente per incasinarmi un attimo ho messo tutti i contattori in parallelo (senza resettarli) dopo il generatore ...cosi tutti contano uguale ma con attivazione e disattivazione diverse ;) dopo i contattori ho fatto dei trick strani ma sono riuscito nell'intento ...adesso quando stoppo e riparto riparte da quello giusto ;)

Grazie a tutti ancora per avermi aiutato!

Inserita:

dopo il primo contattore

Ciao,ti consiglio di chiamare le cose col proprio nome onde evitare disguidi...il CONTATORE con una t sola è quello cui ti riferisci tu ,il CONTATTORE è un dispositivo elettromeccanico ;)

Inserita:

io l ho provata cossi..prob e da modificare secondo i tuoi parametri...o da scartare se non ho centrato il tuo argomento...comunque vediamo!! :P

prova lavatrice.pdf

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