LabVIEWForum.de
USB 6008 zurücksetzen wenn Rechner runterfährt - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: Hardware (/Forum-Hardware)
+---- Forum: NI Hardware (/Forum-NI-Hardware)
+---- Thema: USB 6008 zurücksetzen wenn Rechner runterfährt (/Thread-USB-6008-zuruecksetzen-wenn-Rechner-runterfaehrt)



USB 6008 zurücksetzen wenn Rechner runterfährt - dualsbiker - 08.10.2013 07:01

Hallo Leute,

ich habe folgendes Problem...

Ich habe einen Aufbau zum Ermitteln von Akku-Kapazitäten aufgebaut. Dafür nutze ich das NI USB 6008. Erstens um die Spannung über einen Spannungsteiler zu messen und zweitens um für jeden Akku ein Relais zu steuern, dass den Akku ab einem gewissen Spannungswert von der Last trennt, um ein Tiefentladen zu vermeiden.

Jetzt ist mir folgendes passiert...

Ich habe wieder eine Messung gestartet, diese lief übers Wochenende und sollte auch an diesem fertig werden. Als ich am Montag wieder kam, sah ich, dass der Rechner aufgrund eines Updates neugestartet war. Also das VI war beendet, die Relais noch angezogen und die Akkus natürlich tiefentladen.

Gibt es eine Möglichkeit das NI USB 6008 zurückzusetzen wenn der Rechner runterfährt ? Es merkt sich nämlich welche IOs gesetzt waren und setzt diese wieder wenn der Rechner neugestartet wird.


RE: USB 6008 zurücksetzen wenn Rechner runterfährt - GerdW - 08.10.2013 07:52

Hallo dualsbiker,

Zitat:Gibt es eine Möglichkeit das NI USB 6008 zurückzusetzen wenn der Rechner runterfährt ?
Nicht das ich wüßte, zumindest nicht automatisch über den DAQmx-Treiber.
Du könntest natürlich ein Programm dafür schreiben...

Zitat:Es merkt sich nämlich welche IOs gesetzt waren und setzt diese wieder wenn der Rechner neugestartet wird.
Falsch!
Für den USB-Anschluss bleibt sehr wahrscheinlich die Spannungsversorgung intakt, wenn der Rechner neu startet. Deshalb behält die USB6008 ihren Schaltzustand bei!

Zitat:Als ich am Montag wieder kam, sah ich, dass der Rechner aufgrund eines Updates neugestartet war.
Hier ist dein Fehler: Rechner mit (Langzeit-)Messequipment sollten NIE automatische Updates (und gar mit Neustart) ausführen dürfen!

Dein zweiter Fehler: Du hast deine Software nicht in den Autostart gelegt. So hättest du (oder: das Programm) sofort nach dem Neustart die Relais wieder schalten können...


RE: USB 6008 zurücksetzen wenn Rechner runterfährt - dualsbiker - 08.10.2013 15:32

Danke für deine Ratschläge,

das automatische Update habe ich jetzt schon deaktiviert und das mit dem Autostart werde ich mir mal genauer anschauen. Danke noch mal.


RE: USB 6008 zurücksetzen wenn Rechner runterfährt - BNT - 08.10.2013 20:39

Stop
In der Event-Struktur kann man das Beenden der Applikation abfangen und die Ausgänge der USB-Box in einen geeigneten Zustand schalten.

Aus dem NI Actor Framework Template:
Zitat:#CodeNeeded - When a project closes, all VIs within that project are aborted and thrown out of memory. When LabVIEW quits, all VIs in all projects are aborted and thrown out of memory. An exception exists for VIs that are watching for the "Application Instance Close" event (without the ?). Any code placed in this event frame is guaranteed to run to completion. If you put your app cleanup code after this While Loop, it may be aborted mid-way through. So add any cleanup code that absolutely must happen here, such as resetting hardware. This event will fire no matter how the app instance shuts down, whether through a user action (such as File >> Exit) or through a programmatic action (such as the LabVIEW Quit function).

Because this VI is configured to use shared reentrancy, you must use dynamic event registration to register for the Application Instance Close event.

Gruß Holger