LabVIEWForum.de
Zeitgesteuertes Ereignis einer booleschen Variable - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Zeitgesteuertes Ereignis einer booleschen Variable (/Thread-Zeitgesteuertes-Ereignis-einer-booleschen-Variable)



Zeitgesteuertes Ereignis einer booleschen Variable - TiCy - 27.11.2012 11:28

Hallo zusammen.

Und täglich grüßt ein neues Problem, leider. Ich habe zu meinen aktuellen Problem schon das ein oder andere ausprobiert, nur mir fehlt der richtige Lösungsansatz. Jetzt muss ich mal wieder euch fragen, sry.

Ich steuer über den DAQ-Assistant einen Hubmagnet an, welcher eine Tür öffnet. Weil die Magnet durch die hohe Leistung relativ warm wird (wenn die Tür offen ist) soll dieser nur eine bestimmte Zeit offen sein. Das Öffnen erfolgt über einen Taster auf dem Frontpanel. Das Hauptprogramm ist in mehrere Case (12) unterteilt.

So jetzt zu meinem Problem. In nur einem Case kann der Benutzer über den Taster "Türöffner" die Tür entriegeln. Wird ein ander Case ausgeführt wird das Bedienelement unsichtbar. Die Tür soll für 10 Sekunden entriegelt bleiben und sich danach wieder verriegeln. Wird während dieser 10s ein anderer Case angesteuert, so soll die Wartezeit von 10s abgebrochen werden und die Tür verriegelt werden. Mein Ansatz ging über die Funktion "Warte". Wenn ich diese Funktion verwende wird trotz welches die Wartezeit erstmal durchlaufen. Warum das so ist, ist mir klar, nur mir fällt nichts anderes ein.

Zu Probezwecken habe ich ein kleiner VI erstellt,wo der DAQ durch eine LED erstetzt wurde. Statt 12 Fällen gibt es nur 2. Wenn man weiß wie, geht das bestimmt auch nicht so schwer, nur mir fällt grad ne gute Idee.

Ich hoffe ich konnte die Problematik so einiger Maßen beschreiben und Ihr könnt mir helfen.

MFG Timm


RE: Zeitgesteuertes Ereignis einer booleschen Variable - GerdW - 27.11.2012 11:38

Hallo Timm,

wow, selbst für nur eine Case-Struktur mit zwei Fällen so viele boolsche Konstanten und lkale Variablen...

Anderer Ansatz:
Ich unterstelle, dass deine Steuerung in einer Statemachine (mit ca. 12 State=Cases) läuft. Dort einfach den Zeitpunkt feststellen, wann der Knopf "Tür öffnen" gedrückt wurde und die Tür hiermit öffnen:
[attachment=42379]
In anderen States wird der Zeitpunkt "Tür öffnen" so bearbeitet, dass die Tür wieder zu geht/ist...


RE: Zeitgesteuertes Ereignis einer booleschen Variable - TiCy - 27.11.2012 12:03

Danke für deine schnelle Hilfe.

Das Programm läuft zur Zeit, aber mein Ansatz kann und will ich da nicht einfügen.Die boolschen Werten hatte ich eingefügt um keinen undifinierten Zustand zu erhalten (Aber auch nur in diesem Bespiel). Meine Kenntnisse als einfacher E.Technik-Bachelorstudent sind leider nicht so riesen umfangreich. Kannst du mir eventuell das als VI hochladen, weil mir nicht ganz klar ist wie das mit dem unteren Zeitelement geht?

MFG Timm


RE: Zeitgesteuertes Ereignis einer booleschen Variable - GerdW - 27.11.2012 12:45

Hallo Timm,

das "untere Zeitelement" ist ein Timestamp-Control...


RE: Zeitgesteuertes Ereignis einer booleschen Variable - TiCy - 27.11.2012 14:11

Hallo nochmal.

So habe jetzt ein lauffähiges VI beschrieben. Klappt auch super, nur der Programmierstill ist nicht der beste. Das einzige as noch nicht passt ist, wenn die Zeit noch nicht abgelaufen ist und der False-Zweig gewählt wird, dass beim wieder Aufrufen des True-Zweiges die Zeit weiter läuft. Hat jemand ne idee wie ich das vermeiden kann??

MFG


RE: Zeitgesteuertes Ereignis einer booleschen Variable - GerdW - 27.11.2012 14:36

Hallo Timm,

ich habe mal die ganzen lokalen Variablen und die verquere boolsche Logik entfernt.
Das Ergebnis ist im Anhang...