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 

TCP oder VISA lesen



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!

21.10.2010, 13:19
Beitrag #1

conne Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2010

8.5
2007
de

28199
Deutschland
TCP oder VISA lesen
Hallo zusammen,
Ich habe ein Problem mit dem Lesen meiner Messdaten. Und zwar werden diese über WLAN (TCP/IP) oder RS232 gelesen. Dazu habe ich jeweil ein Case gemacht, das die Daten in einen String schreibt. Die jeweils neuen Daten werden an den vorigen Datensatz angehängt. Der String-Ausgang aus dem Case wird dazu in der Haupt-Whileschleife in ein Schieberegister gegeben.
Wenn ich die Daten auf diese Weise auslese, kommt es nach einiger Zeit (Stunde) zu starken Verzögerungen, und die Prozessorleistung steigt auf irgendwann über 50% an (Vermutlich kommt die Verzögerung durch die hohe Prozessorlast?). Wenn ich die lesen-Funktion, egal ob TCP oder VISA, durch einen Dummie ersetze, der genau dieselben Daten überträgt, liegt die Prozessorleisung insgesamt nur bei 1% und steigt auch nach längerer Zeit nicht an.
Ich hab mal zwei Screenshots angeheftet. Eines mit dem TCP Read, und eines mit dem Dummie. Hat einer ne Idee, warum es beim Lesen zu solchen verzögerungen kommt?
Achja, nebenbei sei bemerkt, dass die Daten von der Quelle ausreichend schnell übertragen werden. Per Hyperterminal angezeigt ist keine Spur von Verzögerungen.

Lv85_img


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

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
TCP oder VISA lesen
Leerst du den zusammengesetzten String auch irgendwann mal? Oder wird der immer länger und lääänger und lääääänger - braucht also immer mehr und immer meehr und immer meeehr Speicher.

Irgendwann ist Schluss, da hat der beste Computer keinen Speicher mehr zur Verfügung.

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
25.10.2010, 12:49 (Dieser Beitrag wurde zuletzt bearbeitet: 25.10.2010 12:52 von conne.)
Beitrag #3

conne Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2010

8.5
2007
de

28199
Deutschland
TCP oder VISA lesen
Nee, den leere ich nach 4048 Bytes und empfangenem cr/lf. Allerdings gebe ich auch die Verbindungs-ID für TCP und VISA auf ein Schieberegister. Außerdem die ganzen Messdaten. Ich hab das ganze mal etwas zusammengeschoben, damit man die Hauptschleife im Wesentlichen erkennen kann.
Die Daten aus der Casestruktur (Ist sonst übersichtlicher).
Der aktuell empfangene String wird an den voringen angehängt, und in einer art Terminal dargestellt (liveLOG). Außerdem gehen die Stringdaten unten aus dem Case heraus, und werden angeschließend geparsed und dargestellt. Damit die Anzeigen für die Messwerte zwischendurch nicht auf Null springen, wenn ein Datensatz nicht enthalten ist, gebe ich die Messdaten auch auf ein Schieberegister.
Die Schieberegister werden nicht von mir gelöscht. (Ich wüsste auch nicht wie, ohne die Anzeige in Graphen zu verfälschen.)
Aber wie gesagt, der untere Teil scheint keine Probleme zu machen, weil ich das Programm ewig laufen lassen kann, wenn in jedem Schleifendurchlauf die Daten aus dem Dummie kommen, statt ausgelesen zu werden.


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

BerndDasBrot Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 128
Registriert seit: Feb 2008

8.2.1, 2012, 2017, 2020
2007
EN

7206
Schweiz
TCP oder VISA lesen
Bist Du sicher, dass es nicht an der Anzeige liegt?

Wenn grosse (und wachsende) Datenmengen mit hoher Frequenz ins Diagramm kopiert werden braucht das auch viel Zeit...

Gruss, BDB
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.10.2010, 13:12 (Dieser Beitrag wurde zuletzt bearbeitet: 26.10.2010 13:14 von conne.)
Beitrag #5

conne Offline
LVF-Grünschnabel
*


Beiträge: 25
Registriert seit: Feb 2010

8.5
2007
de

28199
Deutschland
TCP oder VISA lesen
Ist ja keine hohe Frequenz. Die Daten werden mit 1Hz übertragen. Das macht der Dummy ganz genau so. Außerdem hab ich die Anzeigen (sind wirklich sehr viele) auf verschiedenen Registerkarten unter gebracht. Die CPU-Last steigt tatsächlich an, wenn ich eine Seite mit vielen Anzeigen öffne, aber auch, wenn nur der empfangene String angezeigt wird geht die Leistung irgendwann hoch.
Kann es mit den Schieberegistern zu tun haben? Aber darin wird doch in dieser konfiguration immer nur der letzte Wert gespeichert, oder?
Davon mal ab: Sollte doch mit LV möglich sein, viele Daten in einem Diagramm live darzustellen, oder? Ist das nicht quasi das Steckenpferd von LabVIEW?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: