Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Sorry wenn ich nerve, aber ich hänge immernoch an meiner Aufgabenstellung und die Zeit rennt mir davon...
Ich habe eine Kommunikation zwischen LV und einem Messverstärker über VISA programmiert.
Die Kommunikation zwischen den beiden klappt soweit erstmal, da ich die Seriennummer des Gerätes nach einem bestimmten Befehl in einer Anzeige erhalte und ich auch das Gerät auf Null `reseten` kann. Nur leider überträgt mir der Messverstärker die benötigten Messdaten nicht. Ich erhalte nur kryptische Zeichen mit vereinzelten Zahlen, die aber auch mit den Messungen nicht übereinstimmen!
Woran kann das liegen, was mach ich falsch?
Kann das vielleicht an einer unterschiedlichen Abtastzeit des Grätes liegen, so das das Messgerät und mein Programm nicht auf "einer Wellenlänge" liegen???
Kurz gesagt ich bin überfragt, zumal ich ein ziemlicher Neuling auf dieser Ebene bin.
Ich freu mich auf jede sinnvolle Antwort.
Anbei so eine kryptische Anzeige
Steve
Das sieht mir schwer nach einer falschen Baud-Rate (oder sonstiger falscher Parameter) aus. Allerdings verstehe ich dann nicht, warum du die Serienmummer korrekt übertragen bekommst.
Kontrolliere mal die Baudrate und poste am Besten das VI.
Zudem könnstest du mal das Datenformat nennen, das der Messverstärker sendet.
Es sieht nach binären und nicht nach ASCII Daten aus. Mit Type Cast sollte es funktionieren diese cryptische Zeichen in Zahlen umzuwandeln. Man muss nur wissen welches Format man an Type Cast anschliessen muss. Es soll normalerweise in der Bedienungsanleitung des Gerätes drin stehen.
Falsche Baudrate kann man ausschliessen, weil das Gerät auf deine Befehle reagiert und sogar die Version zurückliefert.
' schrieb:Das sieht mir schwer nach einer falschen Baud-Rate (oder sonstiger falscher Parameter) aus. Allerdings verstehe ich dann nicht, warum du die Serienmummer korrekt übertragen bekommst.
Kontrolliere mal die Baudrate und poste am Besten das VI.
Zudem könnstest du mal das Datenformat nennen, das der Messverstärker sendet.
Nisse
Also an den Grundeinstellungen wie BaudRate,StopBits u.s.w. liegt es nicht.Die habe ich korrekt eingestellt.
Vielleicht liegt es auch daran, das der Messverstärke permanent seine Messwerte aud die Serielle Schnittstelle schreibt? Aber dafür ist ja eigentlich der Puffer da.
Er übeträgt für jeden Messwert 5 Bytes, wobei das erste das Sync-Byte und das zweite das Status-Byte ist.
Oder kann es daran liegen, das er im Bipolarmodus und im Unipolarmodus senden kann? Aber dann hätte ich ja auch nicht die Seriennummer erhalten dürfen.
Wie gesagt, ich bin ratlos...
' schrieb:Es sieht nach binären und nicht nach ASCII Daten aus. Mit Type Cast sollte es funktionieren diese cryptische Zeichen in Zahlen umzuwandeln. Man muss nur wissen welches Format man an Type Cast anschliessen muss. Es soll normalerweise in der Bedienungsanleitung des Gerätes drin stehen.
Falsche Baudrate kann man ausschliessen, weil das Gerät auf deine Befehle reagiert und sogar die Version zurückliefert.
Gruss, Eugen
guter Tipp von dir. Danke, ich werds gleich mal ausprobieren. Ich hoffe, das ich es hinbekomme...
ich schließe mich Eugen an. Es handelt sich dabei ziemlich sicher um binäre Daten.
Ich hatte mal bei einem Wegsensor die selben kryptischen Zeichen bekommen.
Gelöst habe ich das Problem durch die Beschreibung des Sensors, dort war genau aufgezeichnet wie die Daten gesendet werden. (Highbyte, Lowbyte, Flag)
Damit konnte ich dann die übertragenen Werte zuordnen und signalisierende Bytes ausmaskieren.
Das ging dann aber ganz gut mit LV.
Kannst Du mal in der Beschreibung Deines Messverstärkers nachsehen, ob zum seriellen Ausgang noch weitere Informationen verfügbar sind. Vielleicht ist sogar ein kleines C-Beispiel dabei, dann kann ich (und die anderen) Dir sicher weiterhelfen.
ich schließe mich Eugen an. Es handelt sich dabei ziemlich sicher um binäre Daten.
Ich hatte mal bei einem Wegsensor die selben kryptischen Zeichen bekommen.
Gelöst habe ich das Problem durch die Beschreibung des Sensors, dort war genau aufgezeichnet wie die Daten gesendet werden. (Highbyte, Lowbyte, Flag)
Damit konnte ich dann die übertragenen Werte zuordnen und signalisierende Bytes ausmaskieren.
Das ging dann aber ganz gut mit LV.
Kannst Du mal in der Beschreibung Deines Messverstärkers nachsehen, ob zum seriellen Ausgang noch weitere Informationen verfügbar sind. Vielleicht ist sogar ein kleines C-Beispiel dabei, dann kann ich (und die anderen) Dir sicher weiterhelfen.
Grüße
Andreas
Ein C-Bsp. ist leider nicht dabei, aber eine genaue Aufschlüsselung habe ich. Wie gesagt, er sendet 5 Bytes: beginnend für Messwerte mit einem "," dann das Status-Byte und darauf folgend das HByte M-Byte und zuletzt das L-Byte.
Ich habe ein anderes Programm von "ME-Systeme", womit die Kommunikatin klappt, aber das ist zu umständlich. Deswegen soll ich die Kommunikation neu schreiben.
Besten Dank schon mal an alle
' schrieb:Kann mir mal jemand erklären was ein M-Byte ist? H- und L- wäre mir ja klar. Aber wo muß das M-Byte hin?
Ich habe keine Ahnung. In der Anleitung steht leider auch nix weiter dazu!Ich kann nur hoffen, das die anderen sich melden.
Ich habe es zwischenzeitlich probiert mit Tdem Tipp vom Eugen (Type-Cast). Bekomme jetzt zwar Messwerte heraus, aber die richtigen sind es immer noch nicht! Ich bin echt am verzweifeln...