LabVIEWForum.de - Fehlermeldung: ungültiger Attributstatus

LabVIEWForum.de

Normale Version: Fehlermeldung: ungültiger Attributstatus
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo liebe LV-gemeinde,

ich muss an der fh eine waage,durch eine serielle schnittstelle rs232 mit dem computer verbunden, auslesen. Mit dem Beispielprogramm bei LV "continous seriell read and write" funktioniert es, also stimmen die settings schonmal. Bei meinem eigenen Programm kommt immer der Fehler -1073807330 bei Eigenschaftsknoten VISA.
Möglich Ursachen: Der angegebene Attributsstatus ist ungültig oder wird nicht wie von der Ressource festgelegt unterstützt.

Ich hab bei Labview nachgeschaut was man bei diesem Fehler machen kann und die schreiben auf ihrer Seite, dass dann die Stoppbits falsch sind, aber die sind richtig, ich hab die aus dem Manuell von der Waage angeschrieben und in dem Programm mit einem Enum erstellt, auch die anderen Werte wie Parität, Baudrate und so hab ich nochmal überprüft.

Also woran könnte dass noch liegen, habt ihr da vielleicht einen Rat? Was meint überhaupt der Attributsstatus?

Zur Erklärung: die ersten beiden Bilder gehören jeweils zu einem VI welches ich nicht auf ein Bild bekommen habe und sind die ausgebaute Variante des Waagenprogramms, samt Tarierung und Mittelwertbildung und so.
Das letzte Bild ist das Grundgerüst der nur das Auslesen betrifft, da kommt derselbe Fehler, was komisch ist, da es da schonmal funktioniert hat.
Wieso für die Einstellung Stop-Bits ein neues Enum kreieren, wenn dafür schon von LabVIEW ein Ring-Control mit folgenden Werten definiert ist:
[attachment=48694]
Oder anders: Ein Enum hat die Werte 0,1 & 2, das Ring-Control die Werte 10, 15 und 20.
Noch Fragen?

Gruß, Jens
Hallo junkie,

du solltest zwei Dinge aus dieser Frage lernen:
- Konstanten/Controls/Indicators erzeugt man am einfachsten, indem man einen Rechtsklick auf den betreffenden Anschluß einer Funktion macht und dann "Erstellen->" wählt.
- Rote Punkte an Funktionsanschlüssen haben einen Namen (Coercion Dot) und eine Bedeutung! Und die wird im "LabVIEW How To" erläutert…

Was du außerdem lernen solltest:
- Es gibt eine Aufräumfunktion für Blockdiagramme…
- Man kann für Terminals auch die Symboldarstellung in den LV-Optionen ausschalten…
- Man kann Referenzen "durchverdrahten" statt ständig neue Draht-Abzweigungen zu erstellen…

Was du korrigieren solltest:
Der Ausgang "Ausgabezählwert" der VISARead-Funktion enthält nur ganz selten den Messwert deiner Waage.
Tipp: Einfach mal die LabVIEW-Hilfe zu den benutzten Funktionen lesen!
Hallo, naja die Stoppbits und auch alle anderen settingeinstellungen des VISA seriell und VISA Read habe ich genauso, mit rechte Maustaste -> erstellen-> Bedienelement erstellt, und dann die Werte im Frontpanel eingestellt, also deswegen frage ich mich ja was der Fehler ist.
Hallo Junkie,

dann gäbe es keine CoercionDots!
Oben: Dein Stoppbit
Unten: Per Rechtsklick erstelltes Control
[attachment=48705]
Finde den Unterschied!

Hast du schon einmal die Ringeigenschaften deines Controls überprüft? (vgl. meinen Beitrag #2)

Gruß, Jens
Hallo, ich hab´s jetzt nochmal schnell neu gemacht. Also nur das read Programm ohne Tarrieren und so. Siehe Bild. Und jetzt funktioniert es komischerweise. Ich glaube was Gerd sagen wollte ist dass der Waagenwert am Lesepuffer und nicht am Ausgabezahlwert angezeigt wird. Was jetzt trotzdem noch meine Frage wäre. Ist es jetzt besser den read-Anteil des Porgramms in einer While-schleife zu machen, da ich ja noch mehrere Funktionen einführen möchte?
Und sollten die Werte lieber in einen array?
Achso, dass mit den Stoppbits habe ich auch verbessert.
lg
Hallo Junkie,

Zitat:Und jetzt funktioniert es komischerweise.
Na huch, die CoercionDots sind ja plötzlich weg… Big Grin

- Wenn du mehr als nur einen Wert von der Waage lesen willst, dann solltest du VISARead in der Schleife aufrufen.

Zitat:Ich glaube was Gerd sagen wollte ist dass der Waagenwert am Lesepuffer und nicht am Ausgabezahlwert angezeigt wird.
"Glauben" oder jetzt "Wissen"?

Zitat:Und sollten die Werte lieber in einen array?
Kommt darauf an, was du machen willst…
Ok hart sich erledigt, hab´s jetzt in einer while-schleife gemacht.
Hallo Leute,

ich muss nochmal kurz beim Thema VISA - read was nachfragen. Der Laboringenieur an der FH meinte ich muss ja bevor die Werte ausgelesen werden erst in der while-schleife abfragen ob und wieviel bytes überhaupt da sind und diese dann auslesen, ansonsten wird die Waage permanent ausgelesen. Ich hab das jetzt in einer case -schleife mit den bytes at port gemacht, kann der das gemeint haben, oder fehlt da noch ein Puffer oder sowas?
Und zweite Frage, kann ich eine while-schleife in einer while-schleife machen (Da ich ja noch Funktionen woe tarieren und mittelwert bilden mit einbauen muss, dachte ich bräuchte ich evtl noch eine)?

mfg
Seiten: 1 2 3
Referenz-URLs