GIANLUCA 1 Inserita: 23 marzo 2009 Autore Segnala Share Inserita: 23 marzo 2009 magari......sarebbe una manna dal cielo!!! Link al commento Condividi su altri siti More sharing options...
Andrea_Aset Inserita: 23 marzo 2009 Segnala Share Inserita: 23 marzo 2009 Ok Mandami il tuo indirizzo che ti invio un progettino di esempio dove tu puoi estrapolare i blocchi.Se vuoi vedere come funzione puoi avviare il simulatore e provare con la vat.Fondamentalmente il blocco da un numero di sequenza in base alla prima turbina/Pompa abilitata che tu puoi usare come vuoi.per la gestione delle ore di lavoro dovrai abilitare un ingresso che cambiera la sequenza in base alle ore di lavoroo.Andrea Link al commento Condividi su altri siti More sharing options...
batta Inserita: 23 marzo 2009 Segnala Share Inserita: 23 marzo 2009 salve ho seguito il consiglio ma il conteggio si ferma a 2 e non capisco perchè.Nel mio esempio, se noti, c'è scritto: prendi la variabile "A", somma 1 e metti il risultato ancora nella variabile "A". Così facendo hai incrementato di una unità il valore della variabile "A".Nel tuo esempio invece hai scritto: prendi la variabile "A", somma 1 e metti il risultato nella variabile "B". Direi che non è la stessa cosa.Per quanto riguarda la proposta di Andrea_Aset di fornirti un blocco già fatto, io considero l'offerta lodevole, ma sbagliata, perché così non impari.Tieni presente che questa dell'alternanza è una cosa banale. Se non superi da solo questo ostacolo, cosa farai quando ti si presenteranno problemi più complessi? Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 23 marzo 2009 Autore Segnala Share Inserita: 23 marzo 2009 (modificato) per l'offerta di andrea hai raggione Batta così non imparo ma visto che la sessione di laurea è il mese prossimo il tempo inizia a stringere... poi mi sono accorto dell'errore e ho provato a rifare seguendo un tuo precedente consiglio:come puoi notare però continua a piantarsi dopo che arriva a 2 il che mi preoccupa....PS ho rifatto lo stesso errore e me ne sono accorto rileggendo il tuo messaggio precedente e guerdando cio che ho postato Modificato: 23 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 23 marzo 2009 Autore Segnala Share Inserita: 23 marzo 2009 (modificato) c'è un problema! sto provando ad incrementare la stessa variabile però in awl è possibile scrivere ciò che tu mi hai detto ma in kop non riesco!! a meno che non ci sia qualche altro passaggio da fare...PS: non è l'alternanza a complicarmi la vita bensì contare il tempo.... Modificato: 23 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 come puoi notare però continua a piantarsi dopo che arriva a 2 il che mi preoccupa....Nel tuo esempio ci sono due errori:1) manca l'istruzione "SPB M000" dopo "ON "P1""2) la variabile #tempo_iniziale è dichiarata come IN anziché come IN_OUT Non capisco però perché tu voglia usare una FC per fare un semplice incremento. Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 dal manuale leggo che un SPB è un'etichetta di salto, quindi dovendo lavorare in kop posso usare un JMP, giusto? non sto usando una FC ( o almeno credo, sto lavorando dentro un blocco FB precisamente FB1!) Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 dal mnemonico inglese risulta che JNB è un' etichetta di salto equivalente SPB o almeno credo di aver capito così.MIRACOLO CONTA!!!!! Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 (modificato) ora che conta mi sono accorto che se metto la cpu in stop il conteggio riparte da zero; supponiamo che l'impianto venga avviato oggi e le pompe P1 e P2 (di supporto alla P1) partano insieme; per far avviare le pompep P2 e P3 domani dovrò tener conto del tempo di lavoro delle P1 e P2 del giorno precedente (con dei blocchi di compareazione) comparando il tempo conteggiato. Ma se si resetta come ne tengo conto?posto iil blocco ottenuto: Modificato: 24 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 Devi memorizzare il conteggio nell'area di memoria non volatile Link al commento Condividi su altri siti More sharing options...
Andrea_Aset Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 Prova a vedere cosi se funziona ti dovrebbe aiutare a capireCiao Andrea Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 (modificato) nel mio caso mi basta contare solo i secondi per sapere quale pompadeve partire il giorno sucessivo; per cercare di salvare il valore del conteggio in un area di memoria non volatile ho cercato di "spostarle" in una parola di merker definita nella tabella dei simboli ma non ho risolto lo stesso: Modificato: 24 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 dal manuale leggo che un SPB è un'etichetta di salto, quindi dovendo lavorare in kop posso usare un JMP, giusto?Se lavori in KOP, quando condizioni l'esecuzione di un box il salto viene creato in automatico.non sto usando una FC ( o almeno credo, sto lavorando dentro un blocco FB precisamente FB1!)Peggio ancora. Perché sprechi le risorse richieste da un FB per una cosa così banale?FC ed FB con parametri si utilizzano solo nel caso di operazioni abbastanza complesse o ripetitive.Nel tuo caso (salvo esigenze diverse di cui fino ad ora non si è parlato), ti conviene programmare tutto in una FC senza parametri.Per memorizzare il valore di conteggio crei un DB con le variabili di cui hai bisogno.ora che conta mi sono accorto che se metto la cpu in stop il conteggio riparte da zero;Vale quanto detto sopra. Se utilizzi una variabile di un DB, il valore viene mantenuto anche se spegni il plc.Per quanto riguarda la lingua, tieni presente che sono pochissimi i programmatori (almeno in Italia) che utilizzano Step 7 con le istruzioni in inglese.Se la scelta non è obbligata, io ti consiglierei di utilizzare le istruzioni in tedesco.Tieni presente che io di tedesco non so una parola, ma i nomi da imparare sono pochi. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 Andrea, io sono dell'idea che contare ore, minuti e secondi sia solo una inutile doppia complicazione. Basta un unico conteggio in secondi.Se leggi tutta la discussione, capisci perché. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 Gianluca, voglio tornare ancora sul discorso variabili.Usare MW e MD per memorizzare valori non è la scelta ideale. Per questo scopo ci sono i blocchi dati (DB).Crea un DB (esempio: DB10) e assegnagli un nome simbolico (esempio: TLP, che sta per Tempo Lavoro Pompe).Apri il DB e crea le variabili di cui hai bisogno (esempio: Pompa_1, Pompa_2, Pompa_3, tutte dichiarate come DINT.Ora il tuo programma diventa così://Segmento 1 - Genera flag attivo una scansione ogni secondo U "MerkerDiClock" FP "AuxClock_1s" = "Clock_1s" //Segmento 2 - Incrementa tempo lavoro Pompa 1 U "P1" U "Clock_1s" SPBNB _001 L "TLP".Pompa_1 L L#1 +D T "TLP".Pompa_1 _001: NOP 0 //Segmento 3 - Incrementa tempo lavoro Pompa 2 U "P2" U "Clock_1s" SPBNB _002 L "TLP".Pompa_2 L L#1 +D T "TLP".Pompa_2 _002: NOP 0 //Segmento 4 - Incrementa tempo lavoro Pompa 3 U "P3" U "Clock_1s" SPBNB _003 L "TLP".Pompa_3 L L#1 +D T "TLP".Pompa_3 _003: NOP 0Per comodità lo scrivo in AWL, ma è convertibile in KOP.Ora lascio a te il piacere di decidere l'ordine di partenza delle pompe Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 e la variabile locale #tempo_iniziale dichiarata come IN_OUT non serve più? Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 (modificato) mi è venuta una curiosità : ma se avessi creato tre FB, uno per ogni pompa, dove tenevo conto del tempo di funzionamento, della temperatura rilevata sulla pompa, pressione e portata, sarebbe stato fatibile o è meglio avere tutto separato come ora? Modificato: 24 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 facendo le debite prove il tutto non funziona..... cioè il blocco dati non viene aggiiornato e quindi il tempo che una pompa passa in funzione non viene memorizzato o almenomi sembra..da quello che mi sembra di aver capito dovrebbe aggiornarsi continuamente e mantenere l'ultimo valore assunto anche quando la cpu va in stop: Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 24 marzo 2009 Autore Segnala Share Inserita: 24 marzo 2009 mentre questo è il blocco FC1: Link al commento Condividi su altri siti More sharing options...
batta Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 Se i controlli da fare per ogni pompa fossero più numerosi del semplice incremento del tempo di lavoro, allora l'utilizzo di FC o FB parametrizzati diventerebbe molto comodo.Fare però un FC solo per buttarci dentro solo un incremento, non ha senso.Attenzione poi alla scelta FC oppure FB. Fare FB serve solo se c'è bisogno di appoggiare dati ad un DB (in questo caso il DB di istanza). Se questa necessità non c'è, meglio usare una più leggera FC.Deve funzionare. Controlla bene il programma. In particolare, controlla di non aver assegnato uno stato ai merker M5.1 e M5.2 in altri posti, che il merker di clock funzioni, che il merker "P1" si attivo, di aver scaricato nella cpu anche DB10, che la variabile "TLP".Pompa_1 non venga azzerata da qualche parte, che l'FC venga elaborata. Link al commento Condividi su altri siti More sharing options...
puntalino Inserita: 24 marzo 2009 Segnala Share Inserita: 24 marzo 2009 (modificato) ma fc1 è richiamato da ob1 puoi testare direttamente fc1 e vedi dovè il problema il merker di clock la mb è stata dichiarata nella configurazione della cpu Modificato: 24 marzo 2009 da puntalino Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 25 marzo 2009 Autore Segnala Share Inserita: 25 marzo 2009 sembra che proceda tutto per il verso giusto Link al commento Condividi su altri siti More sharing options...
Andrea_Aset Inserita: 25 marzo 2009 Segnala Share Inserita: 25 marzo 2009 CiaoSembra tutto a posto per me devi seguire il consiglio di puntalino.Per BattaIl mio era solo un esempio per fargli capire subito e in kop come si poteva contare secondi fino ad arrivare a contare persino glia anni. Scusa se non sono stato chiaro.Andrea Link al commento Condividi su altri siti More sharing options...
GIANLUCA 1 Inserita: 25 marzo 2009 Autore Segnala Share Inserita: 25 marzo 2009 (modificato) sta contando e i dati rimangono in evidenza nel simulatore. Ora provo a fare un blocco FB dove metto dentro rilevamento di temperatura , pressione e portata oltre il tempo di funzionamento. Modificato: 25 marzo 2009 da GIANLUCA 1 Link al commento Condividi su altri siti More sharing options...
batta Inserita: 25 marzo 2009 Segnala Share Inserita: 25 marzo 2009 Ora provo a fare un blocco FB dove metto dentro rilevamento di temperatura , pressione e portata oltre il tempo di funzionamento.Perché FB? Non ti conviene una FC?Se utilizzi una FB, per ogni pompa devi creare il suo DB di istanza. Visto che i dati per ogni pompa sono pochi, alla fine ti troveresti con 3 DB molto piccoli.A mio avviso, ti conviene creare un unico DB con tutti i dati di tutte le pompe, magari organizzati in strutture. Al posto della FB crei una FC alla quale passi di volta in volta i parametri della pompa 1, 2 e 3. 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