Page 1 of 1

Auto Loggin und Autostart von erstellten Python Programmen

Posted: 09 Mar 2017, 15:29
by Karl
Hallo,

in einem Projekt möchte ich ein Taktlogger erstellen, der Schaltzustände unserer Anlagen in der Fertigung mitloggt, um aus den gewonnenen Daten Prozessoptimierungen herauszuarbeiten.

Dank der tollen Vorarbeit von Sven Sager (Fa. Miprotek) mit dem Python RevPiModIO Modul habe ich die erste Version des Taktloggers für die ersten 3 Signale fertiggestellt.
Der RevPi mit einem DI Modul befindet sich auch ordentlich verdrahtet im Schaltschrank der Anlage.
War schon eine kleine Herausforderung, da ich mit Python noch nicht so viel programmiert habe.

Nun stehe ich vor der Aufgabe, dass der RevPi nach dem Hochfahren der Anlage (mindestens 1x pro Woche):
- automatisch startet (macht er),
- sich automatisch einloggt (macht er nicht !) und
- mein Python Programm automatisch startet (macht er auch nicht !)

Ich habe schon einiges erfolglos probiert.

Was muss wo beim RevPi eingestellt werden, damit der Taktlogger nach einer Anlageninbetriebnahme immer mittläuft?
Ich glaube eine Anleitung für 'Dummys' wäre sehr hilfreich für die vielen Laien, die irgendwann mal Semi-Profis werden.

Gruß,
Karl

Re: Auto Loggin und Autostart von erstellten Python Programmen

Posted: 09 Mar 2017, 15:47
by volker
Hallo Karl,
wir nehmen das mal in die Liste für die Video-Tutorials auf. Eigentlich ist das nicht schwer und es gibt im internet sehr viele gute Anleitungen dazu.
Einloggen musst Du Dich natürlich dafür shcon mal gar nicht, weil Dein Programm auch ohne Login gestartet werden kann (mit Root Rechten).
Als kleiner Tip: Schau immer erst mal beim raspeberry Forum vorbei, die haben in der Regel alles schon mal gut beschrieben ;-)
Hier ein Link mit ausführlicher Anleitung. versuch es einfach mal damit...

http://www.forum-raspberrypi.de/Thread- ... hon-script
Wenn Du nicht klar kommst helfen dir hier sicher ein paar "gute Geister" weiter :-)

Re: Auto Loggin und Autostart von erstellten Python Programmen

Posted: 09 Mar 2017, 16:22
by RevPiModIO
Hi Karl!

Warte noch mal bitte ein paar Tage ab ;)

Ich baue momentan einen PLC Loader für Python Programme, weil wir genau das selbe Problem auch haben :D

Das Programm wird auf dem RevPi installiert und startet über das init System von Linux (also braucht man kein Autologon). Der Loader selber startet dann dein Python-Programm!
Das Teil erstellt dann eine eigene Logdatei und eine Logdatei für dein Programm, wo jeweils die Ausgaben gespeichert werden. Dafür wird natürlich auch ein Logrotate script angelegt, der die Logs dann sauber hält.

Wenn von dem PLC-Loader der integrierte XML-RPC-Server aktiv ist, kannst du dich über ein kleines Python Programm mit dem RevPi verbinden und die Logs ansehen, dein Python-Programm hochladen, starten stoppen usw usw... (Läuft auf Linux und Windows)

Außerdem kannst du die piCtory-Konfiguration darüber herunterladen und sie ggf. wieder hochladen. Hat Vorteile, wenn man an einem Pi mehrere Programme mit mehreren Hardwareconfigs programmiert...

Momentan arbeite ich noch an dem Up-Download vom Python-Programm... der Loader ist schon fertig. - Muss noch dann noch alles in DEB pakete packen, aber wenn du ihn testen magst, melde dich mal, würde mich freuen :D

Gruß, Sven

Re: Auto Loggin und Autostart von erstellten Python Programmen

Posted: 09 Mar 2017, 16:35
by volker
Hört sich gut an!
Bitte denkt bei den ganzen Log-Sachen immer daran, die eMMC hat nur begrenzte Lebensdauer, wie bei Flash eben üblich. Jeder Schreib- oder Löschzugriff verringert die Lebensdauer. Genaue daten haben wir nicht, weil der Hersteller sich dazu ausschweigt. Also wenn umfangreiche Logs mitgeschrieben werden mit Ausgaben im ms Takt, dann wäre es ratsam, die auf ein USB-Medium zu schreiben.

Re: Auto Loggin und Autostart von erstellten Python Programmen

Posted: 09 Mar 2017, 16:41
by RevPiModIO
Hi Volker!

Das ist noch mal ein guter Hinweis! Der eigentliche Loader loggt nur mal "hab gestartet" oder "programmfehler" usw... also nichts dolles... und das "Anwendugnslog" ist auch nur dafür gedacht mal einen Fehler zu finden, ABER wenn ein User da wirklich viele Ausgaben reinprogrammiert wäre das wirklich übel... Ich werde einen Parameter mit einbauen, bei den man den Pfad für das AppLog ändern kann!

Danke!

Gruß, Sven