LabVIEWForum.de
Zyklus abbrechen - Druckversion

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

Seiten: 1 2


Zyklus abbrechen - ragingbull - 19.09.2012 15:41

Hi

irgendwie fehlt mir das Wissen bzw die zündende Idee


Brauch ein Programm das alle 30 Minuten ein Netzteil neu einstellen soll.

Ich fange bei 14V an und will eben alle 30 Minuten die Spannung um 100mV senken.

Jetzt will ich kein 30 Minunten wait verwenden sondern eine elegante Lösung das ich in den 30 Minuten vielleicht auch mal auf Stop oder so klicken kann damit das verringern der Spannung aufhört und ich anderen Code laufen lassen kann.

Wie stellt man sowas am besten an?

Danke


RE: Zyklus abbrechen - GerdW - 19.09.2012 15:45

Hallo bull,

statt einem Wait für 30min könntest du auch 360 Waits für 5s verwenden. Dann kannst du alle 5s abbrechen...
Noch schöner wäre eine saubere Statemachine!


RE: Zyklus abbrechen - ragingbull - 19.09.2012 15:48

Ich hab mir gedacht ich nehm eine Ereignisstruktur und alle 30 Minunten kommts zum Timeout wo die Spannung herabgesetzt wird.

Drücke ich wärend der 30 Minunten Stop dann reagiert die Ereignisstruktur und bricht ab oder macht was auch immer.

Geht das nicht eleganter?

Nen Schalter pollen in einer Schleife die ich 360 mal durchlaufen lasse mit 5s wait will ich auch nicht.

Taugen die Timedloops für sowas? Habe damit keine Erfahrung.


RE: Zyklus abbrechen - GerdW - 19.09.2012 15:56

Hallo bull,

Antworten wie meine oben kommen davon, dass der OP kein VI anhängt...

Ja, mit einer Eventstruktur ginge das eleganter. Wobei pollen im 5s-Takt noch nicht so ressourcenfressend ist...


RE: Zyklus abbrechen - Lucki - 19.09.2012 18:08

Wennn Du unbedingt auf Alternativen zu den bisherigen Vorschlägen aus bist: Das Timeout von Meldern, Queues, Occurrences lässt sich als Wait missbrauchen und ist jederzeit unterbrechbar. Beispiel Occurrence:
[attachment=41595]


RE: Zyklus abbrechen - ragingbull - 20.09.2012 15:32

Habs jetzt so gemacht

Danke für die Ideen


RE: Zyklus abbrechen - GerdW - 20.09.2012 20:00

Hallo bull,

uh-oh, eine Eventstruktur in einer Case-Struktur. Ich sehe dunkle Wolken am Horizont...

Außerdem:
Warum lokale Variablen, wenn die Terminals unbenutzt im BD rumliegen?


RE: Zyklus abbrechen - ragingbull - 21.09.2012 07:27

(20.09.2012 20:00 )GerdW schrieb:  Hallo bull,

uh-oh, eine Eventstruktur in einer Case-Struktur. Ich sehe dunkle Wolken am Horizont...

Außerdem:
Warum lokale Variablen, wenn die Terminals unbenutzt im BD rumliegen?

Hi

die Terminals lege ich immer nach oben weil ich sie an anderen Stellen auch noch brauche. So hab ich alle auf einem Blick.

Was spricht gegen die Eventstruktur in einer Case?

Das dekrementieren der Spannung soll erst erfolgen wenn die Cases davor erledigt sind und nach dem beenden gehts weiter mit anderen Cases.


RE: Zyklus abbrechen - jg - 21.09.2012 07:47

(21.09.2012 07:27 )ragingbull schrieb:  Was spricht gegen die Eventstruktur in einer Case?
Es deutet stark darauf hin, dass du mehrere Eventstrukturen innerhalb eines VIs verwendest. Das führt prinzipiell zu Ärger!

Gruß, Jens


RE: Zyklus abbrechen - GerdW - 21.09.2012 07:48

Hallo bull,

Zitat:die Terminals lege ich immer nach oben weil ich sie an anderen Stellen auch noch brauche. So hab ich alle auf einem Blick.
Wenn du bei der LabVIEW-Programmierung durchgängig lokale Variablen benutzt, hast du deren Prinzip (sowohl der Programmierung als auch der Variablen) nicht verstanden. LabVIEW arbeitet datenflussorientiert! THINK DATAFLOW!

Zitat:Was spricht gegen die Eventstruktur in einer Case?
Dagegen spricht, dass die Eventstruktur sich nicht an den Datenfluss hält. Es wird vorausgesetzt, dass ein Event jederzeit abgearbeitet werden kann! Das ist nicht der Fall, wenn eine Eventstruktur in einem Case versteckt wird...

Zitat:Das dekrementieren der Spannung soll erst erfolgen wenn die Cases davor erledigt sind und nach dem beenden gehts weiter mit anderen Cases.

Hört sich nach einer Aufgabe für eine Statemachine-Architektur an, die du ja schon verwendest. Hat das irgendwas mit dem Problem zu tun?