LabVIEWForum.de
Dialoge box durch Endschalter schließen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Dialoge box durch Endschalter schließen (/Thread-Dialoge-box-durch-Endschalter-schliessen)



Dialoge box durch Endschalter schließen - ARaj - 16.02.2016 18:26

Hallo Leute. Ich sitze heute den ganzen Tag an meinem Programm, aber leider ohne erfolg.
Zu meine Aufgabenstellung.
Ich will das es ein Message-box so lange angezeigt wird bis der Ventil den Endschalter erreich. Der Endschalter wird über Analog Signal (Spannung 0-5 V) gemessenen.

Nur was ich ganze Zeit Problem bekomme ist, dass wenn ich VI selber schreibe bekomme ich den Dialoge box nicht abgeschlossen. Ich weiß nicht wie ich vorgehen soll.

Ich werde mich für jede Hilfe feuen

MFG


RE: Dialoge box durch Endschalter schließen - GerdW - 16.02.2016 18:32

Hallo Araj,

du solltest eigentlich schon wissen, dass es immer hiflreich ist, dein VI hier anzuhängen…

Generelle Antwort auf deine Frage: Dein als "MessageBox" fungierendes VI sollte auf einen Melder (oder eine globale Variable oder einer FGV) schauen, über die angezeigt wird, dass der Endschalter erreicht ist. Dann wird das VI beendet.

Generelle Antwort 2: Das erreichst du nicht, wenn du den OneButtonDialog (oder ähnliche schon vorbereitete MessageBox-Funktionen) verwendest. Du musst dir selbst ein VI dafür erstellen!


RE: Dialoge box durch Endschalter schließen - ARaj - 16.02.2016 19:02

Danke Gerd für dein Antwort. Nur leider der Programm ist sehr lang.
Du meinst das ich in Message Box nach Endschalter Variable suchen soll und wenn dort Spannung ändert soll er MessageBox schließen?
Wenn ich dein Antwort richtig verstanden hab, dann eine Frage macht das was aus wen ich kein globale Variabel mache sonder eine Verknüpfung?

Wie in VI dargestellt.


RE: Dialoge box durch Endschalter schließen - GerdW - 16.02.2016 19:07

Hallo ARaj,

Zitat:macht das was aus wen ich kein globale Variabel mache sonder eine Verknüpfung?
THINK DATAFLOW!
Wenn die Werte für "Endschalter 1/2" aus deinem MainVI kommen und noch dazu per Draht, dann gilt der DATAFLOW! Wie sollen die aktuellen Werte ins subVI kommen?

- Was ist eine "Verknüpfung"? (Kein LabVIEW-Begriff…)
- Es fehlt eine Wartezeit in der Schleife! (Common Sense!)
- Warum hast du die Controls rechts im ConnectorPane angeschlossen? (StyleGuide!)


RE: Dialoge box durch Endschalter schließen - ARaj - 16.02.2016 19:20

Danke für den Hinweis wegen Wartezeit hab auf schelle vergessen.

Warum hast du die Controls rechts im ConnectorPane angeschlossen? (StyleGuide!)

Ich wollte diese VI in haupt VI öffnen und dort mit Draht verbinden nur wie du erwähnt hast "Wenn die Werte für "Endschalter 1/2" aus deinem MainVI kommen und noch dazu per Draht, dann gilt der DATAFLOW! Wie sollen die aktuellen Werte ins subVI kommen?"

Die Werte werden nicht aktualisiert und genau das ist mein Problem seit morgen? Ich weiß nur nicht wie zu verbinden...Blush


RE: Dialoge box durch Endschalter schließen - GerdW - 16.02.2016 19:37

Hallo ARaj,

quasi das selbe haben wir heute schon einmal besprochen: schau dir doch mal diesen Thread an!
Du kannst den Lösungsvorschlag dort (und dessen Begründung) auch auf deine Aufgabe anwenden!


RE: Dialoge box durch Endschalter schließen - ARaj - 16.02.2016 20:21

Hi Gerd, tut mir leid wenn ich dumm frage.. Ich will ein MessageBox haben ohne (Buttons).Ich habe alles Parallel programmiert. Nur bei mir kommt ein Messagebox, früher habe ich es über Zeit geschlossen nur jetzt verstehe ich nicht wie ich Endschalter mit Messagebox koppeln kann.
Weil mit USB 6008 kann ich DAQ nur einmal aufrufen sonst hätte ich bei MessageBox DAQ mit integriert.


RE: Dialoge box durch Endschalter schließen - GerdW - 16.02.2016 20:48

Hallo ARaj,

Zitat:ich will ein MessageBox haben ohne (Buttons).
Also eine einfache String-Anzeige…
Warum packst du die String-Anzeige nicht in deine Messschleife?

Zitat:Ich habe alles Parallel programmiert.
Wenn du mit dem ConnectorPane arbeitest und das subVI mit seiner eigenen Schleife im MainVI aufrufst, dann hast du nicht parallel programmiert!

Zitat:Nur bei mir kommt ein Messagebox, früher habe ich es über Zeit geschlossen nur jetzt verstehe ich nicht wie ich Endschalter mit Messagebox koppeln kann.
Wie im anderen Thread gezeigt: über ein Flag…

Zitat:Weil mit USB 6008 kann ich DAQ nur einmal aufrufen sonst hätte ich bei MessageBox DAQ mit integriert.
Das verstehe ich nicht…


RE: Dialoge box durch Endschalter schließen - ARaj - 16.02.2016 23:02

Hi Gerd. Ich hab jetzt auf die schnelle neues Programm geschrieben hoffe hier mit wird deutlich..

Danke.


RE: Dialoge box durch Endschalter schließen - GerdW - 17.02.2016 08:06

Hallo ARaj,

Probleme, Probleme…

- Um Elemente aus Queues zu lesen, gibt es die Funktion Dequeue. QueueStatus ist für andere Sachen gedacht!
- Dein gesamtes Queue-Handling ist fragwürdig! Wieso überall "Einfügen am Anfang"?
- Dein MessageBox-VI bekommt nur einmalig den aktuellen Zustand deiner Endschalter: genau zum Zeitpunkt des Aufrufs!
- Eine Wartezeit in einer Schleife mit einer Event-Struktur OHNE Timeout-Event ist sinnlos!

Nochmal:
Du musst die Werte über Melder, globale Variablen, FGVs oder ähnliches in dein MessageBox-VI bringen. Den Wert einmalig beim Aufruf zu verdrahten hilft dir nicht! Verwende die Lösung aus dem oben verlinkten Thread!