RE: Das verstehe ich nicht ganz
Hallo Jürgen,
erstmal bitte das VI aufräumen und die ganzen RubeGoldbergs entfernen:
- man muss nicht gleichzeitig ins Terminal und in eine lokale Variable eines Indicators schreiben
- es gibt Funktionen zum Zusammensetzen von Pfaden, man muss das nicht mit Strings erledigen
- es gibt effizientere Stringformatierungsfunktionen, man muss keine ConcatStrings mit +20 Eingängen verwenden (bzw. kann selbst mal ein paar Leerzeichen schreiben, statt extra Konstanten zu verdrahten)
Dann:
Wenn ich ein VI sehe, dass schon über ein 1MB groß ist, weiß ich schon vorher, dass da mit sehr großer Wahrscheinlichkeit ExpressVIs drin sind. ExpressVIs sind zwar "nett", aber nicht immer für lang laufende VIs geeignet! Vor allen Dingen, wie du sie einsetzt:
- zum Aufsplitten von "Signalen", die als Array of Waveforms vorliegen, kann man auch ein einfaches IndexArray verwenden
- zum Berechnen eines gleitenden Mittelwerts gibt es auch Funktionen in der Signalverarbeitungspalette (hier könnte sich ein Speichergrab verstecken, dass du auch gleich noch mehrfach aufrufst/aufmachst)
- zum Zusammensetzen von Plots schaut man in die Kontexthilfe und verwendet BuildArray
Mach bitte alle diese Änderungen und teste dein VI dann noch mal.
Außerdem überlege dir, ob du wirklich dauernd Dateien schreiben und lesen willst, oder ob es nicht vielleicht doch effizienter ist, ein paar Daten im RAM zu halten...
|