-> Hier kostenlos registrieren
Hi
ich versuche gerade ein Unscale für eine S7-1200 zu basteln
Die Formel in der Siemens Hilfe ist OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + #K1
BIPOLAR: K1 = -27648,0 und K2 = +27648,0
UNIPOLAR: K1 = 0,0 und K2 = +27648,0
IF #BIPOLAR THEN
#K1 := -27648.0;
#K2 := +27648.0;
ELSIF NOT #BIPOLAR THEN
#K1 := 0.0;
#K2 := +27648.0;
END_IF;
#OUT_REAL := ((( #IN - #LO_LIM) / (#HI_LIM - #LO_LIM)) * (#K2-#K1)) + #K1;
#OUT := TRUNC(#OUT_REAL);
Das klappt auch aber beim Übersetzen bekomme ich natürlich durch das erzeugen einer Ganzzahl
immer eine Warnung.
"Das Vorzeichen oder die Genauigkeit des Werts können verloren gehen"
Vielleicht jemand eine Idee !? Was ich machen kann damit die Warnung nicht mehr kommt ?
Danke
ich versuche gerade ein Unscale für eine S7-1200 zu basteln
Die Formel in der Siemens Hilfe ist OUT = [ ((IN–LO_LIM)/(HI_LIM–LO_LIM)) * (K2–K1) ] + #K1
BIPOLAR: K1 = -27648,0 und K2 = +27648,0
UNIPOLAR: K1 = 0,0 und K2 = +27648,0
IF #BIPOLAR THEN
#K1 := -27648.0;
#K2 := +27648.0;
ELSIF NOT #BIPOLAR THEN
#K1 := 0.0;
#K2 := +27648.0;
END_IF;
#OUT_REAL := ((( #IN - #LO_LIM) / (#HI_LIM - #LO_LIM)) * (#K2-#K1)) + #K1;
#OUT := TRUNC(#OUT_REAL);
Das klappt auch aber beim Übersetzen bekomme ich natürlich durch das erzeugen einer Ganzzahl
immer eine Warnung.
"Das Vorzeichen oder die Genauigkeit des Werts können verloren gehen"
Vielleicht jemand eine Idee !? Was ich machen kann damit die Warnung nicht mehr kommt ?
Danke