# E!Cockpit ResetApplicationWarm



## sash583 (17 März 2017)

Und wieder mal eine Frage an der ich gerade seit gefühlten Stunden hänge.

Ich rufe mit einer PFC200 aus einer MySQL Datenbank wichtige Daten ab, damit die Steuerung nach einem Neustart korrekt funktioniert. Dafür möchte ich aus dem Programm heraus einen ResetApplicationWarm() durchführen. Nur scheint meine Art der Implementation nicht zu funktionieren. Irgendwo habe ich was gelesen das die Application attached werden muss. Ich habe aber keine Ahnung wie. Kann mir jemand helfen?

Ich rufe die Methode folgendermaßen auf.

Reset.ResetApplicationWarm();


Danke!


----------



## .:WAGO::0100146:. (3 April 2017)

Hallo sash583,


du kannst über die Bibliothek CmpAppeinen WarmReset ausführen. Die Funktion dafür lautet AppReset
Beispiel:


VAR
	pApp		: POINTER TO APPLICATION;
	Result		: RTS_IEC_RESULT;
	sApp1		: STRING := 'App1'; (*Name of the Application*)
	xResetWarm	: BOOL; (* Do a reset warm *)
END_VAR




pApp := AppFindApplicationByName(sApp2, ADR(Result));
IF xResetWarm THEN
	xResetWarm := FALSE;
	Result := AppReset(pApp, RESET_OPTION.RTS_RESET);
END_IF


Allerdings muss dann die Applikation wieder gestartet werden. Das kann zum Beispiel über ein Event ResetDone im Task Manager gemacht werden. Dort dann die Applikation starten:


VAR
	pApp		: POINTER TO APPLICATION;
	Result		: RTS_IEC_RESULT;
	sApp1		: STRING := 'App1';
END_VAR


pApp := AppFindApplicationByName(sApp1, ADR(Result));
Result := AppStartApplication(pApp);


----------



## sash583 (3 April 2017)

Besten Dank für die Antwort!

Nun habe ich den Reset-Part mal eingebaut. Leider tut sich auch da überhaupt nichts, wenn ich den Trigger auslöse. Ich habe dann auch mal AppStopApplication ausprobiert um vielleicht eine andere Reaktion zu provozieren, aber auch da tat sich nichts. Kann es daran liegen, dass ich nicht erwähnt habe mit E!Cockpit zu programmieren?

Danke!


----------



## .:WAGO::0100146:. (4 April 2017)

Hallo sash583,

natürlich habe ich den Reset ebenfalls in e!COCKPIT getestet. Hast du den Namen der Applikation für dein Programm angepasst ('App1')?


----------



## sash583 (4 April 2017)

Sehr gut, dann sollte das bei mir eigentlich ja auch funktionieren. Ja den Applikationsnamen habe ich angepasst. Über Nacht hat sich herausgestellt, dass mit Import der CmpApp Bibliothek die MySQL Bibliothek "zerstört / gestört" wurde. Plötzlich war die SQL-Syntax falsch. Die Zeichen "INSERT INTO" wurden zu Hieroglyphen und das Schreiben in die MySQL-DB unmöglich. Nach löschen der Bibliothek CmpApp, funktionierte alles wieder einwandfrei. Jetzt bin ich mir momentan nicht ganz sicher, ob ich mich an die CmpApp Bibliothek nochmal rantraue. 

Grüße

Sascha


----------



## DerPaul (12 Januar 2022)

.:WAGO::0100146:. schrieb:


> Hallo sash583,
> 
> 
> du kannst über die Bibliothek CmpAppeinen WarmReset ausführen. Die Funktion dafür lautet AppReset
> ...


Ich wärme diesen Thread mal auf...

Ich habe mal versucht das ganze auf meiner PFC 200 nachzubauen, bekomme allerdings immer nach dem Anlegen des Events mehrere Fehlermeldungen (Siehe Anhang). Sobald ich ein Event im Taskmanager hinzufüge kommt beim Übersetzen dieser Fehler (Selbst bei einer leeren Funktion).  Ich bräuchte da ein wenig hilfe....


----------



## .:WAGO::018636:. (12 Januar 2022)

Hallo DerPaul,

das Verhalten taucht bei dir auf, da du die Bibliothek WagoTypesEvent hinzugefügt hast.
Die Bibliothek wird nicht automatisch angezogen und erzwingt keinen Namensraum.
Du kannst entweder die Bibliothek löschen oder einen Namensraum erzwingen um das Verhalten zu lösen.


----------



## DerPaul (20 Januar 2022)

Danke hat funktioniert!


----------

