LabVIEWForum.de
Wartezeit zwischen 2x Visa Write - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Wartezeit zwischen 2x Visa Write (/Thread-Wartezeit-zwischen-2x-Visa-Write)



Wartezeit zwischen 2x Visa Write - Niels12 - 16.04.2009 13:44

Ich nutze in meinem Programm gleich zwei mal direkt hintereinander den Visa write Befehl. Sollte man zwischen den beiden Befehlen eine Wartezeit einbauen oder ist das im Allgemeinen egal? KÖnnen Geräte im Allgemeinen auch gleich zwei Commands direkt hintereinander verarbeiten?


Wartezeit zwischen 2x Visa Write - Y-P - 16.04.2009 15:27

1. Ich würde auf jeden Fall eine Wartezeit einbauen.
2. Das ist ja Sinn und Zweck, dass man mehrere Befehle hintereinander an ein Gerät schickt, sonst wäre es ja ein "Einweg-Gerät", eine Einstellung und dann ab auf den Schrott. Wink

Gruß Markus

' schrieb:Ich nutze in meinem Programm gleich zwei mal direkt hintereinander den Visa write Befehl. Sollte man zwischen den beiden Befehlen eine Wartezeit einbauen oder ist das im Allgemeinen egal? KÖnnen Geräte im Allgemeinen auch gleich zwei Commands direkt hintereinander verarbeiten?



Wartezeit zwischen 2x Visa Write - TSC - 16.04.2009 15:44

' schrieb:...
2. Das ist ja Sinn und Zweck, dass man mehrere Befehle hintereinander an ein Gerät schickt, sonst wäre es ja ein "Einweg-Gerät", eine Einstellung und dann ab auf den Schrott. Wink
...

Ich denke es ging darum, ob man zwei Befehle ohne Pause direkt aufeinanderfolgend an ein Gerät schicken kann. Üblicherweise wäre der Ablauf:

Befehl senden, Antwort abrufen usw.

Würde man zwei Befehle hintereinander senden, würde die erste Antwort wohl überschrieben werden (es gibt natürlich auch Puffer). Ist einem die Antwort egal, kann man natürlich auf das Abrufen verzichten. Wie schnell ein Gerät wieder aufnahmefähig für neue Befehle ist, ist Hardwareabhängig. Auch hier kann es sein, dass es einen Befehlspuffer gibt.

LG
Torsten


Wartezeit zwischen 2x Visa Write - Niels12 - 17.04.2009 07:49

Vielen Dank für eure Antworten. Hat mir weiter geholfen.


Wartezeit zwischen 2x Visa Write - Lucki - 17.04.2009 08:48

' schrieb:Würde man zwei Befehle hintereinander senden, würde die erste Antwort wohl überschrieben werden (es gibt natürlich auch Puffer).

Als meines Erachtesn ist die Antwort in jedem Fall - ob mit oder ihne Puffer - falsch.

Hier im speziellen Fall, falls konfigurationsmäßig nichts dagegen unternommen wurde, gibt es immer einen Visa Schreibpuffer. Die Operation VISA write fügt dem Buffer etwas hinzu, die Operation braucht praktisch keine Zeit, die vergleichweise langsame Datenübertragung wird anschließend im Hintergrund abgewickelt. Solange nicht die Gefahr eines Bufferüberlaufs besteht, ist gegen ein mehrfaches VISA Write ohne Wartezeit überhaupt nichts einzuwenden. (Einwenden könnte man allerdings, daß es keinen Sinn macht: Warum nicht den Datenhinhalt in eine einzige Zeichenkette packen und mit einem einzigen Write senden?)

Bei Operationen ohne Buffer, ob VISA oder nicht, (- hier bei VISA aber ein nur theoretischer Fall -) würde ich immer davon ausgehen, daß die Operation selbst eine Wartezeit bis zur Beendigung der Operation eingebaut hat, so daß auch hier ein zusätzliches Wait (wenn auch aus ganz anderen Gründen) überflüssig ist.

Ewas anderes ist es natürlich, wenn wie üblich WISA write und read abwechend ausgeführt werden, also die Antwort der Gegenstelle empfangen werden soll. Hier kann ein wait dazwischen angebracht sein, aber auch nicht unbedingt. (Wenn z.B VISA read bis Terminal Character wartet, dann ist Wait überflüssig)

Man kann hier im Forum beobachten, das bei Neulingen "Wait"-Fehler mit am häufigsten sind: Zum einen Fehlen von Waits in Schleifen, zum anderen überfüssige oder schädliche Waits bei read oder Write- Datenoperationen. Also bitte hier nicht der Verwirrung durch falsche Expertenauskünfte noch größer machen..