29.07.2013, 10:09
Beitrag #1
|
aschub
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Jul 2013
12.0
2012
DE
|
Daten in Tabelle sammeln und anzeigen
InTabelleSpeichernForum (SubVI).vi (Größe: 239,04 KB / Downloads: 360)
Hallo,
ich habe ein VI zur Datenerfassung mit mehreren Kanälen, an denen Schwingungssensoren angeschlossen sind. Die Messdaten sollen in einem SubVI auf Knopfdruck gespeichert und gleichzeitig im Frontpanel in einer Tabelle angezeigt werden. Das funktioniert prinzipiell auch, aber die Daten werden in der Tabelle nicht geammelt, sondern bei jedem Durchgang werden die Daten von den neuen Messdaten überschrieben. Was kann ich machen, damit die neuen Messdaten immer hinten angehängt werden, in die bereits bestehende Tabelle? Und ausserdem soll der Tabelleninhalt immer noch angezeigt werden, wenn das SubVI beendet wird, was momentan auch nicht der Fall ist. Ich habe schon viel probiert und in Foren gestöbert, aber leider nichts passendes gefunden. Vielleicht kann mir ja hier jemand helfen?
Danke und viele Grüße
Anja
|
|
|
29.07.2013, 10:21
(Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 10:21 von GerdW.)
Beitrag #2
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Anja,
Zitat:Was kann ich machen, damit die neuen Messdaten immer hinten angehängt werden, in die bereits bestehende Tabelle?
"Schieberegister" lautet das Zauberwort!
|
|
|
29.07.2013, 11:13
Beitrag #3
|
aschub
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Jul 2013
12.0
2012
DE
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo GerdW,
ich habe ja ein Schieberegister in der for-Schleife. Das sollte genau dafür sein, aber wenn die Tabelle mit in die Schleife nehme, passiert genau das gleiche wie vorher und wenn ich aus der for- eine while-Schleife mache, bleibt das HauptVI stehen. Das möchte ich aber nicht.
Gruß
Anja
|
|
|
29.07.2013, 11:40
Beitrag #4
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Anja,
wenn du dein VI in LV2011 anhängst, dann kann ich es mir auch anschauen...
|
|
|
29.07.2013, 11:55
Beitrag #5
|
Y-P
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
Beiträge: 12.612
Registriert seit: Feb 2006
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
|
RE: Daten in Tabelle sammeln und anzeigen
Dann mach' ich das mal:
InTabelleSpeichernForum (SubVI).vi (Größe: 234,46 KB / Downloads: 362)
Gruß Markus
(29.07.2013 11:40 )GerdW schrieb: Hallo Anja,
wenn du dein VI in LV2011 anhängst, dann kann ich es mir auch anschauen...
--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
|
|
|
29.07.2013, 11:58
Beitrag #6
|
aschub
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Jul 2013
12.0
2012
DE
|
RE: Daten in Tabelle sammeln und anzeigen
Danke Markus!
|
|
|
29.07.2013, 12:02
Beitrag #7
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Anja,
Zitat:ich habe ja ein Schieberegister in der for-Schleife. Das sollte genau dafür sein
Ist es ja auch. Aber du hast dort auch eine leere Array-Konstante als Initialisierung angeschlossen. Wenn du jedesmal das SR neu initialisierst, muss die Tabelle ja auch gelöscht werden!
Zitat:aber wenn die Tabelle mit in die Schleife nehme, passiert genau das gleiche wie vorher
Ja, die Anzeige auf dem FP hat ja auch nichts damit zu tun, wie du die Daten im SR behandelst...
Zitat:und wenn ich aus der for- eine while-Schleife mache, bleibt das HauptVI stehen. Das möchte ich aber nicht.
Was soll das bitte bringen? Außer, dass dir anscheinend eine Abbruchbedingung in der While-Schleife fehlt?
Lösung:
SR für die Tabelle richtig initialisieren und nicht jedesmal löschen...
Tipp:
- Aufräumen und auf DDT verzichten - oder die DDT so früh wie möglich in Waveforms umwandeln. Dann kannst du auch auf JoinSignal/SplitSignal verzichten.
- Du erstellst ein DDT aus 5 Signalen und splittest das dann in 13 Signale auf. Das sieht für mich nicht sinnvoll aus...
- Du wandelst deine Waveforms in eine Tabelle um und gibst dabei explizit eine "40" für die Anzahl der Einträge vor. Haben deine Waveforms nicht mehr Elemente oder willst du wirklich auf 40 Einträge begrenzen (und den Rest an Daten wegschmeißen)?
|
|
|
29.07.2013, 12:22
Beitrag #8
|
aschub
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Jul 2013
12.0
2012
DE
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Gerd,
Zitat:Lösung:
SR für die Tabelle richtig initialisieren und nicht jedesmal löschen...
ich habe vermutet, dass es daran liegt, aber wie kann ich denn da initialisieren, damit es so läuft, wie es soll?
Das ist auch nur ein Ausschnitt zum testen, Verbesserungsvorschläge kommen mir da sehr gelegen, also danke für die Tipps. Die 40 an der Schleife sind auch nur so zufällig gewählt, das wird am Ende noch angepasst.
Und wie bekomme ich es hin, dass der Tabelleninhalt nach Beenden des SubVIs noch sichtbar ist?
Gruß
Anja
|
|
|
29.07.2013, 12:25
Beitrag #9
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Anja,
Zitat:aber wie kann ich denn da initialisieren, damit es so läuft, wie es soll?
Hatte ich schon mal Schieberegister erwähnt?
Dann noch der Tipp: möglichst weit außen anordnen, wie z.B. die SRs (aka FeedbackNodes), die du für date/time verwendest...
Zitat:wie bekomme ich es hin, dass der Tabelleninhalt nach Beenden des SubVIs noch sichtbar ist?
Der bleibt doch sichtbar, bis er wieder überschrieben wird!
Wo ist das Problem?
|
|
|
29.07.2013, 12:39
|
aschub
LVF-Grünschnabel
Beiträge: 30
Registriert seit: Jul 2013
12.0
2012
DE
|
RE: Daten in Tabelle sammeln und anzeigen
Hallo Gerd,
Zitat:Hatte ich schon mal Schieberegister erwähnt?
Ja, hast Du und ich habe auch schon einen drin, wie gesagt und Du hast geschrieben, dass die Initialisierung falsch ist und wie ist sie denn nun richtig?
Evtl kannst Du mir ja ein Beispiel zeigen?
Der bleibt doch sichtbar, bis er wieder überschrieben wird!
Wo ist das Problem?
Das Problem ist, dass es im HauptVI danach NICHT mehr zu sehen ist. Das verstehe ich eben nicht. Und das HauptVI ist zu groß und hat auch mehrere SubVis, das will ich hier nicht alles unbedingt hochladen.
Anja
|
|
|
| |