UML zur Beschreibung von SPS Software

norustnotrust

Level-1
Beiträge
484
Reaktionspunkte
163
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Nutzt ihr eigentlich Diagramme aus dem UML Standard für Doku/Pflichtenheft? Wenn ja welche?. Außerdem würde mich interessieren ob es spezielle Literatur gibt die sich mit dem Thema UML für SPS beschäftigt?

Regards
No Rust - No Trust!
 
Oo != st

Sps Programme sind recht weit von OO Programmiertechnik entfernt. UML ist somit in weiten Teilen nicht anwendbar.

Klassen und Instanzen werden noch am nächsten unter ST als Funktionsbausteine angenähert.

Das einzige Programm, was ich so anwendbar gefunden habe ist der PapDesigner.

http://www.heise.de/download/papdesigner.html
 
Ich habe mich jüst die Tage damit wieder beschäftigt. Nachdem ich mein auf Papier aufgezeichnetes Schema zweimal umgeworfen habe dachte ich mir jetzt probiers mal wieder digital.
Wie RobiHerb schon schrieb sind die UML-Tools nur sehr bedingt zu gebrauchen, da es sowas wie Methoden in der SPS (noch) nicht gibt. In der SPS-Programmierung nutzt man dafür häufig die In und Out-Bereiche eines FBs, und dieses Paradigma lässt sich mit UML nicht so recht abbilden.

Ich habe es erst mit den UML-Tool von Visio probiert, und dann auch mal dieses ansonsten sehr geniale Tool ausprobiert:
http://www.yworks.com/de/products_yed_about.html

Für Ablaufdiagramme ist das zwar OK, aber ich wollte ganz gerne einen groben Zusammenhang diverser Programmfunktionen zeichnen.

Jetzt habe ich es in einem vereinfachten CFC-Stil in Visio gezeichnet (kleines Bild im Anhang). Also ganz ohne Hilfsmittel einfach Kästchen gemalt und beschriftet, und diese dann untereinander mit Pfeilen verbunden. Aber im Gegensatz zu dem was die UML-Tools leisten können ist das eben nur eine dumme Zeichnung ohne dahinterliegende Logik.

Eine bessere Lösung ist mir auch noch nicht eingefallen. Mit Visio ist sowas auch recht zeitaufwändig, da man überall Verbindungspunkte setzen muss damit es halbwegs brauchbar und erweiterbar ist (und Visio eine etwas sonderbare Vorstellung vom platzieren der Linien hat). Sowas geht mit yEd viel leichter von der Hand, aber das Schema von yEd passt leider nicht auf SPS-Programme.

Programmschema-CFC-Visio-klein.png
 
Hallo,

als Einstieg empfehle ich z. B. folgenden Link:
http://www.uni-kassel.de/upress/online/frei/978-3-89958-600-8.volltext.frei.pdf

Dort geht es um Objektorientiertheit im Engineering von Anlagen und um den Einsatz von UML-Diagrammen bei der Steuerungsprogrammierung.

Meiner Meinung nach muss zu Beginn der Wunsch nach einer objektorientierten Modellierung bestehen.
Das sind Grundprinzipen wie z. B.
  • Ein System besteht aus Objekten, die selbstständig handeln aufgrund innerer Zustände und aufgrund von Signalen aus der Umwelt.
  • Objekte können Teile ihrer Aufgabe an andere Objekte delegieren.
  • Objekte können mit anderen Objekten zusammenarbeiten.
Das ist nichts wirklich Neues. Ein gutes modulares Design sollte ohnehin so aussehen, denn letzlich sind Objekte Modelle der realen Welt.

Unter dieser Voraussetzung bietet UML dann eine vereinheitlichte graphische Sprache zur objektorientierten Modellierung und kann den Informationsaustausch z. B. zwischen Projektphasen (Anforderungsanalyse, Design, Implementierung, Test, Inbetriebnahme) oder zwischen Fachabteilungen (Mechanik, Elektrik, Steuerungssoftware) vereinfachen - im Idealfall sogar automatisieren. Proprietäre Beschreibungsmethoden wären potentiell problematischer, um nicht zu sagen ungeeignet.

Das Ziel, das Anlagen-Engineerung qualitativ zu verbessern, ist noch fern. OO und UML können ein Weg dorthin sein.

Auf jeden Fall ist es ein spannendes und interessantes Thema. In diesem Sinne, wünsche ich allen noch viel Spaß bei der Arbeit.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

@WalterNehr: Ich werde mir das PDF gleich mal anschauen
@Thomas: Ich schau mir mal das yED an

Ich habe in der Zwischenzeit ein paar Zustands-Aktivitätsdiagramme sowie probeweise ein Use-Case Diagramm mit UMLet (http://www.umlet.com) gemacht. Die Bedienung ist ... interessant... aber das Format ist gut verständliches XML was die Möglichkeit eröffnen würde relativ leicht eine Art "Compiler"/"Decompiler" oder Ähnliches zu machen. Auch Templates ließen sich so leicht erzeugen. Ob sich das ganze dazu eignen würde CFC Schemas zu zeichnen werd ich mir mal anscheuen. Der Ansatz gefällt mir.

Im Grunde würde ja ein CFC ähnlicher Plan (für Verriegelungen und andere statische Zusammenhänge), ein Zustandsaktiviätsdiagramm (für Abläufe) und ein Sequenzdiagramm für Kommunikationen ausreichen um eine komplette SPS Software zu Beschreiben oder?

Vielleicht noch ein Use-Case Diagramm um die Kundensicht zu dokumentieren...

Regards
 

Ich hab einige Teile davon überflogen.
Einiges davon (Zustandsgraphen) hat Siemens ja versucht mit Higraph umzusetzen.
Hat sich wohl aber in der Praxis nicht bewährt.

UML - meines Erachtens - auch nur bedingt geeignet für SPS. Hier sind klassiche Ablaufdiagramme doch noch häufiger anzutreffen. Komplexe Abläufe hängen oft von vielen Umständen ab, und hier wird UML sehr schnell sehr unübersichtlich.

Man kann auch Objektorientierung in der SPS auch ohne UML verwenden :)

Gruß
Dieter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist das ein Bauchgefühl, ein Erfahrungswert

Hab auch mal damit "rumgespielt"
Die internen Schnittstellen lassen sich gut darstellen.
Aber die eigentliche Logik habe ich nicht vernünftig geschafft darzustellen.
Hier sind die "alten" Diagramme irgendwie besser.
Es hängt auch immer von der Art der Anlage ab, welche Darstellung besser ist.
Aber das ist jaauch keine neue Erkenntnis.

Gruß
Dieter
 
Zuletzt bearbeitet:
Wir müssen einem Kunden immer als Doku eine "Softwarebeschreibung" abgeben, die er versteht:
heisst: wir machen aus dem Programm einen Stromlaufplan- und das leider handmade.
Letztlich ist es die (vermutlich) einzige Möglichkeit verfahrensneutral Prozesse zu beschreiben, die ein Elektriker versteht.
Komplizierte Funktionen, die sich als Stromläufer nicht darstellen lassen werden verbal beschrieben (zB Sortierung).

Im Vergleich zu dem was ich sonst wo gesehen habe stellt diese Art das präziseste dar, lasse mich aber gerne belehren wie es anders ginge.
 
Hallo.

Da du nach spezieller Literatur zu dem Thema fragst. Ich habe mir vor einigen Monaten mal ein sehr interessantes Buch zu dieser Thematik gekauft. Es nennt sich "SCL und OOP mit dem TIA Portal V11". ISBN: 978-3800734368

Leider konnte ich mich aus Zeitgründen noch nicht näher damit beschäftigen. Aber der Autor versucht mithilfe von SCL und auch UML als Darstellungsweise die Objektorientierung konsequent in der SPS-Programmierung umzusetzen.

Leider ist das Buch kein Schnäppchen ... :-(
 
Ja, E-Books ist wieder ein Thema für sich. Zum einen ist es natürlich praktisch, das Know-How in digitaler Form bei sich zu haben, aber bei E-Books ist die Formatierung leider nicht so gut bzw. übersichtlich wie bei Print. Ein weiterer Nachteil ist halt, dass ein E-Book am Preis meistens auch nichts (merklich) ändert.

Man bezahlt eben doch (hauptsächlich) für die Informationen ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Im Internet gibt es eine recht verschworene Bücherfreundegemeinde, die scannen in mühsamer Kleinarbeit komplette Werke ein, bearbeiten die nach und tauschen die dann untereinander. Zur Legalität des Ganzen kann ich grad nichts sagen, wird wohl ähnlich wie mit dem Musiktausch sein.
 
Also wer behauptet, dass es keine Objektorientierung in der SPS-Programmierung gibt, der hat entweder die letzten Jahre verschlafen oder ist ignorant. In der IEC sind objektorientierte Erweiterungen definiert, sowohl Klassen (hier dann eben in Form des FB), Methoden, Interfaces, Vererbung, etc.

Fakt ist aber, dass diese Erweiterungen in CoDeSys 3.x drin sind, somit auch in IndraWorks und TwinCAT 3, nicht aber in der S7 (und wohl auch in absehbarer Zeit nicht kommen werden). Damit ist der (noch) größte Anteil automatisierungstechnischer Anlagen faktisch lediglich nicht objektorientiert programmierbar. Gehen tut das aber sehr wohl, so man denn will.

Jetzt kommt meine These, untermauert durch die Aussagen vieler SPS-Programmierer, die ich kenne: Kenne mer nit, bruche mer nit, mache mer nit. Die meisten von denen kommen (ich übrigens auch) aus der Elektrotechnik und haben mit Softwareengineering nix am Hut, somit sind vielen (bei weitem nicht allen) die Methoden der Objektorientierten Softwareentwicklung nicht geläufig, also werden die auch nicht eingesetzt.

Dennoch sehe ich darin die Zukunft, weil sich schlicht riesige Vorteile ergeben. Aber auch das muss letztlich jemand bezahlen.

Das gleiche gilt übrigens (generell) für Dokumentation: Keiner macht sie gerne, keiner kalkuliert die Zeit dafür ein und spätestens bei der IBN wird die Aktualisierung etwaiger Doku wieder geschludert. Auch hier gibt es viel Optimierungspotential.

Ich weiß, ich schreibe das alles etwas provokativ...aber ich würde mir etwas mehr Wagemut und Pioniergeist bei vielen Kollegen wirklich wünschen.
 
Also wer behauptet, dass es keine Objektorientierung in der SPS-Programmierung gibt, der hat entweder die letzten Jahre verschlafen oder ist ignorant. In der IEC sind objektorientierte Erweiterungen definiert, sowohl Klassen (hier dann eben in Form des FB), Methoden, Interfaces, Vererbung, etc.

Fakt ist aber, dass diese Erweiterungen in CoDeSys 3.x drin sind, somit auch in IndraWorks und TwinCAT 3, nicht aber in der S7 (und wohl auch in absehbarer Zeit nicht kommen werden). Damit ist der (noch) größte Anteil automatisierungstechnischer Anlagen faktisch lediglich nicht objektorientiert programmierbar. Gehen tut das aber sehr wohl, so man denn will.

Jetzt kommt meine These, untermauert durch die Aussagen vieler SPS-Programmierer, die ich kenne: Kenne mer nit, bruche mer nit, mache mer nit. Die meisten von denen kommen (ich übrigens auch) aus der Elektrotechnik und haben mit Softwareengineering nix am Hut, somit sind vielen (bei weitem nicht allen) die Methoden der Objektorientierten Softwareentwicklung nicht geläufig, also werden die auch nicht eingesetzt.

Dennoch sehe ich darin die Zukunft, weil sich schlicht riesige Vorteile ergeben. Aber auch das muss letztlich jemand bezahlen.

Das gleiche gilt übrigens (generell) für Dokumentation: Keiner macht sie gerne, keiner kalkuliert die Zeit dafür ein und spätestens bei der IBN wird die Aktualisierung etwaiger Doku wieder geschludert. Auch hier gibt es viel Optimierungspotential.

Ich weiß, ich schreibe das alles etwas provokativ...aber ich würde mir etwas mehr Wagemut und Pioniergeist bei vielen Kollegen wirklich wünschen.

Ich hätten dann aber mal wirklich eine Aussage zu den "riesigen Vorteilen", dann könnte ich ja mal darüber nachdenken. :ROFLMAO:
Was geht wirklich besser, was man nicht jetzt schon mit FB's erledigen kann?
 
Zurück
Oben