Vai al contenuto
PLC Forum

Partecipa anche tu alla Live su Youtube martedì 28/01/2025 per festeggiare i 24 anni di PLC Forum

Per ulteriori informazioni leggi questa discussione: https://www.plcforum.it/f/topic/326513-28012025




Alternanza Pompe sommerse S7-1200


Messaggi consigliati

Inserito:

Salve sono nuovo del forum e lo stesso si può dire della programmazione del simens s7-1200, in ogni caso avrei bisogno di un aiuto per fare una cosa semplice per la maggior parte di voi. Ma su cui sto sbattendo la testa da qualche giorno, anche su questo forum. Dovrei comandare in alternanza due pompe sommerse, in maniera semplice e ciclica naturalmente considerando eventuali gusti in modo da non rimanere mai senza che almeno delle due entri in funzione. Non mi interessa tener conto delle ore di funzionamento, per eseguire l'alternanza, al massimo per una eventuale manutenzione. Il segnale di ingresso " Galleggiante" mi fà partire una volta una Pompa una volta un'altra. Data la mia scarsa esperienza gradirei che mi mostraste qualche esempio di programmazione in Lander in modo da capire come affrontare la cosa. Se possibile vorrei creare un blocco funzione da utilizzare in diversi punti del progetto magari in altre vasche o con altre pompe. Vi ringrazio in anticipo per l'eventuale supporto.


Inserita:

Prima metti giù l'elenco degli input/output, ad esempio: galleggianti, termiche, avviamento, lampade spia, temporizzatori, segnalazioni di allerme, interruttori e pulsanti, emergenze.

Poi da li scrivi qualche linea di Ladder e ti diamo delle dritte.. 

Inserita:

Crei un bit di priorità, se ha valore 0 la priorità è della pompa 1 se ha valore 1 la priorità è della pompa 2.

Sul comando delle pompe metti sulla pompa 1 il bit negato sulla pompa 2 il bit non negato.

In parallelo al bit di priorità sul comando delle pompe metti il fault della pompa reciproca cosi se una delle pompe è in fault il bit della priorità non lavora.

Ogni volta che il comando delle pompe va a zero inverti il valore del bit.

Questo è un modo easy per gestirle l'alternanza.

 

Inserita:

dopo molti tentativi ho creato una stringa che sembra funzionare, deve essere implementata con le sicurezze ma non sono sicuro che sia del tutto corretta in quanto se resta in memoria per qualche interruzione un Markel potrebbe non funzionare correttamente. potreste dargli un'occhiata?

image.png.ffa2a94dead48272cd0872a4780f85a1.png

Inserita:

Si, manca solo mettere in parallelo al M_0Galleggiante i fault della pompa 2 sul ramo della pompa 1 e viceversa.

 

Inserita:

Sono riuscito anche a creare un blocco FC da richiamare nei diversi punti dello schema, mi resta da inserire solo gli eventuali interventi delle sicurezze in modo da far continuare a funzione almeno una delle due pompe in caso di guasti. Unico dubbio è quello se mandare un reset delle memorie ad ogni avvio in modo che non possa capitare che resti attivo uno stato m0.0 che non venga resettato.

 

Inserita:

Ad ogni modo grazie mille per il supporto. 

Inserita:

I merker sono una cosa obsoleta, crea un fb  da richiamare per tutte le coppie di pompe con la sua DB di istanza dove appoggi tutti i tuoi bit.
Inoltre i mercker M0.x se abilitati sono usati per i clock.

 

Inserita:
17 ore fa, acquaman ha scritto:

I merker sono una cosa obsoleta

Ni.

Vengono utili, almeno per me, se devi fare qualche modifica e non ti puoi permettere di riinizializzare i DB o riavviare la cpu.

 

Nel caso di questo post hai comunque ragione.

Inserita:
Il 18/1/2025 alle 18:29 , Gerardo.sta ha scritto:

Ad ogni modo grazie mille per il supporto. 

Per  controllare l'alternanza di funzionamento di due pompe, si potrebbe fare anche molto semplicemente tramite un generatore di impulsi pausa lavoro e usare il bit alto per abilitare la pompa 1 e il bit basso per abilitare la pompa 2. I tempi di pausa e lavoro, uno il triplo dell'altro, possono avere valori es. 15 minuti e 45 minuti. Poi ci sarà tutta la logica per gestire e scambiare eventualmente la pompa in avaria per termica, esclusa, in manuale, ecc...

Inserita:

per me sempre fatto così una variabile booleiana gestisce l'alternanza delle due pompe, il FALSO della variabile booleiana gestisce l'attivazione della prima pompa, il VERO gestisce l'attivazione delle seconda pompa, il fronte di salita di chiamata di esercizio di una delle pompe commuta la variabile di alternanza che analogamente viene commutata se una pompa va in blocco per un qualsiasi motivo è ovvio che tale commutazione di esercizio deve essere fatta se l'altra pompa non è già in blocco altrimenti resta sempre in esercizio la pompa disponibile. La gestione del bit booleiano di alternanza può essere gestito o come oggetto di un istruzione ALT (alternanza bool su PLC giapponesi) oppure un semplice bit derivante da un contatore a incremento da 0 a 1 che quando arriva a 2 torna subito a 0 qyuindi con calori possibili 0 o 1

Livio Orsini
Inserita:
8 ore fa, leleviola ha scritto:

per me sempre fatto così una variabile booleiana

 

In linea di principio l'uso delle variabili booleane come flag o semafori è corretto.

Anche se oggi la quantità di memoria disponibile è enorme e sovrabbondante non vedo perchè non si debbano usare le variabili booleane.

Inserita:
15 ore fa, a321680 ha scritto:

Per  controllare l'alternanza di funzionamento di due pompe, si potrebbe fare anche molto semplicemente tramite un generatore di impulsi pausa lavoro e usare il bit alto per abilitare la pompa 1 e il bit basso per abilitare la pompa 2.

Così avresti una infinità di avviamenti inutili portando al degrado più velocemente delle pompe, lo scambio deve avvenire quando le pompe si fermano e non durante l'esercizio.

 

14 ore fa, leleviola ha scritto:

il fronte di salita di chiamata di esercizio di una delle pompe commuta la variabile di alternanza

io preferisco che lo scambio avvenga allo stop, così so già quale sarà la pompa che entrerà in funzione, anche in funzione di una visualizzazione ad HMI, ma sono solo preferenze.

 

14 ore fa, leleviola ha scritto:

contatore a incremento da 0 a 1

Basta fare un flip flop, senza scomodare un contatore.

Inserita:
5 ore fa, acquaman ha scritto:

Basta fare un flip flop, senza scomodare un contatore.

non so come mai ma i flip flop li ho sempre mal digeriti 😄 .... non so come mai ma probabilmente dovuto a una mia personale deformazione mentale

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