![]() |
Datenformat von Visa umwandeln - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA) +---- Thema: Datenformat von Visa umwandeln (/Thread-Datenformat-von-Visa-umwandeln) |
Datenformat von Visa umwandeln - Y-P - 25.01.2007 13:20 Stimmt, das ist noch ein Schritt weiter, aber natürlich ein sehr guter Vorschlag. ![]() Das Block-Diagramm sieht ja dann danach richtig aufgeräumt aus. ![]() Gruß Markus ' schrieb:Hi, Datenformat von Visa umwandeln - eg - 25.01.2007 13:48 ' schrieb:Ja ich sende es ja zur Zeit per ASCII und nutze die Funktion DTOS im atmel. Leider ist das umwandeln sehr speicheraufwendig. Auftrennen tue ich dann den Stream einfach immer nach je 7 Stellen und empfange nur 42 Byte. Daher möchte ich es per HEX senden und einfach die Werte in LabVIEW Trennen. Also jetzt verstehe ich gar nichts mehr. Ist dein Protokoll ASCII? Kannst du die Zahlen in einem Hyperterminal sehen? Oder siehst du nur merkwürdige Zeichen im Terminal? Wenn du also ein String und kein binärer Stream empfangst, dann brauchst du keinen Cast Type VI. Dann sollte dir die String Palette ausreichen. Da kannst du dein String aufteilen und nach Zahlen konvertieren. Ich würde dir schon helfen, nur beschreibe dein Problem genauer. Was siehst du wenn du einen normalen String Indicator an das VISA Read VI anschliesst? Gruss, Eugen Datenformat von Visa umwandeln - eg - 25.01.2007 13:53 Was ist denn das rot umgekreiste? Was wolltest du damit machen? Gruss, Eugen Datenformat von Visa umwandeln - Silence - 25.01.2007 13:55 Sorry aber arbeite das erst mal damit :-) und das ganze mit dem ASCII "Empfang" sollte auch nur als Übergang dienen... Also ich habe jetzt den Block: String in Daten wandeln. Den String bekomme ich ja direkt von der VISA Schnittstelle. Was muss ich an "TYP" anschließen? eingehenden Daten am COM1 Port: 02EF 03DD 0AAA 0BBBB 0CCC 0DDD Jedes der 6 Pakete (je 4 HEX) sollte je in einem Cluster landen und die weiterverarbeitung müsste ich dann mal schauen... Was muss ich als Typ an "String in DAten Wandeln" anschließen um das zu erreichen? Mach ich grundsätzlich was falsch oder ist das so kompliziert? Datenformat von Visa umwandeln - eg - 25.01.2007 14:22 Das VI Unflatten From String macht nichts anderes, als den String am Eingang so zu interpretieren, wie du es im Typ angegeben hast. Wenn du sagst, du empfängst ein Paket mit 8 Bytes und sagst das sollen 4 X Unsigned Word sein, dann macht das VI aus dem String 4 Integers und wenn es mal nicht klappt, dan gibt das VI eine Fehlermeldung raus. Gruss, Eugen Ach ja, der Typ ist übrigens ein Cluster mit vier Unsigned Words, wie du es im ersten Post gesagt hast. Die Konvertierung macht übrigens jeder Base Converter und sogar der Windows Calculator auch. Datenformat von Visa umwandeln - Y-P - 25.01.2007 14:44 Mal eine Verständnisfrage: 06A4 im Hex-Display ergibt aber im Normal-Display nicht 1700, sondern zwei seltsame Zeichen. 1700 (ASCII) entspricht doch 3137 3030 (hex). Habe ich da was falsch verstanden? Gruß Markus Datenformat von Visa umwandeln - eg - 25.01.2007 14:50 ' schrieb:Mal eine Verständnisfrage: Eine Frage mal an alle: weiss jemand was eine ASCII-Tabelle ist? 0x30 ist eine ASCII 0 0x31 ist eine ASCII 1 ... 0x39 ist eine ASCII 9 Das ist nur die am meisten verbretete Interpretation. Es gibt noch andere, wie Unicode u.s.w. Gruss, Eugen Datenformat von Visa umwandeln - Achim - 25.01.2007 14:52 Im "Hex-Display" wird nur der ASCII-Code der dargestellten Zeichen (Buchstaben etc.) dargestellt (z.B. A=41 ASCII, 10="1"+"0" = 31ASCII + 30 ASCII), dass hat nix mit dem wirklichen Zahlenwert zu tun! Das ist nur ne Darstellungssache! Wenn du im FP die Anzeige umstellst, ändert sich ja im BD das Datenformat nicht... EDIT: Mist, wieder zu spät... http://de.wikipedia.org/wiki/ASCII-Tabelle Datenformat von Visa umwandeln - Silence - 25.01.2007 15:03 also ich sende in HEX. Je 4 Zeichen Hex Wert pro "Zahl" von denen wird jede "zahl" in je 8Bit Schritten übertragen. Das heißt je 1Byte = 1 Zeichen. Aus dem Wert dieses Zeichens oder zweier macht er dann ein ASCII Zeichen nach der Tabelle... Noch mal zum umwandeln. also ich habe folgendes probiert und mal gleich mit angezeigt, was rein geht.. ich habe eine Array angeschlossen und als Typ eine Zahl bzw Zeich versucht reinzuziehen aber es klappt nicht. siehe anhang. (15 ist der Eingang von String nach Data) Datenformat von Visa umwandeln - Y-P - 25.01.2007 15:15 OK. Klingt logisch. Er hat also seine Zeichen erhalten, als Hex dargestellt (weil als ASCII nur 4 Quadrate erscheinen) und wollte diese Zahlen in Dezimalwerte (Integer) umwandeln? Ist es aber nicht auch oft so, dass viele Geräte die Zahlen schon "richtig" (als Integer) zurückschicken (z.B. im Hex-Display 3438, also im ASCII-Display 48)? Das hat mich etwas verwirrt. Gruß Markus ' schrieb:Im "Hex-Display" wird nur der ASCII-Code der dargestellten Zeichen (Buchstaben etc.) dargestellt (z.B. A=41 ASCII, 10="1"+"0" = 31ASCII + 30 ASCII), dass hat nix mit dem wirklichen Zahlenwert zu tun! Das ist nur ne Darstellungssache! Wenn du im FP die Anzeige umstellst, ändert sich ja im BD das Datenformat nicht... |