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 stoppen in subVI



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!

08.09.2020, 12:12
Beitrag #21

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife stoppen in subVI
Hallo illy,

leider hast du noch nicht meine Empfehlungen umgesetzt…
Als erstes: du hast nirgends AutoCleanup benutzt!?

Zitat:Dass in den VI die Graphen dran gehängt werden, ist ein MUSS
Fang doch erstmal mit den "leichten" Sachen an und mach das "Schwierige" dann hinterher!
Warum jetzt wieder in beiden subVIs diese riesige Schleife, in der ewig lange Waveform angesammelt werden? Lass das doch für den Anfang mal weg!

Außerdem hatte ich dir doch gezeigt, dass die Anzeige ins Main.VI rüber soll - mit Datenübergabe per Queue!

Wenn ich dein Main öffne, sehe ich ganz viele fehlerhafte Drähte: wo kommen die her?

Außerdem:
Wenn du Plots in den Graphen (un)sichtbar machen willst, dann verwende doch einfach die Visibility-Buttons in der Plotlegende. Kein Grund, zwei Schleifen nur für die Auswahl der sichtbaren Plots auf ewig laufen zu lassen!

Zitat: ich muss alle Daten über die gesamte Messzeit herausnehmen und auswerten können.
Bei 50kHz Samplerate macht man so etwas aber nur bedingt "live"!
Man kann die Messdaten gern in Dateien speichern und hinterher nach Belieben auswerten…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
08.09.2020, 12:21
Beitrag #22

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schleife stoppen in subVI
Also was dir ganz fürchterlich die Performance deines Main-VI zerhaut ist das ständige Setzen von Eigenschaften bei deinen Graphen.

JEDES Schreiben dieser Ploteigenschaften (selbst wenn sie sich nicht ändern) erzwingt einen Wechsel in den UI-Thread inkl. einem Frontpanel-Update. Deine beiden Schleifen links alleine sorgen also für schon 8 FP-Updates pro 100 ms.

Offtopic2 Diese Plot-sichtbar machen wäre übrigens wesentlich besser verständlich, wenn du erst die PropertyNode "Active Plot" und dann die Eigenschaft "Visible" setzt, dann gehört das immer zusammen.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2020, 13:43 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2020 13:46 von illy777.)
Beitrag #23

illy777 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Sep 2020

2020
-
DE_EN



RE: Schleife stoppen in subVI
Hallo GerdW,

ja, ich hattes so gemacht wie du, das war aber das Backup was noch funktioniert hat(Hab übrigens die 2017 v. aufgemacht vom backup, und da waren tatsächlich einige Sachen die gefehlt haben, ich nutze auch die NXG-Darstellung, und dann kam tdm die Fehlermeldung ungültiger Eingangsparameter.

ich werdes nochmals machen und dann hochladen, aber erst morgen..

MfG

(08.09.2020 12:21 )jg schrieb:  Also was dir ganz fürchterlich die Performance deines Main-VI zerhaut ist das ständige Setzen von Eigenschaften bei deinen Graphen.

JEDES Schreiben dieser Ploteigenschaften (selbst wenn sie sich nicht ändern) erzwingt einen Wechsel in den UI-Thread inkl. einem Frontpanel-Update. Deine beiden Schleifen links alleine sorgen also für schon 8 FP-Updates pro 100 ms.

Offtopic2 Diese Plot-sichtbar machen wäre übrigens wesentlich besser verständlich, wenn du erst die PropertyNode "Active Plot" und dann die Eigenschaft "Visible" setzt, dann gehört das immer zusammen.

Gruß, Jens

Hi Jens, danke für den Hinweis,

hab jetzt ein Ereigniscase genutzt, aber iwie funktioniert das nur 1 mal und dann gehts nicht mehr.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2020, 14:19 (Dieser Beitrag wurde zuletzt bearbeitet: 08.09.2020 14:22 von GerdW.)
Beitrag #24

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife stoppen in subVI
Hallo illy,

Zitat:hab jetzt ein Ereigniscase genutzt, aber iwie funktioniert das nur 1 mal und dann gehts nicht mehr.
Hast du doch so programmiert!
Du hast eine Event-Struktur, die auf ein Event wartet. Wenn das Event dann kommt, wird die Struktur abgearbeitet und dann beendet.
Wenn jetzt noch ein Event kommt, ist aber keine Eventstruktur mehr da, die darauf wartet.
Das gehört immer noch zu den Grundlagen: THINK DATAFLOW!

Tipp: Wie wäre es, wenn diese Eventstruktur innerhalb einer Schleife liegen würde? Könnte sie dann mehrmals auf ein Event reagieren!?
Nachfrage: wie war das mit AutoCleanup?

Immerhin hast du nun wenigstens einem der beiden Enums ein Label gegeben. Ist das bei dir üblich, dass du FP-Elementen kein Label gibst (bzw. ein vorhandenes weglöscht)?
(Beispiel: in einer textbasierten Programmiersprache würdest du doch wohl auch nicht ""=""+"" schreiben, wenn du eigentlich c=a+b meinst, oder?)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2020, 16:53
Beitrag #25

illy777 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Sep 2020

2020
-
DE_EN



RE: Schleife stoppen in subVI
Hey GerdW,

ja ich denke ich muss THINKDATAFLOW zu meinem Motto machen, in der Schleife geht das ja wunderbar.. hatte natürlich nicht daran gedacht Big Grin

Was die riesen-Schleifen angehen, hast du vllt einen Tipp wie ich das sonst machen kann? ich meine ich würde gern die "Lifewerte" anzeigen lassen, aber wenns nun mal die Performance zerstört, dann werde ich wohl oder übel meine Anfangsidee aufgeben müssen.

ich habs jetzt so überarbeitet, dass es dir vllt besser gefällt Wink

also ich habs nicht ausprobiert, aber das letzte mal wo ich das genauso gemacht habe, hat er mir den schon besagten Fehler ausgegeben...

danke für die Tipps!

MfG


Angehängte Datei(en)
20.0 .vi  Main.vi (Größe: 77,81 KB / Downloads: 102)

20.0 .vi  Grenzstromsignal.vi (Größe: 33,38 KB / Downloads: 97)

20.0 .vi  Spannungsplot2.vi (Größe: 35,54 KB / Downloads: 86)

20.0 .vi  Ströme.vi (Größe: 35 KB / Downloads: 88)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
08.09.2020, 17:52
Beitrag #26

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife stoppen in subVI
Hallo illy,

Zitat:Was die riesen-Schleifen angehen, hast du vllt einen Tipp wie ich das sonst machen kann? ich meine ich würde gern die "Lifewerte" anzeigen lassen,
Die Live-Werte zeigst du doch an - dir fehlt momentan nur die Historie der Live-Werte…

Ich habe dein MainVI noch etwas vereinfacht, siehe Anhang.
Warum muss man ein Array aus 3 Waveforms in seine Einzel-Waveforms aufteilen und jede davon mit exakt demselben Faktor skalieren? Skaliere doch gleich das Array!
Und warum muss man danach wieder ein ExpressVI verwenden, um aus den 3 Waveforms ein Array of Waveforms zu bauen?

Lass das mal laufen und berichte, ob es so erstmal stabil arbeitet…

Danach kümmern wir uns um Erweiterungen dieses VIs - wie z.B. ein globales Stopp, damit du nicht mehr unendlich laufende Schleifen auf die harte Tour abbrechen musst…


Angehängte Datei(en)
20.0 .vi  Main.vi (Größe: 39,25 KB / Downloads: 92)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.09.2020, 08:58
Beitrag #27

illy777 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Sep 2020

2020
-
DE_EN



RE: Schleife stoppen in subVI
Hallo GerdW,

ja es hat geklappt! Danke!

ich hab jetzt beschlossen die liveanzeige zu lassen und das Bild im Nachhinein zu speichern, zumal ich auch die Messdaten eh iwo speichern muss...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.09.2020, 12:05 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2020 12:06 von illy777.)
Beitrag #28

illy777 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Sep 2020

2020
-
DE_EN



RE: Schleife stoppen in subVI
Heey Leute,


ich habe ein weiteres Problem, @GerdW: ich habe die Schleifen in meiner Main VI so umgesetzt wie du es empfohlen hast, nun kann ich aber nicht die Drehzahl VI so machen... Jedes Mal stoppt er nicht, wenn die Messung zu Ende ist und die angeforderten Bedingungen erfüllt sind.

Ich schick das Programm und die VI rein:

Weißt du da eine Lösung? Oder jemanden?


Mit freundlichen Grüßen!


Angehängte Datei(en)
20.0 .vi  Drehzahlzähler2.vi (Größe: 85,69 KB / Downloads: 100)

20.0 .vi  Main.vi (Größe: 235,12 KB / Downloads: 96)

20.0 .vi  Fernsteuerung.vi (Größe: 33,22 KB / Downloads: 94)

20.0 .vi  Grenzstromsignal.vi (Größe: 34 KB / Downloads: 96)

20.0 .vi  Ströme.vi (Größe: 36,86 KB / Downloads: 91)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.09.2020, 15:51 (Dieser Beitrag wurde zuletzt bearbeitet: 11.09.2020 15:57 von GerdW.)
Beitrag #29

GerdW Offline
______________
LVF-Team

Beiträge: 17.398
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleife stoppen in subVI
Hallo illy,

ein paar grundsätzliche Hinweise:
Statt 3+ Attachments kannst du alles in eine (1) ZIP-Datei packen. Ist viel einfacher beim Download!
Wenn du dann schon zippst, dann bitte auch das komplette Programm (bzw. den kompletten Ordner) - es fehlen einige subVIs und globale Variablen!
Außerdem solltest du zusätzlich noch ein LV-Projekt zur Verwaltung deiner ganzen VIs nutzen - auch das gehört in diesen Ordner und damit auch in das ZIP-File…

Denke daran, Rube-Goldbergs möglichst von Anfang an zu vermeiden.
String-Formatierung kann man sehr einfach mit FormatIntoString erledigen:
   
(Warum hast du in deinem Original die Float-Werte als Integer formatieren lassen?)
Warum finden sich da etliche unbenutzte Terminals im Main.VI, wenn woanders andauernd auf lokale Variablen (oder Value-Properties) zurückgegriffen wird?
Bitte nicht InsertIntoArray nutzen, wenn BuildArray das gleiche (viel einfacher) erledigen kann!

Zitat:ch habe die Schleifen in meiner Main VI so umgesetzt wie du es empfohlen hast, nun kann ich aber nicht die Drehzahl VI so machen... Jedes Mal stoppt er nicht, wenn die Messung zu Ende ist und die angeforderten Bedingungen erfüllt sind.
Leider fehlt das zugehörige VI "RPM"…
Es dürfte sich aber um ein THINK DATAFLOW-Problem handeln: hast du mal per Debugging nachgeschaut, was da passiert (oder auch nicht passiert)?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.09.2020, 13:57 (Dieser Beitrag wurde zuletzt bearbeitet: 14.09.2020 14:03 von illy777.)
Beitrag #30

illy777 Offline
LVF-Grünschnabel
*


Beiträge: 21
Registriert seit: Sep 2020

2020
-
DE_EN



RE: Schleife stoppen in subVI
Hallo Leute!

hier poste ich soweit alles was ich bisher gemacht habe...@GerdW

1. Folgende Probleme haben sich noch herauskristallisiert, der Abbruch Button wird nach Beenden der Schleife nicht false, aber das denke ich kriege ich hin, aber falls du eine schnelle Lösung findest, wär ich euch sehr dankbar!

2. Die Drehzahlerfassung über die Messkarte.. Wie bewirke ich, dass DAQmx-Lesen trotz lange Zeit keine Impulssignale trotzdem eine 0 rausschickt,in unterschiedlichen Zeitabständen?


3. Hab ich schon in nem anderen Thread gefragt, aber hier nochmal: Das VI "Grenzstromsignal" ist zu langsam, ich brauche eine Triggerung die fast keine Verzögerung hat... weiß jemand einen Weg?

4. Ich entschuldige mich wirklich für meine Sauprogrammierung, aber ihr wisst ich bin neu und muss dieses Projekt in 2 Wochen fertig haben!


Ich danke euch für die wirklich gute Unterstützung die ihr mir bisher gegeben habt, vor allem GerdW!


Mit freundlichen Grüßen,


PS: DIE VI DIe gerade bei Main verwendet wird(die Grenzstromsignal VI) war nur ein Test den ich blöderweise so gespeichert habe. Eine Kopie ist bei "vergessene".


Angehängte Datei(en)
0.0 .zip  Version 0.1.zip (Größe: 714,43 KB / Downloads: 93)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  While Schleife stoppen itz_me 4 5.083 13.04.2017 14:47
Letzter Beitrag: itz_me
  X Bildlaufleiste bei Signalverlaufsdiagram stoppen Carp 18 8.941 10.06.2016 09:57
Letzter Beitrag: Carp
  Frage zu Lauflicht stoppen(vorübergehend) fuego50 4 3.590 23.05.2016 17:05
Letzter Beitrag: fuego50
  Referenziertes VI stoppen marhi 7 5.062 08.03.2016 12:07
Letzter Beitrag: rolfk
  Parallele Schleifen beliebig stoppen/neustarten buettnerstefan 3 4.367 03.06.2015 15:23
Letzter Beitrag: buettnerstefan
  while-Schleife mit Referenz stoppen Pral 5 4.702 11.12.2014 22:17
Letzter Beitrag: Lucki

Gehe zu: