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 

Dieses Thema hat akzeptierte Lösungen:

Schleifenbedingung



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!

13.04.2016, 14:00
Beitrag #1

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



Schleifenbedingung
Hallo Zsm,

ich möchte gern ein Messwerte mittels mehrer Vergleiche ordnen.

Das VI soll ein Array auslesen und im Anschluss abhängig von einem Zeitintervall (hier: 10-24) und dem in diesem Intervall auftretenden Maximalwert die anderen in dieser Zeile befindlichen Messwerte in ein neues Array schreiben.

Problem bereitet mir die mehrfache Erfüllung meiner Bedingungen.
Wenn ich den Maximalwertvergleich vor der For-Schleife ausführe gibt er mir genau den dazugehörigen Zeitwert aus.
Setze ich den Vergleich in die Schleife habe ich das Problem der unterschliedlich miteinander verbunden Datentypen (Bild).

Woran liegt das?

Gruß
psypher


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
13.04.2016, 15:14
Beitrag #2

RMR Offline
Laborkater
**


Beiträge: 238
Registriert seit: Nov 2008

09f1 - 2010SP1(f4) - 2012SP1f5 - 2014 SP1f10 -2017f3
2009
DE_EN

76437
Deutschland
RE: Schleifenbedingung
Hallo pys,

bist du dir sicher dass du deine beiden Whileschleifen direkt beenden möchtest?
Warum eigentlich 2 SChleifen?

Du solltest dich mit dem "Dataflow" befassen.

Keep on, Ralf aka RMR

100nF passen immer.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2016, 15:14
Beitrag #3

HasteMalNeMark Offline
LVF-Grünschnabel
*


Beiträge: 13
Registriert seit: Mar 2016

15
2008
DE

Berlin
Deutschland
RE: Schleifenbedingung
Wie kommen denn deine Messdaten an? Sind die alle auf einmal vorhanden (bereits vorher aufgenommen und wieder abgerufen) oder
kommen die während der Filterung immer neu an?
Im ersten Fall funktioniert deine UND Verknüpfung in der rechten FOR Schleife (du hast bloss den Vergleichsmodus falsch eingestellt:
Elementsätze vergleichen statt Elemente vergleichen), im zweiten Fall musst du die Abfragen aufteilen und
zuerst die zeitlich passenden Messwerte filtern und an ein Array anhängen,
dann die Messwerte nach Größe Filtern.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2016, 16:34
Beitrag #4

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Schleifenbedingung
In Deinem VI ist eine Abfrage für ein Array, die macht keinen Sinn. Die wird immer nur dann TRUE sein wenn alle Inhalte des Arrays gleich sind. Das hat zur Folge, dass die For Schleife kein Ergebnis bringt, da der Ausgang die Bedingung TRUE benötigt um das Ausgangs - Array zu füllen.
Die Abfrage mit dem "ist gleich" bringt als Ergebnis ein Boolen Array. Die Und - Verknüpfung danach auch. Daher die gestrichelte Linie zum Tunnel. Der Tunnelmodus kann nur ein Boolen kein Boolen Array.


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.04.2016, 17:07
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Schleifenbedingung
Ein wenig Offtopic2
Wozu brauchst du eine For-Loop, die nur 1x durchläuft? Rube-Goldberg lässt grüßen.

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
14.04.2016, 08:35
Beitrag #6

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



RE: Schleifenbedingung
Hallo Zsm,

danke für Eure Rückmeldungen.

ich habe den Datenfluss angepasst und habe jetzt meinen zeitlichen Intervall (10-24) samt der dazugehörigen Werte.

Innerhalb dieses zeitl. intervalls möchte ich nun gern die Zeile finden die diesen den definierten maximalwert enthält und in ein 1D-Array schreiben.

Wie könnte ich am besten vorgehen.

Danke und Grüße
psy


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.04.2016, 08:40
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleifenbedingung
Hallo psypher,

Zitat:ich habe den Datenfluss angepasst
Genau.
Jetzt verwendest du While-Loops, die genau einmal durchlaufen. Wozu genau sind die da?

Zitat:Innerhalb dieses zeitl. intervalls möchte ich nun gern die Zeile finden die diesen den definierten maximalwert enthält und in ein 1D-Array schreiben.
Alle Zeilen durchschauen und den MAX-Wert suchen. Dann die Zeile mit dem MAX-Wert indizieren und speichern…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2016, 09:41
Beitrag #8

psypher Offline
LVF-Grünschnabel
*


Beiträge: 31
Registriert seit: Mar 2016

2015
2014
DE



RE: Schleifenbedingung
Hallo GerdW,

Zitat:ich habe den Datenfluss angepasst
Genau.
Jetzt verwendest du While-Loops, die genau einmal durchlaufen. Wozu genau sind die da?

Eingang: Eine CSV eines SPS Trace mit Zeit, Drehwinkel und Drehmomenten.
Anschließend Umrechnung in Kräfte. Zu unterschiedlichen Zeitpunkten treten unterschiedliche Maximalwerte der Drehmomente auf.

Ich möchte mittels der For-Schleife diese zeitlichen Intervalle festlegen und parallel alle sontigen Zeilenwerte in diesem Intervall ausgeben (Array).
Im Anschluss soll nach dém maximalen Drehmoment in diesem Intervall gesucht werden (Max. Wert2).

Das klappt jetzt soweitBig Grin.

Folgender Gedanke:

Ich nutze den Maximalwert um die Zeile innerhalb des intervalls zu finden die diesen Wert enthält.
Hierfür wollte ich durch einen Vergleich den "Max. Wert2" im "Array" suchen und dann die entsprechende Zeile ausgeben.

Klingt doch simpel, oder?!
Leider möchte LV nicht so wie ich will.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2016, 09:44
Beitrag #9

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: Schleifenbedingung
Anniemacht_2


Angehängte Datei(en) Thumbnail(s)
   

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.04.2016, 09:50
Beitrag #10

GerdW Offline
______________
LVF-Team

Beiträge: 17.465
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Schleifenbedingung

Akzeptierte Lösung

Hallo psypher,

du willst wissen, welche Zeile das Maximum enthält?
Dann nimmt man die ArrayMinMax-Funktion:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: