- Beiträge
- 6.300
- Reaktionspunkte
- 1.449
Hallo,
ich habe bei fast allen bisherigen Projekten die ich seit 2008 für verschiedene Kunden durchführte meist auf Zuruf programmiert. Bei den meisten Kunden kamen recht gut programmierte und dokumentierte Frameworks zum Einsatz auf die ich zunächst mehrere Tage geschult wurde, außerdem gab es zusätzlich Programmierrichtlinien. Realisiert habe ich dann meist kleinere Module einer Anlage, z.B. eine Einpresseinheit bei einer Montageanlage. Was mir sehr gut gefiel und meinen Fähigkeiten entsprach, natürlich gab es auch mal die eine oder andere Herausforderung, was ich auch gut fand und mit jedem Projekt lernte man ja auch was neues kennen. Die Programmierung erfolgte meist ohne großartige vorherige Planung, dennoch aber nicht planlos.
Nun habe ich das verrückte Gerücht gehört, dass man Projekte auch schon vorher planen kann und obwohl es total irre klingt, wollte ich es mal probieren.
OK, Spaß beiseite, ich habe bis heute nie ein Anlagenprogramm komplett bei 0 begonnen und habe leider überhaupt keine Ahnung, wie ich bei sowas vorgehen muss und eine Software anhand eines Pflichtenheftes und eventuell Plänen der Anlage plane und erstelle. Aus diesem Grunde lehne ich auch bisher Anfragen ab, bei denen eine, ich nenn es mal, White-Paper Entwicklung erfolgen soll. Eine Ausnahme gab es als ich vor 2008 schon eine Wiele als Angestellter und teilweise als freier Mitarbeiter für eine Firma tätig war die Anlagen für die Glasinnengravur gebaut hat. Die vorhandene Software sollte durch eine "komplett" neue ersetzt werden und so saßen der Chefentwickler, eine Studentin und ich zusammen und haben mit UML ein Sequenzdiagramm und vermutlich auch noch weitere Diagramm erstellt. Leider ist davon nicht wirklich was bei mir hängengeblieben und ich habe da glaube ich auch eher als Stichwortgeber fungiert. Nur mal ein Beispiel was passiert ist als ich alleine ein Projekt begonnen habe. Beim ersten Projekt 2008 habe ich eine SPS (Für AC500) und eine PC Software ohne sie vorher zu planen erstellt, wobei der PC via Netzwerk mit der SPS kommuniziert. Da es eine neue Software wurde, habe ich PC seitig entschieden, dass ich dafür auch eine neue Sprache nehme von der ich keine Ahnung habe (C und C++ kannte ich, aber auch mehr schlecht als recht), nämlich C#. Im Laufe der Erstellung habe ich die Software glaube ich mindestens 3-4 vom grundlegenden Konzept her komplett umgeschmissen, was mir bei passender Planung wohl, zumindest teilweise, erspart geblieben wäre. Ein weiteres Defizit das ich habe ist, dass ich meist nicht in der Lage bin den Zeitaufwand richtig einzuschätzen und sowas versuche immer zu vermeiden, aber das nur am Rande. Wenn ich Gespräche mit potentiellen Auftraggebern führe erwähne ich auch immer, dass ich nicht bei 0 anfange und immer ein Gerüst vorhanden sein muss. Das aktuelle Projekt hat jetzt allerdings auch gezeigt, dass ich meine Aussagen noch präzisieren muss und weitere Voraussetzungen hinzufügen muss, denn auch wenn ich mich seit November halbwegs halte muss ich doch das Fazit ziehen, dass ich für das Projekt nicht der richtige war. Das ist, so traurig es klingt, das erste Projekt, wo ich froh über das Ende bin, allerdings glaube ich geht es dem Auftraggeber auch nicht viel anders.
Doch jetzt endlich zu meiner eigentlichen Frage. Beim nächsten Projekt soll ich die Angestellten bei der Erstellung eines TC3 Projektes (Ja, es geht bei 0 los, aber in dem Fall sollte das passen und ich bin ja nicht alleine) unterstützen, mit dem in Verbindung mit dem TC3 EtherCAT Simulator (TE1111) I/Os simuliert werden sollen und so die Reaktion der Anlagensoftware überprüft werden soll, z.B. wenn die Karte für einen Temperaturfühler einen Fehler meldet oder eine Rückmeldung eines Ventils plötzlich ein "falsches" Signal liefert. Ausnahmsweise habe ich mir hierzu schon einige Gedanken gemacht. Beim Temperaturfühler z.B. würde ich über einen Eingang eine Rampe mit bestimmten Parametern auslösen wollen oder über ein BYTE Fehler auswählen die dann über ein BOOL aktiviert werden. Das Ganze möchte ich nun vorab mit Enterprise Architect etwas planen. Warum ausgerechnet damit? Nun, beim aktuellen Projekt wird die Software eingesetzt, weswegen ich eine Lizenz besitze und ich muss bei dem aktuellen Kunden damit Diagramme erstellen ohne wirklich zu wissen was ich da eigentlich tue und welche Elemente/Objekte ich für was nehmen muss und wie ich diese verknüpfe. Nachdem ich jetzt einen Teil des Kompendiums gelesen habe muss ich aber zu dem Schluss kommen, dass der aktuelle Auftraggeber auch nicht 100% weiß was er tut, denn einiges was gemacht wurde ist nicht regelkonform.
Lange Rede kurzer (Un)sinn, wer kann mir hier weiterhelfen, z.B. mit Beispielen wie man einen FB in Enterprise Architect definiert, eine Instanz davon anlegt, oder z.B. eine Funktion definiert und diese nutzt, weil davon gibt es ja keine Instanzen. Aber auch wie Ihr sonst so vorgehen würdet, also z.B. den Ablauf in einem USE-Case oder Sequenz Diagramm anlegen. Über Beispiele und Dokus würde ich mich sehr freuen.
ich habe bei fast allen bisherigen Projekten die ich seit 2008 für verschiedene Kunden durchführte meist auf Zuruf programmiert. Bei den meisten Kunden kamen recht gut programmierte und dokumentierte Frameworks zum Einsatz auf die ich zunächst mehrere Tage geschult wurde, außerdem gab es zusätzlich Programmierrichtlinien. Realisiert habe ich dann meist kleinere Module einer Anlage, z.B. eine Einpresseinheit bei einer Montageanlage. Was mir sehr gut gefiel und meinen Fähigkeiten entsprach, natürlich gab es auch mal die eine oder andere Herausforderung, was ich auch gut fand und mit jedem Projekt lernte man ja auch was neues kennen. Die Programmierung erfolgte meist ohne großartige vorherige Planung, dennoch aber nicht planlos.
Nun habe ich das verrückte Gerücht gehört, dass man Projekte auch schon vorher planen kann und obwohl es total irre klingt, wollte ich es mal probieren.
OK, Spaß beiseite, ich habe bis heute nie ein Anlagenprogramm komplett bei 0 begonnen und habe leider überhaupt keine Ahnung, wie ich bei sowas vorgehen muss und eine Software anhand eines Pflichtenheftes und eventuell Plänen der Anlage plane und erstelle. Aus diesem Grunde lehne ich auch bisher Anfragen ab, bei denen eine, ich nenn es mal, White-Paper Entwicklung erfolgen soll. Eine Ausnahme gab es als ich vor 2008 schon eine Wiele als Angestellter und teilweise als freier Mitarbeiter für eine Firma tätig war die Anlagen für die Glasinnengravur gebaut hat. Die vorhandene Software sollte durch eine "komplett" neue ersetzt werden und so saßen der Chefentwickler, eine Studentin und ich zusammen und haben mit UML ein Sequenzdiagramm und vermutlich auch noch weitere Diagramm erstellt. Leider ist davon nicht wirklich was bei mir hängengeblieben und ich habe da glaube ich auch eher als Stichwortgeber fungiert. Nur mal ein Beispiel was passiert ist als ich alleine ein Projekt begonnen habe. Beim ersten Projekt 2008 habe ich eine SPS (Für AC500) und eine PC Software ohne sie vorher zu planen erstellt, wobei der PC via Netzwerk mit der SPS kommuniziert. Da es eine neue Software wurde, habe ich PC seitig entschieden, dass ich dafür auch eine neue Sprache nehme von der ich keine Ahnung habe (C und C++ kannte ich, aber auch mehr schlecht als recht), nämlich C#. Im Laufe der Erstellung habe ich die Software glaube ich mindestens 3-4 vom grundlegenden Konzept her komplett umgeschmissen, was mir bei passender Planung wohl, zumindest teilweise, erspart geblieben wäre. Ein weiteres Defizit das ich habe ist, dass ich meist nicht in der Lage bin den Zeitaufwand richtig einzuschätzen und sowas versuche immer zu vermeiden, aber das nur am Rande. Wenn ich Gespräche mit potentiellen Auftraggebern führe erwähne ich auch immer, dass ich nicht bei 0 anfange und immer ein Gerüst vorhanden sein muss. Das aktuelle Projekt hat jetzt allerdings auch gezeigt, dass ich meine Aussagen noch präzisieren muss und weitere Voraussetzungen hinzufügen muss, denn auch wenn ich mich seit November halbwegs halte muss ich doch das Fazit ziehen, dass ich für das Projekt nicht der richtige war. Das ist, so traurig es klingt, das erste Projekt, wo ich froh über das Ende bin, allerdings glaube ich geht es dem Auftraggeber auch nicht viel anders.
Doch jetzt endlich zu meiner eigentlichen Frage. Beim nächsten Projekt soll ich die Angestellten bei der Erstellung eines TC3 Projektes (Ja, es geht bei 0 los, aber in dem Fall sollte das passen und ich bin ja nicht alleine) unterstützen, mit dem in Verbindung mit dem TC3 EtherCAT Simulator (TE1111) I/Os simuliert werden sollen und so die Reaktion der Anlagensoftware überprüft werden soll, z.B. wenn die Karte für einen Temperaturfühler einen Fehler meldet oder eine Rückmeldung eines Ventils plötzlich ein "falsches" Signal liefert. Ausnahmsweise habe ich mir hierzu schon einige Gedanken gemacht. Beim Temperaturfühler z.B. würde ich über einen Eingang eine Rampe mit bestimmten Parametern auslösen wollen oder über ein BYTE Fehler auswählen die dann über ein BOOL aktiviert werden. Das Ganze möchte ich nun vorab mit Enterprise Architect etwas planen. Warum ausgerechnet damit? Nun, beim aktuellen Projekt wird die Software eingesetzt, weswegen ich eine Lizenz besitze und ich muss bei dem aktuellen Kunden damit Diagramme erstellen ohne wirklich zu wissen was ich da eigentlich tue und welche Elemente/Objekte ich für was nehmen muss und wie ich diese verknüpfe. Nachdem ich jetzt einen Teil des Kompendiums gelesen habe muss ich aber zu dem Schluss kommen, dass der aktuelle Auftraggeber auch nicht 100% weiß was er tut, denn einiges was gemacht wurde ist nicht regelkonform.
Lange Rede kurzer (Un)sinn, wer kann mir hier weiterhelfen, z.B. mit Beispielen wie man einen FB in Enterprise Architect definiert, eine Instanz davon anlegt, oder z.B. eine Funktion definiert und diese nutzt, weil davon gibt es ja keine Instanzen. Aber auch wie Ihr sonst so vorgehen würdet, also z.B. den Ablauf in einem USE-Case oder Sequenz Diagramm anlegen. Über Beispiele und Dokus würde ich mich sehr freuen.