LabVIEWForum.de
Zeit - Druckversion

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



Zeit - eckilein - 08.02.2008 11:26

Die Zeitschleife braucht für einen Durchlauf 1600ms... das heißt ich krieg maximal alle 1,6s einen Messwert und das ist bei weitem zu langsam.
Geplant war das ganze für 10 Messwerte pro Sekunde. Das wird wohl nicht möglich sein.
Wenn hier irgendwer einen Vorschlag hat, wo noch etwas Zeit gutzumachen ist, wäre ich ihm sehr verbunden, wenn er mir helfen könnte.

Ich denke es liegt an der Ansteuerung der Karten und am auslesen. Ich weiß aber nicht, wie ich da was ändern kann.

Thomas

Lv80_img


Zeit - VDB - 08.02.2008 11:52

1. DAQ/DMM usw. nicht ständig initialisieren, ausführen und wieder schließen. Initialiseren und schließen außerhalb des Loops, ausführen innerhalb.
2. Nicht "delete from array" benutzen um Spannung 33-40 usw. zu bilden. Index Array tut es auch.
3. Kein Datei-schreiben im Erfassungsloop sondern Daten übergeben an zweiten Loop. Producer / Consumer Design Pattern studieren
4. Nur Anzeige-Elemente benutzen die auch wirklich notwendig sind.

VDB


Zeit - eckilein - 08.02.2008 12:38

Super mach ich mich ma dran^^ am Montag Werd ich dann mal posten, wie viel es gebracht hat.
Danke


Zeit - Zonan - 08.02.2008 14:25

wichtig wäre es auch, dir zu überlegen welche elemente dauernd in der schleife mit laufen müssen.

Die ganzen indicators in der schleife brauchst du bestimmt nicht alle drin.

weiterhin führst du unnötige berechnungen in der schleife durch, die jedesmal gemacht werden, zB die umwandlung auf i32. auch die anzeigeelemente in jedem Durchlauf zu aktualisieren ist ganz nett, aber bei der gewünschten geschwindigkeit nicht gerade vorteilhaft.

Du solltest die Schleife mal nur mit Auslesen der Werte und die wichtigsten Berechnungen aufbauen. Den Rest davor, bzw. danach machen.

(auch solltest mal kompakter Programmieren, ich bekomm des ja kaum auf den Bildschirm^^)


Zeit - eckilein - 11.02.2008 13:27

Ok. Hab so gut es mir möglich war, alles umgesetzt. Hat mir so -50ms gebracht :/
Wenn ich wenigestens 2 mal die Messwerte pro Sekunde hätte... naja. Ich setzte jetzt das komplette Programm noch mal neu auf und schau mir an, was genau da so riesen Zeitverluste ausmacht... ich melde mich dann noch mal.

Thomas


Zeit - eckilein - 11.02.2008 15:15

Problem lokalisiert...
Der Multiplexer... das fetch dauert so lange...
bei 1 kanal 2messwerte pro sekunde und bei 8 kanälen 2,5s für einen Kanal.

Lösung sieht vor, das ein langsames Programm mit Multiplexer erstellt wird und eines ohneSad

Aber danke für die Anregungen


Zeit - RoLe - 12.02.2008 16:11

' schrieb:Problem lokalisiert...
Der Multiplexer... das fetch dauert so lange...
bei 1 kanal 2messwerte pro sekunde und bei 8 kanälen 2,5s für einen Kanal.

Also ich kann mir das nur so erklären, dass diese DMM (DigitalMultiMeter) VI nicht gerade optimal sind.
Ist in etwa dasselbe wie Express-Vi, denke ich.

Warum machst du das nicht mit richtigen DAQ-VI ?

Gruss
Roland