PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HEX-Codierung von ZVEI bzw. FMS-Code



sschaebe
06.07.2007, 12:28
Hallo,

lt Kommprotokoll erfolg die Kommunikation mit HEX-Codierten Feldern. Leider sind die ZVEI und FMS-Codes nicht HEX-Kodiert bei der Übertragung zum Client. Ist IMHO nicht so gut, da ich in einem Testclient schnell alle Felder gewandelt habe, und daher sicher auch bei anderen zu Problemen führen wird, da ich in der Dekodierfunktion der Felder nicht noch unterscheiden möchte, welches Kommando hat welches Feld uncodiert.

Gruß Simon

nepomuck
06.07.2007, 14:08
da ich in der Dekodierfunktion der Felder nicht noch unterscheiden möchte, welches Kommando hat welches Feld uncodiert.


Sorry, aber genau deshalb entwickeln wir hier ein Protokoll, damit eben fest steht, welches Kommando mit welchen Parametern in welcher Codierung daher kommt.

Du muss wegen der vielen verschiedenen Funktionen sowieso einen Protokoll-Parser bauen, da ist es doch kein großer Umstand vor dem dekodieren festzustellen, welches Feld wie daher kommt, oder?

Wir haben und auf HEX für Textfelder geeinigt, da FMS-Textnachrichten auch Sonderzeichen aus dem Bereich hex 01 bis 1F sowie unser Feldtrennzeichen ":" enthalten können und dafür ist HEX nun mal die simpelste aller Kodierungen.
Aber deswegen müssen wir nicht auch noch die rein nummerischen Felder wie FMS-Status oder ZVEI-Schleifennummer Hex kodieren.

Andreas

sschaebe
06.07.2007, 17:34
Sorry, aber genau deshalb entwickeln wir hier ein Protokoll, damit eben fest steht, welches Kommando mit welchen Parametern in welcher Codierung daher kommt.

Du muss wegen der vielen verschiedenen Funktionen sowieso einen Protokoll-Parser bauen, da ist es doch kein großer Umstand vor dem dekodieren festzustellen, welches Feld wie daher kommt, oder?

Wir haben und auf HEX für Textfelder geeinigt, da FMS-Textnachrichten auch Sonderzeichen aus dem Bereich hex 01 bis 1F sowie unser Feldtrennzeichen ":" enthalten können und dafür ist HEX nun mal die simpelste aller Kodierungen.
Aber deswegen müssen wir nicht auch noch die rein nummerischen Felder wie FMS-Status oder ZVEI-Schleifennummer Hex kodieren.
Andreas
Dann wäre aber z.B. | als Feldtrenner besser gewesen. | ist kein Zeichen der FMS-Codierung (Zeichenvorrat im PDF http://www.steuerliches-info-center.de/de/003_menu_links/001_CC/003_KapSt/0023_FSA/00232_Merkblaetter/001_Datensatzbeschreibung.pd auf Seite 17, dabei wird ersichtlich, das es noch genug druckbare Zeichen ausserhalb der FMS-Codetabelle geben würde). Dann müsste gar nichts HEX-Codiert werden. Oder man codiert konsequenterweise eben alles. Ein Mischmasch halte ich persönlich für sehr fehlerträchtig. Ändert sich am Protokoll was (Feldverschiebung, dann muss ich jedesmal im Client schauen ob das Feld jetzt decodiert werden muss oder nicht. Wenn alle Codiert würde, könnte die Zerlegeroutine das decodieren übernehmen und alles ist für die Zukunft geritzt im Client (übrigens auch im Server).

Gruß
Simon

Buebchen
06.07.2007, 23:29
Nun ja. Ich verstehe grundsätzlich Deinen Vorschlag. Spontan würde ich noch festhalten, daß es neben FMS-Text auch noch POCSAG gibt. Wobei auch POCSAG auf einem 7-Bit Zeichensatz basiert.

Welches Trennzeichen genutzt wird ist m.E. auch egal. Zu postulieren, daß man nur nach DIN 66003 (ISO 646) codiert ist eine unnötige Einschränkung. Vielleicht wird auch mal eine Chat-Funktion eingebaut. Da wäre jedes Trennzeichen potentiell gefährdet.

Und ob man alles oder nur Teile Hex-Kodiert ist - glaube ich - persönlicher Gusto.

sschaebe
07.07.2007, 15:29
Nun ja. Ich verstehe grundsätzlich Deinen Vorschlag. Spontan würde ich noch festhalten, daß es neben FMS-Text auch noch POCSAG gibt. Wobei auch POCSAG auf einem 7-Bit Zeichensatz basiert.

Welches Trennzeichen genutzt wird ist m.E. auch egal. Zu postulieren, daß man nur nach DIN 66003 (ISO 646) codiert ist eine unnötige Einschränkung. Vielleicht wird auch mal eine Chat-Funktion eingebaut. Da wäre jedes Trennzeichen potentiell gefährdet.

Und ob man alles oder nur Teile Hex-Kodiert ist - glaube ich - persönlicher Gusto.
Wobei | das Trennzeichen der Wahl bei den meisten Kommunikationsprotokollen ist um gerade das Codieren von Textteilen nicht vornehmen zu müssen. Ausserdem habe ich nicht postuliert, das wir nur nach der DIN 66003 (7-Bit Zeichensatz) codieren sollen, sonder das FMS nur diese Zeichen kennt (POCSAG IMHO auch).

Gruß
Simon