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!
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
Anzeige
29.07.2013, 10:21 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 10:21 von 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.
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 !!
--------------------------------------------------------------------------
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)?
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?
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?
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.