LabVIEWForum.de - Schreiben auf Lokale Variablen

LabVIEWForum.de

Normale Version: Schreiben auf Lokale Variablen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo!

Ich sitze hier an einem Problem versteh es nicht so recht, warum ueberhaupt was schief geht.
Ich wollte lokale Variablen verwenden um von mehreren Stellen einer VI einen Indicator anzusteuern.
Ansich kein grosses Problem, jedoch ist nun Folgendes passiert. Ich habe mehrere Indicator nun mit lokalen Variablen angesteuert und auch auf die selbe Weise verbunden. Von sechs Indicator funktioniert aber nur noch einer. Alle anderen zeigen die Werte nicht an, obwohl die Daten anliegen. Was mir aufgefallen ist: an denen, bei denen es nicht funktioniert, ist am Eingang der lokalen Variable ein kleines, rotes Dreieck. Was hat das zu bedeuten? Wieso fehlt dieses Dreieck bei einem, welches dann auch ausgerechnet funktioniert?
Screenshots kann ich nur mit viel Aufwand anhaengen, da der Rechner mit LV ueber keinen Internetzugang verfuegt =... Weiss der Geier warum. Zur Not kann ich aber versuchen einen USB Stick zu organisieren und die Bilder hochladen.

Waere nett, wenn jemand auch ohne Screenshots das Problem verstanden hat und Licht ins Dunkel bringen koennte.
Hi,

das rote Dreieck ist ein implizierter Type Cast, sprich Du übergibst einem Indikator oder Anschluss einen Datentyp, der nicht dem erwarteten Datentyp des Indikators bzw. Anschlusses entspricht.

Was jetzt bei Dir sein könnte, wäre z.B. ein kleines Double an einem Integer-Idikator oder so, dass dann auf 0 gerundet wird oder so. Mit Ctrl-H und dem Wire-Tool über der Verbindugn kannst Du sehen, was für Datentypen an der Verbindugn anliegen.

Grüße,

ch
' schrieb:Was mir aufgefallen ist: an denen, bei denen es nicht funktioniert, ist am Eingang der lokalen Variable ein kleines, rotes Dreieck. Was hat das zu bedeuten? Wieso fehlt dieses Dreieck bei einem, welches dann auch ausgerechnet funktioniert?.
Die kleinen roten Dreiecke bedeuten, dass eine Typen Konvertierung stattgefunden hat (Stichwort: type cast). Warum deine Anzeige bei den anderen nicht funktioniert, kann an vielem liegen.
zB[list]
[*]double -> int (der Wert ist <0.5 und es wird dann immer null angezeigt)<>
[*]race condition (das update auf das GUI wird überschieben)<>
[*]parallele loops (die Lokalen sind in loops, die nicht upgedated werden)<>
[*]...<>
[st]Ohne Screenshot und/oder Code lässt sich da nichts sagen....

Gruss,
Christian

[EDIT] zu langsam....chrissyPu war schneller ;-)
Also das mit den Typecasts habe ich geloest. Daten kommen nun ueberall korrekt interpretiert. Das hat aber dem eigentlichen Problem nichts geholfen. Es funktioniert immer noch nicht die Anzeige korrekt. Das ist ziemlich seltsam, da alle Indicator auf die selbe Weise ihre Daten bekommen und parallel arbeiten. Also jede Anzeige hat ne eigene Datenquelle, kann also eigentlich keine Race Conditions hervorrufen...
Alle Variablen sitzen im selben Loop... Jemand ne Idee?
Solange versuche ich versuche mal nen USB Stick aufzutreiben.
:glas1:RaceConditionsGlas1

Die Glaskugel sagt RaceConditions, meint aber: Bild oder VI posten.
Also werden irgendwo die Variablen staendig auf 0 gesetzt und die Datenquelle will den Wert drauf treiben???
Sorry Jungs... Es geht! Ich sollte nur mal meine eigene VI besser anschaun ^^...
Die Indicator waren falsch verbunden...
Referenz-URLs