franco1 Inserito: 27 marzo 2009 Segnala Share 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? Link al commento Condividi su altri siti More sharing options...
busanela Inserita: 27 marzo 2009 Segnala Share 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. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 marzo 2009 Segnala Share 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. Link al commento Condividi su altri siti More sharing options...
franco1 Inserita: 27 marzo 2009 Autore Segnala Share Inserita: 27 marzo 2009 Grazie x le risposte.Batta puoi tradurre in ladder ?Grazie ancora Link al commento Condividi su altri siti More sharing options...
batta Inserita: 27 marzo 2009 Segnala Share Inserita: 27 marzo 2009 Se scrivi le istruzioni in due segmenti distinti, le puoi visualizzare in ladder. Link al commento Condividi su altri siti More sharing options...
franco1 Inserita: 27 marzo 2009 Autore Segnala Share 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. Link al commento Condividi su altri siti More sharing options...
busanela Inserita: 29 marzo 2009 Segnala Share 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. Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 29 marzo 2009 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
batta Inserita: 30 marzo 2009 Segnala Share 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 Link al commento Condividi su altri siti More sharing options...
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