REAL ind 2 WORD aufsplitten

Chris_the_new

Level-1
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
ich versuche gerad für eine Übertragung durch Modbus eine REAL in 2 wörd aufzuteilen was aber leider noch nicht so recht klappt!
es sollen im array word 0 die ersten 16 bit des float übertragen werden und im array word 1 die zweiten 16 bit, in der VISU sollen die 2 wörter einfach wieder aneinandergereit werden um das ergebniss auszulesen.
ich hab mir gedacht das es wie folgt funktionieren könnte :
Code:
VAR
u_sin1 AT %MD0 : REAL := 3.5;
END_VAR

Programm:
IF timeQ THEN
mb_Output_Registers[0] := %MW0;
mb_Output_Registers[1] := %MW1;
END_IF
wenn ich die Bits des MD0 anschaue bekomme ich das richtige ergebniss:
Code:
01000000011000000000000000000000
MW0 hat aber :
Code:
0000000000000000
und MW1 :
Code:
0110000000000000
ich weiß es is ein dummer denkfehler aber mann kenn das wenn man 8H vorm notebook sitzt kennt man sich garnicht mehr aus^^
lg chris
 
okok,
ich hatten wie ich dachte den wald vor lauter bäumen nicht gesehen:
MW1 muss MW2 werden dann klapts auch einwandfrei :rolleyes:
speicherbereiche und bytes das is ein schmarn :D
und ich rätsel da stundenlang warum das nicht funktioniert^^
bye euch
 
Zurück
Oben