Byte über die serielle Schnittstelle senden - 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: Byte über die serielle Schnittstelle senden (/Thread-Byte-ueber-die-serielle-Schnittstelle-senden) |
Byte über die serielle Schnittstelle senden - ThomasB - 19.03.2007 16:15 Hallo, kann ich über die serielle schnittstelle in LabVIEW nur Strings bzw. AsciiZeichen senden? Ich habe noch keine Möglichkeite gefunden, ein Byte -Zahl zwischen 0 und 255- eben so wie sie ist zu senden und dann eben gleich binär auszuwerten. Mir scheint, man kann nur einen String bzw. ein ASCII-Zeichen (als Byte) senden? Gruß Thomas Byte über die serielle Schnittstelle senden - Y-P - 19.03.2007 16:22 Dein String, bzw. ASCII-Zeichen wird auch binär geschickt. Was genau dahinter steckt, siehst Du, wenn Du bei Deinem String-Eingabeelement einen Rechtsklick machst und HEX-Display auswählst. Da kannst Du dann Hexwerte eingeben. In Deinem Fall 0 - FF (255). Gruß Markus Byte über die serielle Schnittstelle senden - IchSelbst - 19.03.2007 18:53 ' schrieb:Mir scheint, man kann nur einen String bzw. ein ASCII-Zeichen (als Byte) senden?Nunja, du kannst mit "Flatten to String" quasi jedes beliebiege Datum in einen String wandeln und dann eben dieses String über VISA senden. (Strings zu senden ist eben praktisch, auch wegen der Überwachung, siehe Post von Markus.) Also: Siehe Funktion "Flatten to String". Hast du mal probiert eine Zahl direkt an das VISA-VI anzuschließen? Das sollte eigentlich gehen. Geht das nicht? Byte über die serielle Schnittstelle senden - ThomasB - 20.03.2007 09:33 ...ja, jetz hab ich es. Was ich meinte war 'Zahl nach Hexadezimal-String'. So kann ich eine vorzeichenlose Zahl als Eingabe nehmen und in einen hexadezimalen String wandeln und dann ganz normal als Byte über die Leitung schicken, so wie es Markus schon angedeutet hatte. Byte über die serielle Schnittstelle senden - ThomasB - 20.03.2007 11:26 ...das war zu schnell gefreut, dieses 'Zahl nach HexadezimalString' konvertiert mir wieder jede Ziffer einzeln, so dass aus 11 dezimal zwei StringBytes werden. Mri scheint Byte-Array-nach-String wäre besser, es verlangt allerdings ein Bytearray, auch wenn aus meiner Sicht eine Zahla auch schon ein einelementiges Array darstellt, funktioniert es nicht... Ich seh' gerade, ich kann noch ein 'Array erstellen' zwischenschieben und dann geht's. Ein wenig unschön (weil ich ja nur ein Element habe), vielleicht weiß jemand noch etwas? Thomas Byte über die serielle Schnittstelle senden - eg - 20.03.2007 11:39 ' schrieb:...das war zu schnell gefreut, dieses 'Zahl nach HexadezimalString' konvertiert mir wieder jede Ziffer einzeln, so dass aus 11 dezimal zwei StringBytes werden. Mri scheint Byte-Array-nach-String wäre besser, es verlangt allerdings ein Bytearray, auch wenn aus meiner Sicht eine Zahla auch schon ein einelementiges Array darstellt, funktioniert es nicht... Nicht schon wieder, die gleiche Disskussion, wie immer: Darstellung ASCII und Binär. http://www.LabVIEWforum.de/index.php...ost&p=21453 Eugen P.S. Zahl nach HEX-String macht aus 11 dezimal eine 3131 hexadezimal, weil das ZEICHEN 1 in der ASCII Tabelle 31 HEX bedeutet. Wie ich es verstanden habe, willst du deine Zahl direkt so abschicken wie es ist ohne nach ASCII-Zeichen umzuwandeln. Dann kannst du mit Flatten To String oder Type Cast die Zahl in ein Byte-Stream umwandeln und abschicken. Bytestreams werden in LV (und auch anderen Sprachen) als String, also Zeichenkette "dargestellt". Es soll dich nicht irritieren, es ist ein Byte-Array, nur rosa dargestellt. Byte über die serielle Schnittstelle senden - Y-P - 20.03.2007 13:10 Das schreit doch nach einem Tutorial, so wie Du es auch schon mal vorgeschlagen hast. Gruß Markus ' schrieb:Nicht schon wieder, die gleiche Disskussion, wie immer: Byte über die serielle Schnittstelle senden - danielsan - 22.03.2007 16:15 @Thomas Ein Array ist doch praktisch. So kann man dann auch alle Bytes auf einmal senden. Ich mache das so: [attachment=5851] Byte über die serielle Schnittstelle senden - danielsan - 11.04.2007 18:09 Auf Wunsch nochmal ein Screenshot und das VI für LV 7.1 [attachment=6103] [attachment=6104] |