marcoangioni Inserito: 5 febbraio 2006 Segnala Inserito: 5 febbraio 2006 Devo realizzare un totalizzatore con s7200.Il misuratore di portata ha un range di 0-50 mc/h equivalente a 4-20 ma.Ho gia' impostato un blocco funzione che mi trasforma i 4-20ma in numero reale 0-50mc/h (vb100)come posso totalizzare la portata ?avete un esempio ?Grazie Marco
Gabriele Corrieri Inserita: 5 febbraio 2006 Segnala Inserita: 5 febbraio 2006 Ciaosemplicemente devi integrare In parole povere, devi scandire la tua minima unità di tempo (S7 200 ti consente fino a 1 mS su interrupt) prendere il valore (magari medio) in quell'unità di tempo e sommarlo al totale.Un esempio pratico 50 mc/h corrispondono a 0,0139 mc /s oppure 0,0000139 mc/ms.Se integri ogni ms, a parte che la CPU sarà molto impegnata per via degli interrupt, ma non ti serve fare la media ... poi dipende anche dalla precisione richiesta.Mettiamo 1 sec di tempo di integrazione, se in quel secondo tu hai misurato 12 mA allora hai una portata di 0,00694 mc, che andrai a sommare al tuo totalizzatore. E' sensato probabilmente lavorare con numeri interi e quindi ragionare in dmc, oppure devi usare i numeri reali che impegnano molto di più la cpu.Naturalmente puoi misurare con un tempo di scansione più alto o più basso, dipende comunque sempre dalla velocità di variazione del tuo fluido, se è lenta magari anche 5-10 sec sono sufficienti, se è veloce magari serve 500mS.Per il teorema di Shannon, del campionamento, ricordati che per acquisire una variazione di un segnale devi campionarlo almeno al doppio della sua velocità di variazione, nel senso: mettiamo che la velocità può variare in un secondo, ebbene tu devi campionare ogni 500mS, almeno, più veloce è, più sei preciso, ma di contempo più hai necessità di una CPU prestante.Ciao
marcoangioni Inserita: 5 febbraio 2006 Autore Segnala Inserita: 5 febbraio 2006 Grazie per il prezioso consiglio.Mi potresti inviare un esempio applicativo ?
max.bocca Inserita: 6 febbraio 2006 Segnala Inserita: 6 febbraio 2006 Esempio se con 10V il convertitore riporta 32000, e sai che in un secondo sono 32 litri, tu non fai altro che sommare ogni secondo il valore della conversione divendo il tutto per 1000...Se ti serve il codice da un fischio.... che te lo scrivo... ora non ho la possibilità
elsabz Inserita: 6 febbraio 2006 Segnala Inserita: 6 febbraio 2006 In alternativa potresti utilizzare il segnale digitale d'uscita apposito per eseguire i conteggi di portata. Normalmente c'è su tutti gli strumenti. Lo configuri sullo strumento dandogli un valore per impulso (es. un 1 impulso ogni 10 litri) e sul PLC non fai altro che incrementare una variabile di 10 litri sul fronte di salita di tale segnale. In questo modo svincoli la CPU dall'eventuale lavoro d'integrazione e sei più preciso, peraltro avendo l'esatto quantitativo di portata che è segnato sullo strumento.CiaoSergio
max.bocca Inserita: 6 febbraio 2006 Segnala Inserita: 6 febbraio 2006 SE NON HAI L'USCITA IMPULSIVA PROVA QUESTO CODICESE ARRIVA 10V CON UNA PORTATA DI UN 100 LITRI AL SECONDO, IN UN ORA 360000 LITRI ORA... PROVA.... Network 1 // SOMMATORE CAMPIONATORELD SM0.5EU+I VW1500, VW2000Network 2 // RESET CONTATORELD I0.0EUMOVW 0, VW2000Network 3 // LETTURA DEL VALORE ANALOGICO (10V = 100%)LD SM0.0MOVW AIW0, VW1500/I +320, VW1500
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