INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Carriage Return, Line Feed and End of Line mit cFP2200 Problem



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.02.2012, 08:55
Beitrag #1

lapser Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2011

2011, 7.1
2011
EN


Deutschland
Carriage Return, Line Feed and End of Line mit cFP2200 Problem
Guten Morgen,

ich habe eine Steuerung auf dem cFP2100 entwickelt, dazu noch ein Test Fenster das mit der Steuerung über ein selbst definiertes Protokoll kommuniziert. Als Terminator für meine Pakete dient (0x0D0A, \r\n) Beides in LabVIEW 2011 mit RealTime Modul implementiert.

Letzte Woche habe ich einen neuen FieldPoint cFP2200 bekommen und die Steuerung auf eine kompiliert und übertragen.

Nun hatte ich das Problem, dass die Befehle von dem Test Panel nicht richtig empfangen werden. Es wird nicht nach dem CRLF das Packet an den Parser weitergeleitet sondern erst wenn 512 bytes alles an den Parser übergeben.

Mein Steuerung hängt aber an jedes Packet das versendet wird die von LabVIEW angebotene „End of Line Constante“. Bei den cFP2100 war auch alles in Ordnung.

Nachdem ich Wireshark gestartet und mir die Pakete angesehen habe, musste ich feststellen das die Steuerung wieder erwarten ein Line Feed (LF) (0x0A, \n) statt dem erwarteten (und auch Implementierten End of Line (EOL) (0x0D0A, \r\n) an die Pakete hängt. Gelöst habe ich das indem ich explizit

Meine Vermutung ist das es von National falsch implementiert ist, bevor ich das aber mit Sicherheit behaupten kann, würde ich gerne wissen ob jemand dieses Verhalten bereits beobachtet hat oder bestätigen kann.
Auf dem cFP2100 war das PHAR LAP ETS als Real-Time System drauf, auf dem cFP2200 ist jetzt ein VxWorks OS drauf. Das könnte vielleicht auch ein Hinweis auf den Fehler sein?

Angehängt habe ich die Bildausschnitte von dem Sender und Empfänger.

Würde mich freuen wenn jemand es bestätigen kann oder es jemandem eine Fehlersuche erleichtert. (Ich habe einige Stunden gesucht)


Angehängte Datei(en) Thumbnail(s)
           
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2012, 09:26
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Carriage Return, Line Feed and End of Line mit cFP2200 Problem
So ganz blicke ich jetzt nicht, welcher Screenshot zu welcher Implementation gehört, ABER soviel kann ich sagen:
Die "End of Line Constant" ist (und war schon immer) betriebssystemabhängig. Und ganz klar, unter VxWorks ist sie halt nur LF. Das ist keine fehlerhafte Implementation von LabVIEW, sondern von dir.
Wenn dein Protokoll unabhängig vom Zielsystem sein soll, dann solltest du es auch so programmieren.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.02.2012, 12:30 (Dieser Beitrag wurde zuletzt bearbeitet: 27.02.2012 12:35 von lapser.)
Beitrag #3

lapser Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Aug 2011

2011, 7.1
2011
EN


Deutschland
RE: Carriage Return, Line Feed and End of Line mit cFP2200 Problem
Das Linke Screenshot ist die erste Implementation, mitte das korregierte, rechte screenshot ist der Empfänger (Test Panel).

Du hast recht, ich habe die Hilfe jetzt nochmals genau durchgelesen.

Consists of a constant string containing the platform-dependent end-of-line value.

Durch diese Beschreibung wurde es, für mich, nicht so ganz klar.

http://digital.ni.com/public.nsf/allkb/5...F30061D49B

Nehme alles zurück, sorry.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: