# SPS lernen mit Vorkentnissen



## paka (15 Januar 2014)

Hallo,

ich hätte gerne einen Überblick, wie lange man ca zum SPS lernen benötigt, wenn man Vorkenntnisse in Programmierung hat, da ich mich für eine Stelle als Schaltschrankbauer bewerbe.
Ich habe Kenntnisse in Assembler, c, Java, Pascal/Delphi, und umfangreiche Kenntnisse und Erfahrungen in JavaScript und noch mehr in PHP.
OOP und Prozedurale Programmierung sind kein Problem.
Ich habe die Erfahrung gemacht, dass es irgendwann sehr einfach ist, eine neue Sprache zu lernen, und auch entsprechend schnell geht. Nun hält SPS wohl ein Paar Herrausforderungen/Probleme bereit, mit denen ich in meinen bisherigen Anwendungen nichts zu tun hatte. Ich denke da an Sicherheitsaspekte und an die Tatsache, dass hier Programme in Echtzeit ausgeführt werden müssen. Und dass sind ja nur die Punkte, die mir ohne SPS Kenntnisse einfallen.

Gruß
Paka


----------



## georg28 (15 Januar 2014)

Wie lange du brauchst lässt sich ja schwer sagen. Aber da du ja Programmierkenntnisse hast wirst du viele Sachen finden die ähnlich oder gleich sind wie in Hochsprachen speziell bei Codesys/ Beckhoff. Hier wirst du dich wahrscheinlich schnell reinfinfen. Da ist SCL die Hochsprache dass Programmierwerkzeug. Man Kann aber auch grafisch in Kontaktplan oder Ablaufsprache (ähnlich einem Ablaufdiagramm) programmieren. Wenn du aber Siemens lernen willst wirst du wahrscheinlich länger brauchen da du bei Siemens Datenbausteine und Absolutadressen, Hardwaretimer Merker,u.s.w hast dass von PHP; Java nicht kennst und dort auch nicht existiert. Siemens ist aber mit Abstand am weitesten verbreitet. Es gibt aber auf der Siemens Homepage gute Dokus.
Und hier im Forum findet man auch viel gute Sachen wenn man mal so die Stichworte kennt


----------



## paka (15 Januar 2014)

Hallo Georg,

danke für die schnelle Antwort.
Ich befürchte/vermute, dass es um das es um Siemens geht. So wie du das beschreibst, scheint das immer noch stark an Assembler zu erinnern. Ich hatte mir das vor vielen vielen Jahren mal angeschaut, aber gehofft, dass die Objektorientiere Programmierung hier mittlerwile auch Einzug gehalten hat.
Assembler war zwar meine zweite Sprache, aber das ist ewig her.
Ich vermute halt, dass ich nächst oder übernächste Woche zum Vorstellungsgespräch eingeladen werde, und es wäre schön, wenn ich dann sagen könnte, nach meinen Infos und Vermutungen kann ich die Progrmmierungskenntnisse, die ich benötige, in xx - yy Wochen/Monaten aneignen. Das wüde wohl zum einen meine Chancen verbessern, und meine Arbeit auf Dauer wesentlich interessanter machen.

Gruß
Paka


----------



## ducati (15 Januar 2014)

paka schrieb:


> da ich mich für eine Stelle als Schaltschrankbauer bewerbe.


???

Hmm, irgendwas gerät hier durcheinander? Der Schaltschrankbauer baut Schaltschränke und der SPS-Programmierer programmiert die Steuerungen. 

Beides hat wenig mit Deinen beschriebenen Kenntnissen zu tun.

Und zumal Du auch nichts von Kenntnissen der Automatisierungsbranche oder Elektrobranche schreibst, bist Du sicher, dass das der richtige Job für Dich wäre?

Gruß.


----------



## paka (15 Januar 2014)

Hallo Ducati,



> Beides hat wenig mit Deinen beschriebenen Kenntnissen zu tun.
> 
> Und zumal Du auch nichts von Kenntnissen der Automatisierungsbranche  oder Elektrobranche schreibst, bist Du sicher, dass das der richtige Job  für Dich wäre?


ich hab hier ja nicht meinen Lebenslauf und/oder eine Skilllist gepostet, sondern nur die Kenntnisse angeführt, die für die Frage eine Rolle spelen. 
Es ist ja nicht selten, dass in Firmen, die Schaltschränke bauen, die eine oder andere Steuerung hergestellt wird Die muss dann halt auch programmiert werden.
So auch in der Firma, an die dei Bewerbung geht.
Nun suchen die dauernd Leute zur SPS-Programmierung, weshalb es interessant wäre, sich da einzuarbeiten, wenn man dort arbeitet. Nach dem Telefonat mit der Chefin, hatte ich den Eindruck, dass die Bereitschaft, sich in SPS einzuarbeiten, gerne gesehen würde. Da wäre es halt schön, wenn ich ein paar begründete Angaben machen könnte, wie lange so was dauert.

Noch ne Anmerkung.
Es ist eine leider weit verbreitete Unsitte in Foren, die Intension des Fragenden infrage zu stellen. Ich frage mich immer: Warum?

GRuß
Paka


----------



## georg28 (15 Januar 2014)

> da ich mich für eine Stelle als Schaltschrankbauer bewerbe.


Das hatte ich total überlesen.
Ich denke als Schaltschrankbauer wirst du weniger mit programmieren zu tun haben. In der Automatisierungsbranche sind Elektrokenntnisse eigentlich ein muß
Was ist eigentlich dein beruflicher Background?


----------



## ChristophD (15 Januar 2014)

begündete Angaben zur Dauer: mindestens 1 Jahr

Die ganzen aufgeführten Programmiersprachen nützen Dir bei der SPS Programmierung quasi nix, nicht mal in der Theorie.
Objektorientierte Programmierung und SPS lässt sich nicht so einfach unter einen Hut bringen, alleine schon wenn ich an SPS und Pointer / Konstruktoren / Destruktoren denke würde mir schlecht werden.
Bei der SPS Programmierung ist nicht die Programmiersprache das wichtige sondern der Maschinenaufbeu und -ablauf, welche Sprache man dann nimmt ist meistens persönliche Geschmackssache


----------



## RobiHerb (15 Januar 2014)

*Nur nicht einschüchtern lassen ...*



ChristophD schrieb:


> Die ganzen aufgeführten Programmiersprachen nützen Dir bei der SPS Programmierung quasi nix, nicht mal in der Theorie.
> Objektorientierte Programmierung und SPS lässt sich nicht so einfach unter einen Hut bringen... Geschmackssache



Das sehe ich vollkommen anders!

Dazu ein paar Statements:

Assembler und AWL sind sich ähnlich, auch in der Anwendung, beide rettungslos veraltet, wenn man nicht gerade den BootUrlader entwickeln muss!

Wer mal Hochsprachen + OO gelernt hat, hat ganz klar den Vorteil, dass er weiss, wie man vom Stand der Technik etwas lösen kann. Selbst wenn einem aktuell nicht alle Mittel zur Verfügung stehen, man kann besser strukturieren und modularer arbeiten.

Siemens wird auch in Zukunft immer mehr zu IEC Konformität und der Pascal ähnlichen Sprache ST gezwungen werden.

Eine Firma, die in die Zukunft sich orientiert, wird jemanden mit modernen Programmier Kenntnissen gerne nehmen.

Was das Step 7 so kompliziert macht, ist die inkonsequente Umsetzung durch Siemens, die Anhäufung von veralteten Konzepten und Unfähigkeit bzw. Mutlosigkeit von Siemens einen radikalen Schnitt zu machen. 

So sind die Siemens Spezialisten eigentlich Gefangene eines alten Systems (Stand 1985) und nicht die smarten Gurus.

Also meine Empfehlung, Step7 und TIA/ST sich genauer anschauen vorher und signalisieren, dass man bereit ist, seine Erfahrungen mit den  Anforderungen in der neuen Firma zu verbinden. 

In einer realen Firma wird sowieso viel öfter an bestehendem rumgestrickt und geändert. D.h. Du bekommst jede Menge Lösungsansätze (auch mit Wasser gekocht und meist grauseligem Spagetti Code) aus der Vergangenheit mit jedem neuen Job mitgeliefert.


----------



## bike (15 Januar 2014)

Also ich programmiere seit 1978 PLC und lerne es immer noch.
Also kann die Frage nicht mit einer Zahl beantwortet werden.
Aus der Fragestellung kann ich nicht ersehen, warum der TE nicht in seinen Fachgebieten arbeitet, sondern eine völlig andere Tätigkeit sich antun will.
Wenn ich soviele Hochsprachen kann, warum dann in dreckige Fabrikhallen sich nächtelang herumtreiben? 


bike


----------



## de vliegende hollander (15 Januar 2014)

Hallo,

Der Schaltschrankbauer macht in der Regel nicht mit der SPS. 
Und wenn dann wahrscheinlich nur ein und ausgangs Bereiche prüfen würde ich mal  sagen.
Selbst bei eine größere Schaltschrankbau Firma gearbeitet und da war eine deutliche Trennung zwischen Arbeitsbereiche.

Deine Frage wie lang man braucht.. 
Ich hab nach 2 Basiskurse noch mal 2 Jahre gebraucht um mich ein zu arbeiten. Dass war dann das Moment das ich selbständig Baustelle machen / auswerten könnte.
Meine dann Maschine und SPS zusammen.

De vliegende Hollander


----------



## ducati (15 Januar 2014)

paka schrieb:


> ich hab hier ja nicht meinen Lebenslauf und/oder eine Skilllist gepostet, sondern nur die Kenntnisse angeführt, die für die Frage eine Rolle spelen.


Das denkst Du. Interessant wären eher die elektrotechnischen, verfahrenstechnischen, automatisierungstechnischen oder anlagenbautechnischen Kenntnisse gewesen.



paka schrieb:


> Noch ne Anmerkung.
> Es ist eine leider weit verbreitete Unsitte in Foren, die Intension des Fragenden infrage zu stellen. Ich frage mich immer: Warum?


Weil es keinen Sinn macht, stur auf Fragen zu antworten, welche widersprüchlich oder unsinnig sind. Da ist niemandem geholfen. DAnn lieber den Irrtum des Fragenden aufdecken und versuchen, ihn vor Schaden zu bewahren.

PS: Ein gutes Beispiel dafür ist dieser Thread: http://www.sps-forum.de/hmi/68722-f...lichen-panels-s7-313c-cpu-mpi.html#post476918


Gruß.


----------



## Cassandra (15 Januar 2014)

Hallo Paka,  

 was du als Schaltschrankbauer über SPS alles wissen musst, kann dir jeder erfahrene Geselle in einer halben Stunde Einweisung vermitteln.

 Um die Grundlagen kennen zu lernen, könnte dir vielleicht ein 5-tägiger Intensivkurs genügen.

 Für eine zehnjährige Erfahrung auf dem Gebiet, benötigst du mindestens zehn Jahre... 

LG Cassandra


----------



## Dos6.22 (17 Januar 2014)

Ich sehe das Problem, dass das Denken in Hochsprachen schon sehr anders ist wie bei der SPS. Manche kommen damit zurecht, andere nicht.
 Ich habe am Anfang nur Roboter programmiert und bin dann zu SPS gekommen. Da musste ich mich auch umgewöhnen. Aber ich kenne auch den Fall, wo Leute die aus der Hochsprachen Ecke kommen und vorher nie was mit der Industrie zu tun hatten, komplett versagen und fast schon zerbrochen sind. Das liegt aber auch an folgenden Punkte: oft auf dreckigen Baustellen mit Lärm, viel unterwegs, Programme von Leuten die aus der Elektriker Ecke kommen um somit vieles anders machen wie einer mit Hochsprachenkenntnis (was nicht schlechtes bedeutet), alleine das sorgt schon Konflikte. Der manchmal harsche Umgangston untereinder. Oft muss schnell auf der Baustelle was hergezaubert werden. Oft leider auch viel probieren geht über studieren, zum Teil hat das ganze auch viel mit Basteln zu tun und und und. Das hat ein Hochsprachen Programmierer, der Büroanwendungen macht so nicht. Sage ich mal so frei. Der ist auch jeden Tag zu hause. Kann auch anders seine Programme Planen und testen.

Ich sag es mal so, wenn ich eine Bewerbung mit deinen Kenntnissen bekommen würde, würde ich dich nur dann einladen, wenn ich wirklich keinen anderen bekommen könnte. Und auch nur dann einstellen, wenn du bei dem Gespräch vermitteln kannst, das du ein Bastler Typ bist und kein reiner Entwickler. Also du weisst, wie ein Schraubenzieher (ja so nenne ich die ;-)) aussieht und benutzt wird.
Aber du kannst dich ja einfach bewerben, wenn dir der Zeitaufwand dafür nicht zu viel ist. Mehr als eine Absage kannst du nicht bekommen. Ich hoffe aber, dass dann beide Seiten, bei einem Vorstellungsgespräch mit offenen Karten spielen. Sonst, hast du am end eine neue Stelle die dir nicht gefällt.


----------



## Werner29 (17 Januar 2014)

Hallo allerseits,

ich bin auch Hochsprachenprogrammierer, aber da ich ein SPS-Programmiersystem programmiere kenne ich mich auch damit ein bisschen aus.
Trotzdem würde ich mich niemals auf eine Stelle als SPS-Programmierer bewerben, genauso wenig wie man umgekehrt mit den üblichen SPS-Kenntnissen
keinen Compiler hinbekommen wird.
Aber das tut Paka ja auch nicht, er bewirbt sich als Schaltschrankbauer, ich nehme mal an, dass er für diesen Job schon noch irgendwas anderes mitbringt
als Kenntnisse in JavaScript. Also insbesondere wird er sich im Klaren sein, dass man den Schaltschrank üblicherweise nicht in einem vollklimatisierten Büro aufstellt.
Also meine Erfahrung: ich sehe oft grosse und sehr grosse SPS-Projekte. Die kann man nicht einfach so verstehen wollen und sowas kann ich auch nicht
schreiben, aber wenn ich 20 Zeilen ST Code auf den Tisch bekomme, dann kann ich dir sagen ob die tun sollen was beabsichtigt war.
So ungefähr darf Paka seine Kenntnisse einordnen, und ich würde mal sagen, besser als nichts.

Bernhard


----------



## georg28 (17 Januar 2014)

Hochsprachen sind in Bereich SPS klar auf dem Vormarsch und von daher sind seine Kenntnisse ,sollte er Programmieren müssen, schon von Vorteil für die Firma
Unabhängig was ob jemand AWL, FUP, Kop programmiert.
Selbst bei Siemens hat SCL mit dem TIA Portal deutlich an Wert gewonnen und wird von Neueinsteigern in Zukunft mehr genutzt.


----------



## Blockmove (18 Januar 2014)

Dos6.22 schrieb:


> Ich sehe das Problem, dass das Denken in Hochsprachen schon sehr anders ist wie bei der SPS. Manche kommen damit zurecht, andere nicht.
> Ich habe am Anfang nur Roboter programmiert und bin dann zu SPS gekommen. Da musste ich mich auch umgewöhnen. Aber ich kenne auch den Fall, wo Leute die aus der Hochsprachen Ecke kommen und vorher nie was mit der Industrie zu tun hatten, komplett versagen und fast schon zerbrochen sind.



Du bringst es sehr schön auf den Punkt.
Programmieren steht bei SPS gar nicht so im Mittelpunkt. Hier sind vielmehr Verständis für Abläufe und Prozesse gefordert.
Damit haben - meiner Erfahrung nach - viele aus der IT-Welt Probleme.
Und wie du es sagst: Manche schaffens und manche eben nicht.

Gruß
Dieter


----------



## ducati (19 Januar 2014)

aber da hier niemand die Frage nach der lerndauer exakt mit z.b. Vollzeit ein Jahr, zwei Monate, sieben Tage und drei Stunden, beantwortet, scheint unsere Konversation den TE auch nicht mehr zu interessieren...


----------



## UniMog (19 Januar 2014)

georg28 schrieb:


> Hochsprachen sind in Bereich SPS klar auf dem Vormarsch
> 
> Selbst bei Siemens hat SCL mit dem TIA Portal deutlich an Wert gewonnen und wird von Neueinsteigern in Zukunft mehr genutzt.



Ja wer sagt das Du ???   oder wir die 10 Mann im Forum hier ??? Ich habe noch nichts bemerkt vom SCL Vormarsch außerhalb vom Forum.......... selbst meine eigenen Funktionsbausteine in SCL stoßen bei den meisten auf Ablehnung...... 
Komplette Systeme in SCL so weit weg Uranus oder Neptun was vielleicht auch gut so ist.

Ich selber bin auch noch in einer Findungsphase und weiß aber jetzt schon das SCL nicht die Lösung für alles ist sondern allenfalls eine gute Ergänzung.


----------



## georg28 (19 Januar 2014)

@ Unimog, Ich rede nicht davon dass SCL alles ersetzen wird bei Siemens. Aber bei Berechnungen wo man bei Step 7 sich mit AWL auf jeden Fall leichter tut als KOP und FUP wird denke ich, da AWL für die 1200er wohl nicht kommen wird, wird SCL halt verwendet. Und die Anwendung einer Schleife ist in SCL halt auch schöner und besser als KOP und FUP oder AWL. 
Und im Codesys/ Beckhoff Bereich ist ST sowieso schon viel Weiter und wird dort auch ausgiebig verwendet soweit meine persönliche Erfahrung. Ich habe auch damit zu Kämpfen dass viele nur KOP und FUP wollen. Aber manches lässt sich damit halt nicht machen oder dieser Programmteil in KOP/FUP ist keinem zuzumuten. SCL sehe ich auch nur als Ergänzung wie du. Aber ein neuer Einsteiger in die Automatisierung der eine Hochsprache kann, der wird doch eher zu SCL greifen als zu AWL. Siemens AWL hat halt auch seine Eigenheiten, nur schon Akku 1,VKE,etc., die man erstmal kennen muss. Warum sollte sich dies noch jemand antun der gleich mit dem TIA Portal anfängt in seiner Laufbahn? Es wird in den neuen Beispielprogrammen für TIA von Siemens sehr viel SCL verwendet.
Ich habe bisher keins mit AWL gefunden. TIA ist ja erst am Anfang seiner Technikgeschichte. Ich selbst habe in der Classic Welt SCL links liegen gelassen weil es nicht sauber integriert war. Aber seit TIA ist SCL für mich auch interessant geworden. Was du oder ich für eine Sprache zum programmieren nehmen oder viele andere ist nochmal eine anderes Thema. Aber für mich steht ganz klar fest, dass Hochsprachen im Bereich SPS an Bedeutung gewinnen werden oder sogar schon haben.


----------



## UniMog (19 Januar 2014)

Ich benutze es ja auch und das schon seit der Classic Welt.
Aber da meine Kollegen und ich für viele verschiedene Firmen arbeiten 
und eine ganz breite Palette an Maschinen und Anwendungen haben ...... wir können uns das nicht aussuchen.....

Weiß ich was ich einsetzen muss weil es so gewünscht ist und das sind 80% FUP + KOP + Graph und daran hat sich seit 10 Jahren nichts geändert.  

Und auch wenn alle von der Hochschule oder Studium gerne eine Hochsprache einsetzen weil vielleicht kein Bock was anderes zu lernen ...... mach ich ja auch so......wird sich erst richtig was ändern 
wenn die Leute an der Basis mit SCL bzw. Hochsprache arbeiten und das sind die Instandhalter die später die Maschinen und Anlagen warten müssen.

Vielleicht kommt es jetzt mit TIA etwas mehr ..... wir werden sehen.

gruß


----------



## de vliegende hollander (20 Januar 2014)

Hallo Georg und Unimog,

Ich hoffe das ich die Diskussion richtig verstehe.



> Ich selbst habe in der Classic Welt SCL links liegen gelassen weil es nicht sauber integriert war. Aber seit TIA ist SCL für mich auch interessant geworden





> Weiß ich was ich einsetzen muss weil es so gewünscht ist und das sind 80% FUP + KOP + Graph und daran hat sich seit 10 Jahren nichts geändert



Ich bin im s7 Classic für 95 % in Graph und FUP unterwegs. Die restliche im AWL.
Seit dieses Forum sehe ich auch erst das potential der SCL Sprache.
Auf die Classic ebene würden wir bei uns in der Firma nichts mit SCL machen, beziehungsweise, wird es nicht benutzt.

Wenn Mann jetzt nur Anfänger ist auf der SCL ebene, so wie ich. Sollte man dann am beste das gleich auf der TIA ebene machen ?

Eins kommt die Zeit das auch wir umsteigen auf TIA. Bis im Moment hab ich nur damit "gespielt".

DVH


----------



## ducati (20 Januar 2014)

de vliegende hollander schrieb:


> Wenn Mann jetzt nur Anfänger ist auf der SCL ebene, so wie ich. Sollte man dann am beste das gleich auf der TIA ebene machen ?



Nein, SCL kannst Du auch unter Step7 5.x gut verwenden. Wie schon geschrieben, aber nicht zum Erstellen ganzer Programme. Sondern eher zum Erstellen einzelner FBs wo viele Berechnungen, Sprünge (IF THEN ELSE) oder Schleifen (FOR) benötigt werden.

Wenn man schon irgendwann in seinem Leben mal etwas mit "Hochsprachen" zu tun hatte (vielleicht sogar Basic auf nem C64, Atari oder KC85-3) dann kommt man mit SCL gut zurecht. Wenn nicht, dann nicht.

Gruß.


----------

