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 bei Ereignis in Array schreiben



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!

14.08.2013, 16:46
Beitrag #1

js89 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2012
2013
DE



Messwerte bei Ereignis in Array schreiben
Hallo Zusammen,
seit ein paar Wochen beschäftige ich mich jetzt schon mit Labview, bin also noch ein ziemlicher Anfänger.
Im Forum hier habe ich schon mehrmals einen passenden Beitrag gefunden, der mir bei einem Problem weitergeholfen hat.
Jetzt habe ich aber einen Fall, wo ich irgendwie nicht weiter komme, wäre nett wenn mir da jemand weiterhelfen könnte.

Ich habe ein Programm erstellt das bei einem Ereignis (schalten eines Sensors) 2 Messwerte (Strings) einließt. Diese werden dann sofort mit der Funktion: In Textdatei schreiben in ein zuvor erstelltes txt Dokument gespeichert. Das funktioniert auch soweit.

Jetzt möchte ich dies aber ändern so dass die Strings anstatt in die txt Datei in ein Array geschrieben werden. Außerdem will ich die letzten 5 Messwerte immer auf dem Frontpanel angezeigt bekommen.
Bis jetzt hab ich es nur hinbekommen die Werte per While Schleife in ein Array zu schreiben (will aber eigentlich nur bei einem Ereignis in das Array schreiben). Außerdem werden mir nach dem 5. Wert nicht mehr die aktuellen Werte angezeigt sondern das Array wird einfach weiter nach unten beschrieben.
Habe hierzu mal ein kleines Beispiel gemacht.

Wäre nett wenn mir jemand ein paar Tipps geben könnte wie ich das Problem lösen kann.

Gruß
Js89


Angehängte Datei(en)
9.0 .vi  Array_Test.vi (Größe: 6,65 KB / Downloads: 252)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.08.2013, 16:59 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2013 17:06 von Trinitatis.)
Beitrag #2

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo JS89,

hier mal dein VI auf die Schnelle angepasst, so dass immer 5 Werte im Array stehen - der neueste Wert steht dabei in der ersten Zeile.
Die Art, das mit einem 2D-Array zu machen, kann allerdings bei vielen Daten recht schnell recht langsam werden --> Da ist die LossyQueue sicher besser geeignet.


Gruß, Marko
Hier nochmal die LossyQueue-Variante (nun allerdings anders herumBig Grin)

Gruß, Marko


Angehängte Datei(en)
11.0 .vi  Werte in Array(5) schreiben.vi (Größe: 10,34 KB / Downloads: 309)

11.0 .vi  Fifo.vi (Größe: 14,95 KB / Downloads: 293)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2013, 18:13
Beitrag #3

js89 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2012
2013
DE



RE: Messwerte bei Ereignis in Array schreiben
Hallo Marko,

vielen dank schon mal, die LossyQueue Variante sieht schon mal sehr gut aus.

Bin aber immer noch am Rätseln wie ich das hinbekommen soll dass z.B. nur bei einem Tastendruck die Werte ins Array geschrieben werden.
Wäre für weitere Hilfe echt dankbar.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2013, 18:28
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo js,

du willst also so etwas haben:
Code:
IF Bedingung THEN
   Wert ins Array schreiben
ENDIF
Ich würde eine Case-Struktur verwenden...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2013, 18:57
Beitrag #5

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo js,

hier mal ein Vorschlag.

Gruß, Marko


Angehängte Datei(en)
11.0 .vi  Fifo2.vi (Größe: 15,07 KB / Downloads: 256)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.08.2013, 20:06
Beitrag #6

js89 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2012
2013
DE



RE: Messwerte bei Ereignis in Array schreiben
Hallo,
erst mal danke euch beiden.

hab es jetzt mal nach dem Vorschlag von GerdW mit einer Case-Struktur aufgebaut, funktioniert auch ganz gut.

Jetzt will ich auch noch das Array auf Tastendruck in eine txt Datei schreiben, hab das auch schon mal mit der Funktion In Tabellenkalkulationsdatei schreiben ausprobiert, jedoch scheint das noch nicht zu funktionieren, hat mir noch jemand einen Tipp wie das gehen könnte?

Gruß


Angehängte Datei(en)
9.0 .vi  Array_test_3.vi (Größe: 10,46 KB / Downloads: 239)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.08.2013, 20:36 (Dieser Beitrag wurde zuletzt bearbeitet: 14.08.2013 20:38 von GerdW.)
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo js,

das Programm macht genau das, was du programmiert hast! Das es nicht das macht, was du im Sinn hattest, kannst du nicht dem VI anlasten... Big Grin

Einfache Lösung: Guck dir an, was das VI macht - und zwar mit Highlight-Debugging!

Tipp1: Wenn du "Speichern in TXT" aktivierst, ist leider nicht "Speichern in Array" aktiv...
Tipp2: Daten speichert man sehr effektiv in Schieberegistern!
Tipp3: Einer Polling-Schleife tut etwas Bremsen mit Wait sehr gut!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2013, 09:59
Beitrag #8

js89 Offline
LVF-Neueinsteiger


Beiträge: 6
Registriert seit: Aug 2013

2012
2013
DE



RE: Messwerte bei Ereignis in Array schreiben
Hallo GerdW,

mit Hilfe deiner Tipps hab ich es soweit hinbekommen das die Werte in eine txt Datei geschrieben werden. Jedoch habe ich jetzt noch das Problem das nur die letzten 5 Werte reingeschrieben werden, also die die auch auf dem Frontpanel angezeigt werden.

Will zwar nur die letzten 5 Werte auf dem Frontpanel sehen, jedoch sollen natürlich alle Werte abgespeichert werden.

Wäre für weitere Tipps echt dankbar.

Gruß


Angehängte Datei(en)
9.0 .vi  Array_test_4.vi (Größe: 11,07 KB / Downloads: 249)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2013, 11:08
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo js,

Zitat:Will zwar nur die letzten 5 Werte auf dem Frontpanel sehen, jedoch sollen natürlich alle Werte abgespeichert werden.
Und warum verbindest du dann den Draht, der nur die letzten 5 Werte speichert, mit der Write-Funktion? Hmm

Pragmatische Lösung: Im Schieberegister werden alle Daten gesammelt (für die Speicherung), die Queue übernimmt das Puffern der letzten 5 Werte für die Anzeige...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
15.08.2013, 11:08
Beitrag #10

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Messwerte bei Ereignis in Array schreiben
Hallo JS,

zum einen verwendest du ein uninitialisiertes Shiftregister, was bei Mehrfachaufrufen dieses VIs zu (wahrscheinlich) unerwünschten Resultaten führt. Und zum anderen speicherst du im Shiftregister immer nur die letzten 5 Werte - du könntest z. B. jeden gelesenen Wert in die Datei schreiben (Haken bei "an Datei anhängen) machen. Dann würde ich dir aber nicht zu diesem VI raten, da es die Datei immer wieder öffnet und schließt, sowas gehört außerhalb der Schleife.


Gruß, Marko
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
  Messwerte aus UM232H (USB) jede ms in TDMS Datei schreiben BenBaeumker 19 9.833 23.07.2021 10:55
Letzter Beitrag: GerdW
  Aus 2D-Array jede x-te Zeile in weiteres 2D-Array schreiben P.J. 5 6.299 13.11.2020 09:05
Letzter Beitrag: GerdW
  Werte in Array schreiben- Mittelwert bilden und ausgeben um0k 10 8.687 25.08.2020 14:19
Letzter Beitrag: GerdW
  Werte nacheinander in Array schreiben über ein Schieberegister BlackEagle 5 8.559 13.12.2019 13:40
Letzter Beitrag: GerdW
Wink Benutzerdefinirtes Ereignis mit Arduino jennylena 1 3.284 15.02.2018 09:53
Letzter Beitrag: IchSelbst
  Ereignis Struktur 911tom 9 6.947 20.12.2017 20:57
Letzter Beitrag: GerdW

Gehe zu: