franco1 Inserito: 27 marzo 2009 Segnala Inserito: 27 marzo 2009 Ho un pulsante che premuto da un operatore fa aprire una valvola motorizzata e, contemporaneamente, attiva un timer da 8h. Appena la valvola è tutta aperta (il tempo di apertura della valvola è circa 30 secondi), il relativo finecorsa fa partire una pompa che si ferma dopo 7h (da quando è partito il timer).Se durante la marcia della pompa la valvola inizia a chiudersi, per qualche anomalia di funzionamento della valvola stessa, il “finecorsa valvola aperta” fa fermare la pompa (visto che la marcia puo' avvenire solo se la valvola è completamente aperta). Dopo tale fermata, non deve essere più possibile far ripartire la pompa se non allo scadere del timer da 8h.Come faccio a realizzare quest'ultimo passaggio cioè a rendere indisponibile la pompa nel caso sia partita e si sia fermata entro le 7 ore?
busanela Inserita: 27 marzo 2009 Segnala Inserita: 27 marzo 2009 Se ho capito bene il tuo problema, io farei così:quando la valvola si è completamente aperta, incrementi un contatore settato a 1; il set della pompa attraverso la serie del finecorsa valvola (NO), contatto del contatore (NC), e timer lavoro off (NC).Al termine del conteggio del tempo di lavoro, resetti l'uscita della pompa ed il contatore, preparando il tutto per un nuovo ciclo.
batta Inserita: 27 marzo 2009 Segnala Inserita: 27 marzo 2009 Non serve tirare in ballo contatori, basta settare un merker.Esempio:U "MarciaPompa" UN "ValvolaAperta" S "InibizioneMarciaPompa" U ..... Inserire tutte le condizioni per la marcia della pompa U "ValvolaAperta" UN "InibizioneMarciaPompa" = "MarciaPompa"Poi resetti il merker "InibizioneMarciaPompa" allo scadere del tempo.
franco1 Inserita: 27 marzo 2009 Autore Segnala Inserita: 27 marzo 2009 Grazie x le risposte.Batta puoi tradurre in ladder ?Grazie ancora
batta Inserita: 27 marzo 2009 Segnala Inserita: 27 marzo 2009 Se scrivi le istruzioni in due segmenti distinti, le puoi visualizzare in ladder.
franco1 Inserita: 27 marzo 2009 Autore Segnala Inserita: 27 marzo 2009 Scusa Batta...hai ragione.Per via della mia "allergia" cronica a quel linguaggio, e per via della stanchezza (sono al lavoro dalle 6) ho dato una risposta un po' affrettata.Comunque ho seguito il tuo consiglio: funziona egregiamente!Grazie a tutti.
busanela Inserita: 29 marzo 2009 Segnala Inserita: 29 marzo 2009 Non serve tirare in ballo contatori, basta settare un merkerNon mi sembra che i contatori costino più cari dei merker! Sono due strade diverse per risolvere lo stesso problema, magari c'è chi ne ha immaginate altre utilizzando altri sistemi.Poi ognuno è libero di scegliere quella che preferisce.
Savino Inserita: 29 marzo 2009 Segnala Inserita: 29 marzo 2009 (modificato) franco1,Seguendo la tua specifica di funzionamento, dovrebbe andare bene il codice sotto postato.L'ho simulato impostando un timer di 1 minuto. Poi ho aggiunto la chiusura della valvola a fine ciclo e un pulsante di fine cicloin caso dovresti fermarlo e ripartire. Comunque, non ho capito se il timer viene setato a 8 h oppure 7, ma quello lo vedi te, tanto per simulare non era importante.Potresti copiare ed incollare dal AWL direttamente e poi converti in LAD automaticamente. Se hai qualche dubbio, chiedi pure. AWL: Network 1 : U( O "PSStartCiclo" O "MemCicloInCorso" ) UN "MemFineCiclo" = "MemCicloInCorso" Network 2 : U( O "MemCicloInCorso" O "ComApreValvola" ) UN "FcValvolaTuttaAperta" UN "MemValvolaApertaEseguita" UN "MemFineCiclo" = "ComApreValvola" Network 3: U( O "MemFineCiclo" O "ComChiudeValvola" O "PSStopCiclo" ) UN "FcValvolaTuttaChiusa" = "ComChiudeValvola" Network 4 : U "MemCicloInCorso" L S5T#1M SE "Timer8Ore" U "PSStopCiclo" R "Timer8Ore" NOP 0 NOP 0 NOP 0 Network 5 : U( U "MemCicloInCorso" U "FcValvolaTuttaAperta" O "MemValvolaApertaEseguita" ) UN "MemFineCiclo" = "MemValvolaApertaEseguita" Network 6 : U( U "MemCicloInCorso" U "MemValvolaApertaEseguita" UN "FcValvolaTuttaAperta" O "MemInibizionePompa" ) UN "MemFineCiclo" = "MemInibizionePompa" Network 7 : U( U "MemCicloInCorso" U "FcValvolaTuttaAperta" O "ComPompa" ) UN "MemInibizionePompa" UN "MemFineCiclo" = "ComPompa" Network 8 : O "Timer8Ore" O "PSStopCiclo" = "MemFineCiclo" //////////////////////// LAD: Network 1 : PS MemFine MemCicloIn StartCiclo Ciclo Corso +---[ ]----+-----[/]--------------------------( )-| + + + CicloIn + + Corso + + + +---[ ]----+ Network 2 : MenCicloIn FCValvola MemValvola Corso Tutta Aperta MemFine ComApre Aperta Eseguita Ciclo Valvola +---[ ]----+-----[/]-------[/]-------[/]-------( )-| + + + ComApre + + Valvola + + + +---[ ]----+ Network 3 : MemFine FCValvola ComChiude Ciclo TuttaChiusa Valvola +---[ ]----+------[/]---------------------------( )-| + + + ComChiude+ + Valvola + + + +---[ ]----+ + + + PSStop + + Ciclo + + + +---[ ]----+ Network 4 : MemCiclo Timer80Ore | InCorso +-----------+ | | S_EVERZ | +---[ ]---------+ S Q +----------- | | | | | | | S5T#1M + TW DUAL +.. | | | | PSStop | | | Ciclo ..+ R DEZ +.. | +-----------+ | | Network 5 : FCValvola MemValvola MenCicloIn Tutta MemFine Aperta Ciclo Aperta Ciclo Eseguita +---[ ]----------[ ]------+----------[/]-------( )-| + + + Mem + + Valvola + + Aperta + + Eseguita + + + +---[ ]-------------------+ Network 6 : FC MenCicloIn MemValvola Valvola Mem Mem Corso Aperta Tutta Fine Inibizione Eseguita Aperta Ciclo Pompa +---[ ]----------[ ]-------[/]---+---[/]-------( )-| + Mem + +Inibizione + + Pompa + + + +---[ ]--------------------------+ Network 7 : FC MenCicloIn Valvola Mem Mem Corso Tutta Inibizione Fine Com Aperta Pompa Ciclo Pompa +---[ ]----------[ ]---+---[/]-------[/]-------( )-| + + + Com + + Pompa + + + +---[ ]----------------+ Network 8 : Timer Mem 80Ore Fine Ciclo +---[ ]----+-----------------------------------( )-| + + + PSStop + + Ciclo + + + +---[ ]----+ /////////////////////////////////////////////////////////////// // VAT M 1.0 "MemFineCiclo" BOOL false M 1.1 "MenCicloInCorso" BOOL false A 0.1 "ComApreValvola" BOOL false M 1.3 "MemValvolaApertaEseguita" BOOL false M 1.4 "MemInibizionePompa" BOOL false T 1 "Timer8Ore" SIMATIC_TIME S5T#0ms E 0.0 "PSStartCiclo" BOOL false E 0.1 "FCValvolaTuttaAperta" BOOL false A 0.0 "ComPompa" BOOL false A 0.2 "ComChiudeValvola" BOOL false E 0.3 "PSStopCiclo" BOOL false E 0.2 "FCValvolaTuttaChiusa" BOOL false Modificato: 29 marzo 2009 da Savino
batta Inserita: 30 marzo 2009 Segnala Inserita: 30 marzo 2009 Non mi sembra che i contatori costino più cari dei merker!Non sono d'accordo.Un counter rispetto ad un merker non costa certo di più in termine di soldini, ma richiede risorse maggiori. E poi, specialmente in Siemens dove timer e counter certo non abbondano, a mio avviso usare un counter dove basta un semplice merker mi pare un inutile spreco.Poi certo, come dici tu, ognuno è libero di scegliere quello che preferisce. Ci mancherebbe altro
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora