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 

Abrufen der VISA Schnittstelle



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!

31.08.2007, 07:34
Beitrag #1

saibotobias Offline
LVF-Grünschnabel
*


Beiträge: 23
Registriert seit: Mar 2007

8.2.1
2007
kA

86655
Deutschland
Abrufen der VISA Schnittstelle
Hallo zusammen,

bisher habe ich bei meinen Anwendung stets auf die VISA Schnittstelle geschrieben und nach einer definierten Zeit wieder gelesen. Bei der aktuellen Anwendung ist die Dauer bis zur Anwort unbestimmt. Daher muss ich nur einlesen wenn am VISA Port auch wirklich Daten ankommen. Ich hab zwar schon eine mögliche Lösung.

Funktioniert das entsprechend meinen Bild?
Gibt es verbesserungsvorschläge?

Danke Gruß Tobi


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
31.08.2007, 08:41 (Dieser Beitrag wurde zuletzt bearbeitet: 31.08.2007 08:43 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.303
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Abrufen der VISA Schnittstelle
' schrieb:Funktioniert das entsprechend meinen Bild?
Gibt es verbesserungsvorschläge?

Funktioniert zwar aber Du solltest da sicher noch etwas mehr drum herum tun. So wie es jetzt ist könnte der Bytes at Serial Port Aufruf genau in dem Moment passieren, wenn ein Datenstring reintrudelt. Du liest dann nur einen Teil des Strings, der dann wohl ein bisserl undeutlich ist, und der Rest bleibt im Buffer. VISA Clear sendet ein Clear Command und löscht die Buffer aber nicht. Das Clear Command für serielle Instrumente ist einfach ein *CLR command das als String gesendet wird. Funktioniert aber so eben nur für Instrumente die dem SCPI Standard für Messinstrumente entsprechen. Um den Buffer zu löschen müsstest Du schon VISA Flush I/O Buffer gebrauchen.

Wie das am Besten geht, hängt von Deinem Instrument ab. Entweder sendet das einen konstant langen String (selten) oder hängt am Ende einen bestimmten Character an (sehr oft etwa einen Zeilenumbruch).

Im ersten Fall liest Du eben nicht die am Port befindlichen Bytes sondern die Anzahl die eine Antwort hat, im zweiten Fall schaltest Du den Termination Character ein (default für den seriellen Port auf 0xA "LineFeed" gesetzt) und liest eine Anzahl Bytes die sicher grösser ist als der längste String den Du erwartest.

VISA Read terminiert immer auf einen der folgenden Ereignisse:

- communication error (parity, etc)
- Anzahl gefragte Bytes empfangen
- Termination Character detektiert (wenn enabled)
- Timeout abgelaufen

Also wartet Deine VISA Read maximal das eingestellte Timeout wenn das Gerät plötzlich zu spinnen anfangt, normalerweise aber eben viel weniger lang.

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Serielle Schnittstelle: Unterschied zwischen FIFO-Buffer und VISA-Buffer Exle 4 6.266 23.01.2019 08:07
Letzter Beitrag: Ratio
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 6.739 19.07.2017 13:04
Letzter Beitrag: konne
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 13.352 10.11.2013 12:16
Letzter Beitrag: Y-P
  VISA serielle Schnittstelle byteweise schreiben BRunner77 1 3.760 22.05.2012 20:27
Letzter Beitrag: GerdW
  Visa Schnittstelle zu langsam? nup0815 4 5.792 21.03.2011 11:31
Letzter Beitrag: nup0815
  Visa schreiben über serielle und GPIB Schnittstelle Matthias22 14 12.753 22.11.2010 20:06
Letzter Beitrag: jg

Gehe zu: