Está en la página 1de 2

// control de temperatura

"temp" := INT_TO_REAL( "tt") * 120.0 / 27648.0; // medicion de la temperatura

"sp1_max" := "sp1" * 1.1; // calculo del valor maximo

"sp1_min":="sp1" * 0.9; // calculo del valor minimo

// marcha y paro

"on" := ("on" OR "s1" OR "s1_hmi") AND (NOT "s2") AND ( NOT "s2_hmi");

IF "on" = TRUE THEN

IF "temp" > "sp1_max" THEN // control por hysterisis

"e1" := false;

"e1_int" := 0;

END_IF;

IF "temp" < "sp1_min" THEN

"e1" := true;

"e1_int" := 10;

END_IF;

ELSE

"e1" := false; // apagado

"e1_int" := 0;

END_IF;
// control de nivel

"nivel" := INT_TO_REAL("lt") * 5.0 / 27648.0; // medicion del nivel

"kp" := 2.5; // ganancia proporcional

// marcha y paro

"on" := ("on" OR "s1" OR "s1_hmi") AND (NOT "s2") AND ( NOT "s2_hmi");

IF "on" = TRUE THEN

"volt" :="kp"* ("nivel"-"sp2");

IF ("volt" <= 10.0) AND ( "volt" >= 0.0 ) THEN

"v1" := REAL_TO_INT(("volt") * 27648.0 / 10.0);

ELSE

IF "volt" > 10.0 THEN

"v1" := 27648;

END_IF;

IF "volt" < 0.0 THEN

"v1" := 0;

END_IF;

END_IF;

ELSE

"v1" := 0; // apagado

END_IF;

También podría gustarte