15.09.2016, 09:59
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Hallo Gerd,
du verwendest nicht CR/LF, sondern EOL. Das kann zwar das gleiche sein, muss es aber nicht!
Verwende doch mal ein Semikolon als Trennzeichen…
Außerdem hast du das EOL erst nach den Bilddaten angehängt - wozu? Du weißt doch vorher, wieviele Bytes du lesen musst!?
Vorschlag:
Den Empfänger entsprechend anpassen…
|
|
|
15.09.2016, 14:08
|
|
|
15.09.2016, 14:31
(Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2016 16:51 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Eine binäre Datei solltest du dringend mit den passenden Funktionen lesen und schreiben, und das sind die Read/Write Binary File VIs.
Aktuell liest du das Bild mit "Read from Text File", hast aber die Option "Convert EOL" (Rechtsklick auf das VI) aktiv. Jedes Auftauchen einer Byte-Folge \r\n (Carriage Return + Newline) wird somit in ein \n (nur Newline) konvertiert. Mist.
Dann solltest du die Größe der Datei mit einer festen Anzahl von Bytes übertragen, ansonsten weiß dein Empfänger ja gar nicht, wieviele Bytes er jetzt als "Größe" interpretieren soll. Ebenfalls Mist.
Ich hab das mal für dich reduziert:
empfangen_test_0.2.vi (Größe: 17,18 KB / Downloads: 212)
senden_test_0.2.vi (Größe: 19,87 KB / Downloads: 213)
Gruß, Jens
EDIT jg: Senden VI ausgetauscht, hat nicht die gesamte Datei von der Festplatte gelesen.
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.
|
|
|
15.09.2016, 15:07
|
Gerd Grote
LVF-Grünschnabel
Beiträge: 24
Registriert seit: Feb 2012
2016
2012
DE
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Hallo,
Den Fehler mit ConvertEOL habe ich auch gesehen und behoben. Hat leider nicht viel gebracht. Jabe jetzt Feierabend, melde mich heute abend nochmal.
Danke erstmal.
Gruß
Gerd
|
|
|
15.09.2016, 18:51
|
Gerd Grote
LVF-Grünschnabel
Beiträge: 24
Registriert seit: Feb 2012
2016
2012
DE
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Hallo,
Ich hatte auch schon überlegt es mit binary anstelle von text zum machen, aber hatte da leider keinen Erfolg.
Ich habe deine beiden Vis gerade ausprobiert und muß Dir leider sagen, daß die nicht funktionieren. oder ich mache irgendetwas falsch...
Ich habe ein paar Sonden eingesetzt und festgestellt, daß ein leerer String geschrieben wird. Komischer Weise sagt der Ausgabezählwert aber, daß 5 Bytes geschrieben wurden. Verstehe ich gar nicht ...
Auf der Empängerseite liest du dann zuerst 4 Byte aus. Der Lesepuffer ist ein leerer String. Im zweiten read liest du dann ein Byte aus und das Ergebnis ist irgendein Ascii-Zeichen, aber kein vollständiges Bild.
Gruß
Gerd
|
|
|
15.09.2016, 19:52
(Dieser Beitrag wurde zuletzt bearbeitet: 15.09.2016 19:55 von jg.)
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Wieso verwendest du weiterhin "Read/Write from Text File", obwohl ich dir "Binary File" empfohlen und hochgeladen habe?
Wieso hast du schon wieder "Convert EOL" aktiv gelassen?
Gruß, Jens
P.S.: Aber das funzt:
lesen-schreiben-test.vi (Größe: 11,51 KB / Downloads: 203)
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.
|
|
|
16.09.2016, 08:35
|
Gerd Grote
LVF-Grünschnabel
Beiträge: 24
Registriert seit: Feb 2012
2016
2012
DE
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Hallo,
Ja... ich habe einfach den Wald vor lauter Bäumen und so....
Ich habe auch eine Lösung. Werde sie heute abend mal hochladen.
Das Thema ist aber noch nicht ganz beendet.
Vielen Dank für die Tipps und die konstruktive Kritik.
Hat mir sehr geholfen.
Gruß
Gerd
P.s. manchmal ist es gut sich ein paar Stunden mit etwas anderem zu beschäftigen...
|
|
|
17.09.2016, 11:18
|
|
|
17.09.2016, 13:00
|
GerdW
______________
Beiträge: 17.465
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Serielle Kommunikation zwischen zwei Laptops
Hallo Gerd,
ganz allgemein: THINK DATAFLOW!
- Wozu so viele lokale Variablen und "Value"-PropertyNodes? Ist dir der Draht ausgegangen?
- Wozu so viele Sequenzen? Die brauchst du alle nicht!
Zitat:wird das Bild weder in der Datei noch im Picture aktualisiert
Doch, wird es!
Dummerweise aber nur insofern, dass du an die Daten des ersten Bildes einfach die nachfolgenden anhängst - und bei korrekter Auswertung des JPG-Streams werden diese zusätzlichen Daten dann einfach ignoriert…
Merke: Schieberegister und Feedbacknodes sollte man auch korrekt initialisieren!
|
|
|
| |