Guten Abend,
Ich habe meine Controls jetzt alle benannt und lokale Variablen entfernt (bis auf eine). Ich hoffe es sieht jetzt besser aus.
Allerdings kapiere ich das mit dem "ValueChange-Event" nicht wie ich das mit dem subVI verknüpfen kann.
Gibt es da zufällig irgendwo ein Beispiel oder eine Anleitung?
Viele Grüße
bolze
Hallo bolze,
dann machen wir mal weiter:
- Strukturen bitte auf "Größe automatisch anpassen" setzen - oder selbst versteckten Code anzeigen…
- aufräumen: gerade Drähte etc.
- Labels an Terminals auf "Größenanpassung an Text" setzen…
- Warum gibst du bei einer USB6008 "12" als Maximalwert vor? Die kann nur max. 10V an ihren AIs messen…
- der Error-Draht fehlt komplett! Hast du überhaupt Fehlerverarbeitung aktiviert?
Zitat:Allerdings kapiere ich das mit dem "ValueChange-Event" nicht wie ich das mit dem subVI verknüpfen kann.
- mit einem subVI überhaupt nicht
- du kannst ein Event mittels Propertynode "Value (sgl)" erzwingen
- du kannst mit Userevents arbeiten -> Beispielfinder
(15.12.2014 09:22 )GerdW schrieb: [ -> ]Hallo bolze,
dann machen wir mal weiter:
- Strukturen bitte auf "Größe automatisch anpassen" setzen - oder selbst versteckten Code anzeigen…
- aufräumen: gerade Drähte etc.
- Labels an Terminals auf "Größenanpassung an Text" setzen…
- Warum gibst du bei einer USB6008 "12" als Maximalwert vor? Die kann nur max. 10V an ihren AIs messen…
- der Error-Draht fehlt komplett! Hast du überhaupt Fehlerverarbeitung aktiviert?
Hab alles soweit angepasst.
(15.12.2014 09:22 )GerdW schrieb: [ -> ]- du kannst ein Event mittels Propertynode "Value (sgl)" erzwingen
- du kannst mit Userevents arbeiten -> Beispielfinder
Irgendwie komme ich nicht weiter

und somit auf keine funktionierende Lösung.
Hallo bolze,
was willst du denn da überhaupt per Event verknüpfen?
- Man kann dein VI wegen fehlender subVIs (PopUpAlphaKBDriver.vi) leider nicht starten…
- Bisher hast du in deiner Eventstruktur nur ein Event vorgegeben: ValueChange von "Werte in Highscore schreiben (Speichern)"…
Mal ein Tipp zu den Labels deiner Controls: Statt ellenlanger Namen (inkl. Leerzeichen und Klammern) kann man auch knackig kurze Labels vergeben, z.B. "save highscore". Dem User zeigt man auf dem FP statt des Labels dann die Caption - und die wiederum darf so lang und bunt formatiert sein, wie du willst…
Und zu den Funktionsnamen (bei den DAQmx-Funktionen): ich persönlich mag die Anzeige der Funktionsnamen nicht. Entweder man weiß den Namen der Funktion (aufgrund längerer Nutzung) oder man hat die Kontexthilfe offen, um dort den Namen mitsamt einer Kurzbeschreibung zu lesen…
Zitat:- aufräumen: gerade Drähte etc.
Hab alles soweit angepasst.
Echt, wo?
Ich möchte eigentlich nur mit dem OK von der Tastatur (subVI) die Ergebnisse in den Highscore (Haupt VI) schreiben.
So wie es momentan ist beende ich mit dem OK die Tastatur und muss dann in meinem Hupt-VI auf "speichern" um die Ergebnisse in den Highscore zu schreiben.
Viele Grüße
bolze
Hallo bolze,
Zitat:Ich möchte eigentlich nur mit dem OK von der Tastatur (subVI) die Ergebnisse in den Highscore (Haupt VI) schreiben.
Dann solltest du ein Event haben, welches auf ein Eingabe eben dieses Namens reagiert. Sowas z.B.:
[
attachment=51633]
Dankeschön das funktioniert fast optimal.
Ein Problem, dass ich jetzt noch habe ist dass beim ersten mal "Speichern" nur der Wert in den Highscore geschrieben wird (--> Arrayanzeige wo der Name stehen sollte, ist leer). Wenn man ein zweites mal Name + Wert speichert wird beides eingetragen. Ab dem 2. mal speichern funktioniert es immer.
Als es das seperate speichern noch gab, habe ich mit diesem auch den Schleppzeiger, Anzeige Maximalwert usw. wieder auf 0 gesetzt. Kann man das auch irgendwie über das erzeugte Event machen?
(momentan habe ich dort einen Reset- Schalter dran (Dieser sollte weg).
Hallo bolze,
Zitat:Ein Problem, dass ich jetzt noch habe ist dass beim ersten mal "Speichern" nur der Wert in den Highscore geschrieben wird (--> Arrayanzeige wo der Name stehen sollte, ist leer).
Wie wäre es mit etwas einfachem Debugging?
Wie ist der Wert der lokalen Variable von "Anzeige Maximalwert" im ersten Aufruf dieses Eventcases?
Ich vermute, er ist Null. Falls ja: warum?
Andere Vermutung: in welchem Index werden die Werte in den Highscore-Arrays eingetragen?
Solche Vermutungen überprüft man per Debugging…
Zitat:Als es das seperate speichern noch gab, habe ich mit diesem auch den Schleppzeiger, Anzeige Maximalwert usw. wieder auf 0 gesetzt. Kann man das auch irgendwie über das erzeugte Event machen? (momentan habe ich dort einen Reset- Schalter dran (Dieser sollte weg).
Pauschale Anwort: Ja.
Setze doch deine Reset-Bedingung in der Schleife…
Anmerkung:
Eine kleine Wartezeit in der DAQ-Schleife wäre sicherlich sinnvoll.
(17.12.2014 11:25 )GerdW schrieb: [ -> ]Hallo bolze,
Zitat:Wie ist der Wert der lokalen Variable von "Anzeige Maximalwert" im ersten Aufruf dieses Eventcases?
Ich vermute, er ist Null. Falls ja: warum?
Andere Vermutung: in welchem Index werden die Werte in den Highscore-Arrays eingetragen?
Solche Vermutungen überprüft man per Debugging…
Funktioniert jetzt einwandfrei danke :-)
[quote]
Setze doch deine Reset-Bedingung in der Schleife…
Ich stehe gerade voll auf dem "Schlauch" und komme nicht drauf.
Kannst du mir zufällig ein Beispiel zeigen wie ich das realisieren kann?
Zitat:Anmerkung:
Eine kleine Wartezeit in der DAQ-Schleife wäre sicherlich sinnvoll.
Habe ich eingefügt. Ist es besser wenn die Wartezeit länger ist oder gibt es da einen Richtwert?