LabVIEWForum.de
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)

Seiten: 1 2 3 4


Datenformat von Visa umwandeln - Silence - 24.01.2007 18:17

Hy

Ich bin leider nach stundenlangem suchen und probieren nicht weitergekommen.

Ich sende von einem Atmel Mega 16 per RS232 je 6 Zahlen (0-65536) an LabVIEW. Die Zahlen sind 16 Bit lange Hex ( unsigned int!).

also zb. 1700 wird als 06A4 gesendet.

aus :
06A4 06A4 06A4 06A4

soll werden:
1700 1700 1700 1700

leider kommt aus VISA:
ASCII Zeichen mit dem Wert von je 1Byte Hex

Das ganze kommt auch an aber leider wandelt er die Werte in ASCII Zeichen um! Ich kann das ganze zwar in einem Anzeigefeld wieder in HEX anzeigen lassen aber nicht weiterverarbeiten!

1. Kann ich die Werte per VISA so aufnehmen, das ich meine Orig. Hex Werte ankommen und die dann in int umrechnen?

2. Wenn nein wie bekomme ich meine Orig. Int Werte aus den ASCII Daten?

Zur Zeit sende ich die Zahlen erstmal per als ASCII von Atmel und werden dann umwandelt und anzeiget aber ist sehr unvorteilhaft, da das umwandeln viel Speicher und Zeit im Mikroprozessor verbraucht...


Datenformat von Visa umwandeln - eg - 24.01.2007 18:35

Probiere mal folgendes.

Gruss, Eugen


Datenformat von Visa umwandeln - Silence - 25.01.2007 08:17

hy

vielen Dank für die schnelle Antwort aber leider kann ich das gelbe Symbol in der mitte nicht finden. Ich gehe davon aus das das ganz rechts ein Cluster und oben eine Tabelle ist. Aber das gute Sysmbol in der mitte kann ich leider nicht finden.


Datenformat von Visa umwandeln - eg - 25.01.2007 10:14

' schrieb:hy

vielen Dank für die schnelle Antwort aber leider kann ich das gelbe Symbol in der mitte nicht finden. Ich gehe davon aus das das ganz rechts ein Cluster und oben eine Tabelle ist. Aber das gute Sysmbol in der mitte kann ich leider nicht finden.

Irgendwo bei Numeric->Data Manipulation-> Unflatten from String

Gruss, Eugen


Datenformat von Visa umwandeln - Silence - 25.01.2007 10:21

Den Baustein kann ich leider immernoch nicht finden. Kann es sein, dass er erst mit 8.0.1 eingeführt wurde?


Datenformat von Visa umwandeln - eg - 25.01.2007 10:43

' schrieb:Den Baustein kann ich leider immernoch nicht finden. Kann es sein, dass er erst mit 8.0.1 eingeführt wurde?


Ja, das stimmt. Dann nimm doch das Type Cast VI. Es gibt einen kleinen Unterschied zwischen diesen zwei VIs. Beim Unflatten from String kannst du noch den Byte Order einstellen (z.B. Intel und Motorolla ordnen die Daten im Speicher, folglich auch im UART unterschiedlich). Das Type Cast wandelt die Daten so um wie die empfangen worden sind, um auf Byte Order Einfluss zu nehmen, benutzt man z.B. Swap Byte VI.

Gruss


Datenformat von Visa umwandeln - eg - 25.01.2007 11:01

Ja, noch was. Wenn es für dich zu schwer ist und weil du nur vier Zahlen übertragen willst, dann ändere dein Protokoll von BINÄR auf ASCII. Einfach im Atmel Controller die sprintf Funktion vor dem Absenden anwenden und <cr><lf> dazuhängen, dann kannst du deine Daten auch mit beliebigem Hyperterminal mithören. Ansonsten musst du dir Gedanken um dein jetziges Protokoll machen, z.B. wie erkennst du das du gerade ein Datenpaket bekommst?

Gruss, Eugen


Datenformat von Visa umwandeln - Silence - 25.01.2007 12:57

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.

Zur Zeit: (habe ich als Bild ascii.jpg angehängt)

17.723_17.235_17.345_13.777 ( der "_" dient nur zu lessbarkeit und fällt weg...). Diesen ASCII String trenne ich dann einfach auf und der Punkt wird weggelassen. Also der Atmel sendet die Daten alle 4s neu. ich lasse immer die gewünschte Anzahl der Zeichen aufnehmen und warte bis nur nächsten Messung...

Habe den Ansatz von dir zu Beginn noch mal getestet da ich auf der Suche nach cast type das vermisste Symbol gefunden hatte.

habe jetzt folgendes Aufgebaut:

Leider ist der Ausgabewert von I32 (wird noch gewndelt in FLieskomma) scheinbar eine Summe der gesamten Eingabe... habs als Bild LV.jpg angehängt.


Datenformat von Visa umwandeln - Y-P - 25.01.2007 13:08

Hallo,

mal was anderes:
Um die Übersichtlichkeit Deines VIs deutlich zu verbessern, würde ich im Blockdiagramm meine Front-Panel-Elemente nicht als Icons darstellen.
Mach doch mal unter "Tools->Options->Block Diagram" das Häkchen bei "Place front panel terminals as icons" weg und übernimm es mit "OK".
Dann wird alles etwas übersichtlicher.... und Infos über die Elemente gehen dadurch für Dich auch keine verloren.
Das war nur ein kleiner Vorschlag meinerseits und keine Kritik. Smile Wenn es Dir so lieber ist, kannst Du es auch gerne so lassen. Wink

Gruß Markus


Datenformat von Visa umwandeln - Achim - 25.01.2007 13:13

Hi,

ein wenig Offtopic, aber:

[attachment=4854]

Warum machst du aus den VIs/Funktionen, die im Bild rot umrandet sind, nicht ein SubVI mit zwei Eingängen? Du würdest dein BD sehr viel übersichtlicher und natürlich auch leichter wartbar machen!

Gruss
Achim

EDIT: @Markus: Gut gebrüllt, Löwe!