VISA-Fehler beim ersten Starten

VISA, TCP/IP, CAN und ähnliche Protokolle
Ответить
Maddin
junior
junior
Сообщения: 57
Зарегистрирован: 21 авг 2008, 13:22
Версия LabVIEW: 8.5
Контактная информация:

VISA-Fehler beim ersten Starten

Сообщение Maddin »

Hallo zusammen,

Ich habe ein Problem mit VISA: Bei ersten Starten des Programms erhalte ich folgende Fehlermeldung:
Visa fehler.JPG
Visa fehler.JPG (19.96 КБ) 4841 просмотр
Wenn ich das Vi danach öffne kommt dieser Fehler nicht mehr --> er erscheint nur wenn ich Labview komplett beende und dann das Programm neu starte. Wenn ich im Programm nochmal auf dieses vi zugreife funktioniert alles. (Der Fehler erscheint beim ersten benutzen eines Vi's in meinem Programm in dem ich über VISA Daten einlese. Welches Vi ich da nehme ist egal)
Gestartet wird das VISA in den VI's so:
Visa start.JPG
und beendet so:
Visa ende.JPG
Woran liegt das, dass ich diese Fehlermeldung nur beim ersten starten kriege? (Hab schon die 50ms wartezeit zwischen öffnen und lesen eingebaut, aber der fehler kommt trotzdem)
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: VISA-Fehler beim ersten Starten

Сообщение Eugen Graf »

Woran es liegt kann ich nicht sagen. Aber du kannst zuerst schauen wie viele Zeichen im Port sind und dann an das VISA Read.VI diese Zahl übergeben.

Wie sehen die Daten aus, die du lesen willst?
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: VISA-Fehler beim ersten Starten

Сообщение Eugen Graf »

Ach so, ne ich glaube, ich weiss warum es passiert.

Guck:
- deine serielle Schnittstelle hat einen physikalischen Puffer (normalerweise 256 Bytes)
- wenn du die Schnittstelle öffnest (VISA Config) weiss dein PC dass du es gemacht hast und fängt an die ankommenden Daten in diesem Puffer zu sammeln
- irgendwann wird dein Puffer überlaufen, ist ja klar
- aber nur dann wenn du diesen puffer nicht ausliest (mit VISA read)

Also die 50 ms Pause zwischen dem Konfigurieren und Lesen ist viel zu lange. In dieser Zeit wird dein Puffer schon überlaufen.

Nur meine Vermutungen, aber logisch doch?
Maddin
junior
junior
Сообщения: 57
Зарегистрирован: 21 авг 2008, 13:22
Версия LabVIEW: 8.5
Контактная информация:

Re: VISA-Fehler beim ersten Starten

Сообщение Maddin »

Eigentlich klingt deine Vermutung schon gut, aber wie kann man dann erklären, dass nur beim ersten mal starten die Fehlermeldung kommt?
Wenn ich das Vi danach nochmal aufrufe klappt das ja einwandfrei (trotz der 50 ms)

P.S hab die Sequenz mit den 50 ms komplett entfernt und es scheint zu funktionieren :D
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: VISA-Fehler beim ersten Starten

Сообщение Eugen Graf »

Na, siehst du :clap:

Am besten arbeitest du mit Timeouts, nicht mit Wartezeiten. Es gibt einen Unterschied dazwischen. Versuche diesen Unterschied gut zu verstehen, dann wird alles klappen.

Gruß, eg
Maddin
junior
junior
Сообщения: 57
Зарегистрирован: 21 авг 2008, 13:22
Версия LabVIEW: 8.5
Контактная информация:

Re: VISA-Fehler beim ersten Starten

Сообщение Maddin »

Bei einem Timeout wird doch das Programm (bzw. die Funktion) abgebrochen, d.h. zur Ablaufsteuerung ist das nicht so gut geeignet. (bzw. wenn man nur warten will ist eine wartezeit besser)
In diesem Fall hab ich die 50 ms Wartezeit eingefügt, weil ich damit sicherstellen wollte, dass auch wirklich Messdaten zur Verfügung stehen. Aber ich merk grad selbst dass da ein Timeout mehr Sinn macht, d.h wenn nach der bestimmten Zeit keine Daten zur Verfügung stehen bricht ein Timeout automatisch ab. Bei einer Wartezeit ist das egal weil die immer die eingestellte Zeit abwartet und danach einfach weiter macht (wenn ich das jetzt richtig verstanden habe) :super:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Kommunikation mit Geräten»