Hallo lieb Community,
ich hab zwar schon viel im Forum gefunden aber hier stehe ich an.
Ich habe ein LV Programm geschrieben das als HMI und Auswertung für eine Testanlage dient. Die Testanlage wird über eine Beckhoff SPS gesteuert.
Das Problem:
Ich bin gerade dabei eine Überwachung der Systemzustände zu machen. Sprich falls der Strom ausfällt das ein definierter Zustand ohne möglichst viel Datenverlust wieder hergestellt werden kann. Dies kann ich erreichen indem ich
1) den Computer einfach herunterfahre
2) den Fehler behebe
3) und wieder hoch fahre und neu initalisiere (Ist alles schon eingestellt).
2 und 3 funktionieren super und ohne Probleme ich speichere alle 15min den momentanzustand und kann diesen auch wieder herstellen.
Nur bei 1) habe ich meine Probleme bzw. ein Problem mit den gefundenen .vi. Der PC fährt zwar herunter wenn ich es aufrufe aber alle Programme fragen ob wirklich beendet werden soll bzw. speicher und der ganze Dingsbums.
Ich will aber das es von alleine herunterfährt bzw. das keine Benutzerinteraktion mehr nötig ist. Sprich ich erkenne den Fehler und dann fährt das ganze System herunter ohne Abfragen von Speicherung und ob wirklich beendet werden soll. (Könnte auch eine Relaisschaltung bei der Stromversorgung machen ist aber nicht das gewünschte Ziel).
Vielen Dank für eure Hilfe
Mfg Duffi
Guten Morgen,
ich würde das dann so machen.
Gruß Ome
Hallo,
danke für die schnelle Antwort werd ich mal ausprobieren aber ich glaub nicht das es das ist was ich will.
In der Hilfe steht ja:
This function shuts down only LabVIEW. The function does not affect other applications. The function stops all running VIs the same way the Stop function does. If there is any unsaved work in memory, you will be prompted to save. Selecting Cancel will abort the quit
Werd ich dann nicht wieder gefragt ob ich beenden will??
mfg Duffi
(08.11.2011 08:34 )DuffiDuck schrieb: [ -> ]Hallo,
danke für die schnelle Antwort werd ich mal ausprobieren aber ich glaub nicht das es das ist was ich will.
In der Hilfe steht ja:
This function shuts down only LabVIEW. The function does not affect other applications. The function stops all running VIs the same way the Stop function does. If there is any unsaved work in memory, you will be prompted to save. Selecting Cancel will abort the quit
Werd ich dann nicht wieder gefragt ob ich beenden will??
mfg Duffi
Nein der LabVIEW verhandelt da nicht mit Terroristen (aka User:-P) und nimmt den Kollateralschaden in Kauf
Du kannst dies ja aber selbst im Event implementieren.
Gruss Marc
(08.11.2011 08:34 )DuffiDuck schrieb: [ -> ]Werd ich dann nicht wieder gefragt ob ich beenden will??
Jain,
die Labviewbenden Funktion wird fragen (wenn nicht gespeichert wurde), aber der "shutdown" mit den gewählten Optrionen büggelt alles weg. Das bedeutet aber auch, dass nicht gespeicherte Informationen verlohren gehen.
Hier noch mal schnell die Syntaxerklärung.
Code:
shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]
[/m \\Computer][/t xxx][/d [p:]xx:yy [/c "Kommentar"]]
Keine Argumente Zeigt Hilfe an. Dies entspricht /?.
/? Zeigt die Hilfe an. Dies entspricht einer Eingabe ohne Optionen.
/i Zeigt eine grafische Benutzeroberfläche an.
Dies muss die erste Option sein.
/l Abmelden. Dies kann nicht mit den Optionen /m oder /d verwendet
werden.
/s Fährt den Computer herunter.
/r Fährt den Computer herunter und startet ihn neu.
/g Fährt den Computer herunter und starten ihn neu. Nach dem
Neustart des Systems werden die registrierten Anwendungen neu
gestartet.
/a Bricht das Herunterfahren des Systems ab. Diese Option kann nur
während der Zeitüberschreitungsperiode verwendet werden.
/p Schaltet den lokalen Computer ohne Zeitlimitwarnung aus.
Kann mit den Option /d und /f verwendet werden.
/h Versetzt den lokalen Computer in den Ruhezustand.
Kann mit der Option "/f" verwendet werden.
/e Dokumentiert die Ursache für das unerwartete Herunterfahren
eines Computers.
/m \\Computer Legt den Zielcomputer fest.
/t xxx Legt die Zeitüberschreitungsperiode vor dem Herunterfahren fest.
Gültiger Bereich: 0-315360000 (10 Jahre), der Standardwert
ist 30.
Wenn der Zeitüberschreitungswert größer ist als 0, wird der
Parameter /f einbezogen.
/c "Kommentar" Kommentar bezüglich des Neustarts bzw. Herunterfahrens.
Es sind maximal 512 Zeichen zulässig.[/quote]
/f Erzwingt das Schließen ausgeführter Anwendung ohne Vorwarnung
Der Parameter /f wird einbezogen, wenn ein Wert größer als 0
für den Parameter /t angegeben wird.
Gruß Ome
Danke,
werd das gleich mal ausporbieren.
Ich hätte noch eine Frage die mit dem Thema nichts zu tun hat.
Ich öffenen einen Dialog zum öffnen von Dateien. Das funktioniert einwandfrei nur wenn ich im Auswahlmenü auf abbrechen gehe stürz mir das Programm ab bzw. kommt ein fenster mit einer Fehlermeldung. Wisst ihr wie ich das umgehen kann? Sprich abbrechen und es passiert einfach gar nichts.
mfg duffi
Ganz einfach, den Ausgang "Cancelled" vom File Dialog auswerten und entsprechend reagieren.
Gruß, Jens
(08.11.2011 09:57 )Ome schrieb: [ -> ]Jain,
die Labviewbenden Funktion wird fragen (wenn nicht gespeichert wurde), aber der "shutdown" mit den gewählten Optrionen büggelt alles weg. Das bedeutet aber auch, dass nicht gespeicherte Informationen verlohren gehen.
Mal aus Interesse: Warum machst du dann überhaupt noch das separate "Exit LabVIEW"?
A.
Hallo Duffi,
Ich hatte das gleiche Problem mit dem Cancel-Error und Google brachte mich auf folgende Lösung:
http://forums.ni.com/t5/LabVIEW/how-to-h...90#M344123
Zustzälich habe ich die weiteren Programmteile in eine Case-Struktur eingefügt, die von dem "Cancel?"-Ausgang des File-Dialog gesteuert wird. Bei true laufen die Stränge ins Leere und ein Dialogfenster erscheint mit dem Hinweis, einen gültigen Pfad/eine gültige Datei zu wählen. Könnte man bestimmt auch weglassen, das überlege ich mir noch.
Gruß
Cerub