# <CR><LF> Unterschied [CR][LF]



## Bonsai32 (3 Juni 2016)

Hallo Zusammen,

ich habe zwei DMC Code Scanner, bei geben am Ende eine Unterschiedliche Zeichenkette aus.

Cognex DMC Scanner          123456789<CR><LF>
Keyence DMC Scanner         123456789[CR][LF]

Der Code vom Cognex Scanner wird von der NC Software verarbeitet, der vom Keyence Scanner leider nicht.
Da die NC Software eine Eigenentwicklung eines Maschinenherstellers ist hab ich auf die Verarbeitung der Daten leider keinen Einfluss.

Worin besteht der Unterschied?


Danke Viele Grüße


----------



## Fabpicard (3 Juni 2016)

Mach bitte mal einen Ausdruck in HEX.

Denn CR und LF sind normalerweise Steuerzeichen...

https://de.wikipedia.org/wiki/Steuerzeichen

CR = Carriage Return
LF = Line Feed

Und vielleicht hast du ja von beiden unterschiedliche ASCII-Ausgaben 

MfG Fabsi


----------



## Bonsai32 (3 Juni 2016)

<CR><LF>        3c 43 52 3e 3c 4c 46 3e 0d 0a 0d 0a
 [CR][LF]           5b 43 52 5d 5b 4c 46 5d


----------



## holgermaik (3 Juni 2016)

Beim 2. wird kein <CR> <LF> gesendet. Tippfehler?


----------



## holgermaik (3 Juni 2016)

"3C" & "3E" sieht wie eine Anfangs und Ende Kennung aus. Was sollte denn gescannt werden?


----------



## LowLevelMahn (3 Juni 2016)

wo siehst du die <CR> [CR] Darstellung? - normalerweise sind das nur besondere Darstellungen von Terminal-Programmen - eher unwahrscheinlich das wirklich "<CR>" ueber die Leitung kommt eher 0x0D und fuer <LF> 0x0A

schönen Freeware-Tools - hängt da mal deine beiden Scanner drann und schick ein Hexdump/oder Screenshot von der Kommunikation (vollständig)
http://www.hw-group.com/products/hercules/index_de.html
http://www.der-hammer.info/terminal/

und bitte die genaue Typenkennung der Scanner - ich finde nichts unter "Keyence DMC Scanner" oder dem anderen


----------



## PN/DP (3 Juni 2016)

> <CR><LF> Unterschied [CR][LF]


Ziemlich sicher ist das nur ein Unterschied in der Schreibweise in der Dokumentation und gemeint sind beide Male <CR> = 0x0D und <LF> = 0x0A. Das sind nicht-druckbare Steuerzeichen und deshalb werden sie in spitzen Klammern notiert.

Harald


----------



## Ralle (3 Juni 2016)

Bei Keyence-Scannern kann man mit der Software einstellen, was er senden soll. (Kopf, Begrenzer, Endekennung)
Wenn man da den Haken bei CR/LF macht, dann sendet er das auch. (0D0A hex)
Man kann aber auch eine beliebige Zeichenfolge einstellen. 
Scheint so, als hat da ein Programmierer <CR><LF> wörtlich genommen  und dort eingetragen.




PS Funktioniert ebenso bei Ethernet.


----------



## Bonsai32 (3 Juni 2016)

Ja, der neue Scanner ist ein SR1000 von Keyence.
Dieser ist ja Script fähig, besteht dort die Möglichkeit die Zeichen per Script immer passig anzuhängen?

gelesener Code = 123456789
Script ausführen
Ergebnis = 123456789<CR><LF>

In der Navigatorsoftware kann ich unter Begrenzer bei benutzerdefiniert nicht soviele Zeichen einfügen.


Vielen Dank Sven


----------



## LowLevelMahn (4 Juni 2016)

> Ja, der neue Scanner ist ein SR1000 von Keyence.



und der andere Scanner ist welcher?



> gelesener Code = 123456789
> Script ausführen
> Ergebnis = 123456789<CR><LF>



also kommt das ganze so

"123456789\r\n" oder (andere Schreibweise)
"123456789\0xd\0xa" ueber die Leitung - also CR und LF als normales Byte und nicht als Zeichenkette

und nicht so

"123456789<CR><LF>"

also schon mal so wie wir gedacht haben

und der andere Scanner (dessen Typ wir immer noch nicht kennen) liefert wirklich

"123456789<CR><LF>" ? also CR und LF als Zeichenkette

kommt mir komisch vor - kannst du bitte mal mit dem http://www.der-hammer.info/terminal/ ein Screenshot von *beiden* Scannern Ergebnisdaten machen (mit Hexausgabe) - (also mit Scanner verbinden und was einscannen) und hier einstellen
dann ist mal erstmals 100% klar was deine Situation ist und dann kann man dir auch klare Tipps geben wie du es zum laufen bringst


----------



## Bonsai32 (4 Juni 2016)

Hallo, der alte Scanner ist ein Cognex Dataman, er sendet am Ende <CR><LF>

Wir haben das Problem jetzt gelöst...

Im SR1000 haben wir ein Script eingefügt, dieses fügt am Ende die 
fehlenden Zeichen ein <CR><LF>.

JETZT FUNKTIONIERT ES wunderbar☺


----------



## Ralle (4 Juni 2016)

Aber wirklich geil ist das schon. 
Da frage ich mich, welcher helle Kopf da die NC-Software enwickelt hat, die <CR><LF> als Zeichen im Ascii-Code gesendet haben will.
Na ja, wenn ihr die NC-Software nicht ändern könnt ist ein Script natürlich eine gute Variante.


----------

