INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

VISA Funktionen Serial Data



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!

02.12.2009, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 02.12.2009 18:16 von jg.)
Beitrag #1

PollysFriend Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Oct 2009

2011
2006
DE

1010
Oesterreich
VISA Funktionen Serial Data
Hallo!

Ich vermute einen Fehler in meiner VI, ich möchte einen HEX Code an ein an das
COM 4 - Port angeschlossene Gerät schicken. Und irgendwas funktioniert da nicht.

Ich habe mir das Programm "Serial Port Monitor" runtergeladen um eine Kontroll-
möglichkeit zu haben. Dieser zeigt mir ein unterschiedliches Bild, in seiner Hilfe Funktion
sieht die Darstellung eines gesendeten HEX Codes anders aus, hier eine kurze
Veranschaulichung:

So sollte es aussehen:

Request
02 14 00 05 00 34 05 64 ED ____ ..OK.. (hier sollte halt irgendein Text oder sonstige Schriftzeichen sein)


Und so sieht es bei mir aus:

Request
30 32 20 31 34 20 30 30 20 30 35 20 30 30 20 33 ____ 02 14 00 05 00 3
34 20 30 35 20 36 34 20 45 44 20 ____ 4 05 64 ED

Kann mir jemand helfen?

Lv86_img


Angehängte Datei(en)
Sonstige .vi  Ansteuerung_Projektor_2.vi (Größe: 12,53 KB / Downloads: 216)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
02.12.2009, 11:00
Beitrag #2

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
VISA Funktionen Serial Data
Also verstehe ich das richtig?

Du schickst einen Request im hex Format and den Projektor und zwar das hier:
30 32 20 31 34 20 30 30 20 30 35 20 30 30 20 33

Der antwortet dir dann mit dem hier:
02 14 00 05 00 3


Was hättest du den konkret für eine Antwort erwartet, bzw. was steht denn im Manual hinsichtlich der Kommunikation? Irgendeine Standardvariante ala "Bist du eingeschaltet?" -> "Ja, ich bin wach."

Worauf ich hinaus will ist, dass der Projektor hex erwartet (?) und daher höchst wahrscheinlich auch mit hex antwortet...


Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 11:19
Beitrag #3

PollysFriend Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Oct 2009

2011
2006
DE

1010
Oesterreich
VISA Funktionen Serial Data
Laut dem Manual (das leider nicht vollständig ist) sollte es möglich sein beispielsweise
die Version der am Projektor installierten Software zu erhalten.

Write Command: 04 14 00 05 00 34 00 04 06 68 BF

Answer: 05 14 00 06 00 00 00 00 00 01 96 B1

Bedeutung der Answer: Byte 0: subminor, Byte 1: minor, Byte 2: major, Byte 3: reserved. Changing the order, the software version can be written as follows (decimal): 150.1.0.0

BF ist die Checksum.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 11:23
Beitrag #4

PollysFriend Offline
LVF-Grünschnabel
*


Beiträge: 29
Registriert seit: Oct 2009

2011
2006
DE

1010
Oesterreich
VISA Funktionen Serial Data
Kann es sein, dass die VISA Funktion Write den von mir eingegebenen Code als Text
interpretiert und in einen Hex Code umwandelt und diesen an das Serial Port sendet?

Da ich herausgefunden habe wenn ich bei VISA Write hinten bei Ausgabezählwert eine
Anzeige anhänge beim Ausführen des Programms die Zahl 32 angezeigt wird und nicht
11 (Byteanzahl meines Commands)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 12:08
Beitrag #5

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.687
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
VISA Funktionen Serial Data
' schrieb:02 14 00 05 00 34 05 64 ED ____ ..OK.. (hier sollte halt irgendein Text oder sonstige Schriftzeichen sein)
Das ist die Hex-Darstellung von Zahlen, die als binär vorliegen.

Zitat:30 32 20 31 34 20 30 30 20 30 35 20 30 30 20 33 ____ 02 14 00 05 00 3
34 20 30 35 20 36 34 20 45 44 20 ____ 4 05 64 ED
Das ist die Hex-Darstellung eines Strings, der die Hex-Darstellung einer Zahlenfolge enthält. Nämlich genau der oberen.

Zitat:Kann es sein, dass die VISA Funktion Write den von mir eingegebenen Code als Text interpretiert und in einen Hex Code umwandelt und diesen an das Serial Port sendet?
Die VISA-Funktion selbst wandelt nichts um. Die gibt das eins-zu-eins durch, was du anschließt.

Ich empfehle hier immer mittels des Formatbefehls einen String von Hand zusammenzusetzen. In dem Falle des Beispieles würde der heißen: "%02x %s %02x". Das erste %02x isz das STX-Zeichen, also 2. %s ist der String der sich aus 7mal "%02x " zusammen setzt. Das sind die Datenbytes. Das letzte %02x ist die Checksumme.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.12.2009, 18:40
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
VISA Funktionen Serial Data
Du weisst also, wie der String, den du senden willst, in der HEX-Darstellung aussieht. Dann ist es das einfachste, wenn du einfach einen String im FP auf HEX-Darstellung umstellst und dann jedes Buchstaben in der HEX-Form eingibst:
   

Wenn du zum Lernen erst mal bei deinen Zahlen-Eingaben bleiben willst, dann sollte das Datenformat der Numeric Controls ein U8, kein I32 sein. Und dann musst du einfach diese Eingaben zu einem Array zusammenfassen (noch einfacher, deine Eingabe ist gleich ein Array of U8), und dann per Byte Array To String in einen String umwandeln. Den sendest du dann per VISA-Write.

Umgekehrt verfährst du mit dem empfangenen String.

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!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Serial Port mit Continuous Serial Read Write Hoang Nguyen 2 7.311 15.04.2016 10:35
Letzter Beitrag: Hoang Nguyen
  Serial Read von Arduino in Chart darstellen lars1500 28 20.715 12.01.2015 19:29
Letzter Beitrag: lars1500
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 13.552 10.11.2013 12:16
Letzter Beitrag: Y-P
  Serial auslesen wenn COM-Port verfügbar lrt65492 7 11.356 20.05.2012 19:07
Letzter Beitrag: GerdW
  Serial VISA Session name vergeben? yasukatakaya 0 3.403 17.04.2012 09:59
Letzter Beitrag: yasukatakaya
  VISA Configure Serial Port Digger80 2 11.386 03.12.2011 18:29
Letzter Beitrag: Digger80

Gehe zu: