Vous êtes sur la page 1sur 1

//Decarao de Variveis

static double v,i,p;


static int NA=0, KONT=0;
static double tempv=0, summedv=0, jmv[201];
static double tempi=0, summedi=0, jmi[201];
static double tempp=0, summedp=0, jmp[201];
static double V_rms, I_rms, P;
v=in[0];//Leitura da Tenso de Entrada
i=in[1];//Leitura da Corrente no Circucito
p=i*v;// Clculo da Potncia
delt=0.000083333;//intervalo entre as amostras
NA=NA+1;
KONT=KONT+1;
if(KONT==201)KONT=1;
tempv=(v*v);
tempi=(i*i);
tempp=p;
if(t<200*delt) //primeiro ciclo
{
jmv[NA]=tempv;
jmi[NA]=tempi;
jmp[NA]=tempp;
//Somatrio dos
summedv
summedi
summedp
}

sinais
+= tempv;
+= tempi;
+= tempp;

if(t>200*delt) //Segundo
{
summedv += tempv
summedi += tempi
summedp += tempp

ciclo em diante , sobrescreve o valor mais antigo


- jmv[KONT];
- jmi[KONT];
- jmp[KONT];

jmv[KONT]=tempv;
jmi[KONT]=tempi;
jmp[KONT]=tempp;
}
//Calcula a mdia
V_rms = sqrt(summedv/200);
I_rms = sqrt(summedi/200);
P = summedp/200;
//Escreve os resultados nas sadas.
out[0]=V_rms;
out[1]=I_rms;
out[2]=P;

Vous aimerez peut-être aussi