serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
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!
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
LV 8.x, WinXP, Com1
Hallo,
auf Dauer ist es nervig: Wenn ich ein Programm mit normal arbeitender Kommunikation über die serielle Schnittstelle im Betrieb mit dem roten "Ausführung abbrechen"-Knopf in der Menüleiste abbreche, und dann neu starte, ist der Port gesperrt, bis ich das Programm schließe (und dann wieder öffne).
Warum ist das so?
Wie bekomme ich das Programm dazu das es merkt das das eigene Programm diesen Port blockiert? Oder, gibt es eine Möglichkeit den gewünschten Port bei "Start" freizumachen?
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
' schrieb:Hallo Heiko,
"Warum ist das so?"
Ich würd mal so sagen: "To use the abort button is like using a tree to stop a car!" (Aus dem NI-Forum...)
Vielleicht überlegst du dir, wie man ein VI kontrolliert beendet - und dann auch den seriellen Port wieder freigibt (mit einem VISA-Close)?
das beantwortet leier die Frage nicht. ;-)
Selbstverständlich habe ich Visa-Close usw drin. Trotzdem gibt's doch Zustände in denen man das Programm "irregulär" abbricht, z.B. weil es aus irgendeinem Grund hängt. Es scheint mir trotzdem nicht plausibel warum das VI nicht erkennen kann das es selbst den Port blockiert.
Grüßle
Heiko
12.08.2010, 09:38 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2010 10:07 von Lucki.)
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
Ja, warum beendest Du das Programm auch nicht normal? Dies Art des Abbruch entspäche dem Beenden einer Autofahrt durch Fahren gegen einen Baum - las ich gerade gestern hier im Forum.
Aber in Deinem Fall solltest Du wenigsten beim Start des Programm die VISA-Schnittelle zuerst schließen, bevor Du neu konfigurierst.
Edit: Andere waren schneller. Aber zu Deine Frage:
Zitat:Es scheint mir trotzdem nicht plausibel warum das VI nicht erkennen kann das es selbst den Port blockiert.
Das habe ich mich auch lange Zeit gefragt, bis mir ein plausible Antwort einfiel:
Labview kann eben nur erkennne, daß der Port blockiert ist, aber nicht wer es ist. Es könnnte also auch ein ganz anderes parallel laufendes Windows-Programm sein. Es wäre ein Leichtes, bei der Konfiguration den Port erst mal zurückzusetzen. Aber damit würde man möglicherweise in ein anderes Windows-Progrogramm eingreifen, und das darf natürlich nicht sein.
Die Antwort von Tschac gefällt mir übrigens am besten, werde das bei mir so einstellen.
12.08.2010, 09:40 (Dieser Beitrag wurde zuletzt bearbeitet: 12.08.2010 09:41 von GerdW.)
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
In meinen Test VIs kümmer ich mich eher selten um sauberes programmieren, da will ich nur mal schnell nen Wert auslesen und nicht gleich den ersten Preis für den schönsten Code bekommen.
In den richtigen Programmen ist das natürlich was anderes.
Grüße,
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" (Konrad Zuse)
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
' schrieb:In meinen Test VIs kümmer ich mich eher selten um sauberes programmieren, da will ich nur mal schnell nen Wert auslesen und nicht gleich den ersten Preis für den schönsten Code bekommen.
In den richtigen Programmen ist das natürlich was anderes.
Grüße,
Torsten
eben, so sehe ich das auch.
Das genannte "Auto gegen Baum" Argument finde ich merkwürdig. LV ist 'ne Entwicklungsumgebung. Wärend der Entwicklungsphase wird es doch wohl erlaubt sein das Programm "irregulär" zu beenden. Technisch ist für mich nicht nachvollziehbar warum der Port vom eigenen Programm blockiert bleibt, selbst mit "Visa Sessions automatisch schließen". Und dann auch keine Möglichkeit besteht diese Blockade aufzuheben.
serielle Schnittstelle freigeben nach "Ausführung abbrechen"?
' schrieb:Ja, warum beendest Du das Programm auch nicht normal? Dies Art des Abbruch entspäche dem Beenden einer Autofahrt durch Fahren gegen einen Baum - las ich gerade gestern hier im Forum.
Aber in Deinem Fall solltest Du wenigsten beim Start des Programm die VISA-Schnittelle zuerst schließen, bevor Du neu konfigurierst.
Edit: Andere waren schneller. Aber zu Deine Frage:
Das habe ich mich auch lange Zeit gefragt, bis mir ein plausible Antwort einfiel:
Labview kann eben nur erkennne, daß der Port blockiert ist, aber nicht wer es ist. Es könnnte also auch ein ganz anderes parallel laufendes Windows-Programm sein. Es wäre ein Leichtes, bei der Konfiguration den Port erst mal zurückzusetzen. Aber damit würde man möglicherweise in ein anderes Windows-Progrogramm eingreifen, und das darf natürlich nicht sein.
Die Antwort von Tschac gefällt mir übrigens am besten, werde das bei mir so einstellen.
"Visa schließen"am Anfang, auch schon probiert --> keine Änderung :-(
"Labview kann eben nur erkennne, daß der Port blockiert ist, aber nicht wer es ist." So vermute ich das auch, aber das ist doch 'ne komische Sache, wirkt irgendwie unreif. Und ich sollte zumindestens einstellen können das LV bei Nutzung genannter Abbruchvariante die genutzten Ports schließt. Zumindestens mit dem genannten "Visa Sessions schließen" funktioniert das bei mir nicht.
Ich bin allerdings verwundert das ich scheinbar der einzige bin den es nervt, sonst gäb's da doch bestimmt 'ne Lösung. ;-)