UML Codegenerierung oder Reverse Engineering aus PLC code, welche ist sinnvoll?

s3152148

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

Ich verwende UML zur Beschreibung der Architektur des SPS Programms (Klassendiagramm, Zustandsmaschine) und nehme ich Enterprise Architect als Werkzeug zur Modellierung des UML Models.
UML Codegenerierung ist sehr interessant und habe ich ein Codegenerator in EA definiert, um aus den Modelle PLCopen XML Datei zu generieren.
Zweifellos braucht der generierte Code noch Nacharbeite in Codesys und ist nicht in Workflow nahtlos integriert.
Gleichzeitig versuche ich auch Reverse Engineering in EA zu machen. Aus dem PLCopen Datei der UML Modell in EA zu erzeugen. Für die Kunden, die für SPS Programmierung nicht gut sind, kann mit Reverse Engineering die SPS Software besser verstehen.

Dann kommt die Frage, welche ist sinnvoll, vorwärts oder rückwärts? oder sind beide sinnlos haha

vorwärts:

https://www.youtube.com/watch?v=RfDxkq_hDvw&t=407s

rückwärts:
leider noch nicht vollständig fertig

ich freue mich, deine Meinung zu hören
 
Vielleicht baust du mit dem Modell mal eine reale Maschine auf, also ein paar Zylinder, ein paar Servomotore, Scanner und Kamera in 5 Stationen. Bedienterminal, Automatik- und Enrichtbetrieb nicht zu vergessen.
Das wird dann sicher interessant und auch lehrreich, ob das denn noch vernünftig umsetzbar ist.
Grundsätzlich gibt es ein großes Problem: SPS-Programmierer müssen Hardware (ekelte. und mech.), Software und Funktion der Maschine verstehen und sinnvoll miteinander verbinden. Das ist i.d.R. nicht das, was Informatiker lernen und verstehen. Das bedeutet ja nicht, das die dumm sind, aber der Ansatz ist vollkommen anders. Ich z.B. verstehe jetzt nicht so sehr viel von UML und gehe eher von der praktischen Seite ans Programmieren heran. Also nicht wirklich ein klassischer objektorientierter Ansatz, sondern eher was lineares, möglichst klar strukturiert, in Stationen und Baugruppen unterteilt. Es muß beim "Debuggen" erreichbar, erkennbar und an einer realen Maschine durchführbar sein, also kein Programmstop um mal eben in eine Schleife zu schauen, die 10 FB durchrollt und irgendwelche nicht nachvollziehbaren Ergebisse ausspuckt.

PS: Ich geb zu, ich bin altmodisch. Junge aufstrebende SPS-Programmierer dürfen gerne die Welt neu erfinden, ich glaube, ich bleib bei meinem Leisten. ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
PS: Ich geb zu, ich bin altmodisch. Junge aufstrebende SPS-Programmierer dürfen gerne die Welt neu erfinden, ich glaube, ich bleib bei meinem Leisten. ;)

Es ist nicht altmodisch, es ist sachorientiert.

Wir programmieren keine Händiii-Apps sondern Maschinensoftware. Diese muß logisch, stringent und analytisch aufgebaut sein. Riesige unüberschaubare Code-Wälder und gigantische KOP-Netzwerke die jeden Bildschirm sprengen helfen da nicht weiter.

Ich hab gesegen, was rauskommt, wenn Informatiker mit Hochsprachen-Background anfangen irgendwelche Abläufe in KOP zu programmieren. Den psychischen Schaden durch das Erblickte kann ich bis heute nicht abschütten.
 
Ich hab gesehen, was rauskommt, wenn Informatiker mit Hochsprachen-Background anfangen irgendwelche Abläufe in KOP zu programmieren. Den psychischen Schaden durch das Erblickte kann ich bis heute nicht abschütten.
Mein aufrichtiges Beileid!
Aber ich empfinde auch ein tiefes Mitgefühl für all die Informatiker mit Hochsprachen-Background, die ins kalte Wasser geschubst werden und ihre Vorstellungen in KOP formulieren sollen.

PS:
Sagtest Du 'sachorientiert'? Sache = Objekt, also Objekt-orientiert?
 
Zuletzt bearbeitet:
Sagtest Du 'sachorientiert'? Sache = Objekt, also Objekt-orientiert?
Nein, das gerade nicht unbedingt. Ralle hat doch mehrfach geäußert, daß er Bibliothekskonzepten kritisch gegenüber steht und wahrscheinlich auch nicht wirklich objektorientiert arbeiten möchte.

Aber ich empfinde auch ein tiefes Mitgefühl für all die Informatiker mit Hochsprachen-Background, die ins kalte Wasser geschubst werden und ihre Vorstellungen in KOP formulieren sollen.
Es gehören, wie immer, zwei Seiten dazu. Informatiker ohne Berufserfahrung und / oder eigenen Sachverstand, und Firmen die ihnen mittelalterliche Arbeitsmethoden aufzwingen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
UML ist erst mal nix Schlimmes.
Man kann damit auch so Dinge wie Zustandstandsgraphen (Schrittketten) visualisieren.
Lustig wird es aber bei einer rein verknüpfungsorientierten Steuerung (z.B. Fördertechnik)
Da werden dann aus 3 Kop-Netzwerken mal schnell 5 Seiten.
Programmstruktur kann man sogar recht gut damit darstellen.
Nur letztlich ist es wirklich so, dass es in den allermeisten Fällen schlichtweg nix bringt.
Aber jeder hat das recht seine eigenen Erfahrungen zu sammeln :D

Gruß
Blockmove
 
Zurück
Oben