LabVIEWForum.de - Sensor mit VISA auslesen

LabVIEWForum.de

Normale Version: Sensor mit VISA auslesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo zusammen,

ich versuche über VISA einen Temperatursensor (Newport INFP) auszulesen.
Mit einem Eigenschaftsknoten will ich die Anzahl der Bytes bestimmen, allerdings erhalte ich konstant den Wert 0 und ich auch der Wert des Sensors wird mir nicht angezeigt.
Der Port müsste richtig konfiguriert sein, somit kann ich nicht nachvollziehen, wo das Problem ist.
Hat es etwas mit dem "Endzeichen" zu tun bzw. woran könnte das liegen?

[attachment=59957]

Gruß
AAlp
Hallo AAlp,

Zitat:Mit einem Eigenschaftsknoten will ich die Anzahl der Bytes bestimmen, allerdings erhalte ich konstant den Wert 0 und ich auch der Wert des Sensors wird mir nicht angezeigt.
BytesAtPort ist zu 99.9% aller Fälle unnötig:
1. du weißt im Voraus, wieviele Bytes zu empfangen sind: dann frage diese auch ab
2. du weißt nicht im Voraus, wieviele Bytes zu empfangen sind: dann benutze ein TermChar und frage eine hohe Anzahl Bytes ab…
Damit hast du eben diese 99.9% aller Anwendungsfälle erschlagen.
Der Rest geht wie folgt:
3. Warte mit BytesAtPort, bis ein Byte im Buffer ankommt. Dann lese mit einem (kleinen, angepassten) Timeout die folgenden Bytes vom Port…

Außerdem senden viele Geräte erst nach Aufforderung einen Messwert: das sieht man bei dir aber nicht. Was sagt deine Anleitung eigentlich dazu?

Zitat:Hat es etwas mit dem "Endzeichen" zu tun…?
Auch hier: was sagt deine Anleitung dazu?
Hallo Gerd,
vielen Dank für deine Antwort.
Ich denke meine Probleme wären gelöst, wenn ich eine Anleitung hätte. Die habe ich aber nicht.
Ich habe daher versucht deine Hinweise im Programm umzusetzen, allerdings mit mäßigem Erfolg.

[attachment=59959]

Ist es denn so, wie du es beschrieben hast, oder habe ich etwas falsch verstanden. Da ich keine Werte übertragen bekomme, muss wohl etwas falsch sein.

Gruß
AAlp
(13.05.2019 13:55 )AAlp schrieb: [ -> ]Ich denke meine Probleme wären gelöst, wenn ich eine Anleitung hätte. Die habe ich aber nicht.
Das ist schlecht - sogar sehr schlecht. Da musst du jetzt ja bei ALLEM raten, beginnend bei der Baudrate über Anzahl Start/Daten/Stopbits bis zum Kommunikationsprotokoll.

Jedes Gerät kann da ihr eigenes Süppchen kochen, also IMHO so gut wie keine Chance ohne Protokollbeschreibung.

Gruß, Jens
(13.05.2019 13:55 )AAlp schrieb: [ -> ]Ich denke meine Probleme wären gelöst, wenn ich eine Anleitung hätte. Die habe ich aber nicht.

Hi AAlp.

Jetzt mal ganz naiv gefragt: Hier ist die Anleitung für deinen Sensor nicht dabei?
http://www.newportus.com/manuals/Temp.htm

Mal bei Newport angefragt, ob sie dir die Anleitung zuschicken können (für den Fall dass du ggf. ein veraltetes/abgekündigtes Teil verwendest)?
Ich bin da ganz bei Jens: Ohne Handbuch wird das eine sehr ungemütliche Aufgabe werden.
Hallo,
danke für eure Antworten. Ich habe nun nach längerer Suche im Internet das richtige Handbuch gefunden. Somit sollten die WErte die ich jetzt eingestellt habe auch richtig sein.
Da mein Gerät von alleine keine Daten sendet, muss ich diese Anfordern. Vorher habe ich das immer mit Dasylab gemacht, in Labview scheint das etwas anders zu laufen. Welche Eingabe ermöglicht mir das Anfordern von Daten?

Gruß
AAlp
Du hast Read und Write Funktionen zur Verfügung. Aus deinem Handbuch müsste ersichtlich sein, welches Kommando du schicken musst um eine bestimmte Antwort zu erhalten.

Meine Glaskugel wurde die Tage überstrapaziert und kann mir keine näheren Infos dazu liefern, da ich weder das Handbuch deines Sensors noch den Sensor selbst erkennen kann.

Im einfachsten Fall schickst du ein bestimmtes Kommando (siehe Handbuch) und liest anschließend die Antwort deines Gerätes aus. Die muss dann unter Umständen noch aufbereitet werden.

Klartext: Welches Gerät benutzt du? Lass doch einfach mal einen Link zum Handbuch hier. Dann kann man sich besser in deine Situation hineinversetzen und eventuell konkrete Hilfeleistung anbieten.

Gruß
NoWay
Hallo,
also es handelt sich um folgendes Gerät:
Firma: Omega
Serie: INFINITY, davon die INFT-Anzeige (speziell für Temperatur geeignet)
https://www.omega.de/pptst/INF_SER.html


Mein bisheriger Versuch sieht so aus, dass ich es wie in meinem Dasylab-Programm eingestellt habe, da hat ja auch alles gut geklappt.
D.h Baud, Datenbits, Stoppbit, Timeout und Parität übernommen. (Sollte soweit stimmen, oder?)

In Dasylab gebe ich verschieden Kommandos ein (Reset, Start, Messdaten-Anforderung und Messdaten-Format)
In Labview übernehme ich nur die Messdaten-Anforderung: *X01\r

Mein einfaches Programm sieht so aus:
[attachment=59967]

Nun wird mir aber keine Temperaturwert in Labview angezeigt. Woran kann das liegen bzw. habe ich etwas übersprungen?


Gruß
AAlp
Check mal die Baudrate. Du hast da im Screenshot "Timeout" dranstehen.
Hallo,
ich hatte die Konstante nicht erstellt, stimmt aber soweit.

[attachment=59968]


Gruß
AAlp
Seiten: 1 2
Referenz-URLs