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!
ich bin komplett neu in Labview und habe nun studienbedingt die Aufgabe ein Gerät mittels Labview anzusteuern.
Leider gibt es vom Gerätehersteller nicht allzu viele Angaben. Die die ich habe lauten:
- Communications follow the serial communication protocol and ACK/NAK protocol
- Communications follow a master/slave protocol
Außerdem habe ich eine Liste mit "Messages" erhalten, z.B.
Send Request for Status:
01 02 03 04-05 06
STX R X CKSUM ETX
Receive Status
(ist dann länger).....
Nun habe ich keine Ahnung, wie ich vorgehen soll, wenn ich beispielsweise den Status abfragen möchte (Temperatur, Zeit, usw.)
Es sollte ja eigentlich über VISA funktionieren, jedoch scheitere ich kläglich.
Daher bin ich für jede Hilfe absolut dankbar! :-)
danke für dein Antwort.
Das "Basic Serial Read and Write.vi" (und einiges mehr) hatte ich bereits entdeckt und mir angesehen.
Was ich allerdings nicht nachvollziehen/lösen kann ist folgende Sache:
Ich schicke meinem Gerät die Aufforderung mir den Status zu übergeben (write)
und dann sollte ich diesen entsprechend übergeben bekommen (read).
Aber wie übergebe ich diese Aufforderung nun korrekt?
In dem besagten Beispiel ist es ja das Feld "string to write".
Nur was kommt da rein, wenn die entsprechende Passage vom Hersteller lautet:
Send Request for Status:
01 02 03 04-05 06
STX R X CKSUM ETX
Das R dürfte noch "Klartext" R sein, X steht aber sicher für irgendein Kommando (Ohne Doku des Herstellers Ratespiel).
Noch mehr Ratespiel sind die 2 Byte Checksumme, den zur Erstellung von Checksummen gibt es Algorithmen wie Sand am Meer. Auch hier brauchst die Protokoll-Doku des Gerätes.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Klare Antwort, NEIN!
Wie ich schon gesagt hatte, es gibt unzählige Checksummen-Berechnungen, zusätzlich noch beliebige einfache oder komplizierte Vorschriften, aus welchen Teilen der Nachricht die Checksumme berechnet wird. Es könnte z.B. sein, dass das STX-Byte dazugehört oder auch nicht.
Entweder du hast eine vollständige Doku des Protokolls, oder minimal eine Liste aller gültigen Kommandos (inkl. Checksum).
Aber eine allgemeingültige Antwort, die gibt es leider nicht.
Vielleicht rückst du selber mal mehr Infos raus, soll heißen, Hersteller/genaue Typbezeichnung etc. pp. deines Geräts.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Das Gerät sendet auf jeden Fall nach jedem Masterbefehl eine Meldung zurück. Wenn keine Daten zurückzusenden sind, dann sendet es z.B "OK".
Von daher musst Du nicht Daumen drehen, bis die bestellten Informationen vom Hersteller da sind und die CRC-Bildung bekannt ist. Einfach als CRC zwei beliebige Bytes senden. Vom Gerät wird dann in irgendeiner Form zurückgemeldet werden, dass der CRC-Test negativ ist. Wenn das der Fall ist, dann hast Du schon den ersten Schritt geschafft: die Kommunikation funktioniert.