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 

VISA Read - Byte Count Wert



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!

12.05.2009, 07:25 (Dieser Beitrag wurde zuletzt bearbeitet: 12.05.2009 07:28 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Read - Byte Count Wert
' schrieb:Hallo LabVIEWforumianer! Ich versuche zur Zeit einen Spektrumanalyser via GPIB bzw. mittels VISA auszulesen. Nun ist es aber so, dass jeder VISA-Read gerne einen Byte Count Wert hätte. Die Frage ist "simpel" wie komme ich an diesen? Folgendes habe ich schon probiert:
[attachment=46221:ByteCount.png]

Im ersten Versuch habe ich die Property Node: Bytes at Port versucht zu verwenden, leider löst diese einen Fehler aus, bzw. für das GPIB Interface ist diese Node nicht definiert/nicht unterstützt.
Im zweiten Versuch habe ich einfach einen Wert gesetzt, dieser muss natürlich lang genug sein, sonst werden die Strings nicht vollständig ausgelesen. Dies ist bei einfachen Befehlen noch nicht problematisch, allerdings geht es letztlich um das Auslesen eines Kurvenverlaufs mit variierender Punktezahl (diese kann ich einfach auslesen bzw. errechnen (die Punktezahl). Wie kann ich nun vorgehen um die genaue Anzahl der Bytes herauszufinden, oder bekomme ich ein "Ende"-Zeichen, so dass ich nach x-Iterationen des Read in einer Schleife, den Read abbrechen kann?

Noch eine weitere Frage:
Ich werde öfter im Program VISA-Read und -Write benutzen müssen in verschiedenen Programmbereichen:
a) Öffne ich in jedem Programmbereich via VISA-Open und Close neu?
b) Schleppe ich die Wires für Resource und Error durch das ganze Programm?
Irgendwie hört sich beides nicht so top anSmile, wie macht mans richtig?
Nochmal anders gefragt: Sollte ich einen Read und Write in ein SubVI kapseln, muss der Nutzer ja VISA-Open und Close wieder herumbastelen, d.h. das SubVI ist nicht ohne weiteres eigenständig lauffähig.

Message Termination ist normalerweise das Zauberwort. Bei GPIB teilt das Gerät (ausser uralt Dynosuariers die noch nie was von IEEE 488.2 gehört haben) mittles Handshake mit wenn es das letzte Byte verschickt. Dann braucht man mit VISA nur noch einen Byte Count anzugeben der minimal so gross ist wie die längste erwartete Message. VISA Read bricht dann ab wenn:
1) dieser EOI (End of Information) gesehen wurde
2) die verlangten Bytes eingetroffen sind
3) das Timeout abgelaufen ist
4) ein Fehler aufgetreten ist

Bei serial funktioniert das auch und hier verwendet man meist einen Termination Character wie Carriage Return oder Line Feed.

Zu Deinen Fragen:
a) Nein bitte nicht!!!!!!!!!!
b) Ja!!! das ist kein Problem sondern hilft wenn sauber getan um eine eindeutige Abfolge in der Ausführung der Funktionen zu erreichen. LabVIEW ist Dataflow kontrolliert. Das heisst wenn Du mehrere Icons nebeneinander in ein Diagramm legst ohne dass da ein Wire vom einen zum anderen geht, ist die Reihenfolge der Ausführung dieser Funktionen zufällig und auf MultiCore Systemen sogar effektiv parallel. Das haben die meisten Instrumente gar nicht gern wenn man sie nicht in einer klar definierten Reihenfolge ansteuert.

Du schreibst Ja auch noch ein Programm darum, oder? Oder schreibst Du einen Instrumenten Treiber? Dann lese Dich doch mal in die Instrumenten Treiber Guidelines von NI ein. Funktionen in einem Instrumententreiber sind nicht völlig eigenständige VIs. Das wäre viel zu unflexible für eine professionelle Verwendung solcher Treiber.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
VISA Read - Byte Count Wert - rolfk - 12.05.2009 07:25
VISA Read - Byte Count Wert - Y-P - 12.05.2009, 07:57
VISA Read - Byte Count Wert - Lucki - 12.05.2009, 08:32
VISA Read - Byte Count Wert - rolfk - 13.05.2009, 12:13

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  dynamische Byte-Anzahl einer Nachricht Gottimp 6 4.344 23.03.2021 18:15
Letzter Beitrag: GerdW
  VISA Read und Bytes at Port tanka 9 13.273 28.08.2019 08:10
Letzter Beitrag: Lucki
  VISA 1 Wert alle 2 Sekunden floH857 3 4.767 13.02.2017 09:51
Letzter Beitrag: Freddy
  VISA Read Fehler 1073807302 Stefan1101 4 7.228 29.08.2016 10:13
Letzter Beitrag: Stefan1101
  VISA Read mit Keithley 6487 dauert lange jusaca 3 5.220 28.01.2016 11:12
Letzter Beitrag: jusaca
  Problem: Empfangene Byte Anzahl ändert sich MKVH28 7 6.094 26.03.2015 17:39
Letzter Beitrag: Lucki

Gehe zu: