SPSnewbie91
Level-2
- Beiträge
- 195
- Reaktionspunkte
- 11
-> Hier kostenlos registrieren
Hallo zusammen.
Ich habe in meiner Firma die Möglichkeit bekommen ein aktuelles Projekt direkt als Bachelorarbeit zu nutzen. Dabei geht es um die Programmierung der SPS via TIA Portal V18 und Erstellung eines digitalen Zwillings mit der Software fe-screen.sim. Der Titel der Arbeit lautet "Virtuelle Inbetriebnahme - Digitaler Zwilling". Problemstellung ist darzustellen in wie weit man frühzeitig Software- und Konstruktionsfehler erkennt und diese Erkenntnisse sich positiv oder auch negativ auf die reale Inbetriebnahme auswirken. Ich habe mir vorher recht wenig Gedanken bzgl. Software Engineering gemacht. Hab das nie gelernt, bin allgemein noch recht frisch in der SPS Programmierung und soweit ich mich mitlerweile schlau gemacht habe ist die klassische Vorgehensweise auch nicht üblich bei der SPS-Programmierung. Ich habe quasi einfach drauf los programmiert, den digitalen Zwilling erstellt, alles getestet, Änderungen in der Programmierung vorgenommem, Konstruktionsfehler an die Konstruktion weitergegeben und mir alles stichpunktartig mitgeschrieben um es später aufs Papier zu bringen.
Meinen ersten Entwurf hat mein Professor dann schon mal zu Nichte gemacht
. Er möchte ein Modell sehen, wie ich meine Software entwickelt habe. Am Besten wäre das V-Modell.
![1711611665000.png 1711611665000.png](https://www.sps-forum.de/data/attachments/68/68617-9c44f0b8c659a7e2b182f398ceac749a.jpg)
Ich habe mir auch schon Videos dazu angesehen und ein bisschen was dazu gelesen, nur verstehe ich nicht ganz, wie ich das ganze für meine SPS-Programmierung ummünzen soll.
Systemanforderungsanalyse: Hier beschreibe ich die Anforderungen an die Software. Also hier beschreibe ich mehr oder weniger die Wünsche des Kunden. Was soll die Anlage schlussendlich machen. Denke das habe ich so richtig interpretiert.
System-Architektur: Hier beißt es schon aus. Ich verstehe nicht ganz was mit System-Architektur gemeint ist.
System-Entwurf: Auch hier habe ich ehrlich gesagt keine Ahnung was ich dazu schreiben soll bzw. beschreiben soll.
Software-Architektur: Dazu habe ich gelesen kann man beschreiben welche Programmiersprachen man verwendet hat und warum diese für den jeweiligen Anwendungsfall am sinnvollsten sind. Außerdem hätte ich hier die Kommunikation zwischen digitalem Zwilling und der Steuerungssoftware beschrieben (via PLCSIM Advanced). Kann ich hier auch beschreiben, wie ich meine Software strukturiert habe?
![1711612583548.png 1711612583548.png](https://www.sps-forum.de/data/attachments/68/68619-ad44c076581ff9e89262e739f0207a27.jpg)
Ich habe z.B. eine Funktionsgruppe eingeführt, da mehrere keinen Sinn ergeben, da die Einzelnen Gewerke nicht unabhängig voneinander arbeiten können.
Software-Entwurf: Hier stehe ich auch wieder auf dem Schlauch. Ich habe gelesen, dass man in dieser Phase sogenannte UML-Diagramme erstellt. Dazu gibt es ja unzählige Möglichkeiten. Objektorientierte Programmierung gibt es ja in der SPS nicht wirklich, deshalb weiß ich nicht welche UML-Diagramme ich für SPS verwenden könnte. In der Konzeptphase mit dem Kunden wurden so ähnliche Ablaufdiagramme erstellt.
![1711612304872.png 1711612304872.png](https://www.sps-forum.de/data/attachments/68/68618-7ff3871847ce7ef96e1ea45be751c78f.jpg)
Das ist aber wohl nicht mehr als eine Ablaufbeschreibung nehme ich an.
Software-Entwurf: Gut hier beschreibe ich die eigentliche Programmierung. Hier gehe ich explizit auf die wichtigsten Bausteine in meinem Programm ein und beschreibe zusätzlich, wie ich den digitalen Zwilling erstellt habe. Wie habe ich das CAD modelliert, damit ich daraus den digitalen Zwilling erstellen konnte. Wie verknüpfe ich die Baugruppen mit den benötigten Bewegungsarten usw... Ich denke das sollte so passen.
Unit-Tests: Hier hätte ich per Hand-Funktion einzelne Stellglieder wie Pneumatikzylinder getestet. Kommunikation mit der SPS wird dabei mitgetestet und ob die Stellglieder im digitalen Zwilling die richtige Bewegung ausführen usw.
Integrations-Test: Hier weiß ich auch nicht so Recht was ich schreiben soll
System-Integration: Hier auch nicht.
Abnahme: Hier beschreibe ich, dass meine Software den Anforderungen entspricht usw...
Das Problem ist, dass die Software und der DZ schon komplett fertig sind. Der FAT der virtuellen Anlage ist auch schon gewesen und wurde vom Kunden abgenommen. Ich habe mir zu den oben genannten Dingen während der Programmierung überhaupt keine Gedanken gemacht, da ich nicht dachte, dass das mal relevant sein könnte.
Hat jemand eine Idee oder Vorschläge, wie ich explizit das V-Modell auf die Erstellung einer Steuerungssoftware (vllt noch zusätzlich mit Erstellung eines digitalen Zwillings) anwenden könnte? Hat jemand allgemein Erfahrung im Software Engineering und könnte mir dazu Tipps geben?
Vielen Dank schon mal im Voraus.
Grüße
SPSnewbie91
Ich habe in meiner Firma die Möglichkeit bekommen ein aktuelles Projekt direkt als Bachelorarbeit zu nutzen. Dabei geht es um die Programmierung der SPS via TIA Portal V18 und Erstellung eines digitalen Zwillings mit der Software fe-screen.sim. Der Titel der Arbeit lautet "Virtuelle Inbetriebnahme - Digitaler Zwilling". Problemstellung ist darzustellen in wie weit man frühzeitig Software- und Konstruktionsfehler erkennt und diese Erkenntnisse sich positiv oder auch negativ auf die reale Inbetriebnahme auswirken. Ich habe mir vorher recht wenig Gedanken bzgl. Software Engineering gemacht. Hab das nie gelernt, bin allgemein noch recht frisch in der SPS Programmierung und soweit ich mich mitlerweile schlau gemacht habe ist die klassische Vorgehensweise auch nicht üblich bei der SPS-Programmierung. Ich habe quasi einfach drauf los programmiert, den digitalen Zwilling erstellt, alles getestet, Änderungen in der Programmierung vorgenommem, Konstruktionsfehler an die Konstruktion weitergegeben und mir alles stichpunktartig mitgeschrieben um es später aufs Papier zu bringen.
Meinen ersten Entwurf hat mein Professor dann schon mal zu Nichte gemacht
![Grinsendes Gesicht mit Schweißtropfen :sweat_smile: 😅](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f605.png)
![1711611665000.png 1711611665000.png](https://www.sps-forum.de/data/attachments/68/68617-9c44f0b8c659a7e2b182f398ceac749a.jpg)
Ich habe mir auch schon Videos dazu angesehen und ein bisschen was dazu gelesen, nur verstehe ich nicht ganz, wie ich das ganze für meine SPS-Programmierung ummünzen soll.
Systemanforderungsanalyse: Hier beschreibe ich die Anforderungen an die Software. Also hier beschreibe ich mehr oder weniger die Wünsche des Kunden. Was soll die Anlage schlussendlich machen. Denke das habe ich so richtig interpretiert.
System-Architektur: Hier beißt es schon aus. Ich verstehe nicht ganz was mit System-Architektur gemeint ist.
System-Entwurf: Auch hier habe ich ehrlich gesagt keine Ahnung was ich dazu schreiben soll bzw. beschreiben soll.
Software-Architektur: Dazu habe ich gelesen kann man beschreiben welche Programmiersprachen man verwendet hat und warum diese für den jeweiligen Anwendungsfall am sinnvollsten sind. Außerdem hätte ich hier die Kommunikation zwischen digitalem Zwilling und der Steuerungssoftware beschrieben (via PLCSIM Advanced). Kann ich hier auch beschreiben, wie ich meine Software strukturiert habe?
![1711612583548.png 1711612583548.png](https://www.sps-forum.de/data/attachments/68/68619-ad44c076581ff9e89262e739f0207a27.jpg)
Ich habe z.B. eine Funktionsgruppe eingeführt, da mehrere keinen Sinn ergeben, da die Einzelnen Gewerke nicht unabhängig voneinander arbeiten können.
Software-Entwurf: Hier stehe ich auch wieder auf dem Schlauch. Ich habe gelesen, dass man in dieser Phase sogenannte UML-Diagramme erstellt. Dazu gibt es ja unzählige Möglichkeiten. Objektorientierte Programmierung gibt es ja in der SPS nicht wirklich, deshalb weiß ich nicht welche UML-Diagramme ich für SPS verwenden könnte. In der Konzeptphase mit dem Kunden wurden so ähnliche Ablaufdiagramme erstellt.
![1711612304872.png 1711612304872.png](https://www.sps-forum.de/data/attachments/68/68618-7ff3871847ce7ef96e1ea45be751c78f.jpg)
Das ist aber wohl nicht mehr als eine Ablaufbeschreibung nehme ich an.
Software-Entwurf: Gut hier beschreibe ich die eigentliche Programmierung. Hier gehe ich explizit auf die wichtigsten Bausteine in meinem Programm ein und beschreibe zusätzlich, wie ich den digitalen Zwilling erstellt habe. Wie habe ich das CAD modelliert, damit ich daraus den digitalen Zwilling erstellen konnte. Wie verknüpfe ich die Baugruppen mit den benötigten Bewegungsarten usw... Ich denke das sollte so passen.
Unit-Tests: Hier hätte ich per Hand-Funktion einzelne Stellglieder wie Pneumatikzylinder getestet. Kommunikation mit der SPS wird dabei mitgetestet und ob die Stellglieder im digitalen Zwilling die richtige Bewegung ausführen usw.
Integrations-Test: Hier weiß ich auch nicht so Recht was ich schreiben soll
System-Integration: Hier auch nicht.
Abnahme: Hier beschreibe ich, dass meine Software den Anforderungen entspricht usw...
Das Problem ist, dass die Software und der DZ schon komplett fertig sind. Der FAT der virtuellen Anlage ist auch schon gewesen und wurde vom Kunden abgenommen. Ich habe mir zu den oben genannten Dingen während der Programmierung überhaupt keine Gedanken gemacht, da ich nicht dachte, dass das mal relevant sein könnte.
Hat jemand eine Idee oder Vorschläge, wie ich explizit das V-Modell auf die Erstellung einer Steuerungssoftware (vllt noch zusätzlich mit Erstellung eines digitalen Zwillings) anwenden könnte? Hat jemand allgemein Erfahrung im Software Engineering und könnte mir dazu Tipps geben?
Vielen Dank schon mal im Voraus.
Grüße
SPSnewbie91