Rechner am Anschlag? Oder LabVIEW? - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Rechner am Anschlag? Oder LabVIEW? (/Thread-Rechner-am-Anschlag-Oder-LabVIEW) |
Rechner am Anschlag? Oder LabVIEW? - Oliver Listing - 12.07.2005 12:11 marker schrieb:Das Problem besteht ja dann wahrscheinlich bei sämtlichen Referenzen (Melder, Semaphoren, Rendezvous, ...).Sehe ich auch so... Gruß Oliver Rechner am Anschlag? Oder LabVIEW? - tosi - 12.07.2005 12:33 @marker den case "Aufzeichnung bei Änderung des Pegels" habe ich die Tage nicht mehr benutzt - das kanns nicht sein. Das Demo VI von Oliver ist eindrücklich - aber so kann ich das (leider) nicht im Taskmanager beobachten, wenn ich mein VI ausführe. Muß mir wahrscheinlich mal länger Zeit nehmen. Inner viertel Stunde verändert sich der nicht merklich...aber irgendwann passierts - naja. Ein anderes Problem beschäftigt mich auch noch, aber das poste ich mal lieber bei DAQ. Rechner am Anschlag? Oder LabVIEW? - Oliver Listing - 12.07.2005 12:46 Hi tosi, die Demo sorgt ja auch für einen "sichtbaren" Speicherverbrauch. In meinem Programm habe ich vielleicht im Sekundentakt eine Queue benutzt. Entsprechend schleichend war der Speicherverbrauch, entsprechend lange war die Fehlersuche... Hatte mehrere Male die verschiedensten Dinge umprogrammiert, um den Fehler auszuschließen Also starte dein VI und schreiben den Speicherstand auf. Dann tue nichts anderes mit dem Rechner, bis deine Fehlermeldung kommt und vergleiche dann den aktuellen Speicherstand. Letztendlich teile uns das Ergebnis mit... Gruß Olli Rechner am Anschlag? Oder LabVIEW? - rolfi - 12.07.2005 20:15 marker schrieb:Hi tosi, Hi Marker, wie lösche ich am besten ein Array in regelmäßigem Takt, bzw. wie kann ich einem Array nur eine bestimmte Größe (Speicherbereich) zuordnen, damit es sich selber wieder überschreibt? Danke, Rolf Rechner am Anschlag? Oder LabVIEW? - marker - 13.07.2005 07:07 Hi rolfi, wenn Du ein Array der erfoderlichen Größe initialisierst und dann die Funktion "Teilarray ersetzen" verwendest, kannst Du sicher sein, dass Dein Array niemals größer wird. Mit dieser Funktion werden die alten Daten durch die neuen Daten an den angegebenen Indizes ersetzt (Arraygrösse bleibt gleich). Die Funktion "In Array einfügen" ist sehr komfortabel für dynamische Arrays, sollte aber nur mit Vorsicht verwendet werden, da bei Fehlanwendung die Gefahr besteht, dass die Arraygrösse ins unermessliche anwächst. Mit dieser Funktion werden neue Daten an den angegebenen Indizes eingefügt, die alten Daten werden nach hinten verschoben (Array wird vergrössert). Gruß, Marko Rechner am Anschlag? Oder LabVIEW? - rolfi - 13.07.2005 20:55 Danke Gut zu wissen. Werd ich bei nächster Gelegenheit gleich mal testen. Wenn ich allerdings Daten über die RS232 empfange und diese mit der Funktion "Tabellenstring zu Array" weiterverarbeite. Die Daten werden gleich weiter verarbeitet und nirgends in einem Gesamtarray gespeichert. Füllt mir dieses Array ebenfalls den Speicher (glaube schon) oder verwirft LV die Daten nach bestimmten Zeitperioden? lg, rolf Rechner am Anschlag? Oder LabVIEW? - marker - 15.07.2005 07:26 Hi rolfi, die Größe eines Arrays das aus einem Tabellenstring erzeugt wird, ist abhängig von der Größe des Strings. Wird der String immer größer wird auch das Array immer größer. Wird der String gelöscht ist das resultierende Array leer. Gruß, Marko Rechner am Anschlag? Oder LabVIEW? - tosi - 15.07.2005 08:16 Hallo zusammen, ich hab bissel rumprobiert und bin jetzt zum Schluß gekommen, dass nicht mein Speicher das Problem ist sondern der Puffer (Datenerfassung). Den Fehler kann ich abfangen und den Puffer löschen. Leider gehen dabei Daten verloren, aber Puffer löschen ohne Datenverlust geht ja wohl nicht. Mein Dilema ist jetzt entweder einen großen Puffer zu verwenden und die Schleife zu timen, oder eine hohe CPU-Last (>50%) zu haben...naja. Danke für eure Hilfe. Gruß, Tosi Rechner am Anschlag? Oder LabVIEW? - rolfi - 15.07.2005 08:18 Der String bleibt von der Zeilenlänge immer gleich. Er wird, wie bei einem Array, im Takt durch eine weitere Zeile vergrößert/ergänzt. --> Ich lese aus einer Steuerung Daten heraus. Akzeptiere die Daten nur, wenn eine bestimmte Zeichenfolge eingehalten wird. Und wandele sie mit der Funktion Tabellenstring zu Array um, damit ich die Daten auswerten kann. Gespeichert werden die Daten automatisch in einem File. Ausgabe erfolgt eigentlich in keinem Array, nur indizierte, nummerische Ausgabefenster und Diagramme. Muss bzw. kann ich nun den String, Array irgendwie begrenzen? Lg, Rolf PS: Ich fahre in ein paar Stunden in Urlaub;)Es könnte also ein wenig dauern mit meiner Antwort. Rechner am Anschlag? Oder LabVIEW? - marker - 15.07.2005 08:45 rolfi schrieb:Der String bleibt von der Zeilenlänge immer gleich. Er wird, wie bei einem Array, im Takt durch eine weitere Zeile vergrößert/ergänzt. Wenn der String immer um eine Zeile verlängert wird, wird das Array natürlich auch immer größer. Warum übergibst Du nicht immer nur den aktuellen String? Wenn ich Dich richtig verstanden habe brauchst Du die alten Daten ja nicht mehr. Marko |