LabVIEWForum.de - Überwachung von Prozessen/Prozessabfrage

LabVIEWForum.de

Normale Version: Überwachung von Prozessen/Prozessabfrage
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo community,

ich habe ein Frage die ihr vielleicht mit euerer Erfahrung beantworten könnt.

Ich habe eine Testanlage. Diese wird über eine Beckhoff Soft Sps gesteuert. Nun mein LabViewprogramm macht die Auswertung der Messergebnisse und erstellt dabei ein Excel, verschickt E-Mails und gibt Informationen an den Anlagenbenutzer. Die Programmierung ist jetzt fertig und es läuft alles stabil.

Aber es geht jetzt um Datensicherung. Ich habe jetzt in LabView eine Speicherung gemacht dass alle 15min der momentanstand der Anlage abgefragt und gespeichert wird. Stürzt nun das Programm ab, werden die Daten gesichert und man hat maximal 15min der Messergebnisse verloren.

Das Problem:
Ein sozusagen "Default- Shutdown" müsste auch nach den Absturzt von TwinCat erfolgen (sprich SPS hängt oder Stromausfall). Das gute ist das man nach dem PC Neustart alles neu initalisieren kann (von alleine über TwinCat). Habe nun auch ein .vi gefunden mit dem ich windows neustarten kann. Nur wie stelle ich es an TwinCat zu überwachen? Gibt es eine Art Prozessabfrage oder sowas?

Meine Lösungen:
1) Sozusagen ein PWM- Signal erzeugen mit LabView und TwinCat (LV setzt TRUE und TwinCat auf FALSE) und wenn eine Zeitüberschreitung dann muss das Programm neu gestartet werden
2) Ein Batch- Datei programmieren um den Prozess zu überwachen (nur das Problem hier ist das dann LabView nicht in den "Default- Shutdown" geht)

Vielleicht hatte jemand schon ein ähnliches Problem?

Mfg duffiBadewanne_2_2
(25.10.2011 06:30 )DuffiDuck schrieb: [ -> ]Hallo community,

ich habe ein Frage die ihr vielleicht mit euerer Erfahrung beantworten könnt.

Ich habe eine Testanlage. Diese wird über eine Beckhoff Soft Sps gesteuert. Nun mein LabViewprogramm macht die Auswertung der Messergebnisse und erstellt dabei ein Excel, verschickt E-Mails und gibt Informationen an den Anlagenbenutzer. Die Programmierung ist jetzt fertig und es läuft alles stabil.

Aber es geht jetzt um Datensicherung. Ich habe jetzt in LabView eine Speicherung gemacht dass alle 15min der momentanstand der Anlage abgefragt und gespeichert wird. Stürzt nun das Programm ab, werden die Daten gesichert und man hat maximal 15min der Messergebnisse verloren.

Das Problem:
Ein sozusagen "Default- Shutdown" müsste auch nach den Absturzt von TwinCat erfolgen (sprich SPS hängt oder Stromausfall). Das gute ist das man nach dem PC Neustart alles neu initalisieren kann (von alleine über TwinCat). Habe nun auch ein .vi gefunden mit dem ich windows neustarten kann. Nur wie stelle ich es an TwinCat zu überwachen? Gibt es eine Art Prozessabfrage oder sowas?

Meine Lösungen:
1) Sozusagen ein PWM- Signal erzeugen mit LabView und TwinCat (LV setzt TRUE und TwinCat auf FALSE) und wenn eine Zeitüberschreitung dann muss das Programm neu gestartet werden
2) Ein Batch- Datei programmieren um den Prozess zu überwachen (nur das Problem hier ist das dann LabView nicht in den "Default- Shutdown" geht)

Mir ist 2) nicht so deutlich aber 1) ist ein klassisches Handshake Verfahren um zwei Prozesse einander überwachen zu lassen. Zwar könntest Du auch von LabVIEW aus durch Windows API Aufrufe den Prozessstatus von TwinCat abfragen, aber dann überwacht nur LabVIEW TwinCat und nicht umgekehrt. Zudem kann der vom Windows API mitgeteilte Status nur sagen ob die Applikation abgestürzt ist oder sich hoffnunglos verheddert hat und nicht mehr auf Windows reagiert. Wenn die in einer eigenen Loop festhängt, ansonsten aber noch frisch fröhlich auf Windows Events reagiert hilft Dir der Prozessstatus auch nichts. Überwachung eines eigens dafür vorgesehenen digitalen Ports oder Flags ist da viel besser.
hallo roflk,

ja deine Ausführungen sind nachvollziehbar

zu 2) Es gibt ja die möglichkeit auf Windowsebene eine Batchdatei (also das Programmieren im Editor) zu erstellen. Hier kann man über Grenzen einen Prozess überwachen und ggf. Windows neu starten. Vielleicht könnte man eine Variable in diesem BAtch setzten der über irgendeine Schnittstelle ausgelesen werden kann. (AdsOcx, ActiveX usw.)

Aber ich werde das mit dem Flag einmal probieren


mfg duffiBadewanne_2_2
Hallo,

nachdem vielleicht irgendwann irgendwer das selbe Problem haben wird poste ich noch eine Lösung!

In den angehängten Bildern wird über 2 Gettime (1 außerhalb der Schleife und 1 innerhalb) alle 5 min abgefragt auf welchen Wert das Flag für die Kommunikation ist!

False > TwinCat hat das flag umgesetzt
True > TwinCat war nicht fähig es umzusetzen > der PC wird heruntergefahren

Vielen Dank für die Hilfe


mfg DuffiBadewanne_2_2

PS: Falls wer interresse am sub.vi hat kann ich es hier posten
Hi,
es gehört nicht direkt zum Thema..aber vielleicht kannst du mir helfen:

Hast du evtl. ein Beispiel, wie ich DBL/SGL- (also in TwinCAT lreal bzw. real) mit LabVIEW lesen/schreiben kann? Bool und Int geht einwandfrei, so wie in den Beispielen von der Beckhoff-Webseite gezeigt. Da gibts aber leider keine Beispiele für Kommazahlen...und ich kriegs einfach nicht hin! Da tut sich einfach nix, weder hin noch her..

Gruß
Achim
Hallo Achim,

ich habe auch keine Kommazahlen übertragen weil

1) ich nichts gefunden habe

2) nicht so viel Zeit hatte und wurde gestrichen


im Angehängten Bsp wird die Start und Endzeitausgelesen und dann konvertiert

Du siehst dann beim übertragen in die globale Varibale einen Faktor von 0.0001 (sprich dann Millisekunden)!!!

Wenn du aber die umrechnung nicht in TwinCat sondern erst in Labview machst kannst du den Integer übertragen und dann in LV in eine Kommazahl umwandeln!

Mfg DuffiBadewanne_2_2

PS: Nehm an du hast adsocx verwendet
Referenz-URLs