TwinCAT2 PLC ordnungsgemäß beenden

Patrick1008

Level-2
Beiträge
16
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe etwa 100–200 IPCs, auf denen TwinCAT2 PLC (TCatPlcCtrl.exe) läuft. Ich möchte die PLC-Anwendung automatisch und ordnungsgemäß von einem zentralen Computer aus schließen. Falls beim Beenden nach dem Speichern gefragt wird, ist es in Ordnung, alle Abfragen mit „Ja“ zu beantworten. Ich kann eine C#-Anwendung schreiben, finde jedoch keine Schnittstelle, mit der dies möglich wäre. Das Senden von WM_CLOSE löst das Problem mit dem Speichern der Datei nicht. PowerShell ist keine Option, da Windows XP Embedded kein PowerShell installiert hat. Ich habe wenig Hoffnung, dass es möglich ist, aber ich wollte es hier dennoch versuchen.
 
Warum läuft auf 100-200 Computern die TCatPlcCtrl.exe? Das ist der PLC-Editor. Ihr habt doch nicht etwa 100-200 Programmierer da sitzen, die schwer arbeiten und Du willst die ärgern und während ihrer Arbeit einfach den Computer abschalten. :poop:

Mal im Ernst, es gibt keinen Grund, warum im Runtime-Betrieb der PLC-Editor offen sein sollte.

Eine PLC-Anwendung, wie Du die beschreibst, gibt es im TwinCAT nicht. Die TC-Runtime ist keine Windows-Anwendung. Die PLC läuft parallel mit Windows direkt auf dem Prozessor. Da läuft lediglich der TwinCAT-Systemdienst (TcSysSrv.exe), der die Schnittstelle zwischen TwinCAT und dem Windows-Betriebssystem bildet.

Also, lass den PLC-Editor geschlossen, wenn niemand an den PLC arbeitet. Dann kannst Du Windows einfach beenden. Da gibt es ja genug Möglichkeiten, das aus der Ferne zu tun.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ohne sich über Sinn und Unsinn Gedanken zu machen:

Du hast dir doch deine Lösung schon selber gegeben:
WM_Close an das Fenster senden, und dann warten bis entweder das Programm beendet ist (EnumProcesses() und GetExitCodeProcess()) oder bis das Dialogfeld erscheint. Wenn das Dialogfeld erscheint eine BM_Click Nachricht an den Ja Button schicken und anschließend wieder auf Prozessende warten. Fürs Debuggen von sowas ist SpyXX sehr hilfreich.

Natürlich ist das eine furchtbare Lösung bei der viel schief gehen kann - und vermutlich irgendwann auch wird.
 
Zurück
Oben