05.01.2018, 12:23
Hallo allerseits erstmal und frohes neues Jahr.
Nach langer Zeit bin ich mal wieder hier im Forum *Anmerkung: Mit neuem Arbeitgeber deswegen nur noch LV 2011* und habe ein Problem:
Ich möchte ein Magnetnetzteil mit zwei Kanälen steuern und benutze dafür die serielle Schnittstelle über VISA read / write. Hardwareseitig stecken hinter den zwei com ports zwei getrennte USB auf seriell Adapter. Dazu nutze ich das angehängte VI.
Das ganze läuft auch anfangs einwandfrei und wie gewünscht ohne das es zu Problemen kommt. Nach 30 Minuten aufwärts (bei den bisherigen Tests) hängt sich das ganze jedoch irgendwann auf (laut Highlighmodus läuft die Eventschleife und pulst weiter die Occurence, die Hauptschleife jedoch steht bei einer der VISA Operationen; in zwei Tests wo ich es konkret beobachten konnte an unterschiedlichen Stellen). Das irritiert mich insofern, als der Timeout das eigentlich verhindern sollte.
Ein beenden des VI ist in diesem Zustand weder mit dem Roten Knopf noch durch schließen mit X (dann erscheint "Resetting VI" und scheint nicht zu terminieren) möglich. Selbst ein beenden von Labview über den Taskmanager ist in diesem Zustand nichtmehr möglich.
Ich habe außerdem getestet wie sich ein Build einer EXE verhält - selbes Problem. Hier lässt sich dann die Exe nichtmal per Taskmanager abschießen, eine parallel gestartete zweite Instanz wirft den Fehler -1073807246 (Resource aktuell nicht verfügbar).
Rücksetzen lässt sich das Problem auf dem (Win 7) System nur durch Systemneustart. Das Fehlerverhalten sieht für mich so aus, als ob ich es schaffe die Schnittstelle auf Betriebssystem-Ebene abzuschießen. Mir fällt aber mittlerweile kein Grund mehr ein warum ich das schaffe.
Anmerkung zu den Testbedingungen: Das Program wurde laufen gelassen ohne äußeren Eingriff. Genaugenommen wird also nur die ganze Zeit zum Endgerät immer wieder der gleiche Setzwert für den Strom geschrieben und anschließend vom Gerät der Wert sowie Fehlerfälle vom Gerät ausgelesen.
P.S: Betrieben wurde das Program mit einer Wartezeit von 500ms; das 0ms aktuell nichts sinniges macht weis ich, das werde ich in einer späteren Version noch abfangen. Ein Teil der etwas unaufgeräumten Struktur liegt daran, dass das Program in der Ursprungsfassung nicht von mir stammt und ich Hotfixes auf verschiedene mögliche Quellen des Problems angewendet hatte die aber auch nichts am Verhalten geändert haben.
*Fixversuche: Seriellen Port konfigurieren wurde nach außerhalb der Schleife verlegt, ebenso wie Referenz schließen
P.P.S: Ja ich ziehe aktuell auch in Erwägung das Programm strukturell noch mal neu und besser zu bauen, es musste bei der Ursprungsversion halt schnell gehen ^^ Ich möchte trotzdem verstehen was falsch läuft um mir dabei nicht genau den gleichen Fehler wieder einzubauen.
P.P.P.S: Ich vermute ihr könnte den Fehler nicht reproduzieren da er nur mit angeschlossener Hardware auftauchen dürfte, ansonsten wird halt nur ein timeout geworfen und das wars. Mir wäre es aber wichtig zu wissen ob ich schon im Programmaufbau Probleme habe...
Vielen Dank und viele Grüße
Kiesch
P.P.P.P.S: @BNT ist ne Ansteuerung für ein Bruker BEC-1 das könntest du evtl. auch kennen.
Nach langer Zeit bin ich mal wieder hier im Forum *Anmerkung: Mit neuem Arbeitgeber deswegen nur noch LV 2011* und habe ein Problem:
Ich möchte ein Magnetnetzteil mit zwei Kanälen steuern und benutze dafür die serielle Schnittstelle über VISA read / write. Hardwareseitig stecken hinter den zwei com ports zwei getrennte USB auf seriell Adapter. Dazu nutze ich das angehängte VI.
Das ganze läuft auch anfangs einwandfrei und wie gewünscht ohne das es zu Problemen kommt. Nach 30 Minuten aufwärts (bei den bisherigen Tests) hängt sich das ganze jedoch irgendwann auf (laut Highlighmodus läuft die Eventschleife und pulst weiter die Occurence, die Hauptschleife jedoch steht bei einer der VISA Operationen; in zwei Tests wo ich es konkret beobachten konnte an unterschiedlichen Stellen). Das irritiert mich insofern, als der Timeout das eigentlich verhindern sollte.
Ein beenden des VI ist in diesem Zustand weder mit dem Roten Knopf noch durch schließen mit X (dann erscheint "Resetting VI" und scheint nicht zu terminieren) möglich. Selbst ein beenden von Labview über den Taskmanager ist in diesem Zustand nichtmehr möglich.
Ich habe außerdem getestet wie sich ein Build einer EXE verhält - selbes Problem. Hier lässt sich dann die Exe nichtmal per Taskmanager abschießen, eine parallel gestartete zweite Instanz wirft den Fehler -1073807246 (Resource aktuell nicht verfügbar).
Rücksetzen lässt sich das Problem auf dem (Win 7) System nur durch Systemneustart. Das Fehlerverhalten sieht für mich so aus, als ob ich es schaffe die Schnittstelle auf Betriebssystem-Ebene abzuschießen. Mir fällt aber mittlerweile kein Grund mehr ein warum ich das schaffe.
Anmerkung zu den Testbedingungen: Das Program wurde laufen gelassen ohne äußeren Eingriff. Genaugenommen wird also nur die ganze Zeit zum Endgerät immer wieder der gleiche Setzwert für den Strom geschrieben und anschließend vom Gerät der Wert sowie Fehlerfälle vom Gerät ausgelesen.
P.S: Betrieben wurde das Program mit einer Wartezeit von 500ms; das 0ms aktuell nichts sinniges macht weis ich, das werde ich in einer späteren Version noch abfangen. Ein Teil der etwas unaufgeräumten Struktur liegt daran, dass das Program in der Ursprungsfassung nicht von mir stammt und ich Hotfixes auf verschiedene mögliche Quellen des Problems angewendet hatte die aber auch nichts am Verhalten geändert haben.
*Fixversuche: Seriellen Port konfigurieren wurde nach außerhalb der Schleife verlegt, ebenso wie Referenz schließen
P.P.S: Ja ich ziehe aktuell auch in Erwägung das Programm strukturell noch mal neu und besser zu bauen, es musste bei der Ursprungsversion halt schnell gehen ^^ Ich möchte trotzdem verstehen was falsch läuft um mir dabei nicht genau den gleichen Fehler wieder einzubauen.
P.P.P.S: Ich vermute ihr könnte den Fehler nicht reproduzieren da er nur mit angeschlossener Hardware auftauchen dürfte, ansonsten wird halt nur ein timeout geworfen und das wars. Mir wäre es aber wichtig zu wissen ob ich schon im Programmaufbau Probleme habe...
Vielen Dank und viele Grüße
Kiesch
P.P.P.P.S: @BNT ist ne Ansteuerung für ein Bruker BEC-1 das könntest du evtl. auch kennen.