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 

Messwerte aktualisieren und anzeigen



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!

24.01.2010, 11:14
Beitrag #1

sgtdodo Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2008

8.5
2007
de

37176
Deutschland
Messwerte aktualisieren und anzeigen
Beim Testen an der Heizungsanlage bei meinem Dozenten lief jetzt die serielle Schnittstelle, nachdem ich einen anderen Adapter benutzt habe.
Ich musste jedoch nach einiger Zeit feststellen, dass sich meine Werte nicht aktualisieren, bzw. den Wert der als erstes eingelesen wird, der wird die ganze Zeit durchgängig geschrieben.

Ich hatte damals eine Zeitgesteuerte Schleife um das ganze VI gelegt, da ich sonst Probleme mit dem Speichern von Daten über einen gewissen Zeitraum bekommen hatte. die Daten sollten z.B alle 30sek aktualisiert werden durch die Schleife und 3 Minute lang in eine Datei geschrieben werden, bevor die nächste erstellt wird.

1. an welcher stelle müsste ich die Schleife einstellen, dass diese immer den aktuellen Wert erfasst, bzw. den Wert neu einliest? Zu Testzwecken hatte ich mal mitgeloggte Daten von einem anderen PC an mein VI gesand und vorher die Zeitgesteuerte Schleife durch eine Zeitgesteuerte Sequenz ersetzt. Hier weiß ich natürlich nicht ob die Daten dann wirklich so abgehackt erscheinen, wenn ich an der Heizung dranhänge oder ob das nur durch das senden von PC zu Pc kam, da ich erst am Samstag wieder zu meinem Dozenten komme. Die Datenspeicherung könnte auch in einem anderen VI geschehen, ich könnte ja die Messwerte übergeben.

2. Zum speichern nutze ich das Express VI wegen der oben 3 Minütigen speicherung. Habe zwar versucht mir sowas einzeln zusammenzubasteln, aber irgendwie hat es nicht geklappt. Aber das express vi schreibt die Daten in LVM (eine *.*txt Datei), wenn ich mir diese anschaue sind auch die Werte vorhanden mit einer Urzeit. Nur wenn ich mir diese DAtei im nachhinnein mit z.B einem Signalverlaufsdiagramm anzeigen lassen möchte stimmt die höhe auf der Y- Achse (Temperatur) aber auf der Zeitachse ist nur ein Punkt. In der Datei sind aber in diesen besagten 3 Minuten 6 Messwerte geschrieben worden. Ziel ist es wenn ich diese besagten Dateinen mir anschauen will, dass auf der X-Achse die Uhrzeit steht, wo dieser Wert geschrieben worden ist.

Lv82_img


Angehängte Datei(en)
Sonstige .vi  Auslesen__ber_Array_Endphase_VISA.vi (Größe: 645,64 KB / Downloads: 296)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
24.01.2010, 13:33
Beitrag #2

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Messwerte aktualisieren und anzeigen
Ja, wie solle sich die Werte auch aktualisieren? Es wird ein einziges Mal gelesen, dann wird Visa geschlossen und die gelesenen Werte an die Schleife übergeben. Die macht dann mit diesen immer gleichbleibenden Werte immer dasselbe.
Richtig muß es so aussehen:
Vor der Schleife wird Visa konfiguriert, d.h geöffnet.
In der Schleife wird Visa (immer wieder) gelesen.
Nach der Schleife, d.h. beim Beenden des Programms, wird Visa geschlossen.
Das zusätzliche Problem ist dann die Synchronisation der Schleife mit den Visa-Daten. Dies kann am besten mit TermChar erfolgen: Visa Read wartet so lange, bis am Ende eines Datensatzes z.B ein Ctrl-A auftritt und übergibt dann den jeweils einen Datensatz. Damit hast Du genau einen Schleifendurchlauf pro Datensatz. Kein Wait in die Schleife reinmachen!
Ich würde auch sagen, daß sich der Flächenverbrauch deines BD von 100% auf zumutbare 20% verringern läßt, was aber u.a. einen besseren Code voraussetzt.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.01.2010, 18:10
Beitrag #3

sgtdodo Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2008

8.5
2007
de

37176
Deutschland
Messwerte aktualisieren und anzeigen
Wenn ich jetzt alles richtig gemacht habe sieht das ganze dann wie folgt aus. Bei dem Abschlußzeichen habe ich eine 24 gesetzt, da laut hex code dieses dem $ entspricht. Dieser wert taucht zu beginn eines Datensatzes immer wieder auf. Ich hoffe das war richtig. Werde mal ein Beispiel mit hochladen von den Heizungsdaten die ich mal per Hyperterminal mitgelogt habe.
Habe nur das Problem gehabt, dass wenn ich jetzt die daten von pc zu pc sende das die spalten immer wechseln (mal steht in der ersten Spalte der name, dann mal in der dritten etc. deshalb wird das diagramm immer unterbrochen bis der name wieder in der ersten spalte auftaucht) Liegt das an der pc zu pc verbindung?

Lv82_img


Angehängte Datei(en)
Sonstige .vi  Auslesen__ber_Array__VISA1.vi (Größe: 638,31 KB / Downloads: 267)

Sonstige .txt  112.txt (Größe: 17,51 KB / Downloads: 317)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2010, 09:07 (Dieser Beitrag wurde zuletzt bearbeitet: 25.01.2010 09:15 von Lucki.)
Beitrag #4

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Messwerte aktualisieren und anzeigen
So wie Du es gemacht hast funktioniert die Synchronisation nicht.
Du scheinst aber in der glücklichen Lage zu sein, die Zeichen auf der Sendeseite verändern zu können, das ist sehr gut. Also: Das Abschlußzeichen sollte natürlich am Ende des Datensatzes stehen und nicht an dessen Anfang. Standard bei LabVIEW ist Hex0A (LineFeed). Das kommt in den Daten sonst nicht vor, warum nimmst Du nicht einfach das? Und: Die Konfiguration mit TermChar muß nicht mit jedem Schleifendruchlauf wiederholt werden.
So funktioniert VISA Read: Es wartet so lange, bis eine der folgenden Bedingungen erfüllt ist, und liest dann (außer bei Bedingung 3) die Zeichen aus dem Buffer:
1. TermChar triftt ein
2. Die angegebene Bytezahl wird erreicht
3. Timeout
Damit die gewünschte Bedingung 1 zutrifft, müssen die Hürden für Bedingungen 2 und 3 entsprechend hoch gelegt werden, als z.B 1000 bytes und 10sec. Wenn Du hingegen vor dem Lesen die Anzahl Bytes im Buffer feststellst und genau diese Anzahl dann ausliest, dann wartet VisaRead natürlich überhaupt nicht und von Synchronisation kann überhaupt keine Rede sein.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
25.01.2010, 12:09
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Messwerte aktualisieren und anzeigen
So könnte es gehen:
Lv82_img
Sonstige .vi  Heizung.vi (Größe: 16,96 KB / Downloads: 274)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  gespeicherte Messwerte anzeigen sgtdodo 2 3.743 17.02.2010 21:52
Letzter Beitrag: Y-P
  Datei aktualisieren viperjumper 8 5.649 11.08.2009 14:18
Letzter Beitrag: Lucki

Gehe zu: