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 

COM READ (VISA) für unbekannte Anzahl an Zeichen



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!

28.07.2006, 12:54
Beitrag #1

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
Hallo zusammen.

Ich habe gerade einen COM1 - Partner für meinen PC bekommen, welcher mich leider mit etwas Programmieraufwand belästigt.

Wenn ich Daten von ihm empfange, weiß ich vorher NIE, wieviele es sein werden... Ich kenne nur das terminierende Zeichen (z.B. <CR>).

Um dieses Problem nun aus dem Weg zu räumen, habe ich mir überlegt, vom COM mit READ immer nur ein Zeichen zu lesen (while-Schleife) und mit dem terminierenden Zeichen zu vergleichen. Wenn sie übereinstimmen, breche ich die while-Schleife ab, sonst wieder ein Zeichen lesen.

Das ist doch blöd.

Habt Ihr da vielleicht Ideen?

Gruß!

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.07.2006, 19:35
Beitrag #2

Lektor Offline
LVF-Grünschnabel
*


Beiträge: 12
Registriert seit: Jul 2006

8.0 Trial
2005
kA


Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
' schrieb:Wenn ich Daten von ihm empfange, weiß ich vorher NIE, wieviele es sein werden... Ich kenne nur das terminierende Zeichen (z.B. <CR>).
Hallo,
jetzt bin ich endlich freigeschaltet und kann dir auch antworten.

Wenn ich dein Problem richtig deute, dann ist es ein ganz einfaches. Du bekommst über die Serielle Daten von unbekannter Länge und willst die mit LV einlesen.
Ich benutze dazu den Visa Serial. ( Instrument I/O / Serial /Visa Configure Serial Port)
Bei dem kannst du auch den Termination Char angeben und das sollte dein Problem beheben.

Hier nochmal ein Beispielprogramm von mir, welches ich vor kurzem benötigt habe. Kannst ja deinen Bedürfnissen anpassen.



Sonstige .vi  Serial_Port.vi (Größe: 19,25 KB / Downloads: 297)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2006, 17:10 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2006 17:10 von Mr.T.)
Beitrag #3

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
Zuerst wollte ich schreiben, dass das wohl nicht die Lösung ist, da das Programm ja eben doch ein Numbers of Bytes to Read braucht...

Wie peinlich - da konfiguriere ich auch immer mit dem VI meine Ports - und frage mich auch noch, wat das middem Abschlußzeichen soll - und dabei ist das die Lösung...

Danke für den heissen Tipp - jetzt sehe ich den Wald wieder...

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2006, 08:06
Beitrag #4

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
Kommando zurück!

Wenn ich das normale READ benutze muß ich die Zeichenanzahl angeben! Also ist das wohl nicht, was Du gemeint hast - oder?

Funktioniert Dein Tipp evtl. nur via VISA - Events?


Hat sonst noch jemand Ideen?

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2006, 08:47
Beitrag #5

diplNisse Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 97
Registriert seit: Apr 2006

2010
2006
EN


Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
Hallo!

Ja, du musst zwar eine Zahl eingeben, aber du kannst auch einfach 100 da reinschreiben. Die Leseroutine bricht nach dem Term-Char ab:
Siehe LV Help: termination char calls for termination of the read operation. The read operation terminates when the termination char is read from the serial device.
Danach solltest du vielleicht die VISA Flush I/O Buffer funktion aufrufen, um Datenmüll aus sem Speicher zu entfernen. Muss aber nicht unbedingt.

Das mit dem Term Chat funktioniert definitiv!

Nisse
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.08.2006, 09:36
Beitrag #6

Mr.T Offline
LVF-SeniorMod


Beiträge: 1.007
Registriert seit: Jun 2005

2009
2005
kA

88400
Deutschland
COM READ (VISA) für unbekannte Anzahl an Zeichen
Stimmt geht! Danke!

Gibt es eine Möglichkeit, herauszufinden (ohne Timeouts) ob neue Daten am Com angekommen sind?

Mit einem freundlichen Wort und etwas Gewalt erreicht man viel mehr als nur mit einem freundlichen Wort. [...Marcus zu Lennier, B5]
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Nicht Darstellbare Zeichen erkennen Philipp_O 2 3.533 21.11.2022 07:39
Letzter Beitrag: Philipp_O
  GS1 Trennzeichen - ASCII Zeichen Andi_89 1 3.708 16.07.2018 15:57
Letzter Beitrag: GerdW
  Was bedeutet dieses Zeichen? dulfried 0 3.279 03.11.2017 14:48
Letzter Beitrag: dulfried
  Unbekannte Anzahl an Files einlesen. labview2013 2 3.247 20.02.2013 17:16
Letzter Beitrag: GerdW
  Unbekannte in Gleichungen lösen bluejay 4 5.495 18.05.2012 15:26
Letzter Beitrag: BNT
  nur alphanumerische Zeichen zulassen dimitri84 5 7.754 12.03.2012 20:23
Letzter Beitrag: jg

Gehe zu: