.
.
.
aw_SensorWert [10] := gw_Sensor_10;
//Für jeden Sensor (10) den Wert auslesen und umrechnen
FOR i16_Laufzahl := 1 TO 10 BY 1 DO
IF ((aw_SensorWert [ i16_Laufzahl ] AND 16#8000) = 0) THEN
//positive Zahl
ga_Motoren[ i16_Laufzahl ].r32_IstSpannung :=
(WORD_VALUE_TO_LREAL(aw_SensorWert [ i16_Laufzahl ]) / 16384);
ELSE
//negative Zahl
aw_SensorWert [ i16_Laufzahl ] := aw_SensorWert [ i16_Laufzahl ] - 1;
aw_SensorWert [ i16_Laufzahl ] := NOT aw_SensorWert [ i16_Laufzahl ] ;
ga_Motoren[ i16_Laufzahl ].r32_IstSpannung := (-1.0) *
WORD_VALUE_TO_LREAL(aw_SensorWert [ i16_Laufzahl ] ) / 16384;
END_IF;
IF ((aw_SensorWert [ i16_Laufzahl ] AND 16#8000) = 0) THEN
//positive Zahl
ga_Motoren[ i16_Laufzahl ].r32_IstSpannung :=
(WORD_VALUE_TO_LREAL(aw_SensorWert [ i16_Laufzahl ] ) / 16384);
ELSE
//negative Zahl
aw_SensorWert [ i16_Laufzahl ] := aw_SensorWert [ i16_Laufzahl ] - 1;
aw_SensorWert [ i16_Laufzahl ] := NOT aw_SensorWert [ i16_Laufzahl ] ;
ga_Motoren[ i16_Laufzahl ].r32_IstSpannung := (-1.0) *
WORD_VALUE_TO_LREAL(aw_SensorWert [ i16_Laufzahl ]) / 16384;
END_IF;
END_FOR;
Ich habe schon versucht Informationen über den Variablentyp WORD zu finden, die mich die Rechnung verstehen lassen, aber bin nicht fündig geworden, bzw. mein Informatik bzw. Elektrotechnikwissen ist an dieser Stelle anscheinend zu wenig. Peinlich, peinlich!