Vai al contenuto
PLC Forum


Alternare 3 Pompe


GIANLUCA 1

Messaggi consigliati

ciao a tutti, premesso che sono un principiante, avrei bisogno di un aiuto! devo scrivere la logica in ladder per gestire 3 pompe che devono lavorare in coppia (una rimane di scorta per un eventuale guasto) ed inoltre i giorni sucessivi devono ruotare.. ad esmpio GIORNO 1 : P1 & P2, GIORNO 2: P2 & P3, GIORNO 3: P3 & P1. Ovviamente devo usare dei temporizzatori per far lavorare le pompe che hanno meno ore di lavoro ma la con s7 300 i temporizzatori contano per 2h 46min 30sec. Come posso impostare il lavoro? :blink:

Link al commento
Condividi su altri siti


  • Risposte 54
  • Created
  • Ultima risposta

Top Posters In This Topic

  • GIANLUCA 1

    30

  • batta

    15

  • Andrea_Aset

    4

  • franco1

    3

Lascia perdere i temporizzatori.

La cosa più comoda è gestire un semplice contaore, anzi, contasecondi.

Il sistema più facile consiste nell'utilizzare i merker di clock. Crea un Fronte di Salita per il merker di clock con frequenza 1Hz.

Con Fronte Salita alto, per ogni pompa incrementi di una unità una variabile DINT se la pompa è in funzione. Hai così ottenuto un conteggio che, con funzionamento 24 ore su 24 365 giorni all'anno, ti permette di arrivare a circa 68 anni.

Bastano poi un paio di semplici comparazioni per decidere quale pompa far partire.

Modificato: da batta
Link al commento
Condividi su altri siti

ho un problema nel richiamare il blocco dati (DB1) nell'OB1. Anche se seguo la procedura spiegata nel manuale "primi passi con s7", ottengo sempre la stessa risposta: voce non ammessa nella tabella del blocco dati. Da cosa può dipendere? Nell' OB1 non devo richiamare il blocco dati col nome che gli ho dato io nella tabella dei simboli?

Link al commento
Condividi su altri siti

  • 2 weeks later...

riprendo il discorso interroto tempo fa sull'alternare 3 pompe.

Inanzi tutto frugando nei manuali ho letto che ad ogni merker di clock corrisponde una frequenza ( in particolare al bit 5 corrisponde la frequenza di 1 Hz).

Dopo ho provato a costruire un conta secondi che, come arriva a 60, abilita un conta minuti che, a sua volta quando arriva a 60 abilita un conta ore che arriva a 24 (ore).

Sempre nel manuale ho letto che i merker di clock vanno cinfigurati ma non ho ben capito come si fa. Ho provato ad impostare qualcosa ma non funziona.

Di seguito vi posto ciò che ho fatto

Link al commento
Condividi su altri siti

io quando facevo tali impianti , le pompe facevo fare a tutte tre le stesse partenze e le stesse fermate, in modo di averle fatto lavorare tutte alla stessa maniera, (inoltre non giorno per giorno ma a ad ogni manovra le facevo sempre ruotare).

Utilizzando comtatori interni, marker, e fronti di salita, oltre a un sistema di temporizzazione in caso di fermo o continuo funzionamento della pompa che provvedeva a fermare la pompa e a segnalaren il guasto.

Ciao

Link al commento
Condividi su altri siti

Per configurare il byte di merker di clock, devi andare in:

Configurazione Hardware

Doppio click sulla cpu

Scheda "Ciclo / Merker di clock"

Spuntare la casella "Merker di clock"

Impostare il byte di merker di clock.

Per quanto riguarda il conteggio del tempo per l'avviamento alternato delle 3 pompe, contare secondi, minuti e ore è solo una complicazione inutile.

Se incrementi semplicemente una variabile DINT (usando il fronte di salita del mercker di clock 1Hz), puoi contare fino a circa 68 anni.

Poi ti basta fare un paio di comparazioni per stabilire quale pompa abbia meno lavoro sulle spalle e farla partire per prima.

Se invece tieni conto di ore/minuti/secondi, le comparazioni necessarie per arrivare allo stesso risultato sono molte di più.

Quindi, col conteggio separato ore/minuti/secondi, ti complichi la vita due volte: la prima per gli incrementi separati, la seconda per le comparazioni successive.

Piuttosto, se ti serve una visualizzazione del tempo in ore/minuti/secondi, li puoi ottenere partendo dai secondi totali.

Esempio:

      L     #SecondiTotali
      L     L#3600
      /D    
      T     #Ore
      L     #SecondiTotali
      L     L#3600
      MOD   
      T     #Resto
      L     60
      /D    
      T     #Minuti
      L     #Resto
      L     60
      MOD   
      T     #Secondi

Link al commento
Condividi su altri siti

ok, non mi è strettamente neccessario contare secondi, minuti e ore, è sufficiente ciò che mi hai indicato con i merker di clock.

Per la configurazione dei merker di clock tutto ok : ho impostato il Byte 0 e di conseguenza il bit 5 con frequenza 1 Hz. Sto provando a fare dei tentativi ma non si muove nulla, nel senso che non viene conteggiato nulla!!

posto cio che ho fatto:

http://img87.imageshack.us/my.p

MW2 è solo una prova, volevo farlo contare sino a 2 e poi resettare.

Modificato: da GIANLUCA 1
Link al commento
Condividi su altri siti

Scusa Batta, non sono un esperto Siemens e chiedo lumi.

Se la pompa è in moto la variabile DINT la fai incrementare ogni secondo?

Esempio:

//Clock 1 secondo, ricavato da fronte salita
//merker di clock con frequenza 1Hz
      U     M      0.5
      FP    M     20.0
      =     M     20.1

//Incremento contasecondi solo se pompa in marcia
      ON    M     20.1
      ON    M     20.2                  // ON con pompa in marcia
      SPB   M000
      L     DB1.DBD    0
      +     L#1
      T     DB1.DBD    0
M000: NOP   0

Per la configurazione dei merker di clock tutto ok : ho impostato il Byte 0 e di conseguenza il bit 5 con frequenza 1 Hz. Sto provando a fare dei tentativi ma non si muove nulla, nel senso che non viene conteggiato nulla!!

Premesso che non puoi usare un contatore per il tuo scopo, perché in valore massimo di conteggio è 999, veniamo al problema.

Domanda: il merker M0.5, cambia di stato oppure no?

Link al commento
Condividi su altri siti

Scusa Batta ma non mi è chiara una tua affermazione.

Se memorizzi i secondi in una variabile DINT, perchè dici che si possono memorizzare fino a 68 anni?

A me risulta invece che si possono memorizzare fino a 136anni.

2 alla 32, infatti, permette di scrivere fino a oltre 4 miliardi di secondi.

Saluti.

Link al commento
Condividi su altri siti

A me risulta invece che si possono memorizzare fino a 136anni.

2 alla 32, infatti, permette di scrivere fino a oltre 4 miliardi di secondi.

Un bit è per il segno, quindi il valore massimo positivo è HEX 7FFFFFFF, ovvero 2147483647.

Comunque, io ho già 47 anni. Un contatore che arriva "solo" a 68 anni... non è un mio problema ;)

Modificato: da batta
Link al commento
Condividi su altri siti

ho provato a fare alcune prove e il contatore conteggia solo se sono io a forzare il bit M0.5

inoltre una volta che arriva al valore MW2 invece di resettare continua oltre.

Cosa sbaglio seccondo voi?

Link al commento
Condividi su altri siti

con questa configurazione riesco a far partire il contatore in contemporanea con l'avviamento della pompa P1:

conta3.png

w485.png

un dubbio però : ok il contattore conta sino a 999 (sec) che tradotto sono 17 min e 5 sec giusto? però una volta finito questo ciclo non si riparte da zero?

Link al commento
Condividi su altri siti

L'uscita "Q" del contatore è attiva quando il conteggio è diverso da zero, ed il contatore non si resetta da solo.

Ma mi spieghi perché ti ostini ad usare il contatore, che per il tuo problema non va bene?

ho provato a fare alcune prove e il contatore conteggia solo se sono io a forzare il bit M0.5

Hai controllato e scaricato la configurazione nella cpu?

Link al commento
Condividi su altri siti

  • 2 weeks later...

salve sono tornato.

non trovo un blocco che mii permetta di incrementare le variabili DINT come mi è stato suggerito per conteggiare. Mi pottreste suggerire dove lo trovo?

Link al commento
Condividi su altri siti

Se lo fai in AWL:

L #VarDint

L L#1

+D

T #VarDint

Oppure (ancora più semplice):

L #VarDint

+ L#1

T #VarDint

Se lo vuoi fare in KOP, devi usare il box "ADD_DI" (vedi funzioni in virgola fissa).

Link al commento
Condividi su altri siti

  • 2 weeks later...

salve ho seguito il consiglio ma il conteggio si ferma a 2 e non capisco perchè.

posto ciò che ho fatto:

contap1.png

w841.png

secondo voi cosa può essere?

Link al commento
Condividi su altri siti

Scusate se mi intrometto

Se vuoi gestire tre pompe come dici io ho propio un blocco che fa tutto ciò che ti serve scritto da me, se ne hai ancora bisogno fammi sapere.

Andrea

Link al commento
Condividi su altri siti

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