# SPS durch einen Raspberry Pi mit Python ersetzen



## sps_anfänger123 (15 Dezember 2020)

Hallo zusammen, 

ich baue aktuell eine Dosieranlage für Futtermittel. Das System soll verschiedene Komponenten abwiegen. Um dies zu tun muss es verschiedene Förderbänder genutzt. Diese fördern die Lebensmittel in einen gewogenen Trichter. Auf Basis des Wiegesignals und der Rezeptur sollen die Förderbänder ein- und ausgeschaltet werden. Das System ist im Moment mit einem Raspberry Pi und Python Programmierung umgesetzt. Ich komme leider eher aus dem IT Bereich und nicht aus der Elektrotechnik, weswegen ich mich auch nicht mit SPS auskenne. Mir wurde aber gesagt, dass meine aktuelle Lösung keinen "Industrie Standard" hat. Jetzt frage ich mich:  
- Muss ich SPS Programmierung nutzen um einen Industriestandard zu erreichen oder kann ich das auch mit Python umsetzen? 
- Was hat die SPS, was mein Raspberry Pi mit Python nicht hat? 
- Sollte ich bestimmte Module von der Steuerung beispielsweise mit CodeSys umsetzen? 

Danke schonmal im Voraus!


----------



## Ralle (15 Dezember 2020)

Im Grunde kommt es nur auf den Abnehmer der Anlage und euen Vertrag an.
So oder so darfst du einenAnlage nur in Verkehr bringen, wenn alle einschlägigen Normen erfüllt werden, also zu Allerste Safety etc. Außerdem solltest du eine Gefahrenanalyse haben, die brauchst du ja ohnehin. Womit du die Anlage schlußendlich steuerst, hat damit erst einmal wenig zu tun.

Ich würde mal betrachten, was für eine SPS und somit einen Indutriestandart spricht.

1. Ausfallsicherheit: Eine SPS wird vom Hersteller entwickelt und gebaut. Dazu bekommst du ein Datenblatt, in den steht z.B.welcher Spannungsbereich, welcher Temperaturbereich etc. Darauf darfst du dich verlassen und berufen, wenn es Probleme gibt.
2. Ersatzteile: Ja nach Hersteller bekommst du noch viele Jahre lang Ersatzteile. Im Falle von Siemens z.B. i.d.R. noch 10 Jahre nach Abkündigung der Steuerung und manchmal auch länger. Das wage ich bei einem Raspi zu bezweifeln, bzw. darauf würde ich mich nciht verlassen.
3. Software: Die Steuerung wird in der Regel mit einer speziellen Software programmiert. Beim Raspi brauchst du das OS und die richtigen Pakete. Falsche Python-Version und es kann schon schief gehen. Gleiches gilt für die Anbindung von Sensoren und Wiegemodulen etc.

Es gibt auch Codesys für den Raspi, 50€ kostet es wohl im Moment, aber auch hier schreibt 3S selbst, dass das eher nicht für den Indutriebereich gedacht ist.


----------



## Fluffi (15 Dezember 2020)

Ich mache selber viel mit dem Raspy und auch Python weiß ich sehr zu schätzen, aber eine Steuerung würde ich damit, zumindest in der normalen Standard-HW-Version und mit Phyton wirklich niemals realisieren. Neben der Tatsache, dass die HW nicht für den industriellen Dauerbetrieb entworfen wurde, beißt sich grundsätzlich das Thema "Echtzeit" und eine ganz oben auf dem OS aufgesetzte Interpretersprache an allen Ecken. Das geht höchstens für Bastel-Projekte daheim. Sollte außerdem aus irgendeinem Grund das System neu aufgesetzt werden müssen, muss von der OS Version, Python-Version, allen installierten Paketen und dutzenden anderen Dingen alles exakt wieder so vorhanden sein wie es zunächst einmal war. Ist da auch nur an einer Stelle der Wurm drin, fangen die Probleme an. Solch ein zusammengebasteltes System, vom obligatorisch chaotischen Python-Code mal ganz zu schweigen, ist nicht Industrie-Standard weil man es nur mit sehr viel Aufwand wieder fixen kann wenn es Probleme gibt und das meistens nur der Ersteller dann in einer absehbaren Zeit kann, wenn überhaupt. Wer macht das mit dieser HW in 5 Jahren,wenn du damit gar nichts mehr am Hut hast und die Rasberry und Phyton Basis sich schon wieder x mal geändert hat? Und nehm's mir bitte nicht übel und ich meine das nicht böse, aber bei den Worten Raspy und Phyton weiß ich eines sofort: Normen, Maschinenrichtline und vor allem Safety sind hier Fehlanzeige. Wenn dem so ist, dann darfst du das niemals in den Verkehr bringen um es mal knallhart zu sagen.
Der erste Schritt den ich an deiner Stelle machen würde, wäre zunächst mal auf eine Industrial-Variante des Raspberry PIs umzusteigen und CodeSys zu verwenden, wenn es denn unbedingt ein Raspby sein muss und keine günstige und zuverlässige Industrie-Steuerung mit bewährten I/O Modulen etc. Gibt ja mittlerweile genug die auf CodeSys aufbauen.


----------



## testor (15 Dezember 2020)

Ralle schrieb:


> Es gibt auch Codesys für den Raspi, 50€ kostet es wohl im Moment, aber auch hier schreibt 3S selbst, dass das eher nicht für den Indutriebereich gedacht ist.



Ich meine vor kurzem in einer E-Mail gelesen zu haben, dass der Preis für die Rasp-Codesys Lizenz zum Jahreswechsel verdoppelt wird, aber dann auch die industrielle Verwendung eingeschlossen ist.

Wenn man den Raspberry als Hardware als gegeben annimmt macht es aber nicht unbedingt einen Unterschied ob man Python oder Codesys nimmt. (Wenn man unterstellt, dass Echtzeitfähigkeit nicht notwendig ist und Safety mal außen vor gelassen)
Die Probleme mit den Versionen etc. Kann man genauso auch mit Codesys haben, wobei es in der IT Welt genau dafür elegantere Lösungen gibt.


----------



## Ralle (16 Dezember 2020)

testor schrieb:


> Ich meine vor kurzem in einer E-Mail gelesen zu haben, dass der Preis für die Rasp-Codesys Lizenz zum Jahreswechsel verdoppelt wird, aber dann auch die industrielle Verwendung eingeschlossen ist.



Das wäre wirklich schade für den privaten Bereich. War mal bei 30€, nun bei 50 ist das für mich gerade so noch ok. Dann nehm ich doch lieber Python.


----------



## Fluffi (16 Dezember 2020)

Es macht sehr wohl einen riesen Unterschied ob man Phyton oder CodeSys verwendet. Beim Einsatz von CodeSys bekommst du ein zuverlässiges und erprobtes industrietaugliches Framework und für den RPi eine Soft-SPS, welche auf gängigen Standards inkl. Überwachungen etc. basiert. In Phyton hast du davon absolut gar nichts. Nur eine nicht gerade performante interpretierte Sprache die du direkt auf dem Raspberry programmieren musst und alles andere als für HW-Kontrolle im größeren Maßstab geeignet ist (aber dafür sehr mächtig ist was andere Dinge angeht). Das sind Unterschiede wie Tag und Nacht. Und ich sag das als Phyton Freund.


----------



## testor (16 Dezember 2020)

Fluffi schrieb:


> Es macht sehr wohl einen riesen Unterschied ob man Phyton oder CodeSys verwendet. Beim Einsatz von CodeSys bekommst du ein zuverlässiges und erprobtes industrietaugliches Framework und für den RPi eine Soft-SPS, welche auf gängigen Standards inkl. Überwachungen etc. basiert. In Phyton hast du davon absolut gar nichts. Nur eine nicht gerade performante interpretierte Sprache die du direkt auf dem Raspberry programmieren musst und alles andere als für HW-Kontrolle im größeren Maßstab geeignet ist (aber dafür sehr mächtig ist was andere Dinge angeht). Das sind Unterschiede wie Tag und Nacht. Und ich sag das als Phyton Freund.



Naja, man muss sich natürlich schon mit dem was man machen will auseinandersetzen. Zu sagen Python ist unzuverlässig geht mir da zu weit, insbesondere wenn man bedenkt wo das alles benutzt wird. Heißt natürlich nicht das man jedes x-beliebige Package einbinden darf etc. Zumal ich auch schon instabile SPS-Laufzeitversionen hatte, bei denen es zu "Fehlbewegungen" kam. Es gibt ja nun sogar Steuerungshersteller die offensiv damit werben, das man ihre SPS jetzt auch mit Python programmierbar sind. Aus meiner Sicht geht das definitiv zu weit, aber einzelne Aufgaben lassen sich sicher auch so lösen. Die Frage ist welche Aufgabe man damit steuern möchte und was der Kunde erwartet. Das was oben beschrieben wurde hörte sich nicht so komplex an.


----------



## ducati (16 Dezember 2020)

ja, alles auch ne Frage ob man jetzt Sonderanlagen oder Serienanlagen baut... Und IO-Module brauchts ja auch noch, was willst bei dem Raspy denn dafür hernehmen?
Für Sonderanlagen sollten eigentlich die par Euro für ne S7-1510SP oder von mir aus ne 1200er oder ne Logo drin sein... Bei Serienmaschinen naja, keine Ahnung ob sich der Aufwand dann lohnt, den Raspy industrietauglich zu bekommen... Und für privat soll jeder halt tun was er nicht lassen kann...

Ich hatte mal ne Baustelle da war die BHKW Software in C geschrieben  Das war ein höllen Spaß bei der Inbetriebnahme... Ich bin aus dem Kopfschütteln nicht mehr rausgekommen


----------



## Baschankun (16 Dezember 2020)

Beim Systementwurf sollte man immer auch an die notwendigen Genauigkeiten, das Zeitverhalten, Reaktionen auf Alarme etc. denken.
Welche Genauigkeiten sind gefordert? 
Welche Normen (EMV, Maschinensicherheit,...) müssen eingehalten werden?
Wer soll die Maschine warten? Ich denke, viele Servicetechniker sind nicht wirklich mit Linux und Python vertraut.


----------



## oliver.tonn (16 Dezember 2020)

Gelöscht, weil die Antwort zum Thema Echtzeit doch nicht so passend war.


----------



## Frohnius (16 Dezember 2020)

guten morgen 
in meiner freizeit spiele auch mit mit raspberry python und c ....
bei mir im betrieb habe ich irgendwann entschieden schneider sps einzusetzen, also codesys.
es entwickelt sich aber schon länger ein trend zum industrie-pc hin und von der sps weg.
bisher weigere ich mich noch standhaft und vertraue auf die stabilität einer sps.
für den rasp gibt es natürich mittlerweile interessante industrie versionen ...
https://revolution.kunbus.de/revpi-core/
meiner meinung nach einen blick wert ;-)


----------



## dennisbz (16 Dezember 2020)

Die 5V Logik macht es zu Sensorik und Aktoren recht unkompatibel


----------



## sps_anfänger123 (21 Dezember 2020)

Hallo zusammen, vielen Dank für die vielen Antworten. Damit habe ich nicht gerechnet! 

Wir werden jetzt vermutlich mit Codesys programmieren und eine SPS dazu kaufen. Ich hatte mal geguckt, was es so für einfache Anwendungen gibt und stoße da immer wieder auf die Logo von Siemens. Hat jemand Erfahrung mit der oder eine Empfehlung? Sollte funktionieren aber nicht zu teuer sein. 

Danke!


----------



## oliver.tonn (21 Dezember 2020)

Wenn es Siemens sein soll geht Codesys nicht und die Logo könnte da vielleicht auch zu schnell an ihre Grenzen kommen, je nach dem was Ihr machen wollt, hier würde ich eher die S7-1200 nehmen, da gebe es auch ein Starter-Kit mit zeitlich nicht begrenztem TIA, aber vorm Bestellen auf die Version achten.
Direkt Codesys, also natives Codesys kann man eh in den seltensten Fällen einsetzen. Die SPS-Hersteller passen dies mehr oder minder stark an und vertreiben es selber.
Nativ würde es mit WAGO und Beckhoff (Auf dem CX) laufen. Ansonsten Beckhoff TwinCAT (z.B. auf CX), WAGO e!Cockpit auf PFC100 (Starter-Kit vorhanden) oder PFC200, Bosch Rexroth Steuerungen und viele weitere mehr.


----------



## Frohnius (21 Dezember 2020)

hi, 
ich glaub nicht dass eine logo für dich das richtige ist ...
deine wiegesensoren werden 20mA sein ... die logo kann nur 0-10V analog lesen ...
klar kann man messwandler einbauen, damit wäre der finanzielle vorteil der logo evtl schon wieder weg ..

ich habe damals b&r, step7 und codesys installiert und bin bei codesys gelandet da mir die ide am einfachsten schien ...
im nachhinein denke ich immer mal wieder an die schöne schnelle ide von b&r ..

als it-ler kommst du vll auch gut damit zurecht, dass b&r in c programmiert werden kann ...


----------



## oliver.tonn (21 Dezember 2020)

Frohnius schrieb:


> hi,
> ich glaub nicht dass eine logo für dich das richtige ist ...
> deine wiegesensoren werden 20mA sein ... die logo kann nur 0-10V analog lesen ...
> klar kann man messwandler einbauen, damit wäre der finanzielle vorteil der logo evtl schon wieder weg ..


Wo hast Du denn diese (falsche) Info her? Die LOGO kann auch Ströme messen, siehe hier.


----------



## Blockmove (21 Dezember 2020)

Ich hab vor vielen Jahren mal so eine Futtermischanlagen für einen Bekannten umgebaut.

Da sowas doch recht umfangreich werden kann, ist eine Logo wahrscheinlich nicht das Richtige.
Es kann Rezepturen, Alarme, umfangreiches HMI, ... geben.
Ich würd hier auch ein Codesys-System wie z.B. Wago vorziehen.

Gruß
Blockmove


----------



## Frohnius (21 Dezember 2020)

oliver.tonn schrieb:


> Wo hast Du denn diese (falsche) Info her? Die LOGO kann auch Ströme messen, siehe hier.


ui .. ja du könntest recht haben .. ausgänge waren nur 0-10V - richtig ?


----------



## Mrtain (21 Dezember 2020)

Frohnius schrieb:


> im nachhinein denke ich immer mal wieder an die schöne schnelle ide von b&r ..



Ansichtssache. Ich versuche mich gerade mit AS anzufreunden, leider bisher mit mäßigem Erfolg 

PS.:
C++ ist mit BR auch möglich


----------



## oliver.tonn (21 Dezember 2020)

Frohnius schrieb:


> ui .. ja du könntest recht haben .. ausgänge waren nur 0-10V - richtig ?


Äh, nö, der Interne vielleicht da kann es sogar sein, dass der interne Eingang nur 0-10V kann, ich kenne die LOGO nicht wirklich, aber die Erweiterungsmodule können beides, sowohl die Eingangs- wie die Ausgangsmodule.


----------



## Frohnius (21 Dezember 2020)

oliver.tonn schrieb:


> Äh, nö, der Interne vielleicht da kann es sogar sein, dass der interne Eingang nur 0-10V kann, ich kenne die LOGO nicht wirklich, aber die Erweiterungsmodule können beides, sowohl die Eingangs- wie die Ausgangsmodule.


ja genau so war das .. intern nur 0-10V .. hab über wandlermessspulen sowieso messwandler gebraucht und war mir jetzt auch nicht mehr sicher ...


----------



## HausSPSler (27 Dezember 2020)

> Ich meine vor kurzem in einer E-Mail gelesen zu haben, dass der Preis  für die Rasp-Codesys Lizenz zum Jahreswechsel verdoppelt wird


halte ich erst mal für ein Gerücht... denke eher nicht.

du kannst auch einen PFC100 oder 200 oder einen Wago Touchpanel nehmen und dann mit CODESYS V3 das ganze umsetzen.
Zur Auswahl stehen neben all den erwähnten Produkten der OEM Hersteller die CODESYS SL (Single License) Produkte aus dem CODESYS Store:
-Wago PFC100 / PFC200 / Touch Panel TP600
-Janz Tec emPC-A/iMX6 SL
-Phönix PLCnext SL mit CODESYS
-Beckoff IPCs mit Control RTE
dann könntest du das auch mit Linux umsetzen Linux SL und CODESYS V3 ( also Linux auf einem IPC)
Raspberry PI und deren derivate / Kunbus usw...
Beaglebone... usw
Dann wird es demnächst ARM SL geben - das z.B auch auf einem Siemenes IOT 2050 geht ( oder auch andern Arm basierten Linux/Debian Produkte)
All diese Steuerungen eigenen sich bestens mit Ethercat / Profinet  oder auch bei den Wago's über KBUS deine IO's anzusteuern.
Hast bei all diesen Produkten die Webvisu für die Bedienung inklusive ( nicht bei den IPC's da kostet diese extra Lizenz auch wie die Targetvisu)
 Bei all diesen Lösungen hast du zusätzlich die Option deine Mischanlage über den CODESYS Automation Server zu verwalten,
d.h - du kannst dich einloggen auf der Steuerung von wo auch immer du bist + kannst auch die Webvisu anzeigen von wo aus du willst.
+ klar Projekt deployen usw.. solltest mal damit rumspielen.  
https://www.youtube.com/watch?v=8KLywg51Xyk&t=62s
https://www.youtube.com/watch?v=Kyf9bCpPa6s

Grüße


----------



## testor (27 Dezember 2020)

HausSPSler schrieb:


> halte ich erst mal für ein Gerücht... denke eher nicht.
> e



Habe jetzt nochmal gesucht und die Email in meinem Archiv gefunden. Der Betreff war: "CODESYS Control for Raspberry Pi SL goes Industry!"
Die Lizenz CODESYS Control for Raspberry Pi MC SL wird zum 1.1. auf 100 € erhöht. Die Lizenz CODESYS Control for Raspberry Pi SL darf nicht mehr für industrielle Anwendungen genutzt werden.
Es handelt sich also nur um eine Preiserhöhung von 75 € auf 100 € für die MC-Lizenz. Als ich die E-Mail gelesen hatte, hatte ich nur den Preis 50 € im Kopf, weshalb ich es als Verdopplung verstanden hatte. Für eine industrielle Anwendung, die vorher die einfache SL genutzt hat, ist es dann ja quasi auch eine Verdopplung, wobei sicherlich immer noch ein günstiger Preis.


----------

