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 Open & Close References



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!

21.11.2007, 14:51
Beitrag #1

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
VISA Open & Close References
Hi

Ich hatte bisher noch nie mit VISA zu tun - heute habe ich Premiere.

Ich habe mich ein bisschen über das Resourcen-Management gewundert. So gibt es zwar VISA Open, aber in der Hilfe finde ich, dass VISA Write selbst eine Session öffnet. Tatsächlich funktioniert Write auch ohne Open. Nur wann brauche ich da das Open überhaupt?
Und wann genau muss ich nun Close ausführen? Habe rausgefunden, dass mehrere Sessions offen sein können. Daher sieht es für mich z.Z. so aus, als ob jeder Write- oder Read-Befehl eine Session öffnet, die sofort danach wieder geschlossen werden muss, um nicht in einem Chaos von offenen Sessions zu enden. Oder nutzt ein Write-/ Read-Befehl offene Sessions und öffnet nur eine neue, wenn keine andere verfügbar ist? Dann wäre ja nur ein Close ganz am Ende erforderlich...
Wozu brauche ich überhaupt Sessions? Oder woher weiß Close, welche Session geschlossen werden soll, wenn ihm doch nur die Schnittstelle (z.B. COM1) übergeben wird?

Wie ihr seht, bin ich gerade ziemlich verwirrt, da das Handling der Resourcen wesentlich anders als bei anderen Hardware-Zugriffen (z.B. DAQ, CAN, ...) zu sein scheint. Kann jemand weiterhelfen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.11.2007, 13:29
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Open & Close References
' schrieb:Hi

Ich hatte bisher noch nie mit VISA zu tun - heute habe ich Premiere.

Ich habe mich ein bisschen über das Resourcen-Management gewundert. So gibt es zwar VISA Open, aber in der Hilfe finde ich, dass VISA Write selbst eine Session öffnet. Tatsächlich funktioniert Write auch ohne Open. Nur wann brauche ich da das Open überhaupt?
Und wann genau muss ich nun Close ausführen? Habe rausgefunden, dass mehrere Sessions offen sein können. Daher sieht es für mich z.Z. so aus, als ob jeder Write- oder Read-Befehl eine Session öffnet, die sofort danach wieder geschlossen werden muss, um nicht in einem Chaos von offenen Sessions zu enden. Oder nutzt ein Write-/ Read-Befehl offene Sessions und öffnet nur eine neue, wenn keine andere verfügbar ist? Dann wäre ja nur ein Close ganz am Ende erforderlich...
Wozu brauche ich überhaupt Sessions? Oder woher weiß Close, welche Session geschlossen werden soll, wenn ihm doch nur die Schnittstelle (z.B. COM1) übergeben wird?

Wie ihr seht, bin ich gerade ziemlich verwirrt, da das Handling der Resourcen wesentlich anders als bei anderen Hardware-Zugriffen (z.B. DAQ, CAN, ...) zu sein scheint. Kann jemand weiterhelfen?

Open ist tatsächlich redundant, schadet aber auch nicht. Close ist dann nötig wenn Du den Port wieder freimachen willst um in anderen Applikationen dann Deiner LabVIEW Applikation zur Verfügung zu stehen.

Neue Ports werden nicht bei jedem Read angelegt. Wenn Du ein Open oder VISA Read/Write ausführst bekommst Du auch eine VISA resource out. Diese führst Du zum folgenden VI und das erkennt, dass es eine bereits geöffnete Resource ist und verwendet diese, statt einer neuen zu öffnen.

Das Handling ist nicht so gravierend anders in neueren LabVIEW Versionen. DAQ, IMAQ usw. verwenden in den neusten LabVIEW Versionen dasselbe Konzept, auch wenn die Implementation auf interner LabVIEW Ebene durchaus unterschiedlich ist.

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
22.11.2007, 13:55
Beitrag #3

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
VISA Open & Close References
Ahja, ok. Jetzt bin ich um einiges schlauer.

Also brauche ich Close wirklich nur, wenn ich den Port für andere Programme frei machen will oder mein Programm beende? Sehr gut!

Weiterhin verwende ich nicht die VISA resource outs, weil ich den Portnamen in einem Config String habe. Dieser wird dann an jeder Stelle einfach übergeben, wo die Adresse gebraucht wird. Ich hoffe mal, dass dann Read/ Write trotzdem noch bereits geöffnete Resourcen erkennen!?

Danke, Rolf!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2007, 14:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2007 14:51 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Open & Close References
' schrieb:Ahja, ok. Jetzt bin ich um einiges schlauer.

Also brauche ich Close wirklich nur, wenn ich den Port für andere Programme frei machen will oder mein Programm beende? Sehr gut!

Weiterhin verwende ich nicht die VISA resource outs, weil ich den Portnamen in einem Config String habe. Dieser wird dann an jeder Stelle einfach übergeben, wo die Adresse gebraucht wird. Ich hoffe mal, dass dann Read/ Write trotzdem noch bereits geöffnete Resourcen erkennen!?

Hmm kannst es ja testen, aber sauber programmieren ist das eigentlich nicht. Ich mache das immer so dass ich irgendwo ein explizites "XXXXX Initialize" habe, das den Port öffnet und alle nötigen Initilialisierungen durchführt (Identifikationscheck dass man mit dem richtigen Instrument plaudert, Reset, allgemeine Parametereinstellungen usw.) und die daraus kommenden VISA Resource in einem Schieberegister oder einer intelligenten globalen Variable speichere und diesen danach immer verwende. Hat mir noch nie Windeier gelegt.

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
22.11.2007, 17:13
Beitrag #5

monoceros84 Offline
LVF-Stammgast
***


Beiträge: 445
Registriert seit: Oct 2006

2011
2006
EN


Deutschland
VISA Open & Close References
Ok danke. Das klingt gut. Werde es wohl auch so machen...

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
  VISA open/close CPU Auslastung Scuba 4 4.672 25.07.2014 10:39
Letzter Beitrag: cb
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 14.170 10.11.2013 12:16
Letzter Beitrag: Y-P
  Visa Open löscht Eingangspuffer Marcusius 8 6.442 10.07.2013 10:33
Letzter Beitrag: Marcusius
  Visa open & close Labneuling 6 5.834 11.01.2011 12:44
Letzter Beitrag: esz_team
  VISA Close geht teilweise nicht Hughes 4 8.807 05.01.2011 15:04
Letzter Beitrag: Hughes
  VISA open und VISA close TSC 12 14.099 24.07.2009 08:44
Letzter Beitrag: RoLe

Gehe zu: