LabVIEWForum.de
Programm sehr langsam - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Programm sehr langsam (/Thread-Programm-sehr-langsam)



Programm sehr langsam - dualsbiker - 20.11.2009 09:50

Hallo, ich habe ein Programm geschrieben (EGSE Control Center). Es ist sehr umfangreich.
Mein Problem liegt jetzt darin, dass es so langsam ist, dass ich etwa 5 bis 10 Sekunden warten muss bis es durch die Stopp-Taste beendet werden kann, manchmal dauert es noch viel länger. Ich dachte erst es liegt an meinem Rechner, aber auf einem QuadCore lief es auch nicht schneller.

Kann mir da jemand einen Tipp geben ?

Programm ist im Anhang, zu starten ist EGSE Control Center3.

LV - Version 8.6.1


Programm sehr langsam - SeBa - 20.11.2009 10:18

Ohne es anzugucken...
...viele Schleifen die alle erst abgearbeitet werden, bevor das finale Beenden kommt..?

Gruß SeBa


Programm sehr langsam - Y-P - 20.11.2009 10:26

:oDa blicke ich nicht mehr durch.

Ein paar Kritikpunkte:
- Du machst dauernd DAQmx-Tasks auf, schreibstest was und schließt/löschst sie nicht mehr. Ein Task sollte immer wieder geschlossen und gelöscht ("Clear") werden.
- Du verwendest 2 (!) Event-Strukturen auf einmal. Das kann zu Problemen führen.
- Du erzeugst für jede Line einen eigenen Task, obwohl Du sie zusammenfassen kannst: z.B. Dev4/port0ne9:11 Dann kannst Du ein Array mit 3 Booleans anlegen und auf einmal "rausschreiben".

Verbesserungsvorschlag:
Versuch doch eine Eventgesteuerte State-Machine zu verwenden und wenn das nicht reicht eine Eventgesteuerte Producer Consumer Loop.
Bei Deinem jetzigen VI wundert es mich nicht, dass es nicht so läuft wie es soll.

Gruß Markus

PS: Beim nächsten Mal besser "zippen". Ich mach' das jetzt mal für Dich. Die meisten haben nur ZIP bei der Arbeit.

[attachment=22657]


Programm sehr langsam - dualsbiker - 20.11.2009 10:36

Das mit dem Zusammenfassen klingt gut. Das Probier ich mal aus, ich find es selber etwas ungünstig, aber mir fehlt leider die Erfahrung um so etwas besser zu machen.


Programm sehr langsam - skywalker - 20.11.2009 10:40

Das bedeutet man sollte immer einen
- Task öffnen
- Task lesen/schreiben
- Task beenden und
- Task zurücksetzen??

[attachment=22659]

Ich habe immer nur Task lesen bzw. schreiben genutzt.


Programm sehr langsam - Y-P - 20.11.2009 10:50

Genau, so wie in den Bsp. im LabVIEW Examplefinder.
Vor der Schleife erzeugen und starten, in der Schleife lesen bzw. schreiben und nach der Schleife schließen und löschen ("Clear").

Gruß Markus


Programm sehr langsam - dualsbiker - 20.11.2009 10:53

Wie sieht das dann aus wenn ich beispielsweise 3 Kanäle auf einen Task gebe ?


Programm sehr langsam - Y-P - 20.11.2009 11:01

So wie hier:
http://www.LabVIEWforum.de/index.php?s=&am...ost&p=85462

Gruß Markus

' schrieb:Wie sieht das dann aus wenn ich beispielsweise 3 Kanäle auf einen Task gebe ?