# Controller (PLC200) mit Reset-, Start-, Stop-Funktion + Visu Buttons



## Lex (1 Februar 2018)

Hallo alle zusammen,

ich habe in verschiedenen Forums schon recherchiert nach einem Programm das denn Controller Reset, startet oder stoppt, jedoch ohne Erfolg. Die meisten Programme sind für Codesys v2.3 ausgelegt und wenn etwas für Codesys v3 beschrieben worden ist, ist es nicht in dem Umfang in dem ich es benötige.

Meine Hard- und Software:     - Wago 750-8204 (PFC200)
                                            - e!COCKPIT v1.4.0 


Mein Vorhaben ist es, mit drei unterschiedlichen Buttons auf der Visu den Controller/PFC200 dem entsprechend "neu zu starten (reset)", "das Programm zu starten" oder "das Programm zu Stoppen".
Im Angehängtem Bild sind die denke ich benötigten Bausteine zu sehen. Im Deklerationsteil (siehe Bild) ist alles nennenswerte erwähnt und bewusst auskommentiert. 


Das Problem ist allerdings, dass wenn ich z.B. nur den Baustein für den Reset verwende, sich das Programm aufhängt nach dem hochladen des Programms. Ich vermute das der Controller ständig immer und immer wieder Resetet wird und deswegen es zu dem aufhängen des Systems kommt.  Dies passiert egal welchen Baustein ich ich von den dreien alleine oder in Kombination benutze.
Entferne ich den Baustein mit sämtlichen Ein- und Ausgängen und lade das Programm erneut neu hoch, funktioniert wieder alles reibungslos.
Meine Frage ist somit.... Was ist falsch Programmiert oder werden andere Bibliotheken verwendet?

Ich hoffe mir kann jemand weiterhelfen.



Gruß Lex


----------



## oliver.tonn (1 Februar 2018)

Gegenfrage wofür soll das gut sein? Die meisten von uns sind froh, wenn das Programm und die SPS laufen.
Wie willst Du ein angehaltenes Programm wieder starten? Die Visu braucht zum Funktionieren auch ein Programm und wenn das steht geht nichts mehr.

Von irgendwas mit Internetzugang gesendet


----------



## PN/DP (1 Februar 2018)

Ich kenne den Wago-Controller und die Bausteine nicht, aber:
Ist Dein Programm oder die Qualität der Controller so schlecht, daß man von der Visu SPS-Neustart oder Programm-Stop auslösen muß?  Oder ist den SPS-Anwendern langweilig, daß sie solche Spielknöpfe brauchen? 
Was macht Dich zuversichtlich, daß die SPS den Programmcode tatsächlich korrekt ausführt wenn sie so spinnt, daß ein Restart tatsächlich nötig wird? Ein simples (Haupt)schalter Aus-Ein wäre keine Lösung?
Und wie hast Du Dir das eigentlich vorgestellt daß das SPS-Programm gestartet wird wenn es gestoppt ist/wurde? 

Zu dem dauernden Reset:
Der Programmteil mit dem Reset darf nur ausgeführt werden oder der Variable "ResetMode" darf erst dann ein Wert <> 0 (entsprechend gewünschtem Resetmode) zugewiesen werden, wenn auf der Visu der entsprechende Button gedrückt wird (davon sieht man nichts in Deinem Code). Beim Programm-Start muß der Wert zunächst 0 sein oder sicherheitshalber auf 0 gesetzt werden.

Harald


----------



## Lex (1 Februar 2018)

Mir persönlich geht es Hauptsächlich nur um den Reset.
Meine SPS läuft einwandfrei, jedoch werden manche Werte zum Testen nach einer Programmierung erst nach einem Reset vollständig aufgenommen. 
Die Start oder Stop Funktion macht wenig Sinn, da gebe ich euch recht, die Bausteine sind mir nur beim betrachten der Bib aufgefallen und wollte Sie einfach zusätzlich testen.

An PN/DP: Das klingt logisch und werde es austesten, ich dachte mir schon das es daran liegen müsste. Mir stellt sich aber jetzt die Frage, wie schreibe ich in den Parameter die 0 rein, wenn ich das mit CFC programmieren möchte per Visu Button?
Vielleicht so:


Button erstellen und auswählen
Eigenschaften -> Eingabekonfiguration -> OnMouseDown -> Konfigurieren
ST-Code ausführen
Als ST-Code folgendes reinschreiben " SysResetPlcProgram(0); "

Kann es momentan leider noch nicht austesten. Der Button müsste dann mit dem Eingang des Bausteins "SysResetPlcProgram" verknüpft sein. Meine Deklaration zu diesem Eingang müsste der Teil mit der Zuweisung (RESET_WARM) entfernt werden.

P.S.: Vielen lieben Dank für die schnelle Rückmeldung.

Gruß Alex


----------



## Passion4Automation (3 Februar 2018)

Was für Werte werden erst nach einem Reset vollständig aufgenommen?
Du kannst doch auch aus codesys resetten? Oder gibt's du die Wertänderung nur über die Visu ein?

Ich würde grundsätzlich versuchen die Variablen ohne Reset zu ändern, wenn das klappt brauchst den Reset nicht. Also zuerst das Problem lösen.


----------



## Lex (8 Februar 2018)

@goifalracer:
 Der Reset soll hauptsächlich provisorisch sein. Momentan werden von meinem Controller manchmal Wertänderungen die ich definiert habe, erst nach nach einem Reset übernommen. Ich weiß nicht wieso aber so lässt es sich lösen. Jedoch ist dies nur jetzt beim Testen und programmieren so. Wenn meine Haussteuerung fertig programmiert ist, werden hier in der Regel keine Änderungen mehr vollzogen.
Ich finde jedoch das es nicht schadet ein Reset Button in der Visu zu haben, anstelle es per e!COCKPIT, oder an den Ort wo sich der Controller befindet zu laufen.


----------

