VINZENT Inserito: 19 settembre 2007 Segnala Share Inserito: 19 settembre 2007 Salve,S7 224 con pannello TP177 Micro.Ho collegato un contatore di kWh per avere sul mio pannello il totale dei kw consumati.fin qui' tutto ok....ma ora vorrei fare un'altra cosa,vorrei avere il consumo istantaneo cioe' un puro e vero wattametro.Avendo il mio contatore di kW (abb) dove mi tira fuori un'impulso ogni kw consumato e volendo un vedede i vat al momento,pensavo di dividere 1000 (watt ora) per 60 minuti = 16,6 wat al minuto.I watt al minuto dividerli per 60 secondi = 0,27watt al secondo.Sapendo quanti watt consumo al secondo,basterebbe moltiplicare 0,27 watt al secondo per il tempo intercorso tra impulso ed impulso? si ma come? e se vorrei fare una cosa piu' immediata? cioe' su decimi'grazie Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 19 settembre 2007 Segnala Share Inserita: 19 settembre 2007 Un solo impulso per ogni kW mi sembra poco per il tuo scopo, immagina di consumare 1kW/h, avresti un impulso all'ora e quindi una variazione della cifra visualizzata sul display ogni ora, se comsumi 10kW/h va un po meglio, ma non troppo... la variazione ce l'hai ogni 6 minuti.Comunque per calcolare i watt istantanei (con aggiornamento della cifra ogni volta che arriva un impulso) puoi usare le funzioni BGN_ITIME e CAL_ITIME che funzionano grossomodo come un cronometro (con i millesimi di secondo), quando arriva il fronte dell'impulso calcoli i watt istantanei così:W=3600000000/tempo_trascorsoNaturalmente usi tutte variabili DWORD. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 20 settembre 2007 Autore Segnala Share Inserita: 20 settembre 2007 Ringrazio anticipatamente per la tua collaborazione.Prendendo il manualetto del contatore di kwh ho letto che lo strumentino puo' essere settato per 1,10,100,1000 impulsi/kwh.Quindi siamo a cavallo (credo)Se setto lo strumentino per 1000 impulsi/kwh il risultato dovrebbe essere molto piu' preciso.Ma non ho capito come dovrei gestire questo calcolo e non ho capito cose' 3600000000Tenendo presente che la l'unghezza dell'impulso dato dallo strumento e' di 100 mssaluti. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 20 settembre 2007 Autore Segnala Share Inserita: 20 settembre 2007 Forse ci sono,provo:- 1 watt ogni x decimi di secondo in base al consumo energetico.-100 decimi per 60 secondi= 6000 milli per 60 minuti= 360000 millisecondi per avere un'ora-supponiamo che io abbia 1 watt ogni 10 secondi quanti watt istantanei sto' consumando?-10 secondi e' uguale a 1000 millisecondi-basterebbe dividere i 360000 millisecondi per il tempo intercorso tra watt e watt e quindi 1000 millisecondi = 360 watt Link al commento Condividi su altri siti More sharing options...
batta Inserita: 20 settembre 2007 Segnala Share Inserita: 20 settembre 2007 Non sono riuscito a seguire bene il tuo ragionamento, ma stai confondendo i millisecondo con i centesimi di secondo.1 secondo = 1000 ms1 minuto = 60 secondi = 60000 ms1 ora = 60 minuti = 3600 secondi = 3600000 msA parte questa precisazione (sicuramente si è trattato di una piccola svista), io direi che potresti risolvere il problema in due modi:1) contare il numero di impulsi ad intervalli di tempo fisso2) misurare il tempo trascorso tra due impulsiSe utilizzi il primo metodo più impulsi hai meglio è. Attenzione però a non superare la frequenza di impulsi leggibile da un normale ingresso del plc, altrimenti devi gestire anche un contatore veloce. Penso, inoltre, che l'uscita del contatore non possa arrivare a frequenze troppo elevate.Se utilizzi il secondo metodo devi configurare il contatore in modo che il tempo tra due impulsi non sia né troppo lungo (pena un aggiornamento troppo lento della lettura), né troppo breve (pena una lettura imprecisa).Per decidere, prima di tutto, come configurare il contatore, si dovrebbe sapere quali sono le potenze in gioco. Se si parla di utenza casalinga (quindi limite massimo dell'ordine di alcuni kW) potresti configurare il contatore per darti 1000 impulsi/kWh, ovvero 1 impulso ogni Wh. Per ragionare con i numeri, in caso di assorbimento di potenza di 2kW in un'ora ti troveresti ad avere 2000 impulsi, ovvero 1 impulso ogni 1,8 secondi.Se l'assorbimento scende a 200W avresti invece un impulso ogni 18 secondi.Con potenze di quest'ordine per utilizzare questo sistema dovresti fare il calcolo della potenza ad intervalli relativamente lunghi, diciamo dell'ordine dei 5 minuti. Come alternativa potresti fare i calcoli ad intervalli più brevi ma dovresti fare una media di un certo numero di valori per rendere la lettura più stabile.Questo metodo quindi lo vedrei adatto se le potenze in gioco sono dell'ordine delle decine di kW.Con questo sistema per calcolare la potenza dovresti applicare la seguente formula: N_Impulsi * 3600 P = ------------------------ K * Tempo Dove: P = potenza in kW N_Impulsi = numero di impulsi contati K = impulsi per kWh (configurati nel contatore) Tempo = tempo in secondi nel quale sono stati contati gli impulsi Diamo ora un'occhiata al secondo metodo (misura del tempo tra due impulsi). Rimanendo sempre nel campo di potenze di ordine casalingo e configurando il contatore sempre per 1000 impulsi/kWh con assorbimenti elevati (per questo tipo di utenza), avresti circa 1 impulso al secondo (potenza 4kW = 1 impulso ogni 0,9 secondi), mentre con basse potenze impegnate avresti impulsi piuttosto distanziati (potenza 200W = 1 impulso ogni 18 secondi. Tempo questo che comunque io considero ancora breve per il tipo di impiego). Con questo sistema per calcolare la potenza dovresti applicare la seguente formula: 3600 P = -------------- K * TempoLa formula è uguale a quella di prima, solo che il numero di impulsi è 1.Dove:P = potenza in kWK = impulsi per kWh (configurati nel contatore)Tempo = tempo misurato tra due impulsi in secondi Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 21 settembre 2007 Autore Segnala Share Inserita: 21 settembre 2007 Io ho optato per la seconda.Solo che utilizzando BGN_ITIME e CAL_ITIME che lavorano come cronometro ho un problema:mi contano la lunghezza del singolo impulso del contatore di kw cioe' i 100ms.cosa dovrei fare? Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 21 settembre 2007 Segnala Share Inserita: 21 settembre 2007 Nel tuo caso devi programmare prima il CAL e dopo il BEGIN entrambi comandati dal fronte dell'ingresso.Questo esempio non l'ho provato ma dovrebbe funzionare: Link al commento Condividi su altri siti More sharing options...
batta Inserita: 22 settembre 2007 Segnala Share Inserita: 22 settembre 2007 (modificato) Un sistema molto semplice per calcolare il tempo intercorso tra due impulsi è il seguente://Questo segmento deve essere tassativamente scritto in OB1. L #OB1_PREV_CYCLE // Tempo in millisecondi ultima scansione T TempoUltimaScansione // Variabile di appoggio (INT) //Questo segmento può essere scritto dove ti fa più comodo, per esempio in una FC dedicata al calcolo della potenza L TempoDaUltimoImpulso // Tempo trascorso da precedente impulso (DINT) L TempoUltimaScansione ITD +D T TempoDaUltimoImpulso U IN_Impulso // Impulso dal contatore FP XFP_Impulso // Ausiliario per fronte positivo impulso SPBN M000 L 3600.0 // Costante in formato REAL valida nel caso di 1000 impulsi per kWh e che tiene già conto del fatto // che il tempo trascorso dal precedente impulso è in millisecondi L TempoDaUltimoImpulso DTR /R T Potenza // Potenza calcolata in kW (formato REAL) L L#0 T TempoDaUltimoImpulso // Azzero tempo trascorso M000: NOP 0Ho avuto occasione più volte di utilizzare questo sistema per calcolare il tempo trascorso da un certo evento, e ti posso assicurare che è piuttosto preciso. Modificato: 22 settembre 2007 da batta Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 23 settembre 2007 Autore Segnala Share Inserita: 23 settembre 2007 PROVO CON QUELLO CHE MI AVETE CONSIGLIATO.GRAZIE Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 24 settembre 2007 Autore Segnala Share Inserita: 24 settembre 2007 BATA il tuo non riesco a scriverlo in S7 200 perche perche' io scrivo in KOP.Se potresti trascrivermelo sarei grato.saluti Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 24 settembre 2007 Segnala Share Inserita: 24 settembre 2007 Lo copi così come è in AWL e poi lo visualizzi in KOP, lo fa automaitcamente il PC Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 24 settembre 2007 Autore Segnala Share Inserita: 24 settembre 2007 jump:il tuo non capisco alcune cose:il primo segmento la transazione positiva non va' e "m_fronte 1" e' un marker?secondo e terzo segmento tutto chiaroil quarto -"AC1" cose' un'area di memoria?-rImpulsi-kwh? quindi dovrei moltiplicare 1000 impulsi per il tempo?-3.6E+009 a quanto corrisponde?mi scuso per la mia poca esperienzasaluti. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 24 settembre 2007 Autore Segnala Share Inserita: 24 settembre 2007 livio ci ho provato....ma non vienesaluti. Link al commento Condividi su altri siti More sharing options...
Livio Orsini Inserita: 24 settembre 2007 Segnala Share Inserita: 24 settembre 2007 "m_fronte 1" e' un markerAC1 e AC2 sono due registri accumulatori, sono etichette riconosciute dal compilatore, puoi usare una qualsiasi DWORD al loro posto, anche se è più comodo usare i registri3.6E+009 ==> 3.600.000.000 (tre miliardi e seicento milioni)livio ci ho provato....ma non vieneSe non funziona la conversione ti dice dove c'è l'istruzione non riconosciuta, verifica perchè non viene riconosciuta e correggi l'errore. Le variabili simboliche usate, per esempio, le hai assegnate? Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 24 settembre 2007 Segnala Share Inserita: 24 settembre 2007 (modificato) Mi sa che l'esempio di Bata è scritto in AWL per S7-300 Per quanto riguarda il mio esempio ti ha risposto Livio, ho scritto volutamente i simboli così per capire il tipo di variabili, se iniziano per m sono Merker, se iniziano per vd sono doppie word della DB1, se iniziano per r sono real.Ulteriori spiegazioni:1) Il fronte positivo del tuo ingresso (I0.0) genera un impulso sul Merker mFronte12) Questo impulso viene usato per calcolare vdTempo_ms (il tempo trascorso dall'impulso precedente), la prima lettura non indicherà un valore corretto ma il segmento è stato messo qui apposta altrimenti non può calcolare il tempo tra un impulso e il successivo. 3) Con l'impulso viene inizializzato il "cronometro" (scrivo cronometro per semplificare)4) Sempre con l'impulso vengono calcolat i Watt con la formula riportata da batta nei post precedenti : P= 3600/(K* Tempo)Al posto di K ho messo rImpulsi_kWh (qui devi inserire il valore impulsi/kWh, quindi se il tuo contatore ti fornisce 10 impulsi ogni kW inserirai 10.0)Al posto di 3600 ho messo 3.600.000.000 perchè il cronometro lavora con i millisecondi (e non con i secondi) e per avere il risultato in W (come richiesto) anzichè in kW.Ciao Modificato: 24 settembre 2007 da JumpMan Link al commento Condividi su altri siti More sharing options...
batta Inserita: 25 settembre 2007 Segnala Share Inserita: 25 settembre 2007 BATA il tuo non riesco a scriverlo in S7 200 perche perche' io scrivo in KOPScusa, solo ora mi sono accorto che tu parlavi di S7-200.Il mio codice, come precisato da JumpMan, è per S7-300. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 25 settembre 2007 Autore Segnala Share Inserita: 25 settembre 2007 perche' la transazione positiva non mi va'? Link al commento Condividi su altri siti More sharing options...
Savino Inserita: 25 settembre 2007 Segnala Share Inserita: 25 settembre 2007 Scusa, solo ora mi sono accorto che tu parlavi di S7-200.Il mio codice, come precisato da JumpMan, è per S7-300. Va beh.. ma potresti sempre adattarlo, no.. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 25 settembre 2007 Autore Segnala Share Inserita: 25 settembre 2007 Ho provato ad eseguire quello di jump,mi sembra molto piu' alla portata per le mie capacita'.non va' ila transazione positiva e non solo,anche se la togliessi il calcolo finale di watt mi tira fuori 3.600.000.000.0 diviso 1000.0 =3.600.000 ma questa e' fissa. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 25 settembre 2007 Autore Segnala Share Inserita: 25 settembre 2007 (modificato) Potete dare un'occhiatina su questo che ho realizzato?non riesco ad inserire l'allegato...... Modificato: 25 settembre 2007 da VINZENT Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 25 settembre 2007 Autore Segnala Share Inserita: 25 settembre 2007 se qualcuno potrebbe darmi un'aiuto lo giro per email. Link al commento Condividi su altri siti More sharing options...
batta Inserita: 25 settembre 2007 Segnala Share Inserita: 25 settembre 2007 Mi pare che ci siano vincoli sull'estensione del file da allegare. Comprimilo ed allegalo come .zip.Puoi anche postare la parte del codice che interessa visualizzandolo in awl e facendo un semplice copia/incolla. Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 25 settembre 2007 Autore Segnala Share Inserita: 25 settembre 2007 l'ho convertito in AWLsegmento 1LDN I0.0EUBITIM VD100segmento 2 LDN I0.0CITIM VD100, VD104segmento 3 LDN I0.0DTR VD104, VD110AENOMOVR 3600000.0, VD114/R VD110, VD114segmento 4 LD I0.0MOVR VD120, VD124 Link al commento Condividi su altri siti More sharing options...
JumpMan Inserita: 25 settembre 2007 Segnala Share Inserita: 25 settembre 2007 Il segmento 2 e 3 non sono elaborati sul fronte ma ciclicamente, questo non va bene perchè vedresti in VD114 un valore che parte da 0 e aumenta fino al valore corretto, o meglio quasi corretto perchè perde una parte del conteggio (tutto il tempo in cui l'ingresso rimane ON non viene conteggiato).Il segmento 4 non si capisce bene a cosa serva... forse al posto di VD120 volevi mettere VD114 per avere la lettura "stabile" su VD124 ? Link al commento Condividi su altri siti More sharing options...
VINZENT Inserita: 26 settembre 2007 Autore Segnala Share Inserita: 26 settembre 2007 Per la VD120 e giusto quello che dici tu' volevo dire VD114 per avere un registro aggiornato.Quindi cosa mi consigi? 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