Hallo Wolfgang,Und nun kapiere ich nicht ganz, warum diese Variable den Wert 65222 annehmen kann? Eigentlich sollte hier dann der Wert -314 drinstehen.
Hallo Wolfgang,
das ist doch nur ein Darstellungsproblem.
Wo wird Dir denn der Wert 65222 angezeigt? Beim Beobachten des AWL-Programms in der Spalte für Akku1?Ich lade einen Byte-Wert, schiebe den Wert um 8 nach links, und addiere einen weiteren Byte-Wert dazu. Das Ergebnis transferiere ich in eine Variable vom Typ INT.
Und nun kapiere ich nicht ganz, warum diese Variable den Wert 65222 annehmen kann? Eigentlich sollte hier dann der Wert -314 drinstehen.
Was soll das bringen? Damit zwingst Du kein Beobachtungsprogramm dazu, den Wert in der Variable Wert als vorzeichenbehafteten Wert zu interpretieren. Der Wert in der 16-Bit-Variable Wert wird durch diesen überflüssigen Code nicht verändert. (Wäre Wert eine 32-Bit-Variable, würdest Du damit das negative Vorzeichen entfernen.)versuche mal
L Wert
L 65535
UW
T Wert
welchen Typ hat übrigens Result ?//Laden des High-Bytes
L 254
SLW 8
T #TempInt (hier wird dann schon 65024 abgelegt, obwohl TempInt vom Typ INT ist)
//Laden des Low-Bytes
L 198
L #TempInt
+I
T #Result (hier stehen dann die genannten 65222 drin)
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?