LabVIEWForum.de
Speicherprobleme - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Application Builder (/Forum-Application-Builder)
+---- Thema: Speicherprobleme (/Thread-Speicherprobleme)

Seiten: 1 2


Speicherprobleme - Marco_81 - 04.01.2009 14:07

Hallo

ich habe ein größeres VI. Dort werden 21 Systeme über einen längeren Zeitraum abgearbeitet. Nach sieben Tagen stürzt die erzeugte exe ab (Blue Screen ,WinXP). Ich denke ich habe ein Speicherproblem. Nun habe ich mal im Forum geschaut und zwei kritische Sachen gefunden (Arrays und SubVIs). Beide Sachen verwende ich.

Kurz zum Hauptprogramm. While Schleife , darin for-Schleife mit 21 Durchläufen (21 Systeme).

1. Graphische Anzeigen:

[attachment=16010]

davon 216 Charts im gesamten Programm. Kann das zu Speicherproblemen führen ?

2. SubVIs

Ich rufe in jedem Durchlauf der for Schleife das gleiche SubVI auf und habe dafür folgende Einstellungen:

Im SubVI:

[attachment=16011]


Im MainVI:

[attachment=16012]

[attachment=16013]

Kann das zu Speicherproblemen führen?

Andere Möglichkeiten schließe ich aus die zum Absturz führen.

Vielen Dank für eure Hilfe.


Speicherprobleme - IchSelbst - 04.01.2009 16:00

' schrieb:Nach sieben Tagen stürzt die erzeugte exe ab (Blue Screen ,WinXP).
Mal Anzahl der Handle und Speicherplatzbedarf im Taskmanager kontrolliert? Beides muss im Mittel konstant bleiben.

Zitat:davon 216 Charts im gesamten Programm. Kann das zu Speicherproblemen führen ?
Ich würde sagen: JA!.
Wie viele werden denn quasi gleichzeitig regfreshed (wenn auch nicht gleichzeitig angezeigt)?

Zitat:SubVIs
Kann das zu Speicherproblemen führen?
Da sehe ich keine Probleme.

Verwendest du auch Arrays in Schieberigstern?


Speicherprobleme - Marco_81 - 04.01.2009 16:19

Hallo,

Zitat:Mal Anzahl der Handle und Speicherplatzbedarf im Taskmanager kontrolliert? Beides muss im Mittel konstant bleiben.

Nein. Der Speicherbedarf wurde noch nicht notiert.

Zitat:Wie viele werden denn quasi gleichzeitig refreshed (wenn auch nicht gleichzeitig angezeigt)?

Alle 2 Minuten werden alle Charts refreshed.

Zitat:Verwendest du auch Arrays in Schieberigstern?

Nein, nur die Arrays wie in der Abbildung.


Speicherprobleme - Lucki - 04.01.2009 16:39

' schrieb:Kurz zum Hauptprogramm. While Schleife , darin for-Schleife mit 21 Durchläufen (21 Systeme).

1. Graphische Anzeigen:

[attachment=43621:Charts.jpg]

davon 216 Charts im gesamten Programm. Kann das zu Speicherproblemen führen ?
Ich sehe nur bei Punkt 1 die Möglichket von Seicherproblemen, aber die Frage ob ja oder nein läßt sich doch leicht beantworten - aber nur von Dir selbst.
Die Speicherbedarf in bytes ist:
(8 byte [Y-Werte double] + 8 byte [Time-Werte]) * 216 Diags * Historienlänge
Was es mit den "21 Systemen" auf sich hat weiß ich nicht (ist der Speicherbedarf noch mit 21 zu multiplizieren??)
Verbesserungen:
a) Single Präzision reicht für Diagramme allemal aus (4 byte statt 8 byte Speicherbedarf pro y-Number)
b) Sich genau überlegen, welche Historienlänge man für die Signalverläufe unbedingt braucht.
c) Falls dt konstant ist, dann kann man sich das Hinzufüen von t0 zu jedem Messpunkt ersparen.

Interessant ist auch diese Frage: Wenn der Absturz erfolgt, wurde dann die Historienlänge schon erreicht oder nicht? Hintergrund: Wenn bereits nach 1 Tag die Historenlänge erreicht ist und danach immer nur alte Daten überschrieben werden, aber nach 7 Tagen erst der Absturz erfolgt, dann kann es nicht am Speicher leigen.

Interessant wäre auch eine andere Frage, vielleicht weiß jemand die Antwort: Wenn ich bei einem Signalverlaufsdiagramm eine Historienlänge einstelle, die größer ist als die Ressourcen des Systems es erlauben, kommt dann sofort eine Fehlermeldung von LabVIEW, oder kommt es ohne Vorwarnung erst dann zum Absturz, wenn beim Auffüllen mit Daten die Stunde der Wahrheit kommt?


Speicherprobleme - IchSelbst - 04.01.2009 16:40

' schrieb:Alle 2 Minuten werden alle Charts refreshed.
Macht gute 500ms pro Chart. Naja. Charts sind im allgemeinen wenig fehlertolerant. Es kommt halt auf die Menge der Daten pro Chart an. 216 Charts kann eine Menge Speicher werden. Ich würde von sowas abraten. Welcher Anwender kann denn 216 Charts überblicken?

Was sagt denn die Bluescreen-Meldung, wo der Fehler aufgetreten ist?


Speicherprobleme - Lucki - 04.01.2009 17:02

' schrieb:Alle 2 Minuten werden alle Charts refreshed.
Was meinst Du denn damit? Soll das heißen, daß alle 2 Minuten neue Datenpunkte hinzukommen, oder soll das heißen, daß alle 2 Minuten alle alte Daten gelöscht werden?
Wie stellst Du denn die Daten überhaupt dar?. Alle 216 Diags auf einem Bildschirm? Oder mit vielen Regsiterkarten? Und welcher Mensch sieht dann in den Anzeigen noch durch?
Es ist doch die Aufgabe von Software, Informationen so zu verarbeiten, daß der Mensch am Ende der Verarbeitung etwas damit anfangen und Entscheidungen treffen kann. Wie soll das hier funktionieren?


Speicherprobleme - Marco_81 - 04.01.2009 17:06

Hallo,

die Charts haben 1024 Werte (Historienlänge).

Zitat:Interessant wäre auch eine andere Frage, vielleicht weiß jemand die Antwort: Wenn ich bei einem Signalverlaufsdiagramm eine Historienlänge einstelle, die größer ist als die Ressourcen des Systems es erlauben, kommt dann sofort eine Fehlermeldung von LabVIEW, oder kommt es ohne Vorwarnung erst dann zum Absturz, wenn beim Auffüllen mit Daten die Stunde der Wahrheit kommt?

Das habe ich gehabt als ich die Historienlänge größer als 1024 hatte. LabVIEW kann das Programm nicht mehr kompilieren und der Button VI starten wird grau und Fehlermeldung kommt .

Zitat:Was sagt denn die Bluescreen-Meldung, wo der Fehler aufgetreten ist?

Ich bin leider nicht vor Ort. Deshalb habe ich keine Speicherinfos und ich weiß nur das ein BlueScreen angezeigt wurde und nichts ging mehr.

Das Programm lief zwischen 7-8 Tagen

alle 10 min kommen neue Messwerte hinzu, ich kann leider nicht genau sagen ob 1024 überschritten wurde.


Speicherprobleme - Marco_81 - 04.01.2009 17:21

Ich habe 21 Registerkarten. 1 Registerkarte=1 System.

In jeder Registerkarte befinden sich dann 11 Charts wiederum in Registerkarten.


Speicherprobleme - Lucki - 04.01.2009 17:25

' schrieb:Das Programm lief zwischen 7-8 Tagen

alle 10 min kommen neue Messwerte hinzu, ich kann leider nicht genau sagen ob 1024 überschritten wurde.
Dann kann ich es Dir sagen, denn dank Hochschulausbildung bin ich in der Lage auzurechenen, daß ein Tag aus 144 * 10 Minuten besteht. Die 1024 würde also nach 1024/144 = 7.1 Tagen überschritten.
Es wäre ja auch ganz einfach, mittels simulierter Daten die Rate um einige Zehnerpotenzen zu erhöhen. Dann sieht man sofort, und nicht erst in 7 Tagen, ob das Systen stabil ist und kann es mittels Modifizierungen leicht stabil machen.


Speicherprobleme - Marco_81 - 04.01.2009 17:30

Werde ich probieren!

Vielen Dank