![]() |
Probleme bei mehrfacher Nutzung eines SubVIs - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: Probleme bei mehrfacher Nutzung eines SubVIs (/Thread-Probleme-bei-mehrfacher-Nutzung-eines-SubVIs) |
Probleme bei mehrfacher Nutzung eines SubVIs - Fidel90 - 21.12.2010 11:31 Ok mir ist nun folgendes aufgefallen: Wenn mein SubVI so ist wie bisher, dann wird mir doch nicht die Ausgabeanzeige gelöscht wenn ich Bilddaten anfordere. Stattdessen bekomme ich ASCII-Schnipsel mit seeehr vielen Zeilenumbrüchen dazwischen. Daher ist meine Anzeige bis auf das Prompt scheinbar leer. Wenn ich aber mal scrolle finde ich wie gesagt einige (wenige) Schnipsel. Setze ich eine Wartezeit vor mein Bytes at Port (10ms), dann sind die Schnipsel größer. Noch größer werden sie, wenn ich 100ms Wartezeit vor dem auslesen ansetze. Der Anzeigezähler läuft wie gewohnt runter (ca. 100 Bytes/s) bis auf 0. Offensichtlich habe ich dann wohl ein Timingproblem?! Aber wie bekomme ich jetzte eine gescheite, vollständige Ausgabe hin. Das Problem habe ich wie gesagt nur, wenn es sich um hohe Datenmengen handelt. Bei einfachen Statusabfragen etc. tritt kein entsprechender Effekt auf... mfg Probleme bei mehrfacher Nutzung eines SubVIs - Y-P - 21.12.2010 12:21 Dann solltest Du die Timing-Zeit so hoch wählen, dass definitiv alles übertragen wird (da Du ja keine definierten Terminierungszeichen hast, wenn ich Dich richtig verstanden habe). Gruß Markus Probleme bei mehrfacher Nutzung eines SubVIs - Kasi - 21.12.2010 12:37 Dass die Schnipsel größer werden, wenn du länger wartest, ist doch logisch ![]() Das Gerät bzw. die Kommunikation zwischen Gerät und Rechner hat halt nur ne gewisse Baud-Rate, mit der es übertragen kann, und bei ner Baudrate von z.b. 9600 schafft es halt nur etwa 9600/8 also gut 1 Byte pro ms. Ich glaube, dein Problem liegt einfach an der Art, wie du die fertige Antwort zusammensetzt. Von was für einer "Anzeigezähler" ist das eigentlich? Hat das Gerät hardwaremäßig eine Anzeige, wieviele Bytes es noch auf Lager hat? Probleme bei mehrfacher Nutzung eines SubVIs - Fidel90 - 21.12.2010 13:08 @Kasi: Die Baudrate beträgt 115200. Mit dem Anzeigezähler meine ich nur den Knoten Bytes at Port. In der Debugausgabe kann ich mir ja die aktuelle Anzahl anzeigen lassen. Dort habe ich diese Beobachtung des ständigen Abfalls gemacht. mfg Probleme bei mehrfacher Nutzung eines SubVIs - Kasi - 21.12.2010 13:28 mhm... folgendes kapiere ich dann gerade nicht: Warum zählt der "Bytes at Port" runter? Normalerweise müsste das ReadVI ALLE Bytes abholen, da du ihm genau diese Angabe ja reingibst. Könnte es sein, dass die Leseroutine ständig in ein Timeout rennt? Mal den Fehlerausgang beim Read ausgelesen? Probleme bei mehrfacher Nutzung eines SubVIs - Fidel90 - 21.12.2010 15:55 Genau das kam mir ja auch komisch vor. Bekomme am Ausgang zwar keinen Fehler, aber eine Warnung (1073676294). mfg Probleme bei mehrfacher Nutzung eines SubVIs - jg - 21.12.2010 16:01 ' schrieb:Bekomme am Ausgang zwar keinen Fehler, aber eine Warnung (1073676294).Diese "Warnung" ist kein Problem, sondern normal: http://digital.ni.com/public.nsf/allkb/C96...625632500482F78 Gruß, Jens Probleme bei mehrfacher Nutzung eines SubVIs - Kasi - 22.12.2010 10:06 ich werd aus dem beschriebenen Verhalten leider nicht schlau. Aber ich geb noch nen Debug-Ansatz: Einfach mal die Leseroutine bis zum Timeout laufen lassen, also mehr Bytes als Konstante für die Antwort veranschlagen, als geliefert werden, "Bytes at Port" also durch ... was weiß ich, 10000 ersetzen. Keine While-Schleife, keine Case-Strukturen. Trotz des Timeout-Fehlers sollte er dann die vollständige Antwort ausspucken. Und das dann auch mit aufeinanderfolgenden Befehlen versuchen. Probleme bei mehrfacher Nutzung eines SubVIs - Fidel90 - 22.12.2010 12:27 Tja...habe jetzt mal in meinen While-Schleifen den Fehlercluster per Schieberegister durchgereicht. Außerdem habe ich fix ein SubVI gebastelt, welches meine Verbindung zum Gerät sauber trennt. Ich weiß nicht ob es daran liegt, jedenfalls kann ich jetzt vollständige Datensätze empfangen, wenn ich Bilddaten anfordere... Könnte mir vorstellen, dass es an den Schieberegistern liegt. Da ich ja nur den VISA Resource Name (der sich ja nicht ändert) und den Fehlercluster aus der Whileschleife rausführe, machen mein VIs evtl. schon weiter bevor die Whileschleife durch ist. Die erforderlichen Daten würden ja bereits anliegen...bin da aber nicht ganz sicher. Muss mal schauen wie es sich jetzt mit der Verwendung des gleichen SubVIs nacheinander verhält. Danke soweit erstmal für die tolle Unterstützung ![]() Da ich grad am schreiben bin, gleich noch ne Frage: Gibt es ne Art Protokoll, wie man solche ASCII Bilddaten in ein Bild wandeln kann? Also wie bekomme ich aus dem empfangenen Bytes ein Bild? ![]() mfg Probleme bei mehrfacher Nutzung eines SubVIs - GerdW - 22.12.2010 14:50 Hallo Fidel, Zitat:Gibt es ne Art Protokoll, wie man solche ASCII Bilddaten in ein Bild wandeln kann? Also wie bekomme ich aus dem empfangenen Bytes ein Bild? ![]() |