CRC Prüfsumme für BMS

OP #7414605

Hallo Leute,

ich habe hier ein BMS mit RS484-Ausgang und möchte Daten abrufen. Der Hersteller hat eine Dokumentation mit Protokoll zur Verfügung gestellt und mit den dort hinterlegten Beispielen funktioniert das Abrufen der Daten einwandfrei. Nun möchte ich aber auch andere Befehle nutzen und scheitere an der Berechnung der Prüfsumme. Wenn ich die Dokumentation richtig interpretiere, ist das Verfahren zur Berechnung der Prüfsumme CRC 16. Ich habe also verschiedene Rechner im Netz bemüht, komme aber immer zu einem anderen Ergebnis als in den Beispielen. Hier ist z.B. 06 04 00 17 00 01 80 79 als Befehel genannt. Die letzten beiden Bytes sind die Prüfsumme - also 80 79. Wenn ich z.B. in den Rechner http://www.sunshine2k.de/coding/javascript/crc/crc_js.html als String 060400170001, Polynomial A001, Initial Value FFFF, Final Xor Value 0000 verwende, dann ergibt die Prüfsumme 7A25 und eben nicht 8079. Hat jemand eine Idee, was ich falsch mache?

Angehängte Dateien:

Steht doch in deiner PDF:

Seite 4, Abschnitt 1.3

1
Adopted CRC parameter model CRC-16/MODBUS
2
Polynomial formula x16+x15+x2+1
3
Width 16
4
Polynomial 0x8005
5
Initial value 0xFFFF
6
Result XOR value 0x0000
7
Input value inversion true
8
Output value inversion true

Getestet und wie im Bild zu sehen, tut.

Angehängte Dateien:
OP

Hey cool, so klappt es. Ich hatte, wegen der Beschreibung darüber immer A001 als Polynomial verwendet. Nun ist mir aber auch der Zusammenhang klar: A001 ist 1010000000000001 und 1000000000000101 ist 8005.

Danke Dir vielmals.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 3 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.