TIA Wie werde ich zu einem Guten Programmierer ?

Miele

Level-1
Beiträge
15
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,

Ausgangslage:
Ich habe eine Lehre als Industriemechaniker abgeschlossen und beende in Vier Monaten meine Lehrer als Elektroniker die Fachrichtung ist allerdings nicht die Automatisierungs-Technik. Ich behaupte jetzt einfach mal von mir selbst das Aufgrund der Ausbildung und dem eigenen Interesse ein gutes Technisches Verständnis vorhanden ist.
Ich bin dabei mir das Programmieren beizubringen und kann hierzu aus dem Vollen schöpfen, zur Verfügung stehen mir eine ET200SP samt CPU und eine S7-1200 mit Ergänzungsmodulen und ein HMI KTP 700. Auf dem Laptop laufen immer die Aktuellsten und alle von Siemens erhältlichen Programme sind installiert. Diese Voraussetzung habe ich erfüllt.

Frage:
Die Grundkenntnisse der Programmiertechnik sind vorhanden und anwendbar. Ich habe jetzt den Punkt erreicht wo es anfängt das Programme Komplexer werden und stelle mir nun die Frage: „soll ich weiter in FUP programmieren arbeite ich wirklich strukturiert?“ Zuhause ein Programm schreiben dieses überspielen und zu Simulieren ist meiner Meinung nach ein Punkt doch wie sieht es in der Praxis aus? Wo finde ich Gute Übungsaufgaben etc.

Abschluss:
Ich weiß noch nicht ob mein Beruflicher Werdegang dahin gehen soll, da es mir viel Spaß macht möchte Ich mir das Wissen aneignen und es auch anwenden können man weiß ja nie was aus einem wird. Und vielen Dank an die Leute die sich das durchgelesen haben.

Gruß Miele
 
Hi,
Na wenn es dir Spaß macht dann ist es schonmal gut. Viele programmieren heute in Fup oder SCL. AWL läuft aus. Auch in Graph wird heute noch programmiert. Du hast ja die Möglichkeit selbst zu programmieren. Suche dir ein paar Aufgaben...

Ansonsten weiter Schule machen. Du kannst ja auch beides zusammen machen. Ich mache auch Elektrik / Elektronik ud Programmierung . Ist abwechslungsreich und macht Spaß


Gesendet von iPhone mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Nun... du kannst soviel Übungsaufgaben machen wie du willst aber was wirklich hilft ist Erfahrung in der Praxis. Gibt es da keine Möglichkeiten in deinem Betrieb ? Vielleicht irgendwelche kleinen Anlagen ?

In dem Job des Programmierers geht es ja nicht nur ums bloße Tippen von Code. Du musst den Prozess / den Ablauf erkennen und verstehen und dann in Codezeilen umwandeln. Dazu kommen dann solche Späße wie Antriebstechnik, Hostanbindung, Antriebstechnik usw. usw. usw.
 
„soll ich weiter in FUP programmieren arbeite ich wirklich strukturiert?“ Zuhause ein Programm schreiben dieses überspielen und zu Simulieren ist meiner Meinung nach ein Punkt doch wie sieht es in der Praxis aus? Wo finde ich Gute Übungsaufgaben etc.

Denksportaufgaben sehr oft auch mit Lösung findest Du hier im Forum tonnenweise.
Beschränk Dich dabei nicht auf das Siemens/TIA Subforum sondern schau auch in allen anderen Bereichen rein.
Da es sich hier oft um kleine Teilaufgaben aus komplexen Projekten handelt eignet sich das mitunter sehr gut für eine eigene Umsetzung.

Das Programmieren nur bis zur E/A-Klemme ohne was dahinter verspricht aber m.E. wenig Spass bzw. erfordert ein sehr hohes Abstraktionslevel.
Manch einer sucht sich zum Ausgleich ein Hausautomationsprojekt :ROFLMAO:

Zu FUP:
Wenn es Dir gefällt und Deine Probleme sich damit lösen lassen ist es ok.
SCL hat den Charme mit wenigen Zeilen komplexe FUP-Netzwerke ersetzen zu können.
 
Zuletzt bearbeitet:
Hi, und Danke für eure Antworten.


@Lipperlandstern Erstmal finde ich es cool das ein Lipper einen Lipper Antwortet ;), Nein im Betrieb gibt es leider keine Möglichkeit, um genau zu sein seit unser Ingenieur ging und das zum Start meiner Ausbildung. Den Prozessablauf einer Maschine verstehe ich ganz gut, allerdings es mal in der Realität anzuwenden wäre am besten um zu Lernen. Arbeite grade mit den Übungsaufgaben aus dem Europa Buch zur Automatisierung finde das Buch Recht gelungen da es bei den Aufgaben zu SPS auch den Aspekt zur Pneumatik Hydraulik hat und man sich den Ablauf der Maschine selbst erklären muss.

@chipchap
Zu den Beruf ich werde nächstes Jahr nach England gehen um die Sprache zu lernen, und um halt meine Berufliche Erfahrung zu erweitern, so ein Job wie du hast wäre genial für mich allerdings habe ich das Gefühl das es sowas grade in Großen Betreiben kaum gibt. Da werden mehr Instandhalten und Programmierer getrennt, macht wahrscheinlich sogar Sinn. Mag sein das ich mich irre mit 22 Jahren hat man noch viel zu lernen. Und ja immer weiter Bilden der Techniker ist fest eingeplant.


@weißnix

jap merke das mit dem sehr hohes Abstraktionslevel, grade wenn man sich so einen ganzen Sonntag mit verschieden Aufgaben befasst echt unbefriedigend die eine oder andere Leuchte schalten zu sehen das HMI ist da wesentlich spannender auch wenn nur für den Moment. Hausautomation leibend gerne allerdings ist das Material womit ich lerne nicht mein Eigentum wenn ich es beim Lernen zerschieße ist das eine Sache wenn ich aber da mein Haus drüber Regel und Steuere und es dann schrotte war es das mit dem Lernen. Die Idee finde ich Super ein kleine LOGO sitzt schon unten drinne ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Und dann ist auch die Frage, ob man für das was man macht ein sehr guter Programmierer sein muss. Ich würde mich nicht als sehr guten Programmierer bezeichnen, trotz Berufserfahrung von weit über 20 Jahren, sondern eher als durchschnittlich. Meine Programme laufen und tun was sie sollen, allerdings gebe es sicher elegantere und/oder kürzere Lösungen. Was ich z.B. gar nicht gut kann ist ein Programm von 0 zu planen und zu programmieren, dagegen bin ich sehr gut im Einarbeiten in vorhandene Programme um diese zu erweitern oder Fehler zu suchen und das war in den letzten Jahren meist meine Aufgabe.
Ansonsten kann ich Lipperlandstern nur zustimmen, Du kannst noch so tollen, eleganten, kurzen und was weiß ich nicht noch Code schreiben und alle Kurse die es für eine Steuerung gibt besucht haben, wenn Du nicht in der Lage bist Dich in eine Anlage und deren Abläufe hineinzudenken hilft Dir das größte Wissen nicht weiter.
 
@oliver.tonnDie Praktische Erfahrung kommt in Vier Monaten es geht mir darum nicht ohne Basis dazustehen, diese möchte ich nun erweitern.

In Prozessabläufe sich hinein zu denken und diese zu beheben fällt mir auf meine letzten Projekte sehr einfach, auch die Fehleranalyse in Verschieden System z.b. bei Pneumatik ist mein ding. Allerdings das Auslesen einer SPS und den Fehler beheben im Programm kann man theoretisch so oft und gut können wie man wil ist wie ihr schon sagt in der Praxis eine ganz andere Nummer.

"Danke für die Antwort"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie man ein guter Progrmmierer wird, Üben, Üben und nochmal Üben.

Ob strukturiertes Programmieren was damit zu tun hat, weiß ich nicht direkt, ich denke aber mal nicht.
Man kann strukturierte Programme schreiben und sie funktionieren nicht, oder man kann funktionierende Programme schreiben und sie laufen fehlerfrei. Wenn man versucht eine vorher festgelegte Struktur so genau wie möglich einzuhalten, ist das schon gut. Wir versuchen uns an 95% zu halten, und dann muss bei der IBN geschaut werden was davon machbar ist und was hierbei nicht funktioniert.

Ich habe mal den nach kompletter Selbstüberschätzung besten Programmierer der Welt getroffen. Seine Programme waren auch gut, keine Frage, sie haben stundenlang das gemacht was sie sollten.
Wehe aber es ging was schief, z.b. Ware lag nur ein paar cm verschoben, dann war die Kacke am dampfen. Im Handbetrieb war da nicht mehr rauszukommen, und Ware händisch richten war aufgrund des Gewichts unmöglich.
Gute Programme ermöglichen es dem Anlagenpersonal, ohne in den Code zu gucken, das Problem oder den Fehler selbstständig im Handbetrieb zu lösen. Über die Fehlermeldungen müssen alle Informationen zu dem Fehler vorhanden sein, und im Handbetrieb muss, ohne dass man mit der Brechstange ran muss, die Anlage in den Zustand versetzt werden können dass sie automatisch weiterfahren kann.
Deshalb würde ich diesen Programmierer nicht als besten Programmierer der Welt ansehen, er hatte zwar allerhand kniffe drauf und konnte viele Abstrakte Abläufe in sehr wenig Code zusammenfassen, der für andere Programmierer erst nach Stunden ersichtlich war, aber trotzdem konnte er die Fehlerbehebung nicht.
 
Hallöchen,
ist zwar nur ein Nebenthema, aber wie haltet ihr das beim codieren mit dem Kommentieren ?
Mir hat man mal beigebracht, jede Zeile zu kommentieren...
Ich lese allerdings sehr viele Sourcen wo extrem abgekürzt wird und gar nichts dazu geschrieben wurde.
Meiner Meinung nach fürt das zu längeren Einarbeitungszeiten und dadurch dreht sich die Preisspirale nach oben...

Lese gerne eure Meinung
PS: Ich Programmiere seit > 30 Jahren

Gesendet von meinem ONEPLUS A3003 mit Tapatalk
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das ist die Sache mit dem Unterschied zwischen Theorie und Praxis. In der Theorie sollte ein Programm ausreichend Kommentare enthalten, wobei ich jede Zeile für übertrieben halte. In der Praxis fehlt dafür aber oft die Zeit, weil es schnell gehen soll oder man es schlicht vergisst.

Von irgendwas mit Internetzugang gesendet.
 
weil es schnell gehen soll oder man es schlicht vergisst.

Oh das kenn ich. Und dann versuch mal einen eigenen codegewordenen genialen Gedanken nach zwei Jahren nachzuvollziehen.
Je genialer desto schwieriger würde ich sagen.

Wie oben schon gesagt: Der Programmierer braucht neben der Kenntnis von Synthax und SPS-Hardware ein gerüttelt Maß an Prozessverständnis, Bedienerverständnis und Phantasie.
Dazu kommen für den guten Programmierer noch Mathematik, Netzwerk und Datenbank. Mindestens.

Das Adjektiv "gut" würde ich für mich selbst niemals in Anspruch nehmen :cool:;)
 
Zuletzt bearbeitet:
Genau genommen sollte ein Programm meist mehr Kommentare als eigentlichen Code enthalten. (gute Symbolnamen zähle ich mal mit dazu) :)

Aber für die besten der Besten zählt immer noch der Grundsatz:
It was hard to write, it should be hard to read

MfG Fabsi
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Kleines Beispiel wie das mit den Kommentaren nicht gemeint ist.
So wirklich in diversen Projekten vorgefunden:
screenshot.92.jpg
Nur Kommentare sind recht witzlos wenn man dafür auf Symbole, vielleicht noch einen Autor verzichtet. Versionen und Änderungsindex tragen zur Vervollkommnung von Programmen bei.

Der Autor wurde dann mal drauf hingewiesen, das Symbole auch cool wären.
screenshot.93.jpg
Das Ergebnis! Aber es stehen wenigstens Initialwerte drin.

In der Software sieht das dann so aus.
screenshot.94.jpg

Das ist software die äusserst Zeitaufwändig zu warten ist. Heutige Entwicklungssysteme helfen das es gar nicht soweit kommt.

Aber so als kleine Anhaltspunkte.
Nach möglichkeit Symbolisch.
Wenn irgend möglich Vollqualifizierte Zugriffe (dann klappt es besser mit Querverweisen)
Bedingte Zuweisungen möglichst nahe beieinander, keine Angstrücksetzorgien am ende des Programmzyklus.

Eine Objektorientierte Bauweise kann die ganze Sache übersichtlicher machen.
Also Anwenderdatentypen aufbauen und mit denen arbeiten. Keine überall per Copy n Paste eingetragene STRUCTS.

In Beispielprogrammen kann man Grundlagen erlernen, so wirklich tief eingebrannt wirds wenn man nützliche Dinge entwickelt die dann auch gebraucht werden.
Viel kann man auch lernen wenn man sich an der Problemlösung im Forum zu beteiligen versucht. Schaut wie man das selber lösen würde und selber ausprobiert. Im Forum sind die Fragen meist nicht ganz so trivial wie die übungsaufgaben in den Schulungen.

mfG René
 
Das ist die Sache mit dem Unterschied zwischen Theorie und Praxis. In der Theorie sollte ein Programm ausreichend Kommentare enthalten, wobei ich jede Zeile für übertrieben halte. In der Praxis fehlt dafür aber oft die Zeit, weil es schnell gehen soll oder man es schlicht vergisst.

Von irgendwas mit Internetzugang gesendet.


Bei dem Programmteil den ich im Büro vorbereite sind viele schön Kommentare vorhanden. Bei den Änderungen während der Inbetriebnahme sieht es dann leider etwas anderes aus. So nach dem Motto : mache ich später... erstmal muss es laufen.
 
Bei mir ist das Problem, dass ich in der Forschung und Verwicklung arbeite und da muss man ständig irgendwo mal schnell Änderungen machen und kommt nicht zum Dokumentieren.

Von irgendwas mit Internetzugang gesendet.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
.. mache ich später... erstmal muss es laufen.
Das ist nicht die schlechteste Vorgehensweise. Es gibt während der Inbetriebnahme immer wieder Änderungen bzw. Fertigstellungen. Je mehr man kommentiert hat, um so mehr muss man nachpflegen! Lieber gar kein Kommentar als ein falscher Kommentar. Daher sollte man an dieser Stelle auch möglichst geizen. Kurz und bündig und vor allem zutreffend muss es sein. Wer in der heutigen Programmiertechnik wirklich jede Zeile seines Programms kommentieren muss, der hat etwas falsch gemacht. Grundsätzlich sollte der "Anlagen-Code" selbsterklärend sein. Das gilt natrürlich nicht für komplexere Standardbausteine.

@Miele
Man kann Programmierer nicht in "gut" oder "schlecht" gruppieren. Jeder Programmierer hat seine Stärken und Schwächen. Was aber zählt sind Interesse, Erfahrung und natürlich das Antiker-Gen. Interesse muss man mitbringen, Erfahrung muss man sich erarbeiten, und das Antiker-Gen hat man oder eben auch nicht :ROFLMAO: . Was die Erfahrung angeht, so kann man sich diese auch nur auf speziellen Gebieten aneignen.
 
Das Adjektiv "gut" würde ich für mich selbst niemals in Anspruch nehmen
Sehr gut! In Gesprächen, in denen es um eine GehaltsErhöhung geht, muss es mindestens "sehr gut" heissen, besser noch "perfekt".

Aber für die besten der Besten zählt immer noch der Grundsatz:
It was hard to write, it should be hard to read
Hier wittere ich Ironie - oder ist es sogar Sarkasmus - aber ich kann sie nicht wirklich orten. Wo hast Du sie versteckt, Fabsi?
Oder ist dies ein Fall von doppelter Ironie, wobei die eine Ironie die andere wieder aufhebt?

... und das Antiker-Gen hat man oder eben auch nicht ...
Dagobert, Du sabotierst diesen Thread! Das Antiker-Gen? Das Gen, das man besitzen muss, um ein Programm entschlüsseln zu können?

Kommentare:
Zuviel Kommentar ist schlecht. Zuwenig Kommentar ist schlecht. Irreführender Kommentar ist gemein, heimlistig und hintertückisch.
Das richtige Mass zu treffen, ist ausgerechnet dann am schwierigsten, während man noch so tief in der Materie steckt, dass einem alles als banal und selbstverständlich erscheint.
Zwei Jahre später sieht man auf Anhieb, wo noch etwas fehlt, aber man weiss nicht mehr was.
Mein GeheimRezept, die zwei Jahre abzukürzen: finde einen netten Kollegen, der Deine Kommentierung begutachtet und begutachte - als Gegenleistung - seine Kommentierung.

Gruss, Heinileini
 
Zurück
Oben