LabVIEWForum.de - Line Feed in Visa?

LabVIEWForum.de

Normale Version: Line Feed in Visa?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich versuche über einen virtuellen COM- Port (USB) mit VISA Daten auszutauschen. Das funktioniert auch prima solange ich kein Byte mit dem Inhalt "10" übertrage.
Wenn eine 10 im Datenstrom vorkommt, wird die Zahlenreihe unterbrochen. Um die restlichen Werte zu bekommen, muss ich nochmals "READ" drücken.
Das Problem tritt nur bei der 10 auf. Alle anderen Zahlen (0-255) funktionieren.
Ich habe jetzt herrausgefunden das die 10 in ASII als LF (Line Feed) definiert ist. Ich vermute das es damit irgendwie zusammenhängt. Hat jemand eine Idee wie ich das Problem lösen kann? Es muss doch möglich sein eine 10 zu übertragen.

Vielen Dank und Gruß

JOBL

[attachment=5052]
Du musst "Enable Terminaton Char" ausschalten. Benutze dazu das vi "VISA Configure Serial Port" in "Instrument I/O" | "Serial" statt "VISA Open" wie jetzt.

Gruß

VDB
Hallo VDB,

tausend Dank für die Info, es funktioniert jetzt wie es soll, und meine Nerven können sich jetzt wieder entspannen!

Gruß

JOBL
Hallo,

zuerst mal ein paar gut gemeinte Tips. Wink

1. Mache unter "Tools"->"Options"->"Block Diagram"->"Place Front Panel Terminals as Icons" das Häkchen aus der Checkbox raus. Dann sind Deine Elemente wesentlich kleiner. Die bisher bestehenden großen Icons kriegst Du mit einem Rechtsklick und dann auf "View as Icon" weg.

2. Es gibt auch eine Forschleife, mit der Du ein Array auslesen kannst. Dann musst Du nicht 63 "Index Array" reinbauen.

3. Ich verstehe auch nicht, wieso Du die Werte in Integer eingibst und dann in Strings wandelst. Gib die Zahl doch gleich in einen String ein.
Wenn Du die Zahl 10 auf diese Weise (also mit "Flatten to String" oder "Typecast") in einen String wandelst dann kriegst Du wirklich in der HEX-Ansicht des Stringelements 0A(hex), also ein Linefeed.
Du MUSST hier ein "Format into String" verwenden. Dann kriegst Du 3130(hex), also Zeichen 1 und Zeichen 0.

Gruß Markus
Hallo Markus,

danke für die Tipps.
Ich bin noch ein Anfänger und mache deshalb vieles viel zu kompliziert.
Deshalb bin ich für Verbesserungen und Erleichterungen sehr dankbar.Rolleyes
Gruß

JOBL
Hy

habe das 0x0A einfach auf einen anderen Wert gesetzt(233)! geht das auch oder bekomme ich dadurch neue Probleme?
Es kommt halt drauf an, was Du senden willst. Wenn Dir die Sendedaten egal sind, dann kriegst Du keine neuen Probleme.

Gruß Markus

' schrieb:Hy

habe das 0x0A einfach auf einen anderen Wert gesetzt(233)! geht das auch oder bekomme ich dadurch neue Probleme?
nein hab nur den Zahlenbereich von 0h00 bis 0h64. Leider will mein ganzes Konzept noch nicht so wie ich will. siehe neuer Thread!
Referenz-URLs