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 Schnittstelle sperren/freigeben



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.09.2007, 12:54
Beitrag #1

MWS Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: May 2005

8.2
2000
kA


Schweiz
VISA Schnittstelle sperren/freigeben
Hallo zusammen

Kann mir jemand erklären was genau das von NI zur Verfügung gestelltes VI "VISA schliessen" und "VISA öffnen" genau auf der
Schnittstelle des PC's mache?

Sofenr ja über eine serielle Schnittstelle kommuniziert wird im LabVIEW, wird automatisch die Schnittstelle gesperrt für LabVIEW!
Diese wird dann nach beenden des LabVIEW für andere Programme wieder entsperrt oder besser gesagt freigegeben.

Kann das sperren und freigeben der Schnittstelle auch während des Prozesses im LabVie durchgeführt werden.

Habe Probleme mit der Schnittstelle, da ich zwischendurch im Prozess immer wieder völlig "komisch" Telegramme empfange, die überhaupt
keinen Sinn machen!

Ich wende folgenden Ablauf im LabVIEW an beim senden und empfangen von Daten über die Schnittstelle:

VISA öffnen -> Mit Schnittstelle kommunizieren -> VISA schliessen

Bitte um Feedback

Cheeerzs
MWS
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2007, 13:40
Beitrag #2

Dennis.Moser Offline
Administrator
Administrators

Beiträge: 3.045
Registriert seit: Aug 2004

5.1 : 7.1 : 8.x : 20xx
1997
DE_EN

57589
Deutschland
VISA Schnittstelle sperren/freigeben
hallo,
vom Prinzip her richtig...

öffnen-->lesen->schliessen einmalig, oder kontinuierlich ? (oder öffnen vor schleife--- lesen--- schliessen nach schleife?)

poste mal ein screenshot, oder vi

Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!

BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2007, 15:00
Beitrag #3

MWS Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: May 2005

8.2
2000
kA


Schweiz
VISA Schnittstelle sperren/freigeben
' schrieb:hallo,
vom Prinzip her richtig...

öffnen-->lesen->schliessen einmalig, oder kontinuierlich ? (oder öffnen vor schleife--- lesen--- schliessen nach schleife?)

poste mal ein screenshot, oder vi


Der Ablauf ist genau so wie Du sagtest:

öffnen vor Schleife -----> lesen oder schreiben -----> schliessen nach Schleife

Habe das ganze mit einem Controller gelöst, indem ich die Prozesse auseinander nehme!
Prozess "Open serial", "Close serial", "Write" und "Read"

Cheeerzs
MWS
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2007, 16:14
Beitrag #4

Dennis.Moser Offline
Administrator
Administrators

Beiträge: 3.045
Registriert seit: Aug 2004

5.1 : 7.1 : 8.x : 20xx
1997
DE_EN

57589
Deutschland
VISA Schnittstelle sperren/freigeben
also hört sich erst mal "richtig" an...

wo liegt jetzt genau das problem ? du erhälst auf der schnittstelle irgendwelche anderen zeichen ? was für ein gerät hast du denn angeschlossen ?!
evtl. vi posten ?

Gruß Dennis

Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt!

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!

BC: 14vqy6mgfswpX6z7HLVxk1h3sHAvzE4aZG
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2007, 21:36
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Schnittstelle sperren/freigeben
' schrieb:Hallo zusammen

Kann mir jemand erklären was genau das von NI zur Verfügung gestelltes VI "VISA schliessen" und "VISA öffnen" genau auf der
Schnittstelle des PC's mache?

Sofenr ja über eine serielle Schnittstelle kommuniziert wird im LabVIEW, wird automatisch die Schnittstelle gesperrt für LabVIEW!
Diese wird dann nach beenden des LabVIEW für andere Programme wieder entsperrt oder besser gesagt freigegeben.

Kann das sperren und freigeben der Schnittstelle auch während des Prozesses im LabVie durchgeführt werden.

Habe Probleme mit der Schnittstelle, da ich zwischendurch im Prozess immer wieder völlig "komisch" Telegramme empfange, die überhaupt
keinen Sinn machen!

Ich wende folgenden Ablauf im LabVIEW an beim senden und empfangen von Daten über die Schnittstelle:

VISA öffnen -> Mit Schnittstelle kommunizieren -> VISA schliessen

VISA Open öffnet die Schnittstelle und reserviert sie tatsächlich aber jede andere VISA Funktion tut das auch implizit wenn dies nicht schon eher passiert ist. VISA Close kommt hier ins Spiel da ansonsten ein serieller Port der einmal geöffnet wurde bis zum Abschliessen der Applikation für andere Applikationen blockiert bleibt.

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
24.09.2007, 07:29
Beitrag #6

MWS Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: May 2005

8.2
2000
kA


Schweiz
VISA Schnittstelle sperren/freigeben
' schrieb:VISA Open öffnet die Schnittstelle und reserviert sie tatsächlich aber jede andere VISA Funktion tut das auch implizit wenn dies nicht schon eher passiert ist. VISA Close kommt hier ins Spiel da ansonsten ein serieller Port der einmal geöffnet wurde bis zum Abschliessen der Applikation für andere Applikationen blockiert bleibt.

Rolf Kalbermatter

Ich benutze das VISA Close auch...jedoch sperrt das LabVIEW diese Schnittstelle immer noch. Bis ich das LabVIEW beendet habe.
Dann gibt er die Schnittstelle wieder frei!Stimmt das so?

@Dennis.Moser
Ich bekomme nicht einfach irgendwelche Zeichen.
Eigentlich müsste ich 2 Bytes bekommen. z.B 81 (HEX).
Doch anstatt 81 bekomme ich 85....oder anstatt 41 bekomme ich 45!

Ich kommuniziere mit einer SPI-Konverter-Hardware, welche meine Befehle in ein SPI-Telegram umwandelt
und der Prüfhardware übermittelt!

Ich denke aber das dies ev. ein Problem der Schnittstelle ist...daher wollte ich grundsätzlich mal fragen was
es alles im LabVIEW gibt im eine Schnittstelle zu öffnen und schliessen, sowie sperren und freigeben.

Jedoch anscheinend mache ich da alles richtig?

Cheeerzs
MWS
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
24.09.2007, 08:46
Beitrag #7

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
VISA Schnittstelle sperren/freigeben
' schrieb:Ich benutze das VISA Close auch...jedoch sperrt das LabVIEW diese Schnittstelle immer noch. Bis ich das LabVIEW beendet habe.
Dann gibt er die Schnittstelle wieder frei!Stimmt das so?


Nein!

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.09.2007, 08:10
Beitrag #8

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Schnittstelle sperren/freigeben
' schrieb:Nein!

eg
Kann ich nur uneingeschränkt unterstützen. Ausser in einigen älteren LabVIEW Versionen ist es sogar so dass VISA Close selbst ausgeführt wird, wenn der Eingangs-Errorcluster einen Fehler anzeigt!

Allerdings wenn Du nach dem VISA Close auch nur irgendwo noch ein VISA Read oder so ausführst auf dieselbe Resource ist sie gleich wieder geöffnet. VISA Open ist wie gesagt eigentlich heutzutage überflüssig da jede VISA Funktion den zugewiesenen Port automatisch öffnet wenn dies nicht schon geschehen 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
01.10.2007, 13:12
Beitrag #9

MWS Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: May 2005

8.2
2000
kA


Schweiz
VISA Schnittstelle sperren/freigeben
' schrieb:Kann ich nur uneingeschränkt unterstützen. Ausser in einigen älteren LabVIEW Versionen ist es sogar so dass VISA Close selbst ausgeführt wird, wenn der Eingangs-Errorcluster einen Fehler anzeigt!

Allerdings wenn Du nach dem VISA Close auch nur irgendwo noch ein VISA Read oder so ausführst auf dieselbe Resource ist sie gleich wieder geöffnet. VISA Open ist wie gesagt eigentlich heutzutage überflüssig da jede VISA Funktion den zugewiesenen Port automatisch öffnet wenn dies nicht schon geschehen ist.

Rolf Kalbermatter


Wie sieht es aus mit dem VI "VISA: I/O Puffer leeren"?

Habe folgendes Problem dass ich das falsche Telegramm über die serielle Schnittstelle zurück bekomme!
Sofern ich diesen Fehler habe, beende ich die Applikation und starte sie nochmals neu.
Und siehe da -> Ich bekomme plötzlich das richtige Telegramm.

Das Telegramm besteht aus 2 Bytes in HEX-Format!
Anstatt 81 HEX bekomme ich 85 HEX!!

Cheeerzs
MWS
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
02.10.2007, 11:10 (Dieser Beitrag wurde zuletzt bearbeitet: 02.10.2007 11:10 von rolfk.)
Beitrag #10

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
VISA Schnittstelle sperren/freigeben
' schrieb:Wie sieht es aus mit dem VI "VISA: I/O Puffer leeren"?

Habe folgendes Problem dass ich das falsche Telegramm über die serielle Schnittstelle zurück bekomme!
Sofern ich diesen Fehler habe, beende ich die Applikation und starte sie nochmals neu.
Und siehe da -> Ich bekomme plötzlich das richtige Telegramm.

Das Telegramm besteht aus 2 Bytes in HEX-Format!
Anstatt 81 HEX bekomme ich 85 HEX!!

VISA Flush hat verschiedene Flags. Eine Variante die normalerweise nur intern den VISA eigenen Buffer per Richtung leert. Ob diese Variante den Port wieder öffnet weiss ich nicht sicher. Die andere muss den Windows Port öffnen um das Leeren des Buffers auf der Windows Ebene zu ermöglichen und wird daher den Port implizit öffnen wenn dies nicht schon geschehen ist.

Was Du beschreibst könnte auch den Verlust der Synchronisation bedeuten. Du denkst Byte 1 zu lesen liesst aber Byte 2 der Message und als 2tes Byte das erste der folgenden Message. Protokolle die keinerlei Möglichkeit der Synchronisation bieten sind schlicht gesagt Müll und sollten auch da benützt werden, nämlich nur auf dem Müll.

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 7.085 23.01.2019 08:07
Letzter Beitrag: Ratio
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.616 19.07.2017 13:04
Letzter Beitrag: konne
  VISA: (Hex 0xBFFF0015) bei VISA read und im VISA Test Panel rick 3 14.247 10.11.2013 12:16
Letzter Beitrag: Y-P
  VISA serielle Schnittstelle byteweise schreiben BRunner77 1 4.106 22.05.2012 20:27
Letzter Beitrag: GerdW
  Visa Schnittstelle zu langsam? nup0815 4 6.441 21.03.2011 11:31
Letzter Beitrag: nup0815
  Visa schreiben über serielle und GPIB Schnittstelle Matthias22 14 14.278 22.11.2010 20:06
Letzter Beitrag: jg

Gehe zu: