Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
crc Berechnung
12.01.2015, 14:13
Beitrag: #1
crc Berechnung
Hallo zusammen!

Die Beispiele aus der CRC Berechnung hier im Forum habe ich mir schon angeschaut. Leider verstehen ich nicht ganz, was da drin genau passiert. Jedenfalls sind die Ergebnisse andere als die, welche ich brauche.

Laut der mir vorliegenden Sensorbeschreibung handelt es sich um eine CRC 7 Berechnung. Für diese ist eine "C" Routine in der Dokumentation mit abgedruckt. Diese habe ich hier beigefügt.

Leider kann ich gar nicht nachvollziehen wie diese Berechnung funktionieren, geschweige in VEE umsetzten soll. Deshalb hoffe ich, hier jemanden zu finden, der so etwas schon gemacht hat oder mir soweit helfen kann es selbst umzusetzen.

Hier angefügt sind die Befehle für die CRC Berechnung. Es handelt sich dabei um einen String der an den Sensor übergeben wird. Die Antwort ist ebenfalls ein String, aus dem sich dann die verschieden Parameter herauslesen und umformen lassen.

Die letzten beiden Zeichen sind der CRC Code, welche immer an die Anfrage angehängt wird.

Also Anfrage ADR?, CRC = 07; Anfragestring=
ADR?07

Da sich die Adressee des Sensors ändern kann (01 auf 99) usw. ist natürlich auch die CRC jeweils eine andere.
Natürlich gibt es auch noch weitere Befehle als die hier angefügten. Deshalb wäre eine CRC Berechnung in VEE sehr hilfreich für mich um dem Sensor alle Parameter zu entlocken und auch entsprechend meiner Anforderungen Programmieren zu können.

SSM0145
ADR0135
SSM025E
ADR022E
ADR0327
ADR?07
SRF01,003,000,5A
SRF01,004,000,75
SRF01,005,000,4F
SRF01,006,000,01
SRF01,007,000,3B
SRF01,008,000,5F
SRF01,009,000,65
SRF01,010,000,7F

Vielen Dank für Eure Unterstützung
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
13.01.2015, 13:48
Beitrag: #2
RE: crc Berechnung
(12.01.2015 14:13)MaxSchmidtFan schrieb:  Hallo zusammen!

Die Beispiele aus der CRC Berechnung hier im Forum habe ich mir schon angeschaut. Leider verstehen ich nicht ganz, was da drin genau passiert. Jedenfalls sind die Ergebnisse andere als die, welche ich brauche.

Laut der mir vorliegenden Sensorbeschreibung handelt es sich um eine CRC 7 Berechnung. Für diese ist eine "C" Routine in der Dokumentation mit abgedruckt. Diese habe ich hier beigefügt.

Leider kann ich gar nicht nachvollziehen wie diese Berechnung funktionieren, geschweige in VEE umsetzten soll. Deshalb hoffe ich, hier jemanden zu finden, der so etwas schon gemacht hat oder mir soweit helfen kann es selbst umzusetzen.

Hier angefügt sind die Befehle für die CRC Berechnung. Es handelt sich dabei um einen String der an den Sensor übergeben wird. Die Antwort ist ebenfalls ein String, aus dem sich dann die verschieden Parameter herauslesen und umformen lassen.

Die letzten beiden Zeichen sind der CRC Code, welche immer an die Anfrage angehängt wird.

Also Anfrage ADR?, CRC = 07; Anfragestring=
ADR?07

Da sich die Adressee des Sensors ändern kann (01 auf 99) usw. ist natürlich auch die CRC jeweils eine andere.
Natürlich gibt es auch noch weitere Befehle als die hier angefügten. Deshalb wäre eine CRC Berechnung in VEE sehr hilfreich für mich um dem Sensor alle Parameter zu entlocken und auch entsprechend meiner Anforderungen Programmieren zu können.

SSM0145
ADR0135
SSM025E
ADR022E
ADR0327
ADR?07
SRF01,003,000,5A
SRF01,004,000,75
SRF01,005,000,4F
SRF01,006,000,01
SRF01,007,000,3B
SRF01,008,000,5F
SRF01,009,000,65
SRF01,010,000,7F

Vielen Dank für Eure Unterstützung
Anhang Vergessen Confused


Angehängte Datei(en)
.pdf  HKM crc Berechnung_2.pdf (Größe: 282,01 KB / Downloads: 2)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.01.2015, 19:43 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2015 07:56 von detlef.)
Beitrag: #3
RE: crc Berechnung
Schon ne wilde lange Zeit her, das mit dem CRC ....
Aber nach Wikipedia, und google, findet sich was ...
u.a. dies hier:
http://ghsi.de/CRC/index.php?Polynom=100...D%0A%0D%0A

Die CRC 7 basiert wohl auf dem Polynom X^7+X^3+X^0, was dann 10001001 ergibt binaer, womit dann deine Eingabe dividiert wird und der Rest als CRC Summe rauskommt.
Bitte korrigieren, wenn ich da falsch liege.
Wenn du beliebige Eingaben hast , musst du die Routine anpassen.
Wenn du feste Werte hast, kannst du mit einer Tabelle vergleichen.

Ich koennte auch mal in der VRF nach einem fertigen -vee fragen ;-)

Frohes. Neues.
detlef
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.01.2015, 07:54
Beitrag: #4
RE: crc Berechnung
Also im Prinzip brauchst du nur in dem crc.vee Program das CRC Polynom anpassen. Da steht ja jetzt #H1021, was dezimal 4129 bedeutet, und binaer 00010000000100001.

Aendere das mal in 10001001 ;-) fuer CRC7
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.01.2015, 08:20
Beitrag: #5
RE: crc Berechnung
Servus!

Das mit dem 10001001 hab ich geändert.
In das Array UInt8 habe ich die die Dezimalwerte für A D R ? also 65 68 82 63 eingetragen (Das sollte wohl die Dateneingabe sein?).
Das Teil rechnet tatsächlich was aus. Mit den Ergebnissen kann ich allerdings nix anfangen.
Wo steht da 07 bzw. 7 als String drin?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
15.01.2015, 16:44
Beitrag: #6
RE: crc Berechnung
Das "ADR?" muss natuerlich erst mal gewandelt werden in binaer...ist in den anderen Beispielen vorgemacht. Man muss halt auf die Zahlenformate gehen, die in der Routine angedacht sind...
Hast du mal ADR? auf der Seite, die ich verlinkt habe, eingegeben? Eben, da tut das ? auch nicht ;-)
Und in dem CRC.Vee ist die Eingabe ja auch spezifiziert, und kein String...

Wuerde gerne mal auf die Schnelle selber loesen, aber keine Zeit...sorry.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2015, 18:43
Beitrag: #7
RE: crc Berechnung
Also ich hab mal eben deinen String in den Link eingetippt, da kommt was falsches dann raus.
Wenn man aber
41 44 52 3f
eingibt, dann kommt dein 07 raus.
Texteingabe wandeln in "From String", dann "CHarTOINT(str)", dann Darstellung als HEX ( #H ).
Also fuer den Link oben passt dann diese Eingabe.
In dem VEE Beispiel muss man nun auch die korrekte Eingabe verwenden, vermute ich mal....
Das mit dem Polynom fuer crc7 stimmt jedenfalls....
detlef
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2015, 20:36
Beitrag: #8
RE: crc Berechnung
Servus!

Hab auch schon festgestellt, daß ich fälschlicherweise die Dezimalzahlen statt der HEX Werte verwendet habe. Schaffe es mit Deinem Hinweis, den String ADR? so zu zerlegen, daß in meinem Display die HEX Werte rauskommen.
   
Im CRC.VEE ist allerdings für die Eingabe ein UIN8 vorgesehen. In die UINT8 läßt sich Logischerweise kein F eintragen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.01.2015, 11:18 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2015 15:50 von detlef.)
Beitrag: #9
RE: crc Berechnung
Vorsicht mit solchen Aussagen- es ist ja im Prinzip alles Binaer, nur die Darstellung eine andere.

Und F in Hex ist 15 ( Korrektur ! nicht 16) in Dezimal und 00001111 in Binaer.
Oder so wie vorher Hex 10 ist dezimal 16 und binaer 10000....man faengt ja bei Null an zu zaehlen, SORRY fuer den Lapsus!

Jetzt muss nur noch in den Programmen geschaut werden, auf welcher Basis die die Umwandlung machen, dass das richtige rauskommt.
Anders ausgedrueckt: In den Programmen zur CRC muss man schauen, wie da gearbeitet wird und sicherstellen, dass die Umwandlungen alle korrekt ins binaersystem fuehren.
Es wird dann alles in 1001 etc. dargestellt, dann durch das CRC Polynome "binaer" dividiert, was nicht der numerischen Disision entspricht ! . Dies wird in der Formula mit dem bitsting etc. gemacht....also auf 101001...Ebene.

Wenn Zeit, schau ich mir das noch mal an.....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
21.01.2015, 07:41
Beitrag: #10
RE: crc Berechnung
Mir ist klar, daß ein Computer Datentechnisch nur EIN und AUS versteht, wenn ich das als Strippenzieher mal so sagen darf.
Aber genau mit dieser digitalen Welt habe ich Verständnissprobleme und komme nicht weiter.Huh

Tatsache ist:

Der Befehl für den Sensor ist ein String: "ADR?"
Die CRC Berechnung muß eine "07" als String ergeben. Haben wir ja auf der o.g. Internetseite geprüft, indem dort die HEX - Werte von meinem Sensorbefehl eingetragen wurden.
Die beiden Teile zusammengefügt ergeben den Befehlsstring: "ADR?07"

Blos wo und wie finde ich raus, ob dieses crc Ergebnis (07) auch in der crc.VEE irgendwo drinnsteht?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
26.01.2015, 15:34 (Dieser Beitrag wurde zuletzt bearbeitet: 26.01.2015 15:54 von detlef.)
Beitrag: #11
RE: crc Berechnung
Also, neben der richtigen Eingabe muss auch die Laenge der "Division" der Laenge des Polynoms angepasst werden. Da wo FFFF steht muss weniger fuer CRC7, denn dies in CRC.vee bezieht sich ja auf CRC16....
Pass da mal logisch an.
Hab leider keine Zeit, dass selber auszuprobieren - ich muesste da wieder tiefer einsteigen.
Von der VRF hab ich auch kein Beispiel auf die Schnelle bekommen- also selber ( ein-.) arbeiten , leider ;_)
Ist aber kein Hexenwerk. Und der Link oben hilft doch zum Verstaendnis.
Das Flipflop weiter unten stellt doch die Funktion dar, und ein Programcode ist dann auch da.
Mach das mal fuer CRC 16, speichere die Seite ab, und dann fuer CRC8, und dann fuer CRC 7 - da sieht man doch die noetigen Aenderungen ...wieviel Bits da "dividiert" werden. UNd dann dies in Hexadezimal , dann ist die Loesung ganz nahe...


Noch was, hab oben den Fehler korrigiert mit Hex F waere 16, ist natuerlich 15 in Dezimal....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:




Partnerforen: LabVIEWForum.de| DIAdem-Forum.de| Machine-Vision-Forum.de| goMatlab.de| VEEforum.de