-> Hier kostenlos registrieren
Guten Morgen zusammen,
ich bin gerade dabei mich in Codesys auf dem Raspberry einzuarbeiten.
Dazu will ich nach und nach meine Python-scripte in SCL umsetzen.
Jetzt will ich folgenden Code umsetzen:
Ich habe es jetzt mit folgenden Code versucht:
Pressure ist vom Typ LREAL.
Ich bekomme immer den Fehler
" C0032: Typ 'LREAL' kann nicht in Typ 'ANY_BIT' konvertiert werden"
" C0032: Typ 'LREAL' kann nicht in Typ 'Bool' konvertiert werden"
" C0032: Typ 'Bool' kann nicht in Typ 'LREAL' konvertiert werden"
Was mache ich falsch?
Grüße
Andre
ich bin gerade dabei mich in Codesys auf dem Raspberry einzuarbeiten.
Dazu will ich nach und nach meine Python-scripte in SCL umsetzen.
Jetzt will ich folgenden Code umsetzen:
Python:
data = sdp810.read_i2c_block_data(SDP810_I2C_ADDRESS, 0, 9)
press = twos_comp((256 * data[0] + data[1]), 16) / 240.0
return press
def twos_comp(val, bits):
if (val & (1 << (bits - 1))) != 0: # if sign bit is set e.g., 8bit: 128-255#
val = val - (1 << bits) # compute negative value
return val
Ich habe es jetzt mit folgenden Code versucht:
Code:
METHOD AfterReadInputs : INT
VAR
Buffer : ARRAY[0..9] OF BYTE;
len: DINT :=1;
END_VAR
IF _iState = 10 THEN
timer(IN:=TRUE);
IF timer.Q THEN
len := Read(ADR(Buffer), 9);
IF len = 9 THEN
pressure :=(256 * Buffer[0] + Buffer[1])/240.0;
IF pressure AND SHL(len, 15) <> 0 THEN
pressure := pressure - SHL(len,16);
END_IF
xValid := TRUE;
xNewMeasurement := TRUE;
ELSE
.....
Pressure ist vom Typ LREAL.
Ich bekomme immer den Fehler
" C0032: Typ 'LREAL' kann nicht in Typ 'ANY_BIT' konvertiert werden"
" C0032: Typ 'LREAL' kann nicht in Typ 'Bool' konvertiert werden"
" C0032: Typ 'Bool' kann nicht in Typ 'LREAL' konvertiert werden"
Was mache ich falsch?
Grüße
Andre