-> Hier kostenlos registrieren
Hallo
Ich bastel gerade an einer Modbuskommunikation für eine Wärmepumpe rum und komm an einer Stelle nicht weiter.
Zum Programmieren benutze ich Codesys. Der Controller ist ein Wago 750-841.
Ich muss einen Integer wert als 2 Byte über Modbus zur Wärmepumpe schicken. Leider gelingt mir das nicht.
Ich hab mir überlegt den INT-Wert in Binär umzurechnen und dann die ersten 8 bits wieder in Dezimal umzurechnen um das Lowbyte zu bekommen. Mit den zweiten 8 bit würde ich das selbe machen.
Beispiel:
INT:= 563 (Binär: 0000001000110011)
Hibyte Lowbyte
Aufteilen: 00000010 / 00110011
Lowbyte:= 51 (Binär:= 00110011)
Hibyte:= 2 (Binär:= 00000010)
Ich habs bis jetzt programmiertechnisch leider nicht hinbekommen. Wenn jemand einen Tipp hat wäre ich sehr dankbar. Oscat & Co haben für diesen fall leider auch keine passenden Bausteine (Oder ich hab sie nicht gefunden
).
Vielleicht habt ihr aber auch einen ganz anderen Lösungsansatz. Ich freu mich auch eure Antworten.
Gruß Pepper
Ich bastel gerade an einer Modbuskommunikation für eine Wärmepumpe rum und komm an einer Stelle nicht weiter.
Zum Programmieren benutze ich Codesys. Der Controller ist ein Wago 750-841.
Ich muss einen Integer wert als 2 Byte über Modbus zur Wärmepumpe schicken. Leider gelingt mir das nicht.
Ich hab mir überlegt den INT-Wert in Binär umzurechnen und dann die ersten 8 bits wieder in Dezimal umzurechnen um das Lowbyte zu bekommen. Mit den zweiten 8 bit würde ich das selbe machen.
Beispiel:
INT:= 563 (Binär: 0000001000110011)
Hibyte Lowbyte
Aufteilen: 00000010 / 00110011
Lowbyte:= 51 (Binär:= 00110011)
Hibyte:= 2 (Binär:= 00000010)
Ich habs bis jetzt programmiertechnisch leider nicht hinbekommen. Wenn jemand einen Tipp hat wäre ich sehr dankbar. Oscat & Co haben für diesen fall leider auch keine passenden Bausteine (Oder ich hab sie nicht gefunden

Vielleicht habt ihr aber auch einen ganz anderen Lösungsansatz. Ich freu mich auch eure Antworten.
Gruß Pepper