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 

Seriellen Port beim Beenden des VI sauber schließen?



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!

14.12.2006, 09:25
Beitrag #1

tron Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Jul 2006

8.21
2006
de

64289
Deutschland
Seriellen Port beim Beenden des VI sauber schließen?
Hallo Leute,

Ich habe mal eine Frage zum Öffnen und Schließen von seriellen (VISA) Ports:

ich habe bisher in meinem Sub-VI, welches die serielle Kommunikation steuert, den Port geöffnet, reingeschrieben, ihn ausgelesen und dann geschlossen. Dieses Sub-VI wird mehrfach pro Sekunde ausgelesen. Eigentlich wäre es ja effektiver, den Port ganz zu Beginn zu initialisieren, zu öffnen und dann im Sub-VI jeweils nur zu schreiben und zu lesen. Ich habe das VI dann mal umgeschrieben.

Initialisiert & geöffnet wird die Schnittstelle in einem vorgelagerten Einstellframe. Das "Close VISA" habe ich dann an den Stop-Schalter meines Schleifenframes gekoppelt, d.h. beim Stoppen des VI wird dann auch der Port geschlossen.

Das klappt nur leider nicht ganz - das VI läuft zwar, gibt den Port aber nicht wieder frei. D.h., solange das VI noch offen ist, ist der Port gesperrt. Wenn man es schließt, den Port dann manuell (über ein kleines Portschließ-VI) ebenfalls schließt, dann erst ist der Port wieder frei.

Wie kriege ich das denn hin, daß das Beenden des VI (bzw. des Hauptschleifenframes via eines Stop-Buttons) den Port korrekt schließt?

Gruß,
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
14.12.2006, 09:28
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
Seriellen Port beim Beenden des VI sauber schließen?
Hallo,

warum schliesst du den port nicht, wenn die schleife beendet wurde ?

Ref aus Loop rausführen und dort port schliessen ?

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
15.12.2006, 17:53
Beitrag #3

tron Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Jul 2006

8.21
2006
de

64289
Deutschland
Seriellen Port beim Beenden des VI sauber schließen?
' schrieb:Ref aus Loop rausführen und dort port schliessen ?
Mmmh, also die VISA-Kommunikation findet in einem Sub-VI statt. Da könnte ich natürlich das Ref auch rausführen, aber dieses Sub-VI wird mehrfach (über eine stacked sequence) ausgeführt. Ich war halt am überlegen, ob es nicht aus Performancegründen besser sei, den Port zu Beginn zu öffnen und ganz am Ende des Programms erst zu schließen. Eben nicht nach jedem Schleifendurchlauf. Und das Abbruchkriterium der Hauptschleife ist das Drücken des Stop-Buttons. Daran habe ich eine Case-Struktur angeknüpft, die genau dann die Ports schließt. Nur das funktioniert leider nicht, die Ports bleiben offen.

Gruß,
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2006, 16:45
Beitrag #4

MWS Offline
LVF-Grünschnabel
*


Beiträge: 24
Registriert seit: May 2005

8.2
2000
kA


Schweiz
Seriellen Port beim Beenden des VI sauber schließen?
' schrieb:Mmmh, also die VISA-Kommunikation findet in einem Sub-VI statt. Da könnte ich natürlich das Ref auch rausführen, aber dieses Sub-VI wird mehrfach (über eine stacked sequence) ausgeführt. Ich war halt am überlegen, ob es nicht aus Performancegründen besser sei, den Port zu Beginn zu öffnen und ganz am Ende des Programms erst zu schließen. Eben nicht nach jedem Schleifendurchlauf. Und das Abbruchkriterium der Hauptschleife ist das Drücken des Stop-Buttons. Daran habe ich eine Case-Struktur angeknüpft, die genau dann die Ports schließt. Nur das funktioniert leider nicht, die Ports bleiben offen.

Das würde ich nicht so machen, da Du dann den Port die ganze Zeit für diede Referenz reservierst!
So kannst Du mit der seriellen nichts mehr machen......!

Ich würde nach der Schleife den Port schliessen und vor der Schleife wieder öffnen!
So mache ich es jedes mal wenn ich die serielle brauche!

Cheeeerzs
MWS
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.12.2006, 17:57
Beitrag #5

tron Offline
LVF-Grünschnabel
*


Beiträge: 46
Registriert seit: Jul 2006

8.21
2006
de

64289
Deutschland
Seriellen Port beim Beenden des VI sauber schließen?
' schrieb:Ich würde nach der Schleife den Port schliessen und vor der Schleife wieder öffnen!
Also die Hauptschleife in eine "stacked sequence" einbauen und vorher öffnen und nachher wieder schließen? Das könnte ich mal probieren...

Gruß,
Michael
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
  VISA: I/O Fehler beim Auslesen einer seriellen Schnittstelle konne 5 7.616 19.07.2017 13:04
Letzter Beitrag: konne
  Alle seriellen Schnittstellen auslesen Exl 1 5.067 01.04.2017 16:41
Letzter Beitrag: GerdW
  Modul am seriellen Port ansprechen Charly82 2 5.920 22.05.2016 07:34
Letzter Beitrag: Charly82
  Daten von Seriellen Port in While-Schleife auswerten Bensch 4 6.265 26.10.2015 11:28
Letzter Beitrag: Bensch
  Problem bei seriellen Schnittstellen gammel 7 7.368 27.10.2014 13:01
Letzter Beitrag: gammel
  Probleme beim Lesen von GPIB-Port MWStui 11 12.143 18.09.2013 11:18
Letzter Beitrag: MWStui

Gehe zu: