www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges - Informatik" - Prüfzifferberechnung unbekannt
Prüfzifferberechnung unbekannt < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Prüfzifferberechnung unbekannt: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 20:25 Do 26.11.2009
Autor: Hilde3023

# Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Hallo,

ich hoffe ich habe es einigermaßen in die richtige Kategorie geschrieben, es geht um eine Prüfzifferberechnung einer Zeichenfolge. Leider ist mir nicht bekannt, wie die Prüfziffer berechnet wird, aber ich habe einige Beispiele.

74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 72
74 01 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 73
74 01 20 4E 45 47 4C 4F 46 20 45 54 54 49 42 20 0D = Prüfziffer: 60
74 11 20 20 20 20 20 20 20 20 4C 4C 41 46 4E 55 0D = Prüfziffer: 0B
74 01 20 20 20 20 20 20 20 3E 3D 3D 3D 3D 3D 3D 0D = Prüfziffer: 19

Das ist komplett HEX-Format.

Ich muss wissen, wie diese Prüfziffer berechnet wird, da ich es für eine Programmierung benötige.




        
Bezug
Prüfzifferberechnung unbekannt: Antwort
Status: (Antwort) fertig Status 
Datum: 20:45 Do 26.11.2009
Autor: rainerS

Hallo!

Erstmal herzlich [willkommenvh]

> ich hoffe ich habe es einigermaßen in die richtige
> Kategorie geschrieben, es geht um eine
> Prüfzifferberechnung einer Zeichenfolge. Leider ist mir
> nicht bekannt, wie die Prüfziffer berechnet wird, aber ich
> habe einige Beispiele.
>  
> 74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D =  Prüfziffer: 72
> 74 01 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D =  Prüfziffer: 73
> 74 01 20 4E 45 47 4C 4F 46 20 45 54 54 49 42 20 0D =  Prüfziffer: 60
> 74 11 20 20 20 20 20 20 20 20 4C 4C 41 46 4E 55 0D =  Prüfziffer: 0B
> 74 01 20 20 20 20 20 20 20 3E 3D 3D 3D 3D 3D 3D 0D =  Prüfziffer: 19
>  
> Das ist komplett HEX-Format.
>  
> Ich muss wissen, wie diese Prüfziffer berechnet wird, da
> ich es für eine Programmierung benötige.

Das ist aus den Beispielen nicht direkt zu ersehen. Die ersten beiden Zeilen unterscheiden sich ja nur im zweiten Zeichen (00 -> 01) und auch die Prüfziffer wird nur um 1 erhöht.  Aber es ist keine Einfache Vorschrift wie zum Beispiel XOR aller Zeichen oder Addition und letztes Byte.

Hast du vielleicht noch mehr Info?

Viele Grüße
   Rainer

Bezug
                
Bezug
Prüfzifferberechnung unbekannt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:51 Do 26.11.2009
Autor: Hilde3023

Mehr Informationen direkt nicht, aber ich kann solche Beispiele nach Wunsch anfertigen.

z. B. alle HEX-Werte vor der Prüfziffer in 00 oder 01 oder 11 machen, ich weiß ja nicht, was helfen könnte ...

Es geht um Datenkommunikation von einem Gerät das die Daten seriell sendet (RS-232). Die Prüfziffer ist zur Kontrolle des Datensatzes.

Bezug
                        
Bezug
Prüfzifferberechnung unbekannt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 20:58 Do 26.11.2009
Autor: rainerS

Hallo!

> Mehr Informationen direkt nicht, aber ich kann solche
> Beispiele nach Wunsch anfertigen.
>  
> z. B. alle HEX-Werte vor der Prüfziffer in 00 oder 01 oder
> 11 machen, ich weiß ja nicht, was helfen könnte ...

Dann erzeuge doch kurze Beispiele! Welche Prüfziffer ergibt sich, wenn deine Zeichenkette nur ein Zeichen hat, und was passiert, wenn du ein weiteres Zeichen anfügst?

Oder nimm dir deine erste Zeichenkette und schau, was passiert, wenn du der Reihe nach jeweils einen einzigen der Hex-Werte um 1 erhöhst, also

74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 72
74 01 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 73
74 00 4A 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ?
74 00 49 46 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ?

usw.

Viele Grüße
   Rainer

Bezug
                                
Bezug
Prüfzifferberechnung unbekannt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:07 Do 26.11.2009
Autor: Hilde3023

Leider ist mir die Zeichenkettenlänge vorgeschrieben, es müssen vor der Prüfziffer so viele sein.

Ergebnis:
74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 72
74 01 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 73
74 00 4A 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ? Ergebnis: 71
74 00 49 46 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ? Ergebnis: 71

Bezug
                                        
Bezug
Prüfzifferberechnung unbekannt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 22:09 Do 26.11.2009
Autor: rainerS

Hallo!

> Leider ist mir die Zeichenkettenlänge vorgeschrieben, es
> müssen vor der Prüfziffer so viele sein.
>  
> Ergebnis:
>  74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 72
>  74 01 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 73
>  74 00 4A 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ?  Ergebnis: 71
>  74 00 49 46 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = ?  Ergebnis: 71

Interessant: 1 mehr an der 2. Position erhöht die Prüfzahl um 1, an der 3. und 4. Position erniedrigt sich die Prüfzahl.

Mach das doch mal weiter, also auf die 5A 49 4C 4F .. jeweils 1 drauf addieren.

Viele Grüße
   Rainer

Bezug
                                                
Bezug
Prüfzifferberechnung unbekannt: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:22 Do 26.11.2009
Autor: Hilde3023

Werde ich morgen machen und veröffentlichen. Das dauert ein wenig, da ich jedes mal ein neues Eprom brennen muss wo die Software geändert ist und anschließend den Datenverkehr mithorchen und auswerten muss.

Welches Verfahren könnte denn so in etwa hinkommen, das so ein Ergebnis rauskommt? Kann man so wohl gar nicht weiter sagen, oder?

Bezug
                                                        
Bezug
Prüfzifferberechnung unbekannt: Antwort
Status: (Antwort) fertig Status 
Datum: 08:29 Fr 27.11.2009
Autor: bazzzty

Hallo,

aus meiner Sicht wäre es am hilfreichsten, wenn Du angefangen mit
00 00 00 00 00 ... 00 00 00 00
mal eine Reihe von Prüfsummen für jeweils ein einzelnes gesetztes Bit berechnen könntest. Wenn das zu viel ist, dann einfach nur für die unteren 5 Bytes, also für
00 00 00 00 ... 00 00 00 00 01
00 00 00 00 ... 00 00 00 00 02
00 00 00 00 ... 00 00 00 00 04
00 00 00 00 ... 00 00 00 00 08
00 00 00 00 ... 00 00 00 00 10
...
00 00 00 00 ... 10 00 00 00 00

Dazu noch ein 5-6 Zeichenketten, in denen beliebige Bits gesetzt sind, aber nur in diesem Bereich, also

00 00 00 00 ... xx xx xx xx xx

Wenn es sich bei der Prüfziffer um einen linearen Code (und das vermute ich) handelt, dann sollte das ausreichen, um ihn zu erkennen.

Bezug
                                                                
Bezug
Prüfzifferberechnung unbekannt: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 21:07 Mi 02.12.2009
Autor: Hilde3023

Leider habe ich erst Heute wieder Zeit gefunden. Leider steige ich jetzt nur schwierig durch, was ich alles für Zeichenfolgen anfertigen soll. Das Format bzw die Zeichenlänge muss ja beibehalten werden und ist beispielsweise:
74 00 49 45 5A 49 4C 4F 50 20 20 50 4F 54 53 20 0D = Prüfziffer: 72


soll ich machen:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = Prüfziffer: ?
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = Prüfziffer: ?
00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 = Prüfziffer: ?
[...]

?



Bezug
                                                                        
Bezug
Prüfzifferberechnung unbekannt: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:20 Fr 04.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                                                                
Bezug
Prüfzifferberechnung unbekannt: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 16:22 Sa 05.12.2009
Autor: Hilde3023

Ich bin schon weitergekommen.

Vor der Prüfziffer sind ja immer 17 Werte, ich habe jeden Wert nacheinander +1 addiert und geschaut, wie sich die Prüfziffer weiterhin verändert.

Stelle Bedeutung         Prüfziffer-Veränderung
1 74 (t Befehlanfang) Wert +1 = PZ +1
2 Anzeige-Ort         Wert +1 = PZ +1
3 Wort 1, Zeichen 1 Wert +1 = PZ –3
4 Wort 1, Zeichen 2 Wert +1 = PZ +3
5 Wort 1, Zeichen 3 Wert +1 = PZ –3
6 Wort 1, Zeichen 4 Wert +1 = PZ +3
7 Wort 1, Zeichen 5 Wert +1 = PZ –3
8 Wort 1, Zeichen 6 Wert +1 = PZ +3
9 Wort 1, Zeichen 7 Wert +1 = PZ –3
10 Wort 2, Zeichen 1 Wert +1 = PZ +3
11 Wort 2, Zeichen 2 Wert +1 = PZ –3
12 Wort 2, Zeichen 3 Wert +1 = PZ +3
13 Wort 2, Zeichen 4 Wert +1 = PZ –3
14 Wort 2, Zeichen 5 Wert +1 = PZ +3
15 Wort 2, Zeichen 6 Wert +1 = PZ –3
16 Wort 2, Zeichen 7 Wert +1 = PZ +3
17 0D (Befehlende)         Wert +1 = PZ –3
18      Prüfziffer

Wert +1 bedeutet immer, das ich mit einer Eins addiert habe.

Aber wie stelle ich dafür jetzt eine Formel auf?

Bezug
                                                                                        
Bezug
Prüfzifferberechnung unbekannt: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:20 Mo 07.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
                                        
Bezug
Prüfzifferberechnung unbekannt: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 12:02 Mo 07.12.2009
Autor: Hilde3023

Leute,
ich habe eine Antwort vom Entwickler des Gerätes erhalten und hatte
vorab angefragt, wie die Prüfziffer berechnet wird. Folgende Antwort:

Sofern ich mich richtig erinnere sind die Inhalte der Einzelbytes über
EXOR verknüpft worden. Im Anschluss wurde geprüft ob EVEN oder ODD
Parity vorlag. Bei ODD Parity wurde das Byte invertiert und auf EVEN
Parity ergänzt.

Hilft uns das schon weiter?
Mir sagt das ganze relativ wenig, aber es hört sich simpel an. Bitte um
Hilfe.

Bezug
                                                
Bezug
Prüfzifferberechnung unbekannt: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:19 Mo 07.12.2009
Autor: Hilde3023

Die Sache hat sich geklärt.

Alle Werte müssen mir XOR verknüpft werden und das Ergebnis von 127 (7F) subtrahiert werden.

Bezug
                                                
Bezug
Prüfzifferberechnung unbekannt: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:20 Mo 14.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Prüfzifferberechnung unbekannt: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:20 Fr 04.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]