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 

Programmstart nach Dateiauswahl



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!

28.08.2016, 12:49
Beitrag #11

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Programmstart nach Dateiauswahl
(28.08.2016 10:06 )psypher schrieb:  ich bin meinem Ziel näher gekommen und enttäuscht das ich mit damit solange rumschlagen mussHuh
Das liegt daran, weil dir die Programmiererfahrung fehlt. Und wenn einer behauptet, mit LabVIEW ist alles ganz einfach - der lügt dir ins Gesicht.

Zitat:Wenn ich nach Prorammstart die Werte zurücksetze hängt sich das VI auf, ich kann es nicht stoppen.
Das sehe ich auch so.

Gleich nach Programmstart "hängt" dein Programm in der Schleife, in der auf einen Datennamen gewartet wird. Gleichzeitig(!) hängt das Programm in der Ereignissequenz. Hier wartet es entweder auf den Button Stopp oder auf den Button Reset. Wenn du jetzt Reset drückst, wird die Ereingissequenz ausgeführt - und beendet! Allerdings hängt das Programm noch beim Warten auf Dateiname. Da jetzt aber die Eventsequenz nicht mehr läuft, kannst du das Programm nicht stoppen.

Fürs erste reicht es, wenn du es machst wie man es macht: um die Ereignissequenz eine eigene While-Schleife legen, die du mit Stopp abbrechen muss.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.08.2016, 14:00 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2016 14:03 von psypher.)
Beitrag #12

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



RE: Programmstart nach Dateiauswahl
Hallo,

ja mir fehlt wirlich die Erfahrung. Gerade was die Steuerfunktionen angeht bin ich ziemlich unbedarft.

Ich habe die While-Schleife um die Ereignisstruktur gelegt und beende diese mit dem Stopp-Button. Jetzt ist es aber so, dass ich zwar die Werte zurücksetzen kann, aber wenn ich eine neue Datei einlesen will passiert nixHuh

Gruß
psy
Der Screenshot zeigt ni alles. hänge nochmal das VI an.


Angehängte Datei(en) Thumbnail(s)
   

15.0 .vi  RSA Analyse Tool_V4.vi (Größe: 496,1 KB / Downloads: 196)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2016, 14:33 (Dieser Beitrag wurde zuletzt bearbeitet: 28.08.2016 14:36 von IchSelbst.)
Beitrag #13

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Programmstart nach Dateiauswahl
(28.08.2016 14:00 )psypher schrieb:  und beende diese mit dem Stopp-Button.
Ja, aber nicht so.
Der Ausgang aus "Neuer Wert" im Case Stopp beendet die While-Schleife um die Eventsequenz. Dieser Wert wird dann auch aus dieser While-Schleife heraus geführt und beendet die äußere While-Schleife. Außerdem musst du immer bedenken, dass neben der Event-Whileschleife die Haupt-Whileschleife läuft, in der auch noch die Dateinamen-Whileschleife läuft, die beide zu bestimmten Zeitpunkten beendet sein müssen.

Zitat: Jetzt ist es aber so, dass ich zwar die Werte zurücksetzen kann, aber wenn ich eine neue Datei einlesen will passiert nix
Kann ich nachvollziehen.
Du übergibt der Event-Whileschleife aus dem Button Stopp den Wert false, sodass diese Whileschleife nie beendet wird. Damit aber die (andere) Haupt-Whileschleife nach Reset erneut gestartet werden kann, muss die Event-Whileschleife beendet worden sein.

Das "Problem" hier (und bei einigen anderen Programmteilen) ist der sogenannte Datenfluß. Wenn die Event-Whileschleife einmal läuft, kannst du den Stopp-Button drücken soviel du willst - der True-Wert des Stopp-Buttons wird niemals in die Whileschleife gelangen.

Du solltest dich mit dem Verfahren "Datenfluss unter LabVIEW" vertaut machen und es verinnerlichen. Siehe Links in der Fußzeile der Postings von GerdW.
(28.08.2016 14:33 )IchSelbst schrieb:  
(28.08.2016 14:00 )psypher schrieb:  und beende diese mit dem Stopp-Button.
Ja, aber nicht so.
Der Ausgang aus "Neuer Wert" im Case Stopp beendet die While-Schleife um die Eventsequenz. Dieser Wert wird dann auch aus dieser While-Schleife heraus geführt und beendet die äußere While-Schleife. Außerdem musst du immer bedenken, dass neben der Event-Whileschleife die Haupt-Whileschleife läuft, in der auch noch die Dateinamen-Whileschleife läuft, die beide zu bestimmten Zeitpunkten beendet sein müssen.

Nachtrag:
Der Reset-Button gehört mit einer Stopp-Variablen verodert. Das Ergebnis beendet die Haupt-Whileschleife.

Zitat: Jetzt ist es aber so, dass ich zwar die Werte zurücksetzen kann, aber wenn ich eine neue Datei einlesen will passiert nix
Kann ich nachvollziehen.
Du übergibt der Event-Whileschleife aus dem Button Stopp den Wert false, sodass diese Whileschleife nie beendet wird. Damit aber die (andere) Haupt-Whileschleife nach Reset erneut gestartet werden kann, muss die Event-Whileschleife beendet worden sein.

Das "Problem" hier (und bei einigen anderen Programmteilen) ist der sogenannte Datenfluß. Wenn die Event-Whileschleife einmal läuft, kannst du den Stopp-Button drücken soviel du willst - der True-Wert des Stopp-Buttons wird niemals in die Whileschleife gelangen.

Du solltest dich mit dem Verfahren "Datenfluss unter LabVIEW" vertaut machen und es verinnerlichen. Siehe Links in der Fußzeile der Postings von GerdW.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2016, 15:38
Beitrag #14

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



RE: Programmstart nach Dateiauswahl
Ich glaube jetzt funktioniert`sBlush


Angehängte Datei(en)
15.0 .vi  RSA Analyse Tool_V4.vi (Größe: 495,53 KB / Downloads: 192)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.08.2016, 16:12
Beitrag #15

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.697
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
RE: Programmstart nach Dateiauswahl

Akzeptierte Lösung

(28.08.2016 15:38 )psypher schrieb:  Ich glaube jetzt funktioniert`sBlush
Ja, das kann man so sagen ...

Der Anschluss des Bedienelementes "Stopp" gehört in den Event "Stopp", nicht in die While-Schleife um die Eventsequenz: Das automatische Rücksetzen des Buttons (Schaltverhalten Latch) geschieht dann, wenn der Anschluss ausgelesen wird - und das soll sinnvollerweise im Event passieren.

Die Boolsche Leitung zwischen "Alter Wert" und Tunnel im Event "Reset" ist sinnlos (und daher überflüssig, einfach weg machen): Der "Alte Wert" ist nämlich (fast) immer false - weswegen das Programm ja auch funktioniert. Es gibt aber die ganz seltenen Fälle, in denen auch "Alter Wert" true wäre - dann würde dein Programm richtig funktionieren.

Jetzt solltest du die weiteren Programmierfehler, die zu Ablauffehlern führen können (aber nicht müssen), beseitigen: sog. Race Conditions.

Innerhalb einer Struktur mit mehreren parallelen Abläufen dürfen die selben Daten nur ein einziges Wire-Netz bilden: In der Struktur "trace Auswertung"-"KlebeAchse" verwendest du die Daten von "Max. Index 3" zweimal. Einmal schreiben auf den Anschluss, einmal lesend von der Variablen. Problem: Wird die Variable gelesen, bevor der Anschluss (also auch die Variable) geschrieben wird, oder danach. Wird der Wert vor dem Schreiben gelesen, steht möglicherweise ein anderer drinnen als nach dem Schreiben. Das hat aber Auswirkungen auf "M 3". Einfach die Variable löschen und den Wire zum Anschluss hin verzweigen auf den Index-Eingang von Array Indizieren.

Das Schlechte an den RaceConditions ist nicht, dass sie einen programmtechnisch gesehen falschen Code darstellen, sondern dass sie offensichtlich fehlerfrei laufen können und in der Lage sind, erkennbare Fehlereignisse nur ganz selten auftreten zu lassen. Cool

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.08.2016, 07:39
Beitrag #16

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



RE: Programmstart nach Dateiauswahl
Guten Morgen,

danke an GerdW, Freddy und IchSelbst. Habt meinen LV Horizont wiedermal erweitert.

Man lernt immer was neus.

Schöne Woche Euch.

Bis zum nächsten Frage2hands.

Gruß
psy
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
  Dateipfad per Pop-Up bei Programmstart auswählen Timo86 1 5.700 07.10.2013 08:22
Letzter Beitrag: GerdW
  Bei Programmstart vorhandene Messwerte sichern DaPachi 14 12.103 07.07.2011 12:53
Letzter Beitrag: NWOmason
  Unterordner bei Programmstart automatisch erstellen lassen Joker77 9 10.356 24.01.2011 17:41
Letzter Beitrag: GerdW

Gehe zu: