LabVIEWForum.de
Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schalter in bestimmten Rahmen einer Sequenz "latchen"? (/Thread-Schalter-in-bestimmten-Rahmen-einer-Sequenz-latchen)

Seiten: 1 2 3 4 5


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 18.03.2010 12:51

Du solltest eine Hauptwhileschleife um Deinen Code packen und dort den i-Anschlus verwenden.

Gruß Markus


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Lucki - 18.03.2010 13:04

' schrieb:Das Problem ist, dass die Schleife ja jedes mal einmal ausgeführt wird, wenn der Rahmen durchlaufen wird. Allerdings sollte er wirklich nur einmal ganz zum Anfang ausgeführt werden.
wie müsste dies aussehen?
Dafür gibt es die Funktion "Erster Aufruf"
[attachment=25239]


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 18.03.2010 13:14

Dann braucht er aber auch nicht mehr den i-Anschluss, sondern, kann seinen Case auf True / False einstellen.
Nichtsdestotrotz gehört meiner Meinung nach (wie schon gesagt) immer eine Haupt-Whileschleife um ein Hauptprogramm.

Gruß Markus

' schrieb:Dafür gibt es die Funktion "Erster Aufruf"
[attachment=53722:clip.png]



Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 18.03.2010 14:02

' schrieb:Dann braucht er aber auch nicht mehr den i-Anschluss, sondern, kann seinen Case auf True / False einstellen.
Nichtsdestotrotz gehört meiner Meinung nach (wie schon gesagt) immer eine Haupt-Whileschleife um ein Hauptprogramm.

Gruß Markus

Es handelt sich bei dem Programm um ein Sub VIWink

' schrieb:Dafür gibt es die Funktion "Erster Aufruf"
[attachment=53722:clip.png]

Hab mich wohl aufgrund von Unwissenheit falsch ausgedrückt.
Das Sub-Vi wird mit dem Hauptprogramm geladen.
Aus dem Hauptprogramm aus starte ich eine Case-Struktur, womit dann auch das Sub-VI durchlaufen wird. Somit klappt das mit "erster Aufruf" leider nicht. Das würde wohl nur klappen, wenn ich das VI immer wieder öffne und schließe? Macht aber irgendwie meinen Programmablauf träge.
Sprich das "reseten" der Hilfsvariablen müsste jdes mal geschehen, wenn ich den Schalter im Hauptprogramm drücke

Anbei noch mal ein Bild vom Hauptprogramm, wo der auslösende Schalter sowie das Sub VI zu sehen ist.
Hab den Hostcode auch noch mal geuppt, aber vorsicht, es ist FPGA Code enthalten!


Kurzer Nachtrag: hab natürlich auch versucht einfach ins SubVI eine boolsche Variable zu setzen, welche ich über den Startbutton des Hauptprogramms anschließe, aber dieser wird im Sub-Vi leider nicht zurückgesetzt Unsure

Lv86_img


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 18.03.2010 15:07

Schade, dass man hier nur kurzzeitig editieren kann.

Noch mal dazu: Ursache des ganzen ist es, dass der Schalter im Hauptprogramm sich erst nach Durchlauf des Rahmens zurücksetzt.
Aber alle Erkenntnis des Problems hilft mir noch nicht, dies zu lösen Huh


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 18.03.2010 15:10

Und ich hab' Dein Problem noch nicht mal verstanden.
Kannst Du mal ein vereinfachtes Bsp. mit Haupt- und SubVI machen?

Gruß Markus


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 18.03.2010 15:35

' schrieb:Und ich hab' Dein Problem noch nicht mal verstanden.
Kannst Du mal ein vereinfachtes Bsp. mit Haupt- und SubVI machen?

Gruß Markus

Entschuldigen natürlich versuch ich es mit einem vereinfachten Beispiel.
Noch mal kurz zur Erklärung:
Der Inhalt des Rahmens "0" des Sub-VI soll nur einmal beim Drücken der "Start" Variable des Hauptprogramms ausgeführt werden.
Sprich beim Starten soll HILFS-Position=0 gesetzt werden, in den weiteren Schleifendurchläufen jeweils mit der SOLL-Position überschrieben.
Rahmen 2 des Sub-VIs ist ledeglich die Berechnungsvorschrift der Sollposition.
Die "START" Variable des Hauptprogramms ist zwar auf "latch beim Drücken" gestellt, wird allerdings erst nach Ende des Rahmens auf false zurückgesetzt, welches aber erst nach Laufende des Sub-VIs ist.

Bitte nachharken, falls man mein wirres Geschreibe noch nicht nachvollziehen kannWink

Gruß & DankSmile

Lv86_img


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Y-P - 18.03.2010 16:31

Meinst Du so?
[attachment=25256]
Lv86_img
[attachment=25257]
Lv86_img

Gruß Markus


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 19.03.2010 09:41

' schrieb:Meinst Du so?


Hast du abgesehen von den Schieberegistern noch was geändert? Nur mit diesen funktioniert es auch noch nicht. Zum verrückt werden Blink

Edit: Scheinbar scheint das Problem doch woanders zu liegen. Laut geschriebener Tabelle wird der True Case einmalig ausgeführt, danach aber nicht mehr. Dann muss der Fehler wohl doch im Sub-Vi liegen. Nur wo?Blink


Schalter in bestimmten Rahmen einer Sequenz "latchen"? - Jansen83 - 19.03.2010 10:27

Das gleiche Problem tritt im Beispiel auch aus (siehe Tabelle im Sub VI zum Zeitpunkt t=0) (mindestens 2 mal durchlaufen lassen)

Lv86_img