INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Schleife sofort beenden



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

17.01.2018, 15:19
Beitrag #1

mprocket Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2017

2016
2017
DE


Deutschland
Schleife sofort beenden
Hallo liebe Community,

mit diesem Programm soll eine Datei ausgelesen werden und nachgefahren werden (rechte Spalte Drehzahl, linke Spalte Zeit in Sekunden wie lange diese Drehzahlen gehalten werden sollen). Die unterschiedlichen Drehzahlen sollen mit einer Rampe angefahren werden. Mein Programm funktioniert soweit ganz gut.
Nun aber das Problem: Ich möchte das Programm zusätzlich mit einem Stopp Button zu jeder Zeit beenden können und nicht nur wenn die komplette Datei abgefahren wurde. Mir ist klar, dass dazu die While-Schleife schneller wiederholt werden muss, ich habe dazu auch diverse Foreneinträge gelesen, jedoch komme ich an diesem Punkt nicht weiter. Wenn ich die Schleife schneller durchlaufen lasse, bzw das VI "Warten" entferne, dann wird die gewünschte Drehzahl zwar angefahren, jedoch aber nicht gehalten.

Wie kann ich also beides realisieren, dass die Drehzahl gehalten wird und dass das Programm sowohl am Ende der Datei beendet wird, aber auch zu jeder Zeit mit einem Stopp Button beendet werden kann?

Noch zur Info: Dieses Programm ist nur ein Zustand einer State-Machine. Vielleicht hilft das bei der Problemlösung.

Für Anregungen und Tipps bin ich sehr dankbar.

Grüße
Marcel


Angehängte Datei(en)
16.0 .vi  Datei einlesen.vi (Größe: 23,18 KB / Downloads: 189)

0.0 .txt  Datei.txt (Größe: 27 Bytes / Downloads: 225)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.01.2018, 15:37 (Dieser Beitrag wurde zuletzt bearbeitet: 17.01.2018 15:38 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife sofort beenden
Hallo mprocket,

Zitat:Ich möchte das Programm zusätzlich mit einem Stopp Button zu jeder Zeit beenden können und nicht nur wenn die komplette Datei abgefahren wurde.
Dann musst du auch zu "jeder Zeit" den Stopp-Button abfragen!
Das bedeutet, dass er innerhalb der FOR-Loop abgefragt und auch dort die Stop-Bedingung aktiviert werden muss!

Warum ist dein VI so kompliziert und unaufgräumt?
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 17:07
Beitrag #3

mprocket Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2017

2016
2017
DE


Deutschland
RE: Schleife sofort beenden
Hallo GerdW,

zunächst vielen Dank für deine Antwort! Mein Programm entstand aus herumprobieren, deshalb die Unordnung und Komplexität. Zudem benutze ich LabVIEW erst seit kurzem Blush

Ich habe dein Programm mal nachgebastelt. Ich kann nun zwar jederzeit das Programm beenden, aber die Drehzahlen werden nur angefahren und nicht die gewünschte Zeit gehalten? Wo liegt der Fehler?

Warum verbindest du die beiden Bedingungsanschlüsse mit einem UND?

Danke und Grüße
Marcel


Angehängte Datei(en)
16.0 .vi  Datei einlesen.vi (Größe: 19,32 KB / Downloads: 208)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 17:38
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife sofort beenden
Hallo Marcel,

Zitat:Warum verbindest du die beiden Bedingungsanschlüsse mit einem UND?
Damit bei einem Stopp wirklich "sofort alles" abgebrochen werden kann.

Zitat:nicht die gewünschte Zeit gehalten? Wo liegt der Fehler?
Du hast bei der CompoundArithmetic eine Negation zu viel…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 17:49
Beitrag #5

mprocket Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2017

2016
2017
DE


Deutschland
RE: Schleife sofort beenden
Hallo GerdW,

oh das habe ich glatt übersehen, danke.

Dennoch funktioniert das Programm noch nicht so wie ich mir das vorstelle. Angenommen die Drehzahl 300 1/min soll laut Datei z.B. 90s gehalten werden, aber ich möchte bereits nach 10s durch den Stopp Button beenden, funktioniert das nicht. Zwar werden die darauffolgenden Drehzahlen nicht mehr angefahren, aber dennoch muss ich die 90s abwarten. Es wird also leider nicht sofort beendet. Gibt es dafür eine Möglichkeit?

Grüße
Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.01.2018, 18:06
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife sofort beenden
Hallo Marcel,

Zitat:Gibt es dafür eine Möglichkeit?
Na klar gibt es die!
Tipp: Du musst ja nicht 1× 90s warten, sondern kannst ja stattdessen auch 180× 0.5s warten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.01.2018, 10:50
Beitrag #7

mprocket Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2017

2016
2017
DE


Deutschland
RE: Schleife sofort beenden
Hallo GerdW,

ich verstehe deinen Tipp, nur leider weiß ich nicht wie man dem Timer sagt, dass er 180 x 0,5s wartet und nicht 1 x 90s...

Das Problem habe ich nun jedoch lösen können, mit hilfe einer Eventstruktur Big Grin

Vielen Dank für deine Hilfe.
Grüße Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2018, 10:53
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.411
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife sofort beenden
Hallo Marcel,

Zitat:nur leider weiß ich nicht wie man dem Timer sagt, dass er 180 x 0,5s wartet und nicht 1 x 90s...
Ganz einfach: man ruft die Wartefunktion nicht einmal mit 90s Wartezeit auf, sondern in einer Schleife 180mal mit 0.5s Wartezeit…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2018, 18:59
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Schleife sofort beenden
Zum Warten kann man auch sehr gut die Funktion "verstrichene Zeit" verwenden.
Ich habe im Beispiel keine Rampe verwendet.
Unterschied : Es ist nicht die Anstiegszeit konstant, sondern die Flankensteilheit.
Die Textdatei sollte sich im Arbeitsverzeichnis befinden, dann wird nicht nachgefragt.
Hinweis: Eine zusätzliche Digitalanzeige läßt sich bei Rundinstrumenten usw. mit "sichbare Elemente" erzeugen.

16.0 .vi  Datei2.vi (Größe: 43,44 KB / Downloads: 222)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.01.2018, 23:26
Beitrag #10

mprocket Offline
LVF-Grünschnabel
*


Beiträge: 17
Registriert seit: Nov 2017

2016
2017
DE


Deutschland
RE: Schleife sofort beenden
Hallo GerdW und Lucki,

vielen Dank für eure Tipps und Anregungen!

Grüße
Marcel
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Case Struktur 2 Schleifendurchläufe verzögert True setzen aber sofort auf False bachatero18 4 4.368 07.11.2020 14:08
Letzter Beitrag: Martin.Henz
  While-Schleife sofort beenden ? RobertRoth 17 7.907 21.10.2019 11:00
Letzter Beitrag: RobertRoth
  While Schleife durchläuft ein zweites mal nach beenden p4tti 5 4.218 15.09.2016 10:34
Letzter Beitrag: jg
  Schleife nach Pop-Up beenden TDO 6 5.024 16.02.2016 09:59
Letzter Beitrag: TDO
  While Schleife mit Mausklick beenden eincremerle 3 3.397 10.11.2015 07:53
Letzter Beitrag: eincremerle
  doppelte while-Schleife geschickt beenden Hasenfuss 5 5.460 08.04.2013 21:40
Letzter Beitrag: Hasenfuss

Gehe zu: