Byts aus einem Word (INT) auslesen

Suno

New member
Beiträge
3
Punkte Reaktionen
0
Zuviel Werbung?
->Hier kostenlos registrieren
Guten Morgen,

Ich bekomme von einem Materdrives ein einem Zustandswort die aktuelle Stör- und Warnnummer gesendet (Datentyp INT).

Ich muss nun die beiden Bytes von einander trennen um die jeweilige Störungsnummer und Warnungsnummer weiter zu verarbeiten.

Ich habe es folgendermaßen versucht:

L P##in_word (Statische Variable als INT, im Hightbyte steht die Warnung, im Lowbyte in Störung)
LAR1
U L [AR1,P#0.0]
T #Low_Byte_temp (Temporäre Variable als Byte)
U L [AR1,P#1.0]
T #Hight_Byte_temp (Temporäre Variable als Byte)


Leider bekomme ich so nicht die richtigen Werte.

Wenn im Word die 17 steht, habe ich anschließend in beiden Bytes die 16 stehen

Könnte mir das jemand bitte weiterhelfen?

Danke
 

borromeus

Well-known member
Beiträge
2.270
Punkte Reaktionen
329
U L [AR1,P#0.0]
fragt den Zustand eines Bits aus den Lokaldaten ab, da wirds nichts in den Akku geladen.

Probier mal
L B [AR1,P#0.0]
 

PN/DP

User des Jahres 2011-2013; 2015-2017; 2020-2021
Beiträge
17.597
Punkte Reaktionen
5.174
Zuviel Werbung?
->Hier kostenlos registrieren
Code:
L #in_word           //Statische Variable als INT, im Hightbyte steht die Warnung, im Lowbyte in Störung
T #Low_Byte_temp     //Temporäre Variable als Byte
TAW
T #Hight_Byte_temp   //Temporäre Variable als Byte

Harald
 
Oben