LabVIEWForum.de - Letzte Ergebnisse anzeigen (Highscore)

LabVIEWForum.de

Normale Version: Letzte Ergebnisse anzeigen (Highscore)
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo bolze,

viel hast du von unseren Vorschlägen wirklich noch nicht übernommen…
Gibt es einen Grund, warum man zweimal BuildArray in einen ErrorCluster-Draht einfügen muss?

Zitat:Aber die Anbindung der Daten (Name+ Wert) habe ich noch nicht hinbekommen.
Momentan wird eine Cluster-Konstante in jeder Iteration an ein Array angehangen. Von diesem Array werden die ersten 4 Einträge behalten und angezeigt. Ich sehe nirgends den Versuch, dort wirklich relevante Daten einzutragen/anzuzeigen…
Guten Abend,

@GerdW

Erst einmal hierzu:

- zu viele lokale Variablen…
Ich finde es mit den lokalen Variablen Übersichtlicher (oder gibt es Probleme bei zu vielen?)

- warum wird ein Wert einmal mit "/3 * 10" verrechnet und ein andermal mit "*3.35 /10"? Warum nicht einfach einmal mit "*3.333" und fertig? (Rundinstrument auf 0-100% skalieren?)
da ich im einen Fall einfach als Veranschaulichung die 0 bis 100 % anzeigen möchte und mit der Skala den Druck in kg/cm² (Wenn ich bei der Skala auch auf 100 sklaieren würde, dann würde man nur bis 10kg/cm² gedrückt bekommen, da das fast das maximale ist)

- Wende doch auf deinen AI-Kanal eine DAQmxSkalierung an, dann kannst du dir hinterher das "*10.05 - 32.65" sparen…
- Wende doch auf deinen AI-Kanal eine SampleRate-Einstellung an, wenn du Messwerte im 10Hz-Takt haben willst…
bin ich gerade am ausprobieren, muss mich erst wieder mit dem DAQMX- Assistenten befassen

- Deine parallele Schleife zum Namen eingeben benötigt auch eine Wartezeit!
habe ich eingefügt

- Nette Grafik…
Danke Cool

Gibt es einen Grund, warum man zweimal BuildArray in einen ErrorCluster-Draht einfügen muss?
Den Grund gibt es nicht (ist entfernt)


@jg
jg schrieb:
Bitte NIE das Label eines Controls oder eines Indicators wegeditieren! Wenn du die Anzeige nicht im Frontpanel brauchst, dann Rechtsklick -> Visible -> Haken bei Label raus.

Ist draußen...

Danke erstmal für die ganzen Tipps ich versuche möglichst viele davon umzusetzen bzw bin dabei. Ich melde mich erst wieder so spät mit dem Projekt, da ich seit Mai nicht mehr dazu gekommen bin. Daher hat sich auch nicht viel verändert.


Jetzt zu meinem größten Problem: Die letzten Ergenisse anzeigen: Ich habe schon einiges probiert aber es hat nie richtig funktioniert und ich weiß auch nicht genau wie ich die beiden Daten (Name + Wert) an das eigebundene Tool anbinden soll. Deshalb frage ich hier und hänge mein VI noch einmal an.

Viele Grüße
bolze
Hallo bolze,

statt der Cluster-Konstanten musst du selbst einen Cluster aus String und Wert erzeugen (oder mit BundleByName entsprechend bedaten) - und diesen dann ans Array anhängen…

Noch mehr:
- Du indizierst da mehrfach Einzelwerte aus deinen Datenarrays - und das auch noch merhfach für das selbe Element. Einmal indizieren würde auch ausreichen…
- Da sind immer noch Terminals ohne Namen, z.B. in der Schleife für die Namenseingabe. Mach sowas nicht!
- Warum hast du für die Namenseingabe eine extra Schleife?

Zitat:Gibt es einen Grund, warum man zweimal BuildArray in einen ErrorCluster-Draht einfügen muss? Den Grund gibt es nicht (ist entfernt)
Und warum ist dann immer noch ein BuildArray im ErrorCluster-Draht?

Zitat:bin ich gerade am ausprobieren, muss mich erst wieder mit dem DAQMX- Assistenten befassen
Wozu der Assi, wenn du doch schon mit den DAQmx-Funktionen arbeitest? Hast du die Links in meiner Signatur beachtet?

Zitat:Ich finde es mit den lokalen Variablen Übersichtlicher (oder gibt es Probleme bei zu vielen?)
Ja, da gibt es schnell Probleme. Hast du die Links in meiner Signatur beachtet?
Guten Abend,
das mit den letzten Werten im Highscore anzeigen ist gestorben ich brauche es nicht mehr.
Ich habe den "Starken Daumen" umgebaut und es funktioniert fast alles wie ich es mir vorstelle.
Allerdings habe ich noch ein Problem.
Wenn ich Wert+ Name in den Highscore speichere funktioniert das aber nicht richtig.
Der erste gespeicherte Name+ Wert bleibt immer ganz oben in der Bestenliste, auch wenn der nächste gespeicherte Wert höher ist. Hinter dem ersten Wert der wie "festgemeiselt" auf Rang 1 bleibt wird die Rangliste fichtig sortiert(von groß zu klein).
Irgend etwas ist da nicht ganz richtig und ich habe ein Brett vor dem Kopf und finde den Fehler nicht.

Es wäre toll wenn sich da mal jemand anschauen könnte.

Viele Grüße
bolze
Die Bestimmung des "Array-Index" stimmt nicht. So klappt es:
[attachment=50861]

- Wieso gibt es IMMER noch Controls mit wegeditierem Label?
- Wieso muss das VI gnadenlos per Abort gestoppt werden?
- Du hast noch eine Race-Condition beim "Übernehmen Button". Wenn das Event unten VOR dem Select oben ausgeführt wird, dann fügst du "0" hinzu.
- Deine Default-Arrays links enthalten nur 10 Elemente. Schadet nicht, aber soll dich darauf hinweisen, dass ein Einstellen des Array-Index auf 99 noch lange nicht dazu führt, dass eine Array-Konstante mit 100 Elementen entsteht.

Gruß, Jens
Hallo zusammen,
Ich bin soweit ganz zufrieden mit meinem "Starken Daumen". Allerdings möchte ich noch eine Vereinfachung für den Bediener vornehmen, bekomme diese aber nicht hin.
Normaler Ablauf:
1. Eine Person drückt so stark es geht auf den Drucksensor (höchster Wert wird festgehalten)
2. Jetzt drückt man auf Start und dann "ploppt" eine Tastatur (subVI) auf um den Namen über einen Touchscreen einzugeben.
3. Mit OK bestätigt man den Namen und die Tastatur wird beendet.
4. Jetzt muss man noch auf speichern klicken um den Wert im Highscore zu speichern.

Vereinfachter Ablauf:
1. Eine Person drückt so stark es geht auf den Drucksensor (höchster Wert wird festgehalten)
2. (Der Start button wird in Speichern umbenannt) Jetzt drückt man Speichern und die Tastatur "ploppt" auf, Name kann eingegeben werden
3. Mit OK (an der Tastatureingabe) bestätigt man den Namen und gleichzeitig soll der Wert in den Highscore geschrieben werden. (somit sollte der "Speicher- Button" wegfallen)

Ich habe schon einiges probiert aber bekomme es nicht hin, dass die Werte über das "OK" des subVI (Tastatur) in den Highscore im HauptVI geschrieben werden Undecided
Welche Möglichkeiten gibt es hier?

Viele Grüße
Michael Bonath
Hallo bolze,

Zitat:Ich bin soweit ganz zufrieden mit meinem "Starken Daumen"
Fast drei Monate später gibt es immer noch unbenannte Controls/Indicators. Soweit dazu…

Zitat:bekomme es nicht hin, dass die Werte über das "OK" des subVI (Tastatur) in den Highscore im HauptVI geschrieben werden
Dir fehlt etwas, was das betreffende Event auslöst, z.B. ein ValueChange-Event des Buttons "uebernehmen".

- Warum hat "uebernehmen" einen "Schalt"- statt "Latch"-Modus? Du könntest dir das programmatische Rücksetzen sparen…
- Warum ist das Einfügen des neuen Maximalwerts in die Highscore-Liste so umständlich gelöst? Einfach ein Array(Cluster(Wert, Name)) nutzen - da kann LabVIEW automatisch sortieren…
(10.12.2014 11:34 )GerdW schrieb: [ -> ]- Warum hat "uebernehmen" einen "Schalt"- statt "Latch"-Modus? Du könntest dir das programmatische Rücksetzen sparen…
Weil er das in der Parallel-Loop als Auswahlkriterium verwendet...
Hallo Jens,

Zitat:Weil er das in der Parallel-Loop als Auswahlkriterium verwendet...
Genau: mit einer lokalen Variablen, obwohl das Terminal unverdrahtet im BD rumlungert… Hmm
Offtopic2
(10.12.2014 11:49 )GerdW schrieb: [ -> ]Hallo Jens,

Zitat:Weil er das in der Parallel-Loop als Auswahlkriterium verwendet...
Genau: mit einer lokalen Variablen, obwohl das Terminal unverdrahtet im BD rumlungert… Hmm
Ist ja nicht so, also ob ich nicht in Beitrag #15 auf die Race Condition, die sich durch dieses Konstrukt ergibt, hingewiesen hätte. Die wird durch deinen Vorschlag auch nicht komplett entschärft.
Seiten: 1 2 3 4
Referenz-URLs