_LORIS_ Inserito: 23 febbraio 2006 Segnala Inserito: 23 febbraio 2006 Salve a tutti,ho scritto poche volte in questo forum, premetto che sono agli inizi con il PLC.Di seguito vi spiego quello che vorrei realizzare con il siemens-s7.Ho due pompe, con un pressostato.Il pressostato comanda le pompe che funzioneranno alternate ovvero ad il primo intervento del pressostato va la pompa 1, al secondo intervento la pompa 2, al terzo intervento di nuovo la pompa 1 e così via...Son riuscito a realizzare l'automazione utilizzando un contaore CTU che a 0 mi fa andare la pompa 1 ed a 1 mi fa andare la pompa 2.In PV quindi se ho capito bene mi è sufficente scrivere 2, perchè il reset R l'ho impostato quando è >=1.Giusto? Ora mi stavo chiedendo quali altre vie esiestono per realizzare questa "semplice" automazione... per la testa me ne passano tante ma non avendo esperienza mi rimane difficile metterle in pratica... Ringrazio anticipatamente a chi mi aiuterà a capire altre soluzioni... grazie
Livio Orsini Inserita: 23 febbraio 2006 Segnala Inserita: 23 febbraio 2006 La soluzione più semplice è realizzare un flip - flop (bistabile) software. Hai le due uscite Q1 e Q2; ogni volta che riconosci il fronte del pressostato fai Q2 = Q1 e Q1 = -Q1 (Q1 = Q1 negato). Se vuoi essere preciso fino in fondo memorizzi lo stato di Q1 e Q2 in una memoria ritentiva, in questo modo, anche spegnedo il PLC, alla ripartenza si ha sempre l'ultimo stato di lavoro. La sicurezza che le due pompe non sono comandate contemporaneamente te la da il funzionamento del PLC: le uscite fisiche sono aggiornate tutte in contemporanea alla fine del ciclo di scansione.ì, quando vengono copiati i registri immagine.
_LORIS_ Inserita: 23 febbraio 2006 Autore Segnala Inserita: 23 febbraio 2006 (modificato) Grazie Livio per la risposta.L'ho riletta diverse volte ed ho "intuito" che è la soluzione migliore.il mio problema è che sono un ragazzo ancora alle prime armi in questo "mondo", e non riesco a buttare giù le due righe che mi hai spiegato... faccio fatica a capire cosa intendi per fronte... Mi rimane davvero difficile capire come potrei confrontare le uscite... che comandi utilizzare...Non è che qualcuno riesce ad allegarmi 2 righe od un'immagine di questo programmino (incluso il discorso della memoria ritentiva).il mio plc è un siemens s7grazie mille a chi mi aiuterà a capire Modificato: 23 febbraio 2006 da _LORIS_
Livio Orsini Inserita: 23 febbraio 2006 Segnala Inserita: 23 febbraio 2006 Se usi S7_200 ti basta copiare (quasi) quello che scritto. Leggiti bene il manuale nella parte relativa alle istruzioni, oppure consulta l'help in linea. Puoi benissimo provare con il KOP, così hai la visione dei contatti.Per fare Q2 = Q1 inizi il ramo con Q1 e lo termini con Q2 senza niente in mezzo. Per fare Q1 = -Q1 devi usare il simbolo del contatto negato (quello con le due sbarrette verticali attraversate da una diagonale) e questo contatto negato sarà Q1, poi termini con la bobina Q1.Per il fronte c'è l'apposita istruzioine. Per fronte si intende il momento in cui un contatto cambia di stato: da aperto diventa chiuso o viceversa; opure, usando la corretta terminologia booleana, quando falso (0) diventa vero (1) o viceversa. Quindi nel momento che il tuo pressostato chiude la condizione per comandare le pompe diventa vera. Prova a mettere giu il programmino, a cui dovrai aggiungere anche la condizione che le pompe sono comandate solo fintanto che il pressostato è chiuso.
dago_ Inserita: 23 febbraio 2006 Segnala Inserita: 23 febbraio 2006 Forse una cosa tipo questa:Network 1 LD I0.0 //PressostatoEU= M0.0 Network 2 LD M0.0AN M0.2S M0.1, 0 Network 3 LD M0.0A M0.2R M0.1, 0Network 4 LD M0.1= M0.2Network 5 LDN M0.2= Q0.0 //Pompa 1Network 6 LD M0.2= Q0.1 //Pompa 2
_LORIS_ Inserita: 24 febbraio 2006 Autore Segnala Inserita: 24 febbraio 2006 Io ragazzi è tutta la mattina che ci sbatto la capoccia ho collegato anche la CPU per rendermi conto.ma non mi spiego una cosa:nel programma KOP, inserisco il contatto aperto di I0.0 successivamente in serie il contatto aperto P (transazione) che infine entrambi mi comandano l'uscita Q0.0.Mi collego online e quando gli do l'igresso, nel PC la linea blu che simula l'andamento della "corrente" arriva fino al contatto P e non l''oltrepassa... quindi la bobina non mi si abilita.eppure dovrebbe farlo quando chiudo l'interruttore I0.0 (passaggio stato da OFF-ON) non funzionandomi questo, non riesco andare avanti e non capisco perchè...qualcuno sa dirmi cosa sbaglio?p.s. x Dagocon l'AWL ho difficoltà perchè sono un elettricista quindi ho copiato il tuo esempio e convertito con il Microwin in KOP, così ci capiamo però non mi risulta funzionante... riproverò P.S. x Liviomi rimane davvero difficile capire come ragionate, ad ogni modo son testardo e cercherò di capire, eventualmente se proprio non ci riesco ti chiedo qualche "indizio" in più... per buttare giù questo scheminoil fatto è che non "ci sono dentro" a questo modo di ragionare. Riguardo le istruzioni del PLC, si le fondamentali le conosco ed ho studicchiato discretamente il PLC, il problema ora è mettere in pratica la teoria
Livio Orsini Inserita: 24 febbraio 2006 Segnala Inserita: 24 febbraio 2006 Loris questo è il listato del programmino. L'ho scritto in AWL perchè è più facile copiarlo. Ribatti queste poche righe e poi, se vuoi, puoi rivedertelo in KOP se ti è più facile.Sul fronte pressostato eseguo settaggio memorie usciteLD I0.0AN SM0.1EUA M0.0= M0.1NOT= M0.0Se pressostato chiuso copio memorie sulle usciteLDN SM0.1A I0.0LPSA M0.0= Q0.0LPPA M0.1= Q0.1Se pressostato aperto resetto usciteLDN SM0.1AN I0.0R Q0.0, 2I0.0 ==> ingresso pressostatoSM0.1 Bit di sistema ==> 1 solo al primo ciclo serve per inizializzare M0.0 e M0.1 ==> memorie di appoggio per usciteQ0.0 e Q0.1 uscite per comando pompe.
_LORIS_ Inserita: 24 febbraio 2006 Autore Segnala Inserita: 24 febbraio 2006 (modificato) Grazie Mille Livio, Lunedì ci rimetto le mani.La mattinata di oggi, praticamente l'ho dedicata a capire che l'uscita nel video del PC non diventava blu perchèla transazione positiva P (off-on), fa passare la corrente solamente per un ciclo di scansione (quindi a video non si accende in quei millesimi di secondi) ed io erroneamente credevo che l'uscita non era stata abilitata... tutta la mattinata per capire questo!!!!!!! vabbè, però almeno l'ho capito ora (spero di aver dedotto la cosa giusta).saluti a tutti buon w& Modificato: 24 febbraio 2006 da _LORIS_
albertom Inserita: 25 febbraio 2006 Segnala Inserita: 25 febbraio 2006 Maggiori difficoltà iniziali maggiore esperienza futuraLa testardaggine non può che aiutarti.Buon lavoro
_LORIS_ Inserita: 27 febbraio 2006 Autore Segnala Inserita: 27 febbraio 2006 (modificato) Livio ho caricato il programma ma le pompe non invertono mai il funzionamento alternato con l'intervento del pressostato, il tuo ragionamento l'ho intuito... ora vedo di capire dove è l'errore.ecco l'immagine del tuo programma allegato in kop Modificato: 27 febbraio 2006 da _LORIS_
dago_ Inserita: 27 febbraio 2006 Segnala Inserita: 27 febbraio 2006 Forse non ho capito il problema, comunque questo dovrebbe funzionare.
Livio Orsini Inserita: 27 febbraio 2006 Segnala Inserita: 27 febbraio 2006 (modificato) Se I0.0 è Off le pompe non devono funzionare. I0.0 rappresenta l'ingresso del pressostato. Si considera che il pressostato sia chiuso quando il livello è tale da richiedere l'intervento della pompa. Se invece la logica del pressostato è negata devi usare il contatto negato (e quello diretto dove c'è quello negato); anche il fronte dovrà essere il fronte negativo.Se non si subordina l'intervento della pompa al livello del liquido la pompa sarà sempre inserita.In effetti il programma sembra funzionare correttamente. I0.0 è aperto ed il ramo del reset è chiuso, mentre è aperto quello del set. Prova a simulare la chiusura di I0.0 e vedrai che gli stati cambiano Modificato: 27 febbraio 2006 da Livio Orsini
_LORIS_ Inserita: 27 febbraio 2006 Autore Segnala Inserita: 27 febbraio 2006 okma le pompe non invertono il funzionamento, al primo intervento del pressostato deve andare la pompa1 al secondo intervento la pompa2 al terzo intervento riprende il ciclo...questo con il PLC attaccato non lo fa...comunque ritento ci voglio arrivare...P.S.utilizzando il contattore chje conta fino 2 invece mi funzionava... non è il massimo ragionare come avevo fatto io?
Livio Orsini Inserita: 27 febbraio 2006 Segnala Inserita: 27 febbraio 2006 Prova a modificare il primo segmento in questo modo:LDN SM0.1A I0.0EULPSA M0.0S M0.1, 1R M0.0, 1LPPA M0.1S M0.0, 1R M0.1, 1Io il programmino l'ho buttato giu senza quasi pensarci, a livello d'idea. Il concetto che sta alla base è che all'arrivo dell'impulso si cambia lo stato delle pompe, quindi se M0.0 è on diventa Off e viceversa, con M0.1 che è esattamente il suo negato.
_LORIS_ Inserita: 28 febbraio 2006 Autore Segnala Inserita: 28 febbraio 2006 (modificato) Ok Livio Grazie, ora non ho il cavetto per provarlo e l'ho convertito in KOP per poi provarlo appena possibile.Non mi convince moilto la serie dei due contatti che hai messo (in teoria il segnale, essendo aperti, non passa mai) forse c'è un errore, l'ho evidenziato in rosso... Modificato: 28 febbraio 2006 da _LORIS_
Livio Orsini Inserita: 28 febbraio 2006 Segnala Inserita: 28 febbraio 2006 Le due memorie M0.0 e M0.1 devono essere opposte di stato, in altri termini se una è On l'altra è OFF. Ovviamente al momento della partenza qualcuno deve settare e resettare per avere l'esatta configurazione. Chi lo fa?. Il modo corretto è inserire un primo segmento che con SM0.1 on effettua le operazioni necessarie alla partenza. Le puoi fare direttamente nel segmento oppure usare la tecnica canonica: Il primo segmento con SM0.1 = ON chiama SBR0 che è la sub destinata all'inizializzazione.Quindi:LD SM0.1 Call SBR0dove scriverai, per esempio LD SM0.1S M0.0, 1R M0.1, 1
_LORIS_ Inserita: 7 aprile 2006 Autore Segnala Inserita: 7 aprile 2006 (modificato) Scusate il ritardo, in questi giorni ho rimesso le mani sul programma che mi ha scritto Livio.Ragazzi nulla da fare non funziona... boh....Ho aperto una nuova discussione con titolo più idoneo...se qualcuno riesce a farmi capire perchè per quella applicazione è meglio utilizzare un flip-fop software piuttosto che ne un contatore glie ne sarei grato (magari scrivendomi un programma funzionante in modo che possa capirlo).Io non ci riesco... mi sono impegnato tanto però heeheheh quello che ho dedotto io fin'ora che con il contatore funziona e non da problemi, con il flip-flop o altri sistemi non si riesce a realizzare e forse se ci si riesce diventa un programma molto più lungo e difficile da concepire....complicarsi la vita?perfavore ditemi che ne pensate, ecco la discussione che ho aperto:%%%***********************E' controproducente oltre che vietato creare discussioni uguali o simili, si rischia di ottenere risposte sparpagliate oltre alla inutile perdita di tempo da parte dei visitatori per leggere 2 volte le stesse cose. L'altra discussione e' stata cancellata Modificato: 7 aprile 2006 da NULL
MarcoEli Inserita: 8 aprile 2006 Segnala Inserita: 8 aprile 2006 (modificato) Il programma di Livio non funziona perchè ti rimane sempre pilota la pompa 1.Prova questa soluzioneNetwork 1 // Titolo del segmento// Commento del segmentoLDN Q0.0AN Q0.1AN M0.1EUS M0.1, 1= M0.2Network 2 LDN Q0.0AN Q0.1A M0.1A M0.2EUR M0.1, 1Network 3 LDN M0.1A I0.0= Q0.0Network 4 LD M0.1A I0.0= Q0.1Io comunque preferisco la soluzione con il contatore anche perchè quando cominci ad avere 3 o più pompe diventa più difficile (però non devi usare un contatore ma incrementare una VW) Modificato: 8 aprile 2006 da MarcoEli
batta Inserita: 8 aprile 2006 Segnala Inserita: 8 aprile 2006 Scaricati l'esempio allegato, e vedi se ti piace.Se poi vuoi giocare un po', invece del flip-flop potresti gestire due contaore (uno per pompa), magari incrementando una doppia word ogni secondo quando la pompa è in funzione (ne avresti per circa 68 anni di funzionamento), e col comando di start far partire la pompa che ha lavorato meno.Questo è il sistema che io adopero abitualmente, utile soprattutto quando ci sono più di due motori.
ixa Inserita: 9 aprile 2006 Segnala Inserita: 9 aprile 2006 prova in questo modo, dovrebbe funzionare!..........ciao.LD I0.0 // pressostatoEU= M0.0LD M0.0AN Q0.1JMP 1LD M0.0S Q0.0, 1 // compressore1R Q0.1, 1JMP 2LBL 1S Q0.1, 1 // compressore2R Q0.0, 1LBL 2
_LORIS_ Inserita: 10 aprile 2006 Autore Segnala Inserita: 10 aprile 2006 (modificato) Allora ragazzi se qualcuno ha voglia di rispondermi provo a fare altre domande.Io per realizzare un funzionamento di questo tipo ho utilizzato un contatore C0 praticamente metto +2 in PV e poi faccio le mie comparazioni ==0 mi fa andare una pompae ==1 mi fa nadare l'altra.Scopo della mia discussione era capire sela mia soluzione è la "migliore" e confrontarmi appunto con voi.Non ho capito bene perchè alcuni mi hanno detto che non è il massimo la soluzione che ho adottato... che svantaggi ha? Dunque, i tre programmini che cortesemente mi avete inserito li ho caricati tutti ma al momento mi funziona solo quello di batta,tuttavia mi rimane abbastanza difficile da comprendere (c'è un bel raggiro), ma funziona.la mia soluzione con il contatore, sarà perchè l'ho concepiata io... ma mi rimane più semplice da capire.sarei curioso di capire anche la soluzione che ha inserito ixa con i JUMP ma caricandolo mi da un errore di segmento, forse c'è un errore che non son riuscito a capire in questa parte:LBL 1S Q0.1, 1 // compressore2R Q0.0, 1e quindi non son riuscito a provarla on-linepoi mi avete detto in diversi che non devo usare contatore...(contaore è la stessa cosa? perchè ho letto anche contaore...)e devo incrementare una VW o doppia word...cioè?che soluzione è migliore per ottenere un programmino semplice da leggere, sicuro affidabile anche per più di 3 pompe...scusate l'inesperienza e grazie ancora Modificato: 10 aprile 2006 da _LORIS_
ixa Inserita: 10 aprile 2006 Segnala Inserita: 10 aprile 2006 il programmino l'ho testato ora e funziona!LD I0.0 // pressostatoEU= M0.0LD M0.0AN Q0.1JMP 1LD M0.0S Q0.0, 1 // compressore1R Q0.1, 1JMP 2LBL 1S Q0.1, 1 // compressore2R Q0.0, 1LBL 2con la funzione copia/incolla mettilo in un unico segmento....vedrai che funge!la soluzione più semplice secondo me, è decisamente quella del batta.per la gestione, poi, di 3;4;5......compressori beh!,credo si debba strutturare un programma diverso e che consideri altri aspetti.
MarcoEli Inserita: 10 aprile 2006 Segnala Inserita: 10 aprile 2006 (modificato) Prima di tutto se vuoi un programmino affidabile e sicuro devi aggiungere qualche altro dato come l'avaria delle pompe e il conteggio delle ore.Tu sei partito con il chiedere la soluzione per 2 pompe e quella ti è stata data, ovviamente è di versa se hai più di due pompe.Impara comunque che non esistono programmi giusti o sbagliati, ognuno vede ed interpreta a suo modo la soluzione del problema.Le soluzioni che ognuno di noi ti ha proposto sono derivate dalla propria esperienza personale di ognuno.Comunque hai ragione nel mio programma c'era un imprecisione, provalo adesso. Modificato: 10 aprile 2006 da MarcoEli
ixa Inserita: 10 aprile 2006 Segnala Inserita: 10 aprile 2006 per comprendere meglio "il raggiro del batta", guarda sul manuale siemens la funzione di OR esclusivo.
ixa Inserita: 10 aprile 2006 Segnala Inserita: 10 aprile 2006 sono d'accordo marco!ognuno di noi programma in modo differente, la cosa fondamentale è: massima attenzione alla sicurezza, soprattutto delle persone!
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