Programmierstrategien technische Projektleitung

Zuviel Werbung?
-> Hier kostenlos registrieren
Hat mich nicht so gut ĂŒberzeugt. 😉

Mich auch nicht. Eine vernĂŒnftige Projektleitung geht so, sorry:

Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
FĂŒr weitere Informationen siehe die Seite Verwendung von Cookies.

Das trifft auch die Aussage "Sei der DĂŒmmste im Raum".
 
Wer Menschen wirklich fĂŒhren will, braucht mehr Demut als Durchgriffsfantasien.

Sehe ich auch so. Kein guter SPSler braucht einen Chef. Bei der Inbetriebnahme an der Anlage muss er in der Lage sein die Probleme selbststĂ€ndig und im Team mit den anderen FakultĂ€ten zu lösen. Gute FĂŒhrung heißt einen jungen Mitarbeiter auf diesen Stand zu bringen. Also vernĂŒnftige Rahmenbedingungen schaffen un vielleicht manchmal eine schĂŒtzende Hand bieten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mich auch nicht. Eine vernĂŒnftige Projektleitung geht so, sorry:

Um diese Inhalte anzuzeigen, benötigen wir die Zustimmung zum Setzen von Drittanbieter-Cookies.
FĂŒr weitere Informationen siehe die Seite Verwendung von Cookies.

Das trifft auch die Aussage "Sei der DĂŒmmste im Raum".

Einfach winken und sturr lÀcheln...
 
Ein zentrales Problem ist, dass die Teammitglieder die Vorgaben oft unterschiedlich interpretieren, was dazu fĂŒhrt, dass viele Aufgaben nicht wie geplant verlaufen. Nach einigen Schwierigkeiten mit der alten Software und den Zulieferern haben wir uns entschieden, von Grund auf neu zu starten. Gleichzeitig gibt es Vorgaben der GeschĂ€ftsleitung, dass die Umsetzung zĂŒgig erfolgen muss, da die Software dringend benötigt wird.
Wenn Teammitglieder die Vorgaben oft unterschiedlich interpretieren, dann bieten die Vorgaben vermutlich auch zu viel Interpretationsspielraum.
ErgĂ€nzend gibt es auch immer wieder Vorgaben, die im exakten Wortlaut ĂŒberhaupt nicht widerspruchsfrei sind.
Mir scheint, dass viele Teammitglieder eher reaktiv handeln, anstatt proaktiv Probleme zu vermeiden.
Ein Problem, das mangels Erfahrung, Intuition und Weitsicht nicht erkannt wird, kann nicht umschifft werden.
In Folge sehe ich oft, dass bei erkannten Problemen nur die Symptome, nicht jedoch die Ursachen bekÀmpft werden.
Update:
- Es geht um alle Fragen wie z.B. MitarbeiterfĂŒhrung, Organisation, QualitĂ€tssicherung, Richtlinien usw. Im Kern werden alle Themen berĂŒhrt, welche es da zu finden gibt.
Das wird dir hier bestimmt jemand anders in einem Dreizeiler kurz erlÀutern
 ;-)
- Es sind vorrangig Serienmaschine aber mit vielen Optionen und Variationen.
Das ist ein Punkt, der oft unterschÀtz wird. Wenn man Pech hat, entstehen AbhÀngigkeiten und das ganze lÀuft aus dem Ruder.
 
Hallo zusammen,

vielen Dank fĂŒr die BeitrĂ€ge. Da war schon mal sehr hilfreich. Generell kann man sagen, dass sich viele der benannten Punkte auch mit meiner EinschĂ€tzung decken.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Interpretationsspielraum lĂ€sst sich minimieren wenn ĂŒbergreifend das gleiche Wording/Wortschatz zum Einsatz kommt.. dann ist der Bezug immer gleich.

Habt ihr aktuell viele Abstimmungstermine? Wir bei uns machen in der Gruppe alle zwei Wochen fĂŒr 30min ein gemeinsames joure fix.. wir waren auch mal bei 1std jede Woche.. so lĂ€sst sich einfacher steuern/regulieren wer gerade wo UnterstĂŒtzung brĂ€uchte

Vllt macht es auch Sinn, die Kollegen in Arbeitsbereiche/Units einzuteilen.. immer gemischt was die Erfahrungsniveaus angeht.. jeder kann von jedem lernen.. Synergien untereinander finden, bzw Zusammenarbeiten die jetzt schon gut harmonieren auch fördern.. vllt auch mal PrÀferenzen abklopfen.. wer was am liebsten macht..

Auf einem gut sichtbar abgesteckten Spielplatz lĂ€sst es sich leichter orientieren als auf dem großen weiten Feld..
 
Hallo zusammen,

ich suche nach RatschlĂ€gen, um die technische Projektleitung in der SPS-Programmierung effizienter zu gestalten. In unserer Abteilung, die erst vor einigen Monaten gegrĂŒndet wurde, gibt es verschiedene Rollen: einen Teamleiter fĂŒr Personal und Administration, einen Verantwortlichen fĂŒr die technische Projektleitung und ein Berater fĂŒr technische Fragen.

Aktuell besteht das Team aus etwa sieben SPS-Programmierern, die unterschiedliche Erfahrungslevels haben – einige sind sehr erfahren und kennen die Maschinen gut, wĂ€hrend andere neu im Bereich sind. Die allgemeine Stimmung im Team ist positiv, jedoch gibt es Herausforderungen, die den Überblick erschweren.

Ein zentrales Problem ist, dass die Teammitglieder die Vorgaben oft unterschiedlich interpretieren, was dazu fĂŒhrt, dass viele Aufgaben nicht wie geplant verlaufen. Nach einigen Schwierigkeiten mit der alten Software und den Zulieferern haben wir uns entschieden, von Grund auf neu zu starten. Gleichzeitig gibt es Vorgaben der GeschĂ€ftsleitung, dass die Umsetzung zĂŒgig erfolgen muss, da die Software dringend benötigt wird.

Ich frage mich, wie die technische Projektleitung (tP) in diesem Kontext am besten organisiert werden kann. Es wÀre ideal, wenn die tP alle Details der Projekte kennt, aber ich erkenne auch, dass dies in der Praxis oft nicht möglich ist. Mir scheint, dass viele Teammitglieder eher reaktiv handeln, anstatt proaktiv Probleme zu vermeiden.

Ich wĂ€re dankbar fĂŒr Tipps oder Best Practices, die helfen könnten, die technische Projektleitung in dieser Situation zu optimieren und die Zusammenarbeit im Team zu verbessern.

Vielen Dank im Voraus fĂŒr eure UnterstĂŒtzung!

Update:
- Es geht um alle Fragen wie z.B. MitarbeiterfĂŒhrung, Organisation, QualitĂ€tssicherung, Richtlinien usw. Im Kern werden alle Themen berĂŒhrt, welche es da zu finden gibt.

- Verwendetet Tools: Jira, Confluence, Tia Portal, Projektserver, GitHub
Aber: Die Tools sind noch nicht mit einander verbunden und vieles muss hÀndisch geleistet werden.

- Es sind vorrangig Serienmaschine aber mit vielen Optionen und Variationen. Die Maschinen werden in der Luft und Raumfahrt eingesetzt und sind eine Eigenentwicklung der Firma. Aber es gibt viele Komponenten die zugekauft werden.

Der tP sollte sich eigentlich aus allen fachlichen Sachen raushalten. Wie schon weiter oben geschrieben sollte der tP dafĂŒr da sein Probleme frĂŒhzeitig zu erkennen und aktiv gegenzusteuern. z.B. wenn die Deadline nicht erreicht werden kann, muss er gegensteuern in dem er dem Mitarbeiter hilft sein Zielt zu erreichen oder ein Kollege hier unter die Arme greift. Anschließend sollten die GrĂŒnde fĂŒr das nicht erreichen reflektiert und fĂŒr die Zukunft behoben werden.
Die Organisation kann man nicht einfach beschreiben. Es kommt auf dein Team und die verschiedenen Charakter darin an. Du musst dich als Leitung dementsprechend den unterschiedlichen Typen anpassen. Und du musst auch wissen wer mit wem kann und wer nicht :)

Die Standardisierung ist per se nichts schlimmes. Aber auch hier kommt es auf das Wie an. Es sollte alles einen Standard haben wenn es standardisiert werden kann, eine Namenskonvention eignet sich gut als Standard. Auch wenn öfters benötigte Funktionen in einen oder mehrere FB's zu packen. Kommt natĂŒrlich auch darauf an wer nachher Support leisten muss fĂŒr die Anlage?
FĂŒr Neukunden ein Frage Katalog in dem relativ frĂŒh entschieden werden kann was will er Kunde? (Und jemand er das nachher auf den Programmieren ĂŒbersetzt)
 
Nach einigen Schwierigkeiten mit der alten Software und den Zulieferern haben wir uns entschieden, von Grund auf neu zu starten. Gleichzeitig gibt es Vorgaben der GeschĂ€ftsleitung, dass die Umsetzung zĂŒgig erfolgen muss, da die Software dringend benötigt wird.

Software von Grund auf neu gestalten: Man braucht eine verlĂ€ssliche Bibliothek mit "minimierten" Funktionen. Die "Kunst" dabei ist, die Funktionen so zu zerteilen, dass sie "fast" allgemein anwendbar sind und keine Spezialfunktionen fĂŒr eine Maschine. Auch ellenlange FC's/FB's mit riesigen Schnittstellen sind Kontroproduktiv.

Eine ganz wichtige Sache was immer mehr vergessen wird, ist eine einfache Diagnose an der Maschine. Sprich die Statusanzeige, so dass sie schnell verstĂ€ndlich ist. SCL ist zwar eine gute Sache, bei LogikverknĂŒpfungen aber eine Katstrophe fĂŒr den Service.

Auch wenn viele dagegen sind, aus welchen GrĂŒnden auch immer, KOP ist und bleibt die beste Form fĂŒr gute Diagnose. Netzwerke, die nicht auf einen normalen Bildschirm eines Laptop passen sind untauglich.

D.h. wenn man Standards einfĂŒhrt, dann solche grundlegenden und wichtigen Dinge definieren. Das hat dann noch nichts mit der Umsetzung zu tun. Dazu gehören z.B. Namenskonvetionen: z.B. Motor Palettenlager; Ventil Palettenlager ist meist nicht die beste Variante. Wird aber intuitiv meist so gemacht:
Palettenlager: Motor
Palettenlager: Ventil

ist meist besser, da man so besser nach Funktionsbaugruppen sortieren kann.

Das ist alles viel wichtiger als fertige Programmteile als Standard vorgeben! Standardfunktionen mĂŒssen wachsen und immer wieder angepasst werden.

Bei Standardfunktionen ist eines der wichtigsten Dinge: allgemeine TriState-Funktion einfĂŒhren, Ventilbaustein/e, Schalterbausteine (Hand/Auto/Servie oder Hand/Auto/VorOrt. Einen MultiSwitch: dieser kann ĂŒber Softwareschalter (INT) oder ĂŒber digitale Schalter EIN/AUS geschaltet werden und hat einen Impulsschaltereingang. Multiplexerfunktionen haben sich bei mir ĂŒber die Zeit als extenziell wichtig herausgestellt. Am effektigsten sind 4-fach Multiplexer (z.B. fĂŒr Werteumschaltung wie verschiedene Geschwindikeiten). Der Atkive Kanal wird als Meldung aus dem Bausteine ausgegeben. Damit kann man dann leicht Visu-Anzeigen mit Sollwerpfaden relaisieren.

HMI Anzeigen standardisieren:
fĂŒr mich hat sich als extrem effektiv herausgestellt, fertige LED-Anzeigen zu haben, die man von der SPS aus mit Farbe ansteuert.
Die 8-fach LED's mit den einstellbaren Farben grau, gelb, rot, grĂŒn sind bei mir am effektivsten.
Farbanzeigen fĂŒr Ventile und Motore fest vordefinieren und standard Ansteuerbausteine dazu erstellen.

Eine gute aber durchaus schwierige Sache ist: Übersetzungen standardisieren. Das geht mit TIA aber so nicht automatisch.
Das bekommt man nur hin, wenn bereits der Projektierer eine leicht einsehbare List hat, welche Texte bereits in welche Sprachen ĂŒbersetzt sind.

Statt dann Motor Transportband zu verwenden ist es evtl. besser den schon ĂŒbersetzten Text "Atrieb Transportband" zu verwenden.
Wenn man da eine gute Bibliothek hat, dann spart das imense Arbeit und Kosten.
Hier gleich einen verantwortlichen fĂŒr die Textbibliothek festlegen.

Wie kommt man auf sowas?
Ich hab das in der Praxis genau so ĂŒber lange Jahre entwickelt. Der Impact, wenn das mal steht ist imens. Dauert aber viele Jahre.

Wichtig: 1 Person muss die Hoheit ĂŒber die Library haben. Nur diese darf da Änderungen reinstellen - sonst bricht Chaos aus. Alle anderen, bringen VorschlĂ€ge bzw. Änderungen ein. (Das kann man dann auch z.B. ĂŒber Github realisieren. Wichtig ab und zu mal ein Treffen/Workshop.

Ein Überblick welche Funktionen effektiv gebraucht werden kann man in meiner Library nachsehen. Das ist alles aus dem Bedarf raus entwickelt und optimiert. Ist aber alles noch fĂŒr S7-Classic. Eine TIA Version gibt es davon noch nicht ofiziell.

An einer betriebseigenen auf eure Anforderungen spezalisierte Library wird wohl kein Weg vorbei gehen.
Damit wĂŒrde ich Anfangen: da kann man sich mit Bausteinen von externen Libraries bedienen (Oscat, Maagic7) und das Beste aus der alten Software zusammensuchen.

Dann muss man das aktiv und effektiv pflegen. Wenn man KapazitĂ€t hat, einen abstellen, der Testcode schreibt, einen anderen, fĂŒr Templates (z.B. Transportband ...). Dieses Template kopiert man dann fĂŒr sein "Transportband_Einlauf" und Ă€ndert mit suchen/ersetzen die E/A's und individuellen Signale. Ich achte darauf, dass bei den Templates ein Eingang oder Ausgang immer nur 1x verwendet wird.
(Die E/A kann man auch als Übergabe and den FB verwenden. FĂŒr den Service/Status ist es erfahrungsgemĂ€ĂŸ einfacher, wenn diese Signale direkt im Baustein stehen - fĂŒr die Programmierung ist das aber mehr Aufwand)

Softwarearchitektur:

FB, FC konventionen: GrundsĂ€tzlich einer Funktionseinheit wie Transportband, Pumpe ... immer einen FB zuweisen. FC sind nachteilig, da keine lokalen statischen variablen. Das erschwert das kopieren der Funktion. FC's nur fĂŒr Standardfunktionen bzw. Hilfsfunktionen.

Wenn es sich um Produktionslinien handelt, seine Namen so vergeben, dass im TIA-Portal der Anfang der Linie nach oben sortiert wird und dann die FB's so hintereinader kommen wie die Maschine aufgebaut ist. Das erleichtert ungemein das Zurechtfinden in fremden Code! Instanz-DB unbedingt identisch benennen wie der zugehörige FB.

Das sind alles so Konvetionen, die man festlegen kann, ohne Inovationen zu behindern!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Der tP sollte sich eigentlich aus allen fachlichen Sachen raushalten.
Das sehe ich auch so. Es gibt z.B. einige Leute, die meinen, der tP muss alles wissen und den Quellcode im Detail verstehen. Aber ich behaupte, dass das eine unrealistische Forderung ist. Sicher, bei "kleinen" Projekten ist das möglich, aber je grösser es wird, desto unwahrscheinlicher wird es. Ich sehe es eher so, dass der tP die Grenzen absteckt, in denen die "Spieler" dann tĂ€tig werden. Der tP muss sich dann um alles kĂŒmmern, was vom Soll abwicht und es wieder in handhabbare Bahnen lenken.

Software von Grund auf neu gestalten: Man braucht eine verlĂ€ssliche Bibliothek mit "minimierten" Funktionen. Die "Kunst" dabei ist, die Funktionen so zu zerteilen, dass sie "fast" allgemein anwendbar sind und keine Spezialfunktionen fĂŒr eine Maschine. Auch ellenlange FC's/FB's mit riesigen Schnittstellen sind Kontroproduktiv.

Eine ganz wichtige Sache was immer mehr vergessen wird, ist eine einfache Diagnose an der Maschine. Sprich die Statusanzeige, so dass sie schnell verstĂ€ndlich ist. SCL ist zwar eine gute Sache, bei LogikverknĂŒpfungen aber eine Katstrophe fĂŒr den Service.

Auch wenn viele dagegen sind, aus welchen GrĂŒnden auch immer, KOP ist und bleibt die beste Form fĂŒr gute Diagnose. Netzwerke, die nicht auf einen normalen Bildschirm eines Laptop passen sind untauglich.
Ja, so ist es. Aber das Thema hatten wir ja schon mal bei der Handbedienung. Möglicherweise kannst du dich erinnern.

Wichtig: 1 Person muss die Hoheit ĂŒber die Library haben. Nur diese darf da Änderungen reinstellen - sonst bricht Chaos aus. Alle anderen, bringen VorschlĂ€ge bzw. Änderungen ein. (Das kann man dann auch z.B. ĂŒber Github realisieren. Wichtig ab und zu mal ein Treffen/Workshop.

Ein Überblick welche Funktionen effektiv gebraucht werden kann man in meiner Library nachsehen. Das ist alles aus dem Bedarf raus entwickelt und optimiert. Ist aber alles noch fĂŒr S7-Classic. Eine TIA Version gibt es davon noch nicht ofiziell.

An einer betriebseigenen auf eure Anforderungen spezalisierte Library wird wohl kein Weg vorbei gehen.
Damit wĂŒrde ich Anfangen: da kann man sich mit Bausteinen von externen Libraries bedienen (Oscat, Maagic7) und das Beste aus der alten Software zusammensuchen.

Dann muss man das aktiv und effektiv pflegen. Wenn man KapazitĂ€t hat, einen abstellen, der Testcode schreibt, einen anderen, fĂŒr Templates (z.B. Transportband ...). Dieses Template kopiert man dann fĂŒr sein "Transportband_Einlauf" und Ă€ndert mit suchen/ersetzen die E/A's und individuellen Signale. Ich achte darauf, dass bei den Templates ein Eingang oder Ausgang immer nur 1x verwendet wird.
(Die E/A kann man auch als Übergabe and den FB verwenden. FĂŒr den Service/Status ist es erfahrungsgemĂ€ĂŸ einfacher, wenn diese Signale direkt im Baustein stehen - fĂŒr die Programmierung ist das aber mehr Aufwand)

Ja, das sehe ich auch so. Da wir mit Git ĂŒber VCI arbeiten, ist das schon so.
 
Das sehe ich auch so. Es gibt z.B. einige Leute, die meinen, der tP muss alles wissen und den Quellcode im Detail verstehen. Aber ich behaupte, dass das eine unrealistische Forderung ist. Sicher, bei "kleinen" Projekten ist das möglich, aber je grösser es wird, desto unwahrscheinlicher wird es. Ich sehe es eher so, dass der tP die Grenzen absteckt, in denen die "Spieler" dann tĂ€tig werden. Der tP muss sich dann um alles kĂŒmmern, was vom Soll abwicht und es wieder in handhabbare Bahnen lenken.
NatĂŒrlich sollte diese Person schon mit der Materie in irgendeiner Form vertraut sein.. ob sie den Quellcode auswendig wissen muss.. ist bisschen zu hoch gegriffen.. aber zumindest die BrĂŒcke schlagen können/wollen mit dem "was die Kollegen/Mitarbeiter" reden oder benötigen.

Die Projektleitung sollte eher dafĂŒr sorgen dass die Meilensteine erreicht werden und dementsprechend das ganze etwas steuern und eben den Kollegen im Team ein bisschen den RĂŒcken frei halten damit die mal in Ruhe ein wenig arbeiten können, falls notwendig..

Micromanagement muss aber auch nicht sein. Das kann alles schnell darin ausufern. Solange an gesteckten Zeitschienen fĂŒr die Punkte nichts davon lĂ€uft, muss vielleicht auch mal gar nicht nachjustiert/gesteuert werden.. solange die Kollegen frĂŒh genug die Hand heben wenn irgendwo "ein Stein im Weg liegt" kann man auch frĂŒhzeitig Anpassungen treffen.
 
ZurĂŒck
Oben