Hallo ich lese einen Wechselrichter über 485Bus aus u. bekommer z.B diese Werte die Werte sind von Byte 7 bis 12, die anderen sind Füllbytes Antwort vom Wechselrichter: 05 E2 DE A0 03 03 B8 0B 01 02 DA 00 Telegramm nach Dekodierung 05 E2 DE A0 03 00 B8 0B 00 00 DA 00 warum werden aus den beiden 01 u.02 Bytes nach Codierung 0000 ?????? Ertragswert 7. bis 10. Byte: B8 0B 00 00 Wert = BB8h, Wertebereich und so soll es stimmen Der Wechselrichter hat also aktuell einen Gesamtertrag von 3000 Wh.
Ich möchte anregen, das Du die Frage nochmal in Hinblick auf grammatische Korrektheit formulierst. Ich verstehe den letzten Teil nicht und bin zu faul rückzufragen ob das, was ich mir zusammenreime nun stimmt oder nicht. Erkläre bitte wie Du auf "little Endian" kommst und woher Du weiss, was an welchem Offset steht. Eine Hilfe wäre möglicherweise zu wissen, welchen Wechselrichter Du ausliest.
Little Endian ist nur eine Reihenfolge, wie die Bits/Bytes übertragen werden. Das da aus 1, 2 plötzlich 0, 0 wird hat andere Ursachen.
labelohase schrieb: > Antwort vom Wechselrichter: > 05 E2 DE A0 03 03 B8 0B 01 02 DA 00 > Telegramm nach Dekodierung Nach welcher Dekodierung? > 05 E2 DE A0 03 00 B8 0B 00 00 DA 00 > > warum werden aus den beiden 01 u.02 Bytes nach Codierung 0000 ?????? Was jetzt? Codierung oder Decodierung? Und wer oder was codiert/decodiert?
Es wäre deutlich schlauer (gewesen) den Typ des Wechselrichters und Hersteller zu benennen, möglichst direkt im Betreff. Sowie wie gesucht Telegramm Wechselrichter <Hersteller> <Typ> meine ich. Gruss
lt. Datenblatt für PV-Wechselrichter der PIKO-Serie Beispielkommunikation In diesem Beispiel wird vom Wechselrichter mit der RS485-Busadresse 3 der Gesamtertrag Zu sendendes Telegramm: 05 62 DE A0 03 03 45 D8 00 Antwort vom Wechselrichter: 05 E2 DE A0 03 03 B8 0B 01 02 DA 00 Telegramm nach Dekodierung 05 E2 DE A0 03 00 B8 0B 00 00 DA 00 Ertragswert 7. bis 10. Byte: B8 0B 00 00 Wert = BB8h, Der Wechselrichter hat also aktuell einen Gesamtertrag von 3000 Wh.
labelohase schrieb: > lt. Datenblatt für PV-Wechselrichter der PIKO-Serie > Beispielkommunikation Ach das sind gar keine real übertragenen Daten, sondern nur ein Beispiel aus einem Manual! Hättest du aber auch sagen können. Dann musst du halt mal die Dekodierung studieren. Da gibt es sicher einen Abschnitt im Handbuch. Vielleicht ist es auch ein Druckfehler.
Mir kommt da zb Byte-Escaping in den Sinn, weil das Telegramm, so wie das aus der Ferne aussieht, mit einem 0-Byte endet und man daher in den Daten keine 0 Bytes haben will. Ist aber nur eine Vermutung.
labelohase schrieb: > B8 0B 00 00 Was ist denn jetzt das Problem? Wenn das Little Endian ist und die Zahl 32 Bit lang ist, wird das byteweise von rechts nach links gelesen: 00 00 0B B8 und das ist BB8 also dezimal 3000. Warum das so ist? Das ist eine Vereinbarung. mfg.
Hi Thomas aus B8 0B 01 02 wird B8 0B 00 00 dass heist aus 01 02 wird 00 00 wahrscheinlich hat Karl Heinz recht trotzdem Danke
Das Datenpacket ist COBS codiert. consistent overhead byte stuffing. Das erste byte ist das sogenannte 'code' byte. Es gibt an wo die nächste Null im Datenpacket ist. Und da wo eigentlich die Null stünde steht der offset zur nächsten Null. usw. http://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing gruß, klerttern g.
Klettern G. schrieb: > Das Datenpacket ist COBS codiert. consistent overhead byte stuffing. > > Das erste byte ist das sogenannte 'code' byte. Es gibt an wo die nächste > Null im Datenpacket ist. Und da wo eigentlich die Null stünde steht der > offset zur nächsten Null. usw. > > http://en.wikipedia.org/wiki/Consistent_Overhead_Byte_Stuffing Hey. Das kannte ich noch gar nicht. Ist aber eine gute Idee.
Hi Klettern Danke für deine Info genaus das ist es, hat mir sehr geholfen l-hase
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.