LabVIEWForum.de
Zeitproblem - Druckversion

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



Zeitproblem - PeeKay - 02.12.2008 10:01

Hi,
habe bei einem Projekt vermutlich ein Zeitproblem. Bei dem Projekt soll eine Kugel aus einer bestimmten Höhe durch ein Loch in einer rotierenden Platte fallen, dann soll die Kugel wieder aufgenommen werden. Zu diesem Zweck habe ich vier Schleifen eingefügt. In den einzelnen Schleifen wurden die Achsensteuerung, Bedienung, Plattensteuerung und das Fallenlassen implementiert.

Bei Tests hat sich gezeigt, dass das passende Fallenlassen funktioniert, das Problem ist nur vorhanden wenn die Teile wie oben genannt zusammengeführt werden.

Ein Versuch war der, dass die Schleife zum Fallenlassen über eine Zeitgesteuerte Schleife gemacht wird und einen eigenen Core bekommt, wurde aber langsamer(habe da keine Erfahrungen mit, könnte falsch konfiguriert gewesen sein). Ein zweiter Ansatz wäre der das man die anderen Schleifen abschaltet bevor man die Kugel fallen lässt. Wobei ich da nicht wusste wie die while Schleifen wieder einschaltet werden.

Als Software wird LV 8.5(Vollversion) genutzt und als Hardware die PCI 6503 Karte.

Ein Bild des bisherigen Blockschaltbildes
[attachment=15650]


Zeitproblem - Ice Lord - 02.12.2008 11:17

' schrieb:Hi,
habe bei einem Projekt vermutlich ein Zeitproblem. Bei dem Projekt soll eine Kugel aus einer bestimmten Höhe durch ein Loch in einer rotierenden Platte fallen, dann soll die Kugel wieder aufgenommen werden. Zu diesem Zweck habe ich vier Schleifen eingefügt. In den einzelnen Schleifen wurden die Achsensteuerung, Bedienung, Plattensteuerung und das Fallenlassen implementiert.

Bei Tests hat sich gezeigt, dass das passende Fallenlassen funktioniert, das Problem ist nur vorhanden wenn die Teile wie oben genannt zusammengeführt werden.

Ein Versuch war der, dass die Schleife zum Fallenlassen über eine Zeitgesteuerte Schleife gemacht wird und einen eigenen Core bekommt, wurde aber langsamer(habe da keine Erfahrungen mit, könnte falsch konfiguriert gewesen sein). Ein zweiter Ansatz wäre der das man die anderen Schleifen abschaltet bevor man die Kugel fallen lässt. Wobei ich da nicht wusste wie die while Schleifen wieder einschaltet werden.

Als Software wird LV 8.5(Vollversion) genutzt und als Hardware die PCI 6503 Karte.

Ein Bild des bisherigen Blockschaltbildes
[attachment=43219:fallanlage1.jpg]

Also ich denke das es daran liegt das du einfach 4 Schleifen parallel laufen lässt ohne irgendwelchen abhänigkeiten einzubauen. --> Daher könnte auch dein "Zeitproblem" kommen, da eine schleife schneller als die andere durchläuft?!

Noch n paar Verständniss fragen: Du steuerst, wann die Kugel fallen gelassen wird? Die Platte dreht sich automatisch? Bzw. was sind deine Eingaben, wenn du zum Beispiel sagst, das er auf knopfdruck die Kugel fallen lassen und die Plattendrehung gestoppt werden soll, dann sollte die Lösung kein Problem sein...
Mich würde halt dein FP interessieren bzw was stellst du dir vor, was auf Knopfdruck passieren soll.

Mfg


Zeitproblem - IchSelbst - 02.12.2008 17:55

' schrieb:habe bei einem Projekt vermutlich ein Zeitproblem.
Das sehe ich auch so.

Eine Möglichkeit wäre, in jede Schleife ein Metronom oder Warte-VI mit jeweils 1ms reinzumachen.

Schöner würde mir aber gefallen: Warum nimmst du überhaupt vier unabhängige Schleifen und nicht eine einzige? Immerhin hat du in mehreren Schleifen die gleiche Variable, z.B. Höhe. Das Verwenden von lokalen Variablen verbraucht mehr Prozessorleistung als das Verwenden von Datenfluß!


Zeitproblem - PeeKay - 03.12.2008 11:57

Hallo,
also ich kann die Geschwindigkeit der Platte einstellen und die Höhe. Wenn ich Start drücke, soll das Programm berechnen wann die Kugel fallengelassen werden muss um das Loch in der rotierenden Platte zu treffen.
Ich hatte es schon probiert die drei nicht zeitrelevantenm Schleifen zu verzögern um die Prozessorleistung zu reduzieren, reichte aber nicht aus.
Alles in eine Schleife zu schreiben hatte ich auch schon ausporbiert, das Programm wird jedoch sehr langsam, da die Geschwindigkeitsregelung der Platte recht aufwendig ist.

Bin grade dabei es über eine Sequenz zu Probieren, so das die Schleifen hintereinander abgearbeitet werden, und die Schleife zum Fallenlassen so zusagen alleine Lauft.
Mal schauen ob das klappt

und danke für die Antworten