LabVIEWForum.de
Werte auslesen und auf MIN/MAX auswerten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenkommunikation (/Forum-Datenkommunikation)
+---- Thema: Werte auslesen und auf MIN/MAX auswerten (/Thread-Werte-auslesen-und-auf-MIN-MAX-auswerten)



Werte auslesen und auf MIN/MAX auswerten - Philli - 04.07.2011 20:09

Hallo zusammen,

Erstmal hört sich mein Problem nicht so schwer an.

Einige Zusatz Informationen sind sehr entscheidend. Mein Projekt:

Linienfolger mit NXT Lego Mindstorm. Soweit läuft das Hauptprogramm um der Linie zu folgen. Dies realisiere ich mit einem Helligkeitssensor der auf Dunkle Linie reagiert. Hier kommt eine Problematik auf, dass natürlich je nach Lichtverhältnisse ein fest vorgegebener Wert für Helligkeit bzw. Dunkelheit zu Problemen beim Linienfolgen führen kann.

Lösung: Optimierungslauf (360° Drehung) zum finden von Max und Min Wert was der Sensor mir liefert. Ansich nix schweres ABER:
Problem: Lego NXT kommt nicht mit Arrays zurecht. Sad
Bekomm dort immer Fehler beim Überspielen

Jetzt hab ich mir gedacht, okay kein Thema mach ich ein Workaround und bau mir selbst eine Lösung. Gedacht wäre die Erfassung der Messdaten und dann nach größer gleich bzw. kleiner gleich abfragen. Alles halt dann in Variablen schreiben Dementsprechend dann einen max bzw. min Wert herausfinden. Jedoch komm ich mit den Variablen-Handling überhaupt nicht zurecht.

Ich habe das Forum schon energisch durchsucht bzw. die Hilfe von LV auf den Kopf gestellt, aber ich kann nichts finden was für meine Zwecke passend ist.

Danke schonmal im Vorraus

Mein LV: 2009 V9.0


RE: Werte auslesen und auf MIN/MAX auswerten - SeBa - 05.07.2011 08:17

Versteh nicht, warum Arrays nicht funktionieren sollen.. in deinem Screenshot sind doch auch welche...

Aber egal. Um min/max einer Messwertabfolge zu finden, bei welcher die Messwerte einzeln nacheinander gelesen werden kannst du folgendes machen:

Eine Schleife zum Einlesen der Werte. In der SChleife sind zwei Shiftregister. Das Eine wird mit -Inf. initialisiert, das Andere mit +Inf.

Jetzt liest du einen Wert ein und vergleichst den mit den Werten in den Shiftreg. Ist der Wert größer als der Wert im -Inf. SR dann wird der dort reingeschrieben. Ist der Wert kleiner als im +Inf. SR wird der dort reingeschrieben. In den gegensätzlichen Fällen wird nichts gemacht.

Hast du das richtig umgesetzt, erhälst du am Ende der Schleife den max. Wert im -Inf. SR und den min. Wert im +Inf. SR.


Gruß SeBa


RE: Werte auslesen und auf MIN/MAX auswerten - Philli - 05.07.2011 09:51

Danke für deine Antwort. Ich werde das probieren.

Wegen den Arrays und Mindstorm:

Wenn ich mit USB - Kabel online bleibe an dem Mindstorm, dann geht das. Jedoch wenn ich das Programm komplett aufspiel, ist es aus bzw. bekomm fehlermeldung eben wegen den Arraybaustein. Sad

gruß, Philli