27.02.2012, 08:55
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)
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)