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 

RS232 sperren



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!

19.09.2007, 07:50
Beitrag #1

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
RS232 sperren
Hallo,
ich benutzte die VISA-Serial-Funktionen für die Seriellkommunikation über das Bitbusprotokoll.
Wie finde ich heraus, ob der jeweilige COM-Port bereits genutzt wird (gesperrt ist), und wenn nicht,
den COM-Port für meine Application zu verwenden und für die anderen Anwendungen zu sperren?!
Möglich?
Gruß Simon
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.09.2007, 08:48
Beitrag #2

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 sperren
Sobald du den COM-Port geöffnet hast, ist er für andere Applikationen gesperrt.
Zum Rausfinden ob besetzt oder nicht, kannst du einfach versuchen den Port zu öffnen und wenn du dabei einen Fehler bekommst, ist der Port besetzt.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2007, 09:06
Beitrag #3

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
RS232 sperren
' schrieb:Sobald du den COM-Port geöffnet hast, ist er für andere Applikationen gesperrt.
Zum Rausfinden ob besetzt oder nicht, kannst du einfach versuchen den Port zu öffnen und wenn du dabei einen Fehler bekommst, ist der Port besetzt.

eg

Muss man den überhaupt öffnen?! Hab bisher nur Configure Serial Port verwendet und zum Schluss Close...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2007, 09:08
Beitrag #4

eg Offline
LVF-SeniorMod


Beiträge: 3.868
Registriert seit: Nov 2005

2016
2003
kA

66111
Deutschland
RS232 sperren
' schrieb:Muss man den überhaupt öffnen?! Hab bisher nur Configure Serial Port verwendet und zum Schluss Close...


Nicht notwendigerweise. Configure reicht schon aus.

eg

Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.09.2007, 09:49 (Dieser Beitrag wurde zuletzt bearbeitet: 19.09.2007 09:49 von rolfk.)
Beitrag #5

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RS232 sperren
' schrieb:Nicht notwendigerweise. Configure reicht schon aus.

Im Falle von VISA ist die Öffnen Funktion eigentlich ein bisschen eine Uraltlast. Funktionsmässig tut jede VISA Funktion ein Öffnen auf die VISA Resource wenn diese nicht schon geöffnet ist. Die Close Funktion hat dagegen schon eine Wirkung. Nachdem man irgendeine VISA Funktion auf eine VISA Resource angewendet hat ist es immer sinnvoll, um die Resource wieder zu schliessen wenn sie nicht mehr benötigt wird.
Einige VISA Resourcen können geshared werden aber die serielle Schnittstelle sicher nicht. Und solange ein Prozess einen COM Port offen hat, kann kein anderer Prozess diesen öffnen. Indem man die VISA Resource schliesst wird der COM Port wieder freigegeben, ansonsten hält LabVIEW an dem COM Port fest bis man es ganz abschliesst.

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
19.09.2007, 10:09
Beitrag #6

Simsdibims Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 70
Registriert seit: May 2007

8.5
2006
kA

83553
Deutschland
RS232 sperren
Ok danke euch schonmal,
ich habe jedoch bemerkt, dass die eine die andere LabVIEW Applikation schon stört, wenn man auch Befehle Richtung
COM-Port abschickt und dabei das Errorcluster nicht beachtet. Und Configure Serial Port kann man aus einer zweiten Applikation
ja parallel machen ohne dass ein Fehler kommt. Beim Schreiben ist es dann ja schon zu spät...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.09.2007, 08:03
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RS232 sperren
' schrieb:Ok danke euch schonmal,
ich habe jedoch bemerkt, dass die eine die andere LabVIEW Applikation schon stört, wenn man auch Befehle Richtung
COM-Port abschickt und dabei das Errorcluster nicht beachtet. Und Configure Serial Port kann man aus einer zweiten Applikation
ja parallel machen ohne dass ein Fehler kommt. Beim Schreiben ist es dann ja schon zu spät...

Configure Serial Port ruft nur VISA Properties auf. Die beinflussen Attribute der VISA Session und manche davon werden wohl auch den seriellen Port auf OS Ebene ansprechen müssen um ihre Arbeit korrekt zu tun aber die meisten eben nicht. Solange Du innerhalb der selben LabVIEW Applikation an verschiedenen Stellen den selben COM Port ansprichst geht das schon. Die Ausschliessung für mehrmaliges Benützen der seriellen Schnittstelle ist ein Betriebssystemseinschränkung, keine VISA Einschränkung. Nur das Betriebsystem verbietet das Öffnen eines Ports wenn er schon durch einen anderen Prozess geöffnet ist und da kann VISA nicht umhin. Aber innerhalb eines Prozesses kannst Du denn selben Port in VISA mehrmals öffnen respektive VISA öffnet ihn dann eben nicht mehr wenn er schon offen ist. Dass das meist keine gute Idee ist sollte natürlich schon deutlich sein. Externe Instrumente sind typischerweise inherent State driven. Das heisst sie können unmöglich etwas Aussenden bevor sie nicht das entsprechende Kommando empfangen haben und wenn Du dann versuchst ein Instrument and verschiedenen Stellen anzusprechen ohne strikte Sequenzeinhaltung kann es passieren dass Stelle A die Antwort auf das Kommand empfängt das Stelle B ausgesendet hat. Dass ein serieller Port exklusive per Prozess verwaltet wird im OS hat schon einen guten Grund, aber das VISA nicht strikt einmaligen Zugriff zulässt hat auch so seine Vorteile in gewissen Situationen.

Dass man da halt aufpassen muss um Race-Conditions zu verhindern ist nun einmal nicht zu umgehen.

Rolf Kalbemratter

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  empfangene Werte sperren und freischalten dannyboy 1 3.590 16.08.2008 23:27
Letzter Beitrag: eg
  VISA Schnittstelle sperren/freigeben MWS 11 14.060 11.10.2007 10:05
Letzter Beitrag: Simsdibims

Gehe zu: