mowima

Transcription

mowima
MODELLIERUNG UND W IEDERVERWENDUNG
OBJEKTORIENTIERTER MASCHINENSOFTWARE
(MOW IMA)
Abschlußpräsentation des BMBF-Verbundprojekts MoWiMa,
30. April 1998, VDMA Frankfurt/Main
Inhalt
1 Problemstellung und Ziel von MoWiMa
1.1 Problemstellung
1.2 Ein Fallbeispiel
1.3 Ziel und Lösungsansatz
2
3
4
5
2 Informationsmodell und objektorientierte Modellierungsmethode für
Steuerungssoftware
2.1 Baukastendefinition
2.2 Maschinen- und Softwarekonfigurierung
2.3 Codegenerierung und Steuerungsankopplung
8
9
22
27
3 Werkzeugunterstützung
3.1 Aufbau des MoWiMa CASE-Tools
36
37
4 Piloteinsatz des CASE-Tools bei der Firma Behringer
4.1 Funktionsbeschreibung
4.2 Funktionsobjekte der Bandsägemaschine Typ HBP263A
4.3 Bewertung von Methode und Werkzeug
38
39
40
41
1
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
4.4 Organisatorische Probleme bei der Werkzeugeinführung, Bericht eines
Anwenders
42
5 Zusammenfassung und Ausblick
44
6 Literaturverzeichnis
46
7 Anhang A: Projektpartner in MoWiMa
47
8 Anhang B: Glossar
49
2
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
1 Problemstellung und Ziel von MoWiMa1
1.1 Problemstellung
Modulare Maschinenkonzepte nach dem Baukastenprinzip ermöglichen es, durch die
Konfigurierung einer relativ kleinen Anzahl standardisierter und aufeinander abgestimmter Baugruppen und Komponenten rasch und wirtschaftlich individuelle Kundenanforderungen zu
erfüllen. Rechnerunterstützte Werkzeuge, die den Entwickler bei der Erstellung der
Steuerungssoftware für solche Baukastensysteme insbesondere im Hinblick auf
Variantenbildung und -pflege effizient unterstützen, fehlen jedoch bislang.
Eine häufig praktizierte Vorgehensweise zur Software-Wiederverwendung ist daher die
Übernahme eines kompletten Vorgängerprojekts und die Anpassung an die neue Problemstellung. Kritisch bei dieser Vorgehensweise ist, daß häufig aufgrund mangelnder Kenntnis von
Implementierungsdetails lediglich neue Funktionalitäten ergänzt werden. Das Löschen nicht
mehr benötigter Funktionalitäten unterbleibt aus Furcht, Fehler im scheinbar funktionierenden
System hervorzurufen. Die Folge ist, daß die Software immer schwerer verständlich wird und
Änderungen leicht zu unkontrollierbaren Auswirkungen führen, die sich oft erst im Betrieb der
Maschine oder Anlage bemerkbar machen und dann hohe Kosten verursachen.
Der Softwaretest erfolgt in vielen Fällen außerhalb des Entwicklungsbereichs bei der
Inbetriebnahme der Gesamtmaschine vor Ort. Veränderungen während des Tests lassen sich
oft nicht mehr genau einer Standardversion bzw. Variante zuordnen und daher nicht rückführen;
durch Kopieren wiederverwendete Softwareteile sind oftmals schwer identifizierbar.
Ein weiteres Problemfeld stellt die unzureichende Durchgängigkeit derzeit eingesetzter
Beschreibungsmethoden und Werkzeuge dar:
1
Projektpartner des vom BMBF geförderten Verbundprojekts MoWiMa (Modellierung und Wiederver-
wendung objektorientierter Maschinensoftware) sind die Maschinenhersteller Behringer GmbH Kirchardt,
Reis Robotics Obernburg, die Software-Häuser infoteam Software GmbH Bubenreuth und Industrielle
Steuerungstechnik GmbH (ISG) Stuttgart sowie die Forschungs- und Ingenieurgesellschaft für Steuerungstechnik GmbH (FISW) Stuttgart
3
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
•
Strukturierungsprinzipien von Baukastensystemen werden oftmals nicht abteilungsübergreifend eingehalten, so daß Softwarebausteine nicht kongruent zu den vom Vertrieb und der
mechanischen Konstruktion projektierten, realen Baugruppen eingesetzt werden können.
• Es fehlt ein durchgängiger, rechnergestützter Informationsfluß, so daß Informationen
redundant erfaßt werden und eine entwicklungsbegleitende Dokumentation von Maschinenfunktion und Software nur bedingt möglich ist.
• Das Programmierkonzept der IEC 1131-3 /IEC91/ und darauf basierende Programmierwerkzeuge unterstützen zwar die Wiederverwendung von Funktionsbausteinen (FB), bieten
jedoch aufgrund fehlender Softwareentwurfsmethodik keine Unterstützung für die Wiederverwendung von Softwarearchitekturen.
1.2 Ein Fallbeispiel
Die übliche Vorgehensweise der Projektbearbeitung bei der Firma Behringer (Hersteller von
Bandsägen -/anlagen) war bisher, nicht nur bei der Erstellung der Software in der
Elektrokonstruktion, sondern auch im Vertrieb das Übernehmen eines ähnlichen Vorgängerprojekts. Die Entscheidung hinsichtlich des am besten geeigneten Vorgängerprojekts
war dem jeweiligen Mitarbeiter überlassen. So wurden einmal nur die notwendigsten Dinge
geändert - Überflüssiges und Falsches blieb erhalten Ein andermal wurden Funktionen von
bereits veralteten Einheiten übernommen, obwohl neue Funktionen vorhanden waren. Nicht
systematisch registrierte Optimierungen an ausgelieferten Anlagen flossen nicht ein.
Bereits vor Beginn des Projekts wurde diese Problematik im mechanischen Bereich der
Konstruktion angegangen und die Produktpalette modular in Varianten aufgebaut. Ein Großteil
der Kundenanforderungen konnte schließlich mit diesem systematischen Baukasten bereits
durch den Vertrieb abgewickelt werden. Sonderkonstruktionen konnten in den meisten Fällen
durch ganz gezielte Rücksprachen mit der Konstruktion und der Fertigung gelöst werden.
Die positiven Erfahrungen in der mechanischen Konstruktion zeigten die Notwendigkeit, ein
durchgängiges Baukastensystem vom Vertrieb bis zur Inbetriebnahme, und hier insbesondere
für die Softwareerstellung, aufzubauen. Basis dieses Baukastensystems - es soll im folgenden
als Fallbeispiel dienen - sind die vier Teilsysteme (Bild 1):
1. Zuführeinrichtung: Versorgung der Maschine mit Rohmaterial (Stangenmaterial).
2. Positioniereinheit: Positionierung des Rohmaterials.
4
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
3. Sägeeinheit: Sägen des Materials.
4. Abführeinrichtung: Abtransport der Werkstücke (abgesägtes Material).
Alle genannten Teilsysteme sind prinzipiell in jeder Anlage vorhanden, es sind jedoch zahlreiche
Varianten denkbar. So sind bei der Sägeeinheit z.B. Optionen möglich wie
• Gehrungstisch, also eine zusätzliche Drehachse (C-Achse) für schräge Schnitte,
• Bündelspanneinrichtung (sie dient dem gleichzeitigen Spannen und Absägen mehrerer
Stangen) und
• mehrere Antriebsvarianten für unterschiedliche Leistungen.
1
2
3
4
1.
2.
3.
4.
Bild 1:
Zuführeinrichtung
Positioniereinheit
Sägeeinheit
Abführeinrichtung
Sägeanlage der Firma Behringer: Beispiel für ein Baukastensystem
1.3 Ziel und Lösungsansatz
Die exemplarisch dargestellte Problematik der Firma Behringer ist übertragbar auf nahezu alle
Be- und Verarbeitungsmaschinen, die modular aufgebaut sind und zahlreiche Varianten
umfassen.
5
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
1.3.1 Ziel
Ziel von MoWiMa ist es daher, Voraussetzungen für die bessere und effizientere Wiederverwendbarkeit von Software für die Realisierung maschinennaher Steuerungsfunktionen im
Maschinen- und Anlagenbau zu schaffen. Es sollen Entwicklungskosten und -zeiten gesenkt
sowie Softwarequalität und Flexibilität gesteigert werden. Zu diesem Zweck soll im Rahmen
des Projekts ein geeignetes, rechnergestützes Werkzeug (CASE (Computer Aided Software
Enginering) - Tool) prototypisch realisiert und den Maschinenherstellern zum industriellen
Piloteinsatz zur Verfügung gestellt werden.
Wichtig hierbei ist, die Softwareeerstellung als integralen Bestandteil des gesamten EngineeringProzesses zu betrachten und hierfür ein geeignetes Informationsmodell sowie Methoden und
Werkzeuge für ein effizientes Informationsmanagement zu schaffen. Komponenten des
Informationsmodells sollen „mechatronische Objekte“ sein (z.B. Gegenspindel einer
Drehmaschine, Bild 2, denen sowohl bauliche (Mechanik, Gerätetchnik) und funktionale
Eigenschaften (z.B. Referenzpunktfahrt), Dokumente unterschiedlicher Medien (z.B. auch
Hypertextdokumente oder Videos) sowie Steuerungshard- und -softwarebausteine zugeordnet
werden können. Für eine effiziente Wiederverwendung sollen sie in einer Baukastenbibliothek
definiert und bei der Maschinenkonfigurierung (Auftragsbearbeitung) beliebig instanziiert
werden können. Gepaart mit diesem Informationsmodell sollen systematische und innovative
Methoden erarbeitet werden für (Bild 2):
• auftragsneutrales, komponentenorientiertes Engineering durch die interdisziplinäre Modularisierung und Modellierung sowie auftragsneutrale Maschinentypbeschreibung in Form von
Baukastensystemen,
• auftragsspezifisches, komponentenorientiertes Engineering durch die baukastenunterstützte
Bildung konkreter Maschinenkonfigurationen und hieraus die Konfigurierung der
Steuerungssoftware. Die Konfigurierung von Steuerungshardware, elektronischer
Dokumentation sowie weiteren Informationssystemen, wie z.B. für Diagnose- und Service,
sollten ebenfalls, wenngleich nicht schwerpunktmäßig, Beachtung finden.
Für die effiziente Erstellung der Steuerungssoftware sollen, aufbauend auf dem
Informationsmodell, geeignete, auf die Bedürfnisse im Maschinen- und Anlagenbau angepaßte,
objektorientierte Methoden erarbeitet werden.
6
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Bild 2:
Informationsmodell als Basis für innovative Softwaretechnik
1.3.2 Lösungsansatz
Der Lösungsansatz von MoWiMa basiert hier auf der Nutzung und Konkretisierung
universeller Modellierungsansätze aus der objektorientierten Softwaretechnik (Unified
Modeling Language /Booc97/, Frameworks /Bir95/, Klassenhierarchie mit Vererbung),
woraus eine problemorientierte und für die Werkzeugunterstützung zugeschnittene
Modellierungsmethode erarbeitet wurde (Bild 3). Des weiteren wurden die bereits in der
Steuerungsprogrammerstellung bekannten Ansätze der hierarchischen Gliederung von
Maschinen und Anlagen in Funktionsobjekte (Funktionsgruppen und -einheiten) und deren
Modellierung mit Zustandsgraphen /Reic95, Rath95, Aeg93/ sowie der Programmierung nach
IEC 1131-3 /Iec91/ genutzt. Diese Ansätze wurden speziell auf die Problemstellungen der
Konstruktion und Steuerungstechnik für Baukastensysteme erweitert.
7
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Unified Modelling Language
Frameworks
Modellierungsansätze
aus der objektorientierten Softwaretechnik
Vererbung
Nutzung und Konkretisierung theoretischer
Ansätze
Problemorientierte Modellierungsmethode für
maschinenbauliche Anwendungen
Modellierungsmethode
MoWiMa
Werkzeugunterstützung
M
M
Funktionsobjekte Zustandsgraphen
Bild 3:
Problemstellungen
der Steuerungstechnik
und Konstruktion
VAR
...
END_VAR
IEC 1131-3
Nutzung objektorientierter Methoden für maschinenbauliche Anwendungen
2 Informationsmodell
Steuerungssoftware
und
objektorientierte
Modellierungsmethode
für
Die Vorgehensweise bei der objektorientierten Softwareerstellung gliedert sich in die objektorientierte Analyse, den objektorientierten Entwurf, die Implementierung sowie den
Softwaretest (Inbetriebnahme), Bild 4.
Analyse
Softwaretest
Entwurf
Implementierung
Bild 4:
8
Phasen bei der Erstellung objektorientierter Steuerungssoftware
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Für den Aufbau von Baukastensystemen wird Steuerungssoftware speziell unter dem
Gesichtspunkt der Wiederverwendung erstellt. Daher wurde eine Erweiterung der o.g.
Vorgehensweise erarbeitet, die sich in die beiden Tätigkeiten
•
Baukastendefinition und
• Maschinen- und Softwarekonfigurierung mit Baukasten
untergliedert. Diese werden nachfolgend beschrieben.
2.1 Baukastendefinition
Ein nach einem Baukastensystem aufgebauter Maschinentyp ist dadurch gekennzeichnet, daß
•
die im Baukasten vorhandenen Komponenten (z.B. Baugruppen) in einer Vielzahl
unterschiedlicher Maschinenkonfigurationen (Varianten konkreter Maschinen) eingesetzt
werden können und die
• Maschinenkonfigurationen einen von der Struktur her weitgehend ähnlichen Aufbau
besitzen.
Für die Definition eines für ein Baukastensystem geeigneten Informationsmodells ist sowohl die
Beschreibung des grundlegenden Aufbaus und der Schnittstellen der im Baukasten enthaltenen
Komponenten als auch die Beschreibung des Zusammenspiels dieser Komponenten
notwendig. Im Rahmen des MoWiMa-Projekts wurde daher (Bild 5)
•
eine allgemeingültige Beschreibung für die Struktur einer Baukastenbibliothek mit im
System bereits vordefinierten Systemtypen (z.B. „Funktionseinheit“) festgelegt. Durch
Spezialisierung (Unterklassenbildung) von Systemtypen wird die Definition benutzerdefinierter Typen (z.B. „Rollenbahn RB36 M113“) sowie, durch Variantenbildung benutzerdefinierter Typen (z.B. „Rollenbahn RB36 M113A“), der Aufbau einer Vererbungshierarchie ermöglicht.
• eine Methode zur Beschreibung der "Baukastensystematik" festgelegt. Es werden
Klassendiagramme verwendet, um auftragsneutral die Rollen und das Zusammenwirken der
Systemtypen (im sog. „Systemklassendiagramm“) und benutzerdefinierten Typen aus der
Bibliothek für die Erstellung konkreter Maschinenkonfigurationen unter Berücksichtigung
9
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
von Varianten und
Klassendiagramm").
Optionen
zu
beschreiben
(im
sog.
"benutzerorientierten
Baukasten
Baukastenbibliothek
Baukastensystematik
Systemklassendiagramm
(branchenunabhängige
Beschreibung)
Funktionsgruppe
A FG
Funktionsobjekt
1..N
Funktionsobjekt
Systemtypen
A FO
Funktionseinheit
0..1
A MB
A EB
0..N
Informationshinweis
A
I
Benutzerorientiertes Klassendiagramm
RB36 M13
A FE
Benutzertypen
A FG
benutzerdefinierte Typen
1..2
Rollenbahn
A FE
0..1
1
1
Zuführeinrichtung
Sägeeinheit
A FG
Systemtypen
(Maschinentypbeschreibung)
Sägeanlage
Visualisierung
RB36 M15
Bild 5:
A EO
0..N 0..N
Elektr. Betriebsmittel
Mechanik Bauteil
Rollenbahn
Entwurfsobjekt
0..N
A
FG
Sortiereinheit
A
FG
0..1
Tragkettenförderer
A
FE
Beschreibung eines Baukastensystems, bestehend aus Baukastenbibliothek und
Baukastensystematik
2.1.1 Aufbau der Baukastenbibliothek
Eine Baukastenbibliothek umfaßt auftragsneutral sämtliche Objekte, die innerhalb eines
Maschinentyps vorhanden sind. Erster und wichtiger Schritt beim Aufbau einer Baukastenbibliothek ist das Finden geeigneter Objekte und das Definieren daraus abgeleiteter,
benutzerdefinierter Typen (in der Softwaretechnik "Klassen" genannt). Wichtig für die
Durchgängigkeit ist, daß durch diese Typen interdisziplinär nutzbare Standardlösungen
abgebildet und daher sowohl bauliche als auch funktionale Gesichtspunkte berücksichtigt
werden.
Gemäß der in MoWiMa erarbeiteten Methode wird für die Erstellung maschinennaher
Steuerungsfunktionen eine Baukastenbibliothek folgendermaßen definiert:
10
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
1. Aufbau einer Typen- bzw. Klassenbibliothek unter Nutzung der objektorientierten
Grundprinzipien Abstraktion zur Klassifizierung und Vererbung zur Wiederverwendung
und Variantenbildung. Die abstrakten (nicht instanziierbaren) Systemtypen Entwurfsobjekt,
Funktionsobjekt (untergliedert in Funktionseinheit und Funktionsgruppe)
ElektrBetriebsmittel (untergliedert in SensorAktorElement und BenutzerEinAusgabeElement), Mechanikbauteil und Informationshinweis bilden hierbei Oberklassen für
abstrakte und konkrete (instanziierbare) Benutzertypen (siehe Bild 6), denen
unterschiedliche Teilmodelle zugeordnet werden können.
• Allen Entwurfsobjekten sind Wiederverwendungsinformationen in Form von Suchschlüsseln (für die Suche in der Bibliothek) sowie Dokumentationsbausteine aus externen
Werkzeugen (z.B. Textverarbeitung) für Angebotstexte, Funktionsbeschreibungen,
Benutzungsanleitungen, Wartungshinweise etc. zugeordnet.
• Funktionsobjekte enthalten zusätzlich ein Funktionsmodell, welches dem
Steueungsentwurf dient und mit formalen oder semiformalen Methoden beschrieben
wird. Für die Umsetzung innerhalb des MoWiMa-Projekts wurde hierzu die
Zustandsgraphenmethode /Flec87/ aufgegriffen (siehe Kap. 2.1.1). Sie dient gleichzeitig
als Grundlage für die Generierung des Steuerungscodes ("C" oder AWL nach IEC
1131-3).
• ElektrBetriebsmitel enthalten kein Funktionsmodell. Sie sind ausschließlich durch ihre
physischen und logischen Anschlußpunkte an die Steuerung beschrieben. Sie sind
untergliedert in SensorAktorElemente, die Signale vom und zum Prozeß liefern (z.B.
Näherungsschalter oder Motoren) und BenutzerEinAusgabeElemente, die Signale vom
und zum Benutzer liefern (z.B. Taster oder Anzeigeelemente).
• Mechanikbauteile enthalten keine steuerungstechnische Funktion, können aber für das
Verständnis einer Maschinenkonfiguration oder für die Dokumentationserstellung nützlich
sein (z.B. Maschinenbett).
• Informationshinweise sind Informationen, die nicht direkt einem Funktionsobjekt,
elektrischen Betriebsmittel oder Mechanikbauteil zugeordnet werden können, aber zu
Dokumentationszwecken in einem grafischen Maschinenabbild dienen (z.B. Sicherheitshinweise).
11
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Entwurfsobjekt
Funktionsobjekt
Funktionsgruppe
Zuführeinrichtung
I ZE24-F2
Funktionseinheit
Rollenbahn
Rollenbahn, 1-Richtung
I RB68-L1/4
I RB68-L1/6
Rollenbahn, 2-Richtung
I RB68-L2/4
I RB68-L2/6
ElektrBetriebsmittel
SensorAktorElement
Sensoren
Näherungsschalter
I OL 406/0067 24V
BenutzerEinAusgabeElement
Mechanikbauteil
Informationshinweis
Bild 6:
I
Systemtypen
Abstrakte
Benutzertypen
Konkrete
Benutzertypen
Vererbung
Typen-(Klassen-)hierarchie mit abstrakten und konkreten Benutzertypen
2. Benutzertypen sind durch beliebige, aufgabenbezogene Teilmodelle (Sichten) zu
beschreiben. Bild 7 zeigt beispielhaft die Teilmodelle für die benutzerdefinierte, konkrete
Funktionseinheit 'Rollenbahn RB68-L1/6'. Ihr zugeordnet sind
• elektrische Betriebsmittel (Motor, Lichtschranke),
• ein Übersichtsbild für die grafische Maschinenkonfiguration (mit Betriebsmittelkennzeichnung),
• eine Beschreibung der Funktionen, die von dieser Rollenbahn ausgeführt werden können
(einfördern, ausfördern, schrittfördern) und deren
• Umsetzung in ein Funktionsmodell (durch einen Zustandsgraph beschrieben) sowie
12
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
• Dokumentationsbausteine wie Stromlaufplan oder Funktionsbeschreibung.
Übersichtsbild
El. Betriebsmittel
-S1
RB 1
-M1
BMK
-S1
-M1
RB1
Funktionen
Bezeichnung
BA
Fertigmeldung
einfördern
ausfördern
schrittfördern
A
A
A
belegt
leer
schrittfördern
fertig
ausfördern
einfördern
R
Init
Hersteller
Einweglichtschranke OU 5005/OUS-OOKG 24V IFM
Hersteller
Getriebemotor
5K23-80 L/8-2BRE8
Getr. Bau Nord
Rollenbahn
RB68-L1/6
Behringer
z.B. Zustandsgraph
Funktionsmodell
Funktion
R schrittfördern
R
einfördern
belegt
leer
Dokumentationen
Stromlaufplan
schrittfördern
M -M1
Funktionsbeschreibung
fertig
ausfördern
BA : Betriebsart
A : Automatik
leer
Bild 7:
Typ
S
belegt
S
schrittfördern
S fertig
Beispielhafte Darstellung der Funktionseinheit "Rollenbahn"
Für die Beschreibung des Funktionsmodells sind prinzipiell beliebige Methoden denkbar, aus
denen direkt der Steuerungscode (z.B. nach IEC 1131-3) generiert werden kann. Da der
modularen Struktur von Baukastensystemen durch die Zustandsgraphenmethode in idealer
Weise Rechnung getragen wird, wurde sie im Rahmen von MoWiMa aufgegriffen und
entsprechend erweitert. Der Zustandsgraphenentwurf bietet eine interdisziplinäre
Verständlichkeit und orientiert sich an der hierarchischen Zerlegung einer Maschine oder
Anlage in Funktionseinheiten und Funktionsgruppen, die weitgehend baulich repräsentiert sind.
Die Zustandsgraphenmethode wird im folgenden detailliert erläutert.
2.1.2 Steuerungsentwurf mit der Zustandsgraphenmethode
Die Zustandsgraphenmethode [Hers82, Flec87, Otto92] basiert auf der Theorie der MooreAutomaten und eignet sich zur Steuerungsprogrammierung von Maschinen und Anlagen, wo
mechanische Bewegungen und zeitliche Abläufe vorrangig sind, z.B. Transferstraßen oder
Förderanlagen.
13
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Der Zustandsgraph ist ein zusammenhängender, gerichteter Graph, der Zustände als Kreise
(Knoten) und Zustandsübergänge, auch Transitionen genannt, als Pfeile (Kanten) darstellt.
Zuständen können in einer sog. „Zustandsanweisung“ Aktionen zugeordnet werden. Aktionen
werden unterschieden in
• Aktionen, die einmalig beim Eintritt in den Zustand ausgeführt werden („PRE-STEP“),
• Aktionen, die zyklisch erfolgen („STEP“) solange der Zustand aktiv ist, und
• Aktionen, die einmalig beim Verlassen des Zustands initiiert werden („POST-STEP“).
Transitionen können Übergangsbedingungen zugeordnet werden. Ausgehend vom aktiven
Zustand wird bei gültiger Übergangsbedingung ein Schalten in einen Folgezustand ausgelöst.
Funktionseinheiten stellen die kleinste Betrachtungseinheit dar, die in der Regel durch eine
einzige physikalische Größe wie z.B. Druck oder Lage gekennzeichnet sind. Ihnen werden
symbolische Signaladressen für die angeschlossenen elektrischen Betriebsmittel (Sensorik,
Aktorik, Benutzer-Ein-/Ausgabeelemente) zugeordnet. Der Zustandsgraph einer
Funktionseinheit wird als sog. Elementargraph bezeichnet. Die Vorgehensweise für die
Erstellung eines Elementargraphen ist in Bild 8 dargestellt.
14
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Rollenbahn RB68-L1/6
1. Zuordnen symbolischer
E/A-Signale
Sensor
Motor
belegt
2. Festlegen der
möglichen Zustände
ausfördern
einfördern
R
3. Festlegen der
Zustandsübergänge
drehen
Init
einfördern
leer
R schrittfördern
R
schrittfördern
2.
3.
belegt
4.
fertig
ausfördern
4. Festlegen des Verhaltens
bei Initialisierung
5. Festlegen der Kontrollflußschnittstellen
leer S
5.
R
R
leer
7. ausfördern
S
Bild 8:
belegt S
R
6. Festlegen der
Zustandsanweisungen
7. Festlegen der
Übergangsbedingungen
schrittfördern
S fertig
Übergangsbedingung:
LD Sensor.belegt
6.
S
S
Zustandsanweisung:
PRE-STEP:
SET Motor.drehen
POST-STEP:
RES Motor.drehen
Vorgehensweise bei der Erstellung von Elementargraphen
Zur Koordinierung von Funktionseinheiten werden Funktionsgruppen definiert und mit
Ablaufgraphen beschrieben (Bild 9). Je nach Komplexität der betrachteten Maschine oder
Anlage können Ablaufgraphen in mehreren hierarchischen Ebenen angeordnet werden; ein
Ablaufgraph koordiniert hierbei Zustandsgraphen der hierarchisch unterlagerten Ebene.
15
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Ablaufgraph Zuführeinrichtung
1. Ablaufgraph erstellen:
(Zustände, Zustandsübergänge, Zustandsanweisungen, Übergangsbedingungen,
Kontrollflußschnittstellen
2. Kontrollflußschnittstellen
des Ablaufgraphen
mit Kontollflußschnittstellen der Elementargraphen verbinden
Stange in TKF
einfördern
Stange an RB
abgeben
RB
starten
S
Grundstellung
R
einfördern R
R
belegt
leer
S
Bild 9:
R
S
EingangsAusgangsKontrollflußschnittstelle
R
Übergabe
beendet
ausfördern
Zustand
Übergang
Stange in RB
gefördert
S
S
Elementargraph
Rollenbahn
...
Elementargraph
Tragkettenförderer
Koordinierung von Elementargraphen über Ablaufgraph
Gegenseitige Synchronisationen von Zustandsgraphen werden durch die Kontrollflußbeschreibung mit Auftrags- und Quittungselementen erreicht. Neben der in Bild 2 dargestellten
„indirekten Synchronisation“ zwischen einem Ablaufgraph und den hierarchisch unterlagerten
Zustandsgraphen ist auch eine „direkte Synchronisation“ zwischen Elementargraphen möglich.
Durch die Kombination parallel arbeitender Zustandsgraphen wird die Gesamtfunktion einer
Maschine oder Anlage erreicht.
Charakteristisch für Zustandsgraphen ist, daß zu einem Zeitpunkt immer genau ein Zustand
aktiv ist. Dies macht Zustandsgraphen auch für den Entwurf von Diagnosefunktionen
interessant. In Verbindung mit den Programmiersprachen der IEC 1131-3 ermöglicht die
Zustandsgraphenmethode systematisch, durchgängig und herstellerübergreifend den Entwurf,
die Programmierung und den Test von Steuerungssoftware [Lutz95, Siem96]. Durch die funktionale, hierarchische Strukturierung sowie die vollständige Kapselung der Softwarebausteine
mit definierten Kontroll- und Datenflußschnittstellen bietet sie außerdem eine gute
Voraussetzung für die Wiederverwendung, insbesondere für die Softwarekonfigurierung aus
Baukastensystemen (siehe Kap. 2.2.2).
Nachteilig bei der Zustandsgraphenmethode wurde von den beteiligten Maschinenherstellern
die mangelnde Übersichtlichkeit bei der Modellierung komplexer Funktionseinheiten oder 16
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
gruppen beurteilt. Werden neben der Steuerungsfunktionalität für die einzelnen Betriebsarten
auch noch Diagnose- und Fehlerreaktionsfunktionen modelliert, erreicht ein Zustandsgraph
schnell 20 Zustände oder mehr. Der Anforderung nach Strukturierungsmöglichkeiten wurde
durch zwei Prinzipien begegnet:
1. Hierarchische Zustände,
2. Layertechnik mit benutzerdefinierten Filtern.
Hierarchische Zustände
Hierarchische Zustände eignen sich für die Gliederung eines Zustandsgraphen nach
unterschiedlichen, benutzerorientierten Kriterien, z.B. in Steuerungsfunktion und Fehlerbehandlung, nach Betriebsarten (Hand, Einrichten, Automatik) oder, bei Ablaufgraphen, in
Teil- oder Alternativabläufe. Bei dem in MoWiMa realisierten Vorgehen wird die Verfeinerung
eines hierarchischen Zustands in einem separaten Fenster vorgenommen. Ein hierarchischer
Zustand, der beliebig tief geschachtelt sein kann, kann so, auf mehrere Fenster verteilt,
gleichzeitig vollständig dargestellt werden (Bild 10). Die Zustandsgraphenmethode wurde um
die zusätzlichen Beschreibungslemente 'Hierarchischer Zustand', 'Abstrakte Transition'
'Eingangskonnektor' und 'Ausgangskonnektor' ergänzt (Bild 10). Hierarchische Zustände
dienen dem Benutzer zur graphischen Strukturierung des Entwurfs. Sie sind in „flache
Zustandsgraphen“ überführbar und werden vom System, auch für die Generierung des
Steuerungscodes, als solche behandelt.
Ein hierarchischer Zustand ist grafisch gekennzeichnet durch einen zusätzlichen konzentrischen
Kreis. Ihm kann ein Name, jedoch keine Zustandsanweisung zugewiesen werden. Statt dessen
enthält er einen internen Zustandsgraph. Alle Transitionen, die einen hierarchischen Zustand als
Quelle oder Ziel haben, werden als abstrakte Transition interpretiert (Bild 10, linkes Fenster).
Eine abstrakte Transition enthält keine Übergangsbedingung. Wird der Zustandsgraph eines
hierarchischen Zustands betrachtet, erscheinen diese abstrakten Transitionen als Eingangsbzw. Ausgangskonnektoren (Bild 10, rechtes Fenster). Diese stellen Platzhalter für die Quellbzw. Zielzustände der abstrakten Transitionen im übergeordneten Zustandsgraph dar und
enthalten den jeweiligen Zustandsnamen. Von bzw. zu diesen Konnektoren können im
verfeinerten Zustandsgraph Transitionen mit Übergangsbedingungen definiert werden.
17
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
ZustandgraphSchlitten
Init
Graphische und
logische Strukturierung des ZG
nach z.B.
- Betriebsarten
- Fehlerbetrieb
- ...
nach_vorn
Zustandsgrapheneditor
Zeitüberwachung
Auch ohne
Werkzeugunterstützung
anwendbar
Mitte
hinten
vorn
Hierarchischer Zustand Zeitüberwachung
nach_
hinten
nach_vorn
Init
Editorfenster für
Verfeinerung
des hierarchischen
Zustands
Aufruf
Zustand
Hierarchischer Zustand
Transition (mit Bedingung)
Abstrakte Transition (von/zu hierarch.
Zustand; ohne Bedingung)
Bild 10:
nach_hinten
Eingangskonnektor im hierarchischen
Zustand mit Quellzustand
Ausgangskonnektor im hierarchischen
Zustand mit Zielzustand
Hierarchische Zustände für die Zustandsgraphenmethode
Layertechnik
Eine weitere Möglichkeit, die Komplexität von Zustandsgraphen für den Benutzer handhabbar
zu machen, ist die Gliederung in Layern, wobei durch den Benutzer beliebige Filter definiert
werden können, wie z.B. für die Betriebsarten (Hand, Einrichten, Automatik) oder für
Steuerungsfunktionen und Fehlerbetrieb. Es sind somit die gleichen Gliederungsmöglichkeiten
wie mit hierarchischen Zuständen gegeben. Der Unterschied zu hierarchischen Zuständen
besteht darin, daß alle Gliederungsbenen in einer Darstellung (innerhalb eines Fensters) ein- und
ausgeblendet werden können. Wie bei den hierarchischen Zuständen dient die Gliederung von
Zustandsgraphen in Layer nur der grafischen Strukturierung und hat keine Auswirkungen auf
die Generierung des Steuerungscodes.
18
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Grafische Strukturierung
des ZG nach z.B.:
Einrichtbetrieb
- Betriebsarten
Mitte
- Normal- und Fehlerbetrieb
- ...
Nur bei Werkzeugunterstützung
sinnvoll
Hand-Betrieb
Mitte
nach_vorn
hinten
vorn
Automatik-Betrieb
nach_hinten
Bild 11:
Layertechnik
Welche der beiden in MoWiMa realisierten Gliederungsmöglichkeiten, hierarchische Zustände
oder Layer, für einen bestimmten Anwendungsfall günstiger ist, muß der Benutzer nach eigenem
Empfinden selber entscheiden.
2.1.3 Beschreibung der Baukastensystematik mit Klassendiagrammen
Das Entwurfswissen über die statische Aufbaustruktur eines Maschinentyps und somit
die Softwarestruktur wird in der Baukastensystematik (in der Informatik auch
Rahmensystem oder Framework genannt) abgelegt und für neu zu erstellende Projekte
(Maschinenkonfigurationen) als Grundgerüst vorgegeben (Wiederverwendung von Entwurfswissen).
Die Baukastensystematik wird mit Hilfe von Klassendiagrammen beschrieben. Sie zeigen,
wie oft und in welcher Zusammensetzung die in der Baukastenbibliothek enthaltenen
Benutzertypen in einer Applikation auftreten und welche Beziehungen (Assoziationen) und
Restriktionen zwischen diesen Typen vorhanden sind.
Zu unterscheiden ist hierbei zwischen dem
19
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
• Systemklassendiagramm, welches für einen bestimmten Anwendungsbereich (z.B. für
maschinennahe Steuerungsfunktionen) erstellt wird und als Basis bereits im System hinterlegt
ist und dem
• benutzerorientierten Klassendiagramm, welches die benutzerspezifische und auftragsneutrale Beschreibung eines bestimmten Maschinentyps enthält.
Für die grafische Notation der Klassendiagramme wurden Elemente der Unified Modeling
Language, UML (vereinheitlichte Methode der Autoren G. Booch, J. Rumbaugh und I.
Jacobson) /Booc97/ übernommen, wobei Objekttypen entsprechend der "Klassen" als
Rechtecke mit Typname dargestellt werden. Innerhalb der Rechtecke sind zusätzliche
Kennungen für abstrakte Typen („A“ im Kreis) sowie für die Systemklasse, von der der
jeweilige Typ abstammt (z.B. „FG“ für Funktionsgruppe), enthalten (siehe Legende zu Bild
12). Beziehungen (besteht_aus, benutzt) werden durch Verbindungslinien mit einer Raute
bzw. einem Kreis am Linienanfang dargestellt. Ihnen kann eine Kardinalität zugeordnet werden.
2.1.3.1 Systemklassendiagramm: Beschreibung des Anwendungsbereichs
Das Systemklassendiagramm beschreibt grundlegende Zusammenhänge für den betrachteten
Anwendungsbereich unter Nutzung der dafür definierten Systemklassen (Baukastenbibliothek,
Kap. 2.1.1) und ist bereits im System hinterlegt. In Bild 12 ist das Systemklassendiagramm für
den in MoWiMa betrachteten Anwendungsbereich „maschinennahe Steuerungsfunktionen“
dargestellt. Die Systemklassen selber und deren Vererbungsbeziehungen sind bereits in der
Baukastenbibliothek (Bild 6) hinterlegt. Durch das Systemklassendiagramm (siehe Bild 12)
werden diese um folgende Beziehungen und semantische Abhängigkeiten ergänzt:
• eine Funktionsgruppe kann aus Funktionsobjekten (also weiteren Funktionsgruppen
und/oder Funktionseinheiten) bestehen;
• Funktionsobjekte können ElektrBetriebsmittel in beliebiger Anzahl beinhalten.
Das Systemklassendiagramm enthält nur Systemtypen und deren Beziehungen, es beschreibt
noch keinen Maschinentyp. Um einen konkreten Maschinentyp zu beschreiben, wird das
benutzerorientierte Klassendiagramm verwendet.
20
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Funktionsgruppe
Entwurfsobjekt
A EO
A FG
1..N
Funktionsobjekt
A FO
0..1
Mechanik Bauteil
A MB
0..N
Informationshinweis
0..N
A
I
0..N 0..N
Elektr. Betriebsmittel
1..N
FG
A EB
A
Bild 12:
Systemklassendiagramm
Steuerungsfunktionen“
für
den
besteht_aus - Beziehung
benutzt - Beziehung
Kardinalität
Kennung für Typ z.B.
Funktionsgruppe (FG)
Kennung für abstrakten Typ
Anwendungsbereich
„maschinennahe
2.1.4 Benutzerorientiertes Klassendiagramm: Beschreibung der Baukastensystematik eines Maschinentyps
Die Baukastensystematik definiert die auftragsneutrale Beschreibung eines Maschinentyps und
wird durch benutzerorientierte Klassendiagramme dargestellt (Bild 13). Sie zeigen, wie oft
und in welcher Zusammensetzung die in der Baukastenbibliothek enthaltenen Benutzertypen in
einer Maschinenkonfiguration auftreten und welche Beziehungen und Restriktionen zwischen
diesen Typen vorhanden sind. Analog zum Systemklassendiagramm, gelten Beziehungen, die
für einen abstrakten Benutzertyp definiert wurden, auch für alle Unterklassen.
In der Praxis des Maschinenbaus ist häufig die Beschreibung von Sonderfällen notwendig, so
daß auf diese geschlossene Art und Weise die Zusammensetzung eines Maschinentyps nicht
vollständig beschrieben werden kann. Daher müssen Ausschlußkriterien abgebildet werden
können. Die UML-Notation wurde zu diesem Zweck um die Beziehungen 'alternativ'
(entweder... oder... ) und 'restriktiv' (wenn... dann..., bzw. wenn .. dann nicht ...) ergänzt.
Bild 13 zeigt den Ausschnitt eines benutzerorientierten Klassendiagramms für eine Sägeanlage
der Fa. Behringer.
21
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
1
Visualisierung
A FE
A FG
1
1
Zuführeinrichtung
A FG
A FE
Rollenb. RB68-L1/6
Bild 13:
1
Positioniereinheit
A
1..2
Rollenbahn
A FE
Sägeanlage
FG
1
1
Sägeeinheit
A FG
Abführeinrichtung
A FG
0..1
Tragkettenförderer
A FE
Tragkettenf. TF77-4
0..1
1..2
FG
A FE
A
besteht_aus - Beziehung
benutzt - Beziehung
wenn...dann nicht...-Beziehung
Kardinalität
Kennung für Typ z.B.
Funktionsgruppe (FG)
Kennung für abstrakten Typ
Klassendiagramm einer Sägeanlage (Ausschnitt)
Mit der Definition der Baukastenbibliothek und der Erstellung des benutzerorientierten
Klassendiagramms ist die Baukastenerstellung (auftragsneutrale Maschinentypbeschreibung)
abgeschlossen. Wie mit Hilfe eines solchen Baukastens auftragsspezifisch Maschinen
konfiguriert werden können, wird im folgenden erläutert.
2.2 Maschinen- und Softwarekonfigurierung
Die Maschinen- und Softwarekonfigurierung umfaßt auftragsspezifische Tätigkeiten, also die
Projektarbeit unter Nutzung eines vorhandenen Baukastens. Sie ist in zwei Phasen gegliedert,
wobei jeweils eine spezielle Sicht dargestellt wird:
• Maschinenkonfigurierung: Sie entspricht der Analysephase der Softwaererstellung. Es
werden, noch unabhängig von der Betrachtung der Steuerungssoftware, Entwurfsobjekte
aus der Bibliothek instanziiert, wodurch, ermöglicht durch die Teilmodelle, die den
Entwurfsobjekten zugeordnet sind (siehe Bild 6), bereits Stücklisten,
Funktionsbeschreibungen oder Angebotstexte zuammengestellt werden können. Diese
Tätigkeit wird in der Regel bereits durch den Vertrieb durchgeführt. Neben der
Instanziierung von Entwurfsobjekten aus der Baukastenbibliothek können auch
22
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
auftragsspezifische Entwurfsobjekte („Sonderkonstruktion“) definiert werden. Eine
Maschinenkonfiguration wird dargestellt durch Objektdiagramme.
• Softwarekonfigurierung: Sie entspricht der Designphase der Softwareerstellung. Es
werden die Funktionsmodelle, die den Funktionsobjekten der Maschinenkonfiguration
zugeordnet sind, sowie deren Zusammenwirken detailliert beschrieben. Eine
Softwarekonfiguration wird definiert durch Funktionsbausteindiagramme; Funktionsbausteine nach IEC 1499 bzw. IEC 1131-3 werden zu einem Steuerungsprogramm konfiguriert.
2.2.1 Maschinenkonfigurierung: Erstellung von Objektdiagrammen
Maschinenkonfigurationen werden durch Objektdiagramme beschrieben und stellen die
Struktur einer konkreten Maschine oder Anlage dar. Die Softwareerstellung steht hierbei noch
nicht im Mittelpunkt; Entwurfsobjekte und deren Beziehungen werden unabhängig von der
Implementierung betrachtet. Ein Objektdiagramm wird aus einem benutzerorientierten Klassendiagramm entwickelt, wobei zwei Vorgehensweisen denkbar sind:
• Es wird systemunterstützt zunächst eine Objektdiagrammvorlage generiert, in der die
(z.T. abstrakten) Klassen des benutzerorientierten Klassendiagramms als Platzhalter für
Instanzen konkreter Unterklassen repräsentiert werden. Die Ersetzung der Platzhalter durch
konkrete Benutzertypen aus der Baukastenbibliothek erfolgt durch den Benutzer, wobei die
im hinterlegten Klassendiagramm definierten Kardinalitäten und Restriktionen durch das
System überprüft werden (Bild 14).
• Es wird durch das System ein Default-Objektdiagramm generiert, das bereits einen
konkreten und vollständigen Vorschlag für die „am häufigsten verkaufte Maschine“ darstellt.
Dies bedeutet, daß die im benutzerorientierten Klassendiagramm enthaltenen Freiheitsgrade
(z.B. durch abstrakte Klassen oder Kardinalitäten) defaultmäßig aufgelöst werden. Bei einer
Änderung des Objektdiagramms wird jedoch ebenfalls die Konformität zum benutzerorientierten Klasssendiagranmm durch das System überprüft
23
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Baukasten
Benutzerorientiertes
Klassendiagramm
Maschinenkonfiguration
Objektdiagrammvorlage
Zuführeinrichtung
(Maschinentypbeschreibung)
Sägeanlage
FE
A FG
A
Sägeeinheit
FG
A
1..2
FE
FG
Generierung
Sortiereinheit
Rollenbahn
A FG
0..1
Rollenbahn
A
0..1
1
1
Zuführeinrichtung
Tragkettenförderer
A
FE
Baukastenbibliothek
Funktionseinheit
Rollenbahn
Rollenbahn, 1Ri.
Objektdiagramm
(Maschinenkonfiguration)
ZE1
Instanziierung
konkreter Typen
RB1
RB68-L1/4
RB68-L1/6
Bild 14:
Konkretisierung
Visualisierung
A
I
-S1
-S2 -M1
Zuführeinrichtung
ZE24-F2
Rollenbahn
RB68-L1/6
Vom benutzerorientierten Klassendiagramm zum Objektdiagramm über die
Objektdiagrammvorlage
Im Gegensatz zur UML bleibt in der MoWiMa-Methode innerhalb der Objektdiagrammbeschreibung die Aggregationsstruktur (besteht_aus-Verbindungen, Bild 15) aus dem
benutzerorientierten Klassendiagramm erthalten. Dadurch ist die für maschinenbauliche
Anwendungen wesentliche bauliche Struktur jederzeit transparent, welche auch einem
Mitarbeiter aus dem Vertrieb oder der mechanischen Konstruktion die Maschinenkonfiguration
verständlich macht. Bild 15 zeigt beispielhaft ein Objektdiagramm, das aus dem
Klassendiagramm von Bild 13 erstellt wurde.
24
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Sägeanlage
HBP1
Visualisierung
VS23
Zuführeinrichtung
ZFE1
Tragkettenförderer
TF3
Rollenbahn
RB1
I
-S1
Bild 15:
-S2
-M1
-S1
-M1
besteht_aus
benutzt
Objektdiagrammm einer Sägeanlage (Ausschnitt)
2.2.2 Softwarekonfigurierung: Erstellung von Funktionsbausteindiagrammen
Bei der Softwarekonfigurierung wird die Softwareerstellung aufbauend auf der zugrundeliegenden Maschinenkonfiguration betrachtet. Werden im Objektdiagramm Funktionsobjekte
aus der Baukastenbibliothek instanziiert, werden die zugeordneten Funktionsmodelle automatisch mitinstanziiert. Für auftragsspezifische Funktionsobjekte (Sonderkonstruktionen)
müssen i.d.R. auch auftragsspezifische Funktionsmodelle erstellt werden.
Aus dem Funktionsmodell welches z.B. als Zustandsgraph modelliert ist, kann Steuerungscode
in Form eines Funktionsbausteins (FB) generiert werden. Somit kann ein Funktionsobjekt für
die Softwarekonfigurierung als Instanz eines Funktionsbausteins repräsentiert werden. Als
Erweiterung der IEC 1131-3 werden in der IEC 1499 /Iec96/ Funktionsbausteine mit
Zustandsgraphen modelliert und für die Softwarekonfigurierung als Blöcke mit Kontroll- und
Datenflußschnittstellen (Input- und Output-Events, bzw. -Variablen) dargestellt (Bild 16). Die
Softwarekonfigurierung wird schließlich durch grafisches Verbinden der Kontroll- und
Datenflußschnittstellen erreicht. Diese Art der Darstellung wird als Funktionsbausteindiagramm
(FBD) oder Continuous Function Chart (CFC) bezeichnet (Bild 17).
25
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Durch die Generierung von Funktionsbausteinen aus Zustandsgraphen kann die Information aus
der Maschinenkonfiguration weitgehend in die Softwarekonfiguration übernommen werden,
was einem Übergang ohne Bruch von der Analyse- in die Designphase entspricht. Bei der
Softwarekonfigurierung können zusätzlich notwendige Anpass-Funktionsbausteine, die z.B.
steuerungs- oder antriebsspezifische Treiber enthalten, instanziiert und mit den
steuerungsunabhängigen Funktionsbausteinen aus der Baukastenbiblitohek verknüpft werden.
Zustandsgraph
Funktionsbaustein
Init
leer
R
einfördern ausfördern
R
ausfördern
R
schrittfördern
S
einfördern
belegt
schrittfördern
fertig
leer
"BlackBox"S
Darstelbelegt lung
S
InputEvents
schrittfördern
einfördern
ausfördern
InputVariablen Schrittweite
schrittfördern
fertig
OutputEvents
belegt
leer
OutputVariablen
schrittfördern
fertig
Kontrollflußschnittstelle
Datenflußschnittstelle
Bild 16:
26
Funktionsbausteindarstellung nach IEC 1499, generiert aus dem Zustandsgraph der
Rollenbahn aus der Baukastenbibliothek
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Visualisierung
VS23
Sägeanlage
HBP 1
Rollenbahn
RB 1
Tragkettenförderer TF 3
Zuführeinrichtung
ZFE 1
Kontrollflußschnittstelle
Datenflußschnittstelle
Bild 17:
Grafischer Steuerungssoftwareentwurf als Funktionsbausteindiagramm nach IEC
1499
2.3 Codegenerierung und Steuerungsankopplung
Nach Vervollständigung der grafischen Softwarekonfiguration kann, die Unterstützung durch
ein entsprechendes CASE (Computer Aided Software Engineering)-Tool vorausgesetzt, die
Generierung von Steuerungscode sowie die Kopplung an die Steuerung vorgenommen werden.
Bei dem im Rahmen des Projekts MoWiMa erstellten CASE-Tool erzeugt für diesen Zweck
ein Codegenerator aus den Zustandsgraphen und FB-Diagrammen Anweisungsliste nach IEC
1131-3, welche durch handelsübliche Programmiersysteme eingelesen werden können. Diese
stellen dann den steuerungsspezifischen Compiler zur Verfügung, welcher den Maschinencode
erzeugt, der dann auf die Steuerung transferiert werden kann.
Für die Vervollständigung des in Bild 4 dargestellten Lebenszyklusses für objektorientierte
Steuerungssoftware sind zusätzliche Werkzeugfunktionen notwendig, die das Testen
(Monitoring, Debugging) der Software sowie das Inbetriebnehmen der Maschine in der
Entwurfsbeschreibung (z.B. auf Zustandsgraphenebene) ermöglichen. Eine Übersicht über die
Codegenerierung und Steuerungsankopplung des MoWiMa CASE-Tools zeigt Bild 18.
27
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Bild 18:
Codegenerierung und Steuerungsankopplung des MoWiMa CASE-Tools
2.3.1 Codegenerierung: Integration des CASE-Tools in das IEC 1131-3 Modell
Im Kapitel 2.2.2 und Kapitel 2.3 ist die Vorgehensweise der Softwareerstellung von der
Analysephase in die Designphase über ein IEC 1131-3 Modell mit der anschließenden
Codegenerierung und Steuerungsankopplung beschrieben worden. Dieses Kapitel befaßt sich
nun speziell mit Gesichtspunkten, die bei der Anwendung des IEC 1131-3 Modells zu
berücksichtigen sind.
Bei der Wahl des Programmiermodells sind folgende Randbedingungen zu beachten:
1. Globalisierung:
International operierende Maschinen- und Anlagenbauer sind häufig gezwungen,
unterschiedliche Steuerungsplattformen zu unterstützen: Die Maschine und ihre Funktionalität
bleibt prinzipiell gleich; die Art der eingesetzten Automatisierungsgeräte wird jedoch vom
Kunden vorgegeben und wechselt daher von Wirtschaftsraum zu Wirtschaftsraum. Die
unangenehme Folge sind unterschiedliche Versionen der Steuerungssoftware für einen
Maschinentyp. Eine wirklich wiederverwendbare Software muß daher ohne große
28
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Anpassungen auch für unterschiedliche Steuerungstypen und -architekturen (z.B. dezentral zentral) nutzbar sein.
2. Standardisierung in der Automatisierungstechnik:
Der Trend zur Standardisierung in der Automatisierungstechnik ist unverkennbar. Mit
Standardisierung, z.B. im Bereich der Programmierung (IEC 1131-3) und der Feldbustechnologie (CAN, Profibus etc.), wird dem Maschinen- und Anlagenbauer ermöglicht,
in seiner Automatisierungslösung Komponenten unterschiedlicher Hersteller zu verwenden.
Bei der Wahl des Programmiermodells innerhalb des MoWiMa CASE-Tools wurde
diesem Trend Rechnung getragen, um eine möglichst große Zahl von Anwendern erreichen
zu können.
3. Standardisierung im Engineering:
Hauptnutzen des MoWiMa CASE-Tools soll es sein, die Softwareerstellung als integralen
Bestandteil des Engineeringprozesses zu betrachten (Kapitel 1.3). Eine 1:1-Abbildung
zwischen Maschinen- und Steuerungshard- bzw. -softwarestruktur bildet hierfür die
Grundlage: durch die Definition von Funktionsobjekten wird ermöglicht, daß sowohl der
Maschinenkonstrukteur als auch der Steuerungsprojektierer bzw. -programmierer mit
derselben objektorientierten Betrachtungsweise arbeiten. Durch die Wahl des
Programmiermodells muß gewährleistet sein, daß diese objektorientierte Maschinenstruktur
durchgängig bis zur Implementierungsebene unterstützt wird.
Angesichts dieser Randbedingungen wurde als Programmiermodell das IEC 1131-3 Modell
gewählt. Als international unterstützter Standard findet es Anwendung auf allen Gebieten der
Automatisierungstechnik; Praxisbezug und Akzeptanz des CASE-Tools sind dadurch
weitestgehend gewährleistet. Eine wichtige Eigenschaft, die für die Umsetzung eines
objektorientierten Modells in ein Steuerungsprogramm zur Verfügung steht, ist hier das
Funktionsbausteinprinzip.
Im folgenden werden die einzelnen Schritte für die Erzeugung eines Steuerungsprogramms nach
IEC 1131-3 aus Zuastandsgraphen detailliert aufgezeigt. Die Vorgehensweise ist jedoch auch
auf andere Beschreibungmittel übertragbar. Die Erzeugung eines ablauffähigen
Steuerungsprogramms nach IEC 1131-3 gliedert sich wie folgt:
29
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Bild 19:
IEC 1131-3 als Bindeglied zwischen MoWiMa CASE-Tool und Zielplattform
1. Codegenerierung aus Funktionsobjekten: Aus Zustandsgraphen werden wiederverwendbare IEC 1131-3 Funktionsbausteine (FB, Programmorganisationseinheit FUNCTION
BLOCK)) generiert, 1:1-Abbildung Funktionsobjekt <-> Funktionsbaustein.
2. Softwarekonfigurierung durch Verdrahten der FBs im Funktionsbausteindiagramm (CFC).
Generierung der Programmorganisationseinheit (POE) PROGRAM.
3. Importieren des Steuerungsprogramms in eine auf die Zielplattform angepaßte Programmierumgebung.
4. Erzeugen von Maschinencode für die gewählte Zielplattform innerhalb der Programmierumgebung.
5. Test- und Inbetriebnahme mit der Programmierumgebung (auf AWL-Ebene) sowie
innerhalb des CASE-Tools auf Entwurfsebene (z.B. im Zustandsgrapheneditor).
30
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
2.3.2 Generierung wiederverwendbarer IEC 1131-3 Funktionsbausteine aus
Funktionsobjekten
Wesentliches Merkmal von Funktionsobjekten ist die Wiederverwendbarkeit. Für die
Umsetzung in Steuerungsquellcode bietet das Funktionsbausteinprinzip des IEC 1131-3
Modells eine geeignete Grundlage: FBs können beliebig instanziiert und dadurch
wiederverwendet werden. Sie besitzen eine kontextunabhängige Schnittstelle mit Ein- und
Ausgangsparametern und bekommen vom Zielsystem einen eigenen Speicherbereich für ihre
lokalen Variablen zugewiesen. Dies erhöht den Grad der Wiederverwendbarkeit im Vergleich
zu dem von Steuerungen älterer Generation verwendeten prozeduralen Bausteinprinzip (z.B.
Step5).
Bild 21:
Übergang vom Funktionsmodell in das IEC 1131-3 Modell
Durch die werkzeugunterstützte Überführung des Funktionsmodells in das IEC 1131-3 Modell
wird die Integration von Designphase und Implementierung realisiert. Hierfür stehen der
Zustandsgrapheneditor (ZG) mit einem IEC 1131-3 AWL-Codegenerator, das
Funktionsbausteindiagramm (CFC) und die herkömmlichen IEC Sprachen zur Verfügung. So
kann z.B. der Maschinenkonstrukteur mit Hilfe des Zustandsgrapheneditors die Funktionalität
seines Funktionsobjektes „im Groben“ festlegen, indem er Zustände und Transitionen sowie
Kontroll- und Datenflußschnittstellen definiert. Die entsprechenden Aktionen und
Übergangsbedingungen kann er prosaisch formulieren. Der SPS-Programmierer verfeinert den
Entwurf ebenfalls mit Hilfe des Zustandsgrapheneditors, indem er, basierend auf den
schriftlichen Anmerkungen des Konstrukteurs, die Übergangsbedingungen in den Transitionen
und die Aktionen in den Zuständen in AWL ausprogrammiert.
31
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Die Generierung eines Funktionsbausteins (FB) nach IEC 1131-3 aus einem Zustandsgraphen
wird folgendermaßen realisiert:
• Zustände und Transitionen spiegeln sich jeweils als lokale boolsche Variablen wieder. Dies
ermöglicht bei Test- und Inbetriebnahme das Debuggen des Zustandsgraphen.
• Kontrollflüsse werden nach außen ebenfalls als Input und Output Variablen definiert und
ermöglichen ein Verdrahten des FBs mit anderen Zustandsgraphen auf Funktionsbausteindiagrammebene (CFC).
• Benötigte Sensor/Aktorsignale werden ebenfalls als Input und Output Variablen definiert.
Sie müssen über die Programmebene des IEC 1131-3 Programms an die Peripherie
verdrahtet werden.
• Aktionen und Übergangsbedingungen sowie die Struktur des Zustandsgraphen werden in
AWL programmiert bzw. generiert. Dies ermöglicht im Hinblick auf die Portierung für
unterschiedliche Zielplattformen den größtmöglichen Wiederverwendungsgrad (siehe
Portability-Level AWL)
Die IEC 1131-3 garantiert eine größtmögliche Plattformunabhängigkeit der Steuerungssoftware. Der Standardisierungsdruck auf dem Markt hat jedoch noch nicht so weit geführt,
daß Hersteller von IEC 1131-3-kompatiblen Controllern einheitliche Programmierwerkzeuge
anbieten. Die mit unterschiedlichen Programmierumgebungen erzeugten IEC 1131-3
Applikationen sind nicht uneingeschränkt untereinander austauschbar. Dies führt dazu, daß
nicht „überall wo IEC 1131-3 drauf steht, auch IEC 1131-3 drin ist“, zumindest nicht im
Hinblick auf Kompatibilität.
Abhilfe schafft hier die PLCopen, ein Interessenverband von SPS-Herstellern und Softwareunternehmen. Im Zuge von weiterführenden und strengeren Normungstätigkeiten für IEC
1131-3 Systeme haben die Mitglieder der PLCopen verschiedene Kompatibilitätslevel, z.B.
den Portability-Level, definiert. Mit entsprechenden, fest vorgegebenen Testskripten können
Hersteller ihre Produkte auf Normkonformität und Kompatibiliät überprüfen lassen und ein
Zertifikat erlangen.
Der Portability-Level garantiert die Austauschbarkeit von IEC 1131-3 Applikationen zwischen
verschiedenen Steuerungsplattformen unterschiedlicher Hersteller. Er definiert einen auf
Dateiaustausch basierenden Import-Export Mechanismus (File-Exchange-Format, FxF) für die
jeweiligen Programmierumgebungen und garantiert, daß das Laufzeitverhalten auf allen
Zielplattformen gleich ist.
32
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Der Portability-Level und das FxF beschränken sich auf die textuellen Sprachen der IEC
1131-3 (AWL und ST). Funktionsbausteine die im Original mit AS, KOP oder FBD erstellt
wurden, müssen daher in AWL oder ST querübersetzt werden. Beim Exportieren dieser Pläne
werden keine graphischen Informationen im AWL- oder ST-Funktionsbaustein abgelegt,
lediglich ein Verweis auf die Originalsprache wird hinterlegt. Beim Import solcher FBs stehen
diese Bausteine nur in AWL oder ST zur Verfügung, es sei denn, die importierende
Programmierumgebung unterstützt die Rückübersetzung von textuellen Sprachen in graphische
Originalsprachen.
Bild 22:
Anwendung des Portability-Levels
Die mit dem IEC 1131-3 Codegenerator des MoWiMa CASE-Tools erzeugte Steuerungssoftware entspricht diesem Portability-Level und kann über FxF in alle mit PortabilityLevel zertifizierten Programmierumgebungen importiert werden. Die anschließende Generierung
von Maschinencode sowie Test und Inbetriebnahme erfolgt in den jeweiligen plattformspezifischen Programmierumgebungen.
2.3.3 Test und Inbetriebnahme
Neben Entwurf und Programmierung steuerungstechnischer Funktionen ergeben sich durch die
Inbetriebnahme weitere Aufgaben für das MoWiMa-CASE-Tool. Als gegeben vorausgesetzt
wird die Anzeige steuerungsspezifischer Register (z.B. für Statusinformationen aus dem
33
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Betriebssystem bzw. der Hardware der Steuerung) und die an der Steuerung anstehenden
Port-Werte.
Das Hauptaugenmerk der Inbetriebnahme soll hierbei auf den Entwurfsbeschreibungen
„Zustandsgraph“ und „CFC-Diagramm“ liegen. Um Test und Inbetriebnahme auf
Entwurfsebene durchführen zu können, werden Funktionen benötigt, die aus aktuellen
Variablenwerten der Steuerung online den direkten Rückschluß auf Modellinformationen
erlauben und diese anzeigen. Bild 23 zeigt beispielhaft die Zustandsverfolgung auf
Zustandsgraphenebene.
Bild 23:
Zustandsverfolgung im Zustandsgraph
Zusätzlich zur Anzeige sind Funktionen
Steuerungsprogramms beeinflussen:
•
•
•
•
gefordert,
die
die
Abarbeitung
des
Stopp eines /mehrerer Graphen in einem vorgegebenen Zustand (Breakpoint) bzw.
beliebiges Einfrieren des zuletzt gültigen Zustands,
Einzelschrittbetrieb mit manueller Freigabe eines Zustandswechsels und
Forcen bzw. Zwangssetzen eines Zustandsgraphen in einen definierten Zustand.
Da bisher in keiner Norm der Aufbau und Umfang eines geeigneten Testsystems festgelegt
wird, zeigt Bild 24 beispielhaft einen Vorschlag für den Testeditor: In tabellarischer Form wird
neben der Anzeige des aktuell gültigen Zustands (als Nummer und Zustandsname) der gerade
34
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
anstehende Bearbeitungsmodus sowie der Breakpoint angezeigt. Die o.g. Interaktionsmöglichkeiten werden über Tasten ausgelöst.
Bild 24:
Übersicht über ausgewählte Zustandsgraphen mit Interaktionstasten
Derzeitige Testsysteme kennen bereits Variablenlisten (häufig auch als „Watches“ bezeichnet).
Bei großen Projekten leidet jedoch aufgrund der Fülle anzuzeigender Daten die Übersichtlichkeit. Günstig ist es deshalb, für jedes CFC-Diagramm bzw. für jeden Zustandsgraph in einer
weiteren Relation für den Test benötigte Variablenlisten (Bild 25) zu hinterlegen und
abzuspeichern. Der Inbetriebnehmer kann somit bei der Integration getesteter Teilfunktionen in
ein Gesamtprojekt schnell auf ursprüngliche Testinformation zurückgreifen.
35
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Bild 25:
Editor zur Anzeige /Änderung der im Zustandsgraph „Koordinator_1“ zum Test
hinterlegten Variablen
Der Test direkt an der Maschine ist nicht nur wegen der Bindung von Ressourcen und Geräten
zeit- und kostenintensiv, meist ist auch das Test-Umfeld psychisch und physisch belastend. Der
Einsatz von Simulationsumgebungen im Büroumfeld ist deshalb notwendig: Die Steuerung ist
nachzubilden, wobei das originale Steuerungsprogramm ohne Abänderungen abgearbeitet
werden können muß. Einflüsse der „Echtzeit“ sind weitgehend auszuschließen, um genügend
Zeit für manuelle Aufzeichnungen bzw. Interaktionen am Simulationssystem zu haben. Positiver
Nebeneffekt dieses Systems ist es, ohne die Gefahr „Zerstörung der Maschine“ testen zu
können.
3 Werkzeugunterstützung
Basierend auf den dargestellten Vorgehensweisen und Methoden wurde im Rahmen des
Projekts ein CASE-Tool realisiert, welches Werkzeugkomponenten für die abteilungsübergreifende Baukastendefinition und für die Maschinen- und Softwarekonfigurierung umfaßt
(Bild 26).
36
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Zustandsgrapheneditor
Klassendiagrammeditor
Ergebnis
Baukastensysteme
Klassen-/
Typenbibliothek
Bild 26:
Klassendiagramm
Vertrieb
Kunde
Elektrokonstruktion
Auftragsbearbeitung
Nutzung von
Werkzeugen
Definition von Baukastensystemen
Nutzung von
Werkzeugen
Klassen-/
Typeneditor
Mechanikkonstruktion
Baukastendefinition
Anwendung von Baukastensystemen
Vertrieb Elektrokonstruktion
Mechanikkonstruktion
M1
ObjektdiagrammM2
editor
S1
Funktionsbausteindiagrammeditor
S2
Codegenerator
Ergebnis
Maschinenkonfigurationen
Spindeleinheit
Vorschubschlitten
M1
VAR
...
...
M2
S1
S2
END_VAR
Werkzeugunterstützte Baukastendefinition und Maschinenkonfigurierung
Die Kopplung der MoWiMa-Werkzeugkomponenten, auch mit externen Werkzeugen und
Steuerungssystemen, wird basierend auf dem von Microsoft für Windows entwickelten OLE
(Object Linking and Embedding)- bzw. OPC- Konzept (OLE for Process Control) /Opc96/
realisiert. OPC stellt einen Kommunikationsstandard basierend auf OLE dar, der eine effiziente
und einfache Kommunikation zwischen verschiedenen Automatisierungsebenen ermöglichen
soll. Es werden Objekte und Methoden für die Kommunikation zwischen Entwurfs- und
Visualisierungssystemen, Prozeßleit- und Steuerungsebenen sowie intelligenten Feldbussystemen definiert. Dadurch wird eine tragfähige Basis für PC-basierte Automatisierungslösungen geschaffen, wie sie z.B. auch in der OMAC-Spezifikation /Oma94/ von der
amerikanischen Automobilindustrie gefordert wird.
3.1 Aufbau des MoWiMa CASE-Tools
Der im Rahmen von MoWiMa eingesetzte Prototyp zeichnet sich durch die Integration von
neuentwickelten Werkzeugen mit industriell bewährten Produkten aus.
Fehler! Keine gültige Verknüpfung.Bild 27: Aufbau des MoWiMa CASE Tools
37
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Neuentwickelte Werkzeuge sind:
• Bibliothek mit Browser,
• Klassendiagrammeditor (KD),
• Objektdiagrammeditor (OD),
• Zustandsgrapheneditor (ZG),
• Funktionsbausteindiagrammeditor (CFC)
• und AWL Codegenerator (AWLGen).
Integriert wurde aus der IEC 1131-3 Programmierumgebung OpenPCS von infoteam ein
AWL Syntaxchecker (AWLCheck), welcher die vom AWLGen erzeugten Quellen auf
Einhaltung der IEC 1131-3 Norm überprüft und gegebenenfalls entsprechende Fehlermeldungen liefert. Der Zugriff des CASE-Tools auf die Dienste des Syntaxcheckers erfolgt
über OLE Automation.
Für die Softwarekonfigurierung kommt der CFC-Editor des CASE- Tools zum Einsatz. Die
Anbindung an den Prozeß erfolgt im Prototypen mit Hilfe der Programmierumgebung
OpenPCS. Die vom AWLGen erzeugten Quellprogramme werden vom Compiler übersetzt
und mit der Test-&Inbetriebnahmekomponente (T&I) auf die gewünschte Zielplattform
geladen. Durch bereits vorhandene, steuerungsspezifische Ankopplungen von OpenPCS an
unterschiedliche SPSen kann das MoWiMa CASE-Tool ohne weitere Anpassung für Steuerungen der Hersteller Klöckner Moeller, Schleicher, Pilz und Weidmüller eingesetzt
werden. Die im OpenPCS enthaltene SmartPLC emuliert eine IEC 1131-3 Steuerung auf dem
PC und ermöglicht somit den Offline-Test der Applikation ohne Prozeß und ohne reale
Steuerung. Da OpenPCS von der PLCopen bereits Portability-Level- zertifiziert ist und auch
weitere Anbieter nachziehen, können durch die vom AWLGen erzeugten Quellprogramme mit
den im OpenPCS enthaltenen Import/Export-Funktionen (FxF) weitere Zielplattformen
unterstützt werden.
4 Piloteinsatz des CASE-Tools bei der Firma Behringer
Aus der Vielfalt der Bandsägemaschinen der Fa. Behringer wurde die Bandsägemaschine Typ
HBP263A für die Realisierung des Pilotprojektes ausgesucht. Die Bandsägemaschine Typ 263
A ist der kleinste Typ, der mit einem SPS-Steuerungsprogramm ausgestattet wird. Es handelt
sich um eine Standard-Bandsägemaschine, welche halbautomatisch arbeitet. Diese Wahl wurde
aus Zeitgründen getroffen, da die Maschine auf der SPS/IPC/Drives Messe mit dem Prototyp
38
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
des CASE_Tool-Aspect gezeigt werden sollte. Die Fertigstellung eines anderen
Bandsägemaschinentyps wäre kurzfristig nicht möglich gewesen.
4.1 Funktionsbeschreibung
Die Bandsägemaschine ist zum Trennen von Rund-Material bis max. 260mm Durchmesser
sowie von Vierkant-Material 300mm X 260mm B X H ausgelegt. Die maximale
Abschnittlänge je Hub beträgt 400mm, es können bis zu 9 Hübe eingestellt werden. Die
Abschnittlänge je Hub wird am Handrad mechanisch eingestellt, die Hubzahl wird am
Codierschalter an der Bedientafel eingegeben, ebenso die zu fertigende Stückzahl.
Die Sägemaschine arbeitet halbautomatisch, d. h. der Bediener muß das Material von Hand auf
den Nachschubschlitten legen. Nach dem Einschalten des Automatikbetriebes wird das
Material vorgeschoben und gesägt. Die Maschine arbeitet vollautomatisch bis die Stückzahl
erreicht bzw. kein Material mehr vorhanden ist. Dann schaltet sie sich selbständig aus.
Wenn das Material vom Bedienpersonal am Nachschubschlitten aufgelegt ist sowie Hubzahl
und Stückzahl eingegeben wurden, kann der Automatikbetrieb eingeschaltet werden. Dabei
muß der Benutzer vor dem Einschalten des Automatikbetriebes darauf achten, daß der Weg
für das Positionieren des zu bearbeitenden Materials frei ist. Zunächst wird das Material durch
den Nachschubgreifer gespannt und über den hydraulisch gesteuerten Nachschubschlitten in
der Maschine positioniert bzw. bis zum Anschlag der eingestellten Schnittlänge vorgeschoben.
Bei mehr als einem eingestellten Hub, wird das Material so lange vorgeschoben, bis die
Hubzahl erreicht ist.
Jetzt wird das Material durch die Materialzange, die im Sägebereich sitzt, gespannt. Ist das
Material gespannt, erhalten der Sägerahmen und der Sägeantrieb die Freigabe, die Säge zu
senken und das Material zu sägen. Wenn das Material fertig gesägt ist, fährt der Sägerahmen
hoch, und der Sägeantrieb wird abgeschaltet. Befindet sich der Sägerahmen über dem
Material, öffnet der Nachschubgreifer die Spannbacken, der Nachschubschlitten fährt zurück,
um neues Material vorzutransportieren. Hat der Nachschubgreifer das Material von neuem
gespannt, öffnet die Materialzange die Spannbacken. Dadurch wird der Weg für einen neuen
Transport frei. Der gesamte Vorgang wiederholt sich, bis die Stückzahl erreicht ist.
39
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Nachschubgreifer
Säge
Sägerahmen
Materialzange
Positioniereinheit
Sägeband
Nachschubschlitten
Bild 28:
Schematischer Aufbau der Bandsägemaschine Typ HBP263A
4.2 Funktionsobjekte der Bandsägemaschine Typ HBP263A
Nach objektorientierten Gesichtspunkten konnten wir große, komplexe Elemente in kleine und
einfache Komponenten zerlegen, sog. „Funktionsobjekte“ (Bild 29).
Der Maschinentyp mit allen Bauteilen, Sensoren und Aktoren wurde unabhängig vom
Anwendungsfall durch Klassendiagramme beschrieben. Aus identifizierten Funktionsobjekten
und elektrischen Betriebsmitteln wurden benutzerdefinierte Klassen erzeugt und die Bibliothek
aufgebaut. Beziehungen zwischen Entwurfsobjekten wie besteht_aus oder benutzt sowie
Kardinalitäten wurden ebenfalls in den Klassendiagrammen definiert. Innerhalb der Bibliothek
wurde für jedes Entwurfsobjekt die genaue Verwendungsart hinterlegt.
Durch Zusammenstellen von Entwurfsobjekten in einem Objektdiagramm und die Verbindung
ihrer Schnittstellen wurde die Steuerungssoftware für eine konkrete Anlage vom Typ
HBP263A erstellt und die reale Anlage in Betrieb genommen. So konnte die erste Anlage
durch Konfigurieren aus dem Baukasten anstatt Neuprogrammierung in Betrieb genommen
werden.
Jedem Funktionsobjekt zugeordnet ist ein Zustandsgraph, der die Funktionalität des
Funktionsobjekts beschreibt. Für die Generierung von Steuerungsquellprogrammen nach IEC
1131-3 wurde der MoWiMa-Codegenerator verwendet. Die Zielpalttform stellte ein
Steuerungsgerät vom Typ PS416 von Klöckner-Moeller.
Der Softwareentwurf mit Zustandsgraphen sowie das Testen der Anlage auf Entwurfsebene
brachte eine wesentliche Verbesserung gegenüber der herkömmlichen Programmierweise. Der
40
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
methodische Entwurf ist übersichtlich, das Verfolgen der Zustände und das Orten von Fehlern
beim Test war schnell und einfach nachvollziehbar.
besteht aus
Sägemaschine-Ablaufsteuerung
1
1
1
1
Nachschubschlitten
Nachschubgreifer
1
FG = Funktionsgruppe
FE = Funktionseinheit
0..1
1
1
Sägerahmen-Ablaufsteuerung
Antriebs-Ablaufsteuerung
Sägeantriebs-Ablaufsteuerung
Antriebs-Ablaufsteuerung
Drehzahlinitiator
Bild 29:
Sägeeinheit-Ablaufsteuerung
Positionieren
Auto_Betrieb
1
Hand_Betrieb
1
1
Bedientafel
1
Sägeantrieb
1
Sägerahmen
1
Vorschub
Spannvorrichtung-Ablaufsteurung
Antriebs-Ablaufsteuerung
1
Materialzange
Klassendiagramm der Bandsägemaschine Typ HBP263A
4.3 Bewertung von Methode und Werkzeug
Durch das CASE-Tool ASPECT bekommt der Maschinenbauer ein Werkzeug in die Hand,
das ihm - insbesondere bei der Software-Erstellung - einige Vorteile zur Bewältigung seiner
Aufgaben bieten kann.
Die derzeitigen Marktanforderungen, wie höhere Maschinenflexibilität, höhere
Maschinenverfügbarkeit und kürzere Lieferzeiten zwingen uns zu immer kürzeren
Entwicklungszeiten. Das heißt, wir müssen rationeller und wirtschaftlicher als bisher arbeiten.
Die im MoWiMa-Forschungsprojekt entwickelte Methode ermöglicht uns, ein Projekt in allen
seinen Entwicklungsphasen genauestens zu beschreiben und zwar in einer Form, die für jeden
am Projekt Beteiligten verständlich ist, auch ohne genaue Kenntnisse über die
Steuerungsprogrammierung oder das CASE-Tool ASPECT zu besitzen, ähnlich wie jeder
41
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Maschinenbauer eine Zeichnung lesen und interpretieren kann. Hervorzuheben ist die
interdisziplinär gute Verständlichkeit. So können Vertriebsmitarbeiter, Ingenieure, Techniker
oder Mechaniker ohne Programmierkenntnisse Aufbau und Funktion eines Maschinentyps
oder einer Maschinenkonfiguration verstehen. Darüber hinaus ist das CASE-Tool ASPECT für
jedermann leicht verständlich und erlernbar. So besteht zukünftig die Möglichkeit, ein
Werkzueg wie das CASE-Tool-Aspect durchgängig vom Vertrieb über die Konstruktion und
Softwareerstellung bis hin zum Service und Kundendienst einzusetzen.
Zusammenfassend seien aus Sicht von Behringer die Vorteile der MoWiMa-Methode und des
CASE-Tools nochmals genannt:
•
•
•
•
•
•
•
•
•
•
hierarchisch strukturierte Software, modular aufgebaut ,
Funktionsobjekte ermöglichen die Wiederverwendung,
Methode ist verständlich, transparent und übersichtlich,
Steigerung der Qualität durch Selbstdokumentation,
Steigerung der Produktqualität,
durchgehender Informationsfluß, schneller vom Entwurf zum Ergebnis,
kürzere Test- und Inbetriebnahmezeiten,
kostensparend,
Änderungen und Ergänzungen sind überschaubar und somit kalkulierbar,
besserer Personaleinsatz.
4.4 Organisatorische Probleme bei der Werkzeugeinführung, Bericht eines
Anwenders
Ein Wechsel von vorhandenen und bewährten Systemen auf neue Systeme geht niemals ohne
anfänglichen Mehraufwand vonstatten. Obwohl das MoWiMa CASE-Tool leicht zu erlernen
ist, muß man sich als Benutzer gründlich einarbeiten. Dies macht eine umfangreiche Schulung
sowohl in der Vorgehensweise und Methode, als auch in der Werkzeuganwendung notwendig.
Die Methode setzt objektorientiertes Denken voraus; eine Denkweise die durch die bisherigen
Werkzeuge nicht oder nur ansatzweise unterstützt wird und daher vielen SPS-Programmierern
fremd ist. Da das objektorientierte Denken jedoch der Natur des Gehirns entspricht, Dinge
einzuordnen, sollte die Einarbeitung für den einzelnen Mitarbeiter, unabhängig von der
Abteilungszugehörigkeit, mit vertretbarem Aufwand möglich sein.
42
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Benutzung des Werkzeugs: Das MoWiMa CASE-Tool ist so aufgebaut, daß dem Benutzer die
Methode stets transparent zur Verfügung gestellt wird, von der Baukastendefinition,
Zustandsgraphenerstellung, Projekterstellung bis hin zur Codeerzeugung und Inbetriebnahme.
Da hier besonderer Wert auf Einheitlichkeit der Editoren und übersichtliche Darstellung sowie
einfache, intuitive Bedienung gelegt wurde, sollte auch hier die Einarbeitungszeit für den
einzelnen Mitarbeiter überschaubar gehalten werden können.
Bei der Einführung des Case-Tools müssen jedoch unternehmensweit einige organisatorische
Anpassungen vorgenommen werden. Bevor die eigentliche (produktive) Projekterstellung mit
dem Case-Tool beginnen kann, muß konzeptionelle Vorarbeit geleistet werden. Im folgenden
werden einige Gesichtspunkte aus Anwendersicht dargestellt:
• Analyse und Bibliotheksaufbau: Zunächst werden die ‘Standard-Anlagen’ logisch in
Funktionsgruppen und Funktionseinheiten zerlegt. Dabei gilt es, abstrakt zu denken und
besonderen Wert auf die Definition der Schnittstellen zu legen, um durch Nutzung der
objektorientierten Prinzipien Vererbung und Polymorphismus eine flexible Bildung und
Verwendung von Varianten zu ermöglichen. Die definierten Anlagenstrukturen können als
Klassendiagramme in die Bibliothek eingetragen werden. Weiterhin müssen
Zustangsgraphen für Funktionseinheiten und Funktionsgruppen erstellt werden.
• Zur Vermeidung von Doppel-Entwicklungen sollte die Bibliothek zentral verwaltet werden.
Hierbei bietet sich an, die Aufgabe der Bibliotheksverwaltung zunächst an eine einzelne
Person zu delegieren.
• Sobald die wichtigsten Standardkomponenten in der Bibliothek vorhanden sind, sollte ein
anstehendes Projekt mit dem Werkzeug erstellt werden.
• Umstieg auf andere Hardwareplattform: Das Case-Tool erzeugt Code nach IEC 1131-3.
Einige SPS-Hardwareplattformen sind nicht in der Lage, diesen Code zu verarbeiten. Sollte
dies in Ihrem Unternehmen der Fall sein, so bieten sich zwei Lösungsmöglichkeiten an:
1. Umstieg auf eine IEC 1131-3 - fähige Hardware. Welche Konsequenzen dies
haben wird, muß von Fall zu Fall geprüft werden.
2. Einsatz eines Compilers für die entsprechende Hardware. Hierzu sind auf dem
Markt Werkzeuge erhältlich, die den generierten Code direkt in Maschinencode der
entsprechenden Hardware umsetzen. Es ist dann sogar möglich, eine OnlineZustandsverfolgung im Case-Tool durchzuführen, falls das Werkzueg über eine
geeignete DDE- oder OLE Automationsschnittstelle verfügt.
43
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Eine pauschale Prognose des durch die Werkzeugeinführung für ein Unternehmen entstehenden
Aufwands kann direkt nach Abschluß des MoWiMa-Projekts noch nicht gemacht werden. Im
Einzelfall müssen die anfänglich höheren Kosten mit den zu erwartenden Einsparungen im
Normalbetrieb verglichen werden.
5 Zusammenfassung und Ausblick
Im Rahmen des vom BMBF geförderten Verbundvorhabens MoWiMa (Modellierung und
Wiederverwendung objektorientierter Maschinensoftware) wurde eine Engineering-Methode
für die Modellierung und Programmierung maschinennaher Steuerungsfunktionen erarbeitet und
prototypisch in einem CASE-Tool realisiert. Sie unterstützt den Aufbau und die Nutzung
objektorientierter Software-Baukastensysteme . Für deren Beschreibung kann neben einer
Baukastenbibliothek mit wiederverwendbaren Klassen auch Entwurfsinformation über das
Zusammenwirken von Instanzen dieser Klassen für konkrete Maschinenkonfigurationen
hinterlegt werden. Es wurde hierfür eine Notation festgelegt, welche auf der objektorientierten
Modellierungssprache UML basiert und an die speziellen Bedürfnisse im Maschinen- und
Anlagenbau sowie der Steuerungsprogrammierung nach IEC 1131-3 angepaßt ist.
Wichtig hierbei ist die Integration der Softwareerstellung in den gesamten
Engineeringprozeß, der vom Vertrieb bis zur Inbetriebnahme und Dokumentation reicht. Für
einen durchgängigen und konsistenten Informationsfluß wurde ein Informationsmodell
erarbeitet, so daß eine interdisziplinäre Wiederverwendung standardisierter Lösungen
ermöglicht und somit die Basis für eine effiziente und kosten- sowie qualitätsgerechte Erstellung
von Steuerungssoftware im Maschinen- und Anlagenbau geschaffen werden kann. Das
prototypisch realisierte CASE-Tool wurde in der abschließenden industriellen Pilotphase bei
den beteiligten Maschinenherstellern erprobt, verifiziert und auf zahlreichen Messen und
Tagungen einem breiten Fachpublikum vorgeführt. Da die in MoWiMa erarbeiteten Methoden
und das Informationsmodell branchen- und unternehmensunabhängig spezifiziert wurden, ist im
Anschluß an das Projekt durch die Übertragung der gewonnenen Erkenntnisse auf weitere
Unternehmen eine Vervielfältigung des Nutzeffekts erzielbar.
Weiterführende Arbeiten beschäftigen sich mit der Nutzung des Informationsmodells für
die Betriebsphase (Bild 28). Neben der Steuerung(ssoftware) und elektronischen Dokumentation sollen Diagnose-, Service- und Produktionsinformationen in das Informationsmodell
44
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
integriert und somit die Basis für einen Informationskreislauf zwischen Maschinenhersteller und
-betreiber geschaffen werden.
Während des Betriebs gewonnenes Erfahrungswissen (z.B. über Störungsbehebungen) sowie
Informationen über den Produktionsprozeß (z.B. statistische Auswertungen) können dadurch
mit dem bei der Entwicklung und Konstruktion entstandenen Know-how
maschinenübergreifend zusammengeführt und unter Nutzung moderner Kommunikationstechniken wiederum dem Baukastensystem beim Maschinen- bzw. Anlagenhersteller zur
Verfügung gestellt werden.
Bild 28:
Anlageninformationsmodell
als
Maschinenhersteller und -betreiber
Basis
für
Informationssysteme
für
45
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
6 Literaturverzeichnis
[Aeg93]
N.N
MSL - Modicon State Language, User Manual.
AEG Modicon, North Andover, Massachusetts,1993
[Bir95]
Birrer, A. u.a.
Wiederverwendung durch Framework-Technik - Vom
Mythos zur Realität.
OBJEKT-Spektrum (1995) 5, S. .
[Booc97] Booch, G., u.a.:
Unified Modeling Language (UML) Notation Guide, Version
1.0.Rational Software Corporation, Santa Clara, 1997.
http://www.rational.com.
[Flec87]
Fleckenstein, J.:
Zustandsgraphen für SPS - grafikunterstützte Programmierung und steuerungsunabhängige Darstellung. ISW 63
Berlin, Heidelberg, New York, Tokyo: Springer Verlag,
1987.
[IEC91]
DIN-IEC 1131-3
Speicherprogrammierbare Steuerungen, Teil 3:
Programmiersprachen.
Berlin, Köln: Beuth- Verlag, 1991.
[IEC96]
IEC TC65/WG6
Function Blocks for Industrial-Process Measurement and
Control.
Working Draft for IEC 1499, 1996
[Oma94] N.N
Requirements of Open, Modular Architecture Controllers for
Applications in the Automotive Industrie.
Chrysler, Ford, General Motors, Version 1.1, Dec. 1994.
[Opc96]
N.N
Spezifikation des Kommunikationsstandards OPC (OLE for
Process Control.
http://www.industry.net/OPC.
46
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
[Rath95]
Rath, G.:
HIGRAPH - Grafischer Entwurf, Programmierung und Test
von SPS-Software.
In: Tagungsband "Software Engineering und CASE-Tools für
Steuerungen bei Fertigungseinrichtungen", Institut für
Steuerungstechnik, Universität Stuttgart, 1995.
[Reic95]
Reichenbächer, J.,
Lutz, R.:
Abteilungsübergreifendes Engineering von Steuerungsaufgaben.
In: Tagungsband "Software Engineering und CASE-Tools für
Steuerungen bei Fertigungseinrichtungen", Institut für
Steuerungstechnik, Universität Stuttgart, 1995.
7 Anhang A: Projektpartner in MoWiMa
Die Projektpartner (Bild 29) des Forschungsvorhabens Modellierung und Wiederverwendung
objektorientierter Maschinensoftware "MoWiMa" sind die Maschinenhersteller Behringer
GmbH Kirchardt, Reis GmbH & Co. Maschinenfabrik Obernburg, die Software-Häuser
Infoteam Software GmbH Bubenreuth und Industrielle Steuerungstechnik GmbH (ISG)
Stuttgart. Komplettiert wird der Verbund durch die Forschungs- und Ingenieurgesellschaft für
Steuerungstechnik GmbH (FISW) Stuttgart
Maschinenhersteller
Softwarehäuser
Forschungseinrichtung
Industrielle Steuerungstechnik GmbH
GmbH Stuttgart
Bild 29:
MoWiMa - Projektpartner
Behringer GmbH
47
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Die Firma Behringer GmbH ist führender Hersteller hochautomatisierter Bandsägeanlagen.
Bedingt durch die Integration in den Fertigungsverbund beim Kunden, einer durch vielfältige
Maschinenvarianten gekennzeichneten SPS- und NC-Steuerungsfunktionalität sowie
steigenden Bedienkomfort wird das Vereinheitlichen und Wiederverwenden der
Steuerungssoftware immer wichtiger.
FISW GmbH
Die Forschungs- und Ingenieurgesellschaft für Steuerungstechnik GmbH arbeitet eng mit dem
Institut für Steuerungstechnik der Werkzeugmaschinen und Fertigungseinrichtungen der
Universität Stuttgart zusammen. Aufgrund der in den letzten Jahren gemeinsam bearbeiteten
Projekte besitzt die FISW GmbH breit gefächerte Erfahrungen auf dem Gebiet der
Steuerungstechnik und der Softwareerstellung für Maschinensteuerungen.
Infoteam Software GmbH
Schwerpunkt der etwa 25 Mitarbeiter umfassenden Infoteam Software GmbH ist neben den
Bereichen Kommunikation und Betriebssysteme für technisch/wissenschaftliche Projekte die
Entwicklung
grafischer
Benutzungsoberflächen
von
Programmiersystemen
für
Speicherprogrammierbare Steuerungen (SPS) nach IEC 1131-3. Kunden dieses
Programmiersystem-Baukastens sind namhafte Steuerungshersteller. Das Unternehmen ist
Mitglied der Initiative "PLCopen", die neben der Vereinheitlichung der SPSSteuerungsprogramme deren Übertragbarkeit zwischen unterschiedlichen Geräteherstellern
betreibt.
ISG
Die Firma ISG entwickelt und lizensiert mit über 20 Mitarbeitern Softwarebausteine zum
Aufbau numerischer Steuerungen (NC). Der erfolgreiche Einsatz des Softwarebaukastens
beruht auf der intensiven Zusammenarbeit mehrerer international tätiger Maschinen- und
Steuerungshersteller. Basis des NC-Kerns ist die vollständig in 'C' geschriebene Software, die
nach einem einheitlichen, "offenen" Softwaremodell erstellt wird.
Reis GmbH & Co.
Die Erstellung hochwertiger Software als Teil eines Robotersystems spielt bei Reis GmbH &
Co. Maschinenfabrik als Hersteller von Industrierobotern seit jeher eine große Rolle. Der
Anteil der Software am Gesamtprodukt steigt stetig, eine Unterstützung der Softwareerstellung
erreicht deshalb in Zukunft zunehmende Bedeutung.
48
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
8 Anhang B: Glossar
Begriff
Synonym bzw. Erklärung
Benutzer
Benutzer des MoWiMa-Werkzeugs, i.d.R.
Maschinenhersteller.
Systemklassendiagramm
Branchenneutrale Beschreibung von Maschinen und Anlagen.
Bereits im System hinterlegt. Beschreibung der durch die
MoWiMa-Methode definierten Zusammenhänge.
Benutzerorientiertes
Klassendiagramm
(Auftragsneutrale) Maschinen(typ)beschreibung. Grafische
Darstellung, welche Typen wie oft in einer
Maschinenkonfiguration vorhanden sein müssen bzw.
dürfen und welche Beziehungen (Relationen) zwischen ihnen
bestehen. Beziehungstypen: besteht_aus, benutzt,
Restriktionen und Vererbung.
Objektdiagramm
(Auftragsspezifische,) grafische Maschinenkonfiguration. Es
werden (konkrete) Funktionsobjekte instanziiert und deren
Relationen untereinander grafisch beschrieben.
Objektdiagrammvorlage
Vorlage für die Erstellung einer Maschinenkonfiguration.
Wird aus dem benutzerorientierten Klassendiagramm
generiert und enthält Platzhalter, die durch Instanzen
konkreter Funktionsobjekte ersetzt werden.
Typ, Klasse
Formale und vollständige Beschreibung eines Objekts
innerhalb der Bibliothek.
Abstammen
Stammt ein Typ von einem anderen Typ ab, so stellt er eine
Unterklasse gemäß der Vererbungshierarchie dar.
Abstrakt
Nicht instanziierbar. Auf Klassen bzw. Typen bezogen.
Konkret
Instanziierbar. Auf Klassen bzw. Typen bezogen.
Systemklasse
Abstrakte Klasse oder Typ, durch das System bzw. durch
die Modellierungsmethode vorgegeben. Verwendung
ausschließlich im Systemklassendiagramm.
Systemtyp
Abstrakte Klasse
Abstrakter, benutzerorientierter
Vom Benutzer definierter, abstrakter Typ, der vorwiegend
zur Klassifizierung (Strukturierung der Bibliothek) dient, z. B.
49
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Begriff
Synonym bzw. Erklärung
Typ
„Rollenbahn“. Kann jedoch auch selber Eigenschaften
definieren, die von den Unterklassen (die konkret oder
wiederum abstrakt sein können) geerbt werden.
abstrakter Benutzertyp
Konkrete Klasse
konkreter, benutzerorientierter
Typ
konkreter Benutzertyp
Vom Benutzer definierter konkreter Typ, der in einer
Maschinenkonfiguration instanziiert werden kann. Kann
von einem abstrakten Benutzertyp oder direkt von einem
Systemtyp abstammen. Beispiel: der konkrete Benutzeryp
„RB68-1/4“ stammt vom abstrakten Benutzertyp „Rollenbahn“ ab.
Objekt
Instanz eines Typs, bzw. einer Klasse. Objekte werden
unterteilt in Funktionsobjekte, Elektrische Betriebsmittel
etc.
Typeigenschaften,
Objekteigenschaften
Parameter sowie funktionales Verhalten eines Typs, bzw.
eines Objekts. Das funktionale Verhalten von
Funktionsobjekten wird z.B. durch einen Zustandsgraph
beschrieben und in einem Funktionsbaustein hinterlegt. Das
funktionale Verhalten von Elektrischen Betriebsmitteln wird
z.B. durch deren logische Anschlußpunkte beschrieben
Instanziieren
Kopieren und Entnehmen eines Funktionsobjekts aus der
Bibliothek und Einfügen in eine Maschinenkonfiguration. Es
wird ein (innerhalb der Maschinenkonfiguration) eindeutiger
Name (BMK) zugeordnet. Instanzspezifische Parameter
können definiert werden.
Funktionsobjekt
Objekt, welches je nach Aggregationsebene weiter als
Funktionsgruppe oder Funktionseinheit klassifiziert
werden kann. Das funktionale Verhalten von
Funktionsobjekten wird durch einen Zustandsgraph
beschrieben und in einem Funktionsbaustein nach IEC
1131-3 hinterlegt.
Funktionsgruppe „FG“
Aggregiertes (zusammengesetztes) Funktionsobjekt aus
Funktionseinheiten oder wiederum Funktionsgruppen.
Dient funktional der Koordinierung unterlagerter
Funktionseinheiten und Funktionsgruppen. Hat oftmals
50
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Begriff
Synonym bzw. Erklärung
keine direkte physische Zuordnung (nur über die
Aggregation) jedoch eine funktionale Zuordnung (z.B. als
Ablaufgraph modelliert) in Form eines Funktionsbausteins.
Funktionseinheit „FE“
Funktionsobjekt der untersten Aggregationsebene, das
funktional nicht mehr weiter unterteilt wird. Spiegelt oftmals
die mechanischen Baueinheiten und ihre Funktionen wieder.
Baulich zugeordnet sind Sensoren und Aktoren. Funktional
zugeordnet ist ein Funktionsbaustein, der die Software und
deren Schnittstellen enthält sowie die zu den Sensoren und
Aktoren gehörigen Steuerungsein- und -ausgänge.
Elektrische Betriebsmittel
Objekt, welches einer Funktionsgruppe oder
Funktionseinheit zugeordnet ist. Das funktionale Verhalten
von Elektrischen Betriebsmitteln wird vor allem durch
deren logische Anschlußpunkte an die Steuerung
(Eingänge/Ausgänge) beschrieben.
SensorAktorElement
Elektrisches Betriebsmittel, das Signale an die Steuerung
liefert oder von der Steuerung bekommt.
BenutzerEinAusgabeElement
Elektrisches Betriebsmittel, das Signale an den
Maschinenbediener liefert (z.B. Anzeigelampe) oder vom
Maschinenbediener entgegennimmt (z.B. Taster).
Obligatorisches Objekt
Objekt, das in einer Maschinenkonfiguration enthalten sein
muß. Beschrieben durch die Kardinalität 1:1(1).
Optionales Objekt
Objekt, das in einer Maschinenkonfiguration enthalten sein
kann, aber nicht muß. Beschrieben durch die Kardinalität
1:0(1).
Eingänge/Ausgänge
Ein- und Ausgangssignale an der Steuerung. Logisch mit
Sensoren und Aktoren verbunden.
Vererbung
Aus einem vorhandenen (abstrakten) Typ werden weitere
Untertypen gebildet. Diese erben alle Eigenschaften und fügen
neue hinzu. Siehe auch Variante.
Variante
Durch Vererbung erzeugte und erweiterte Klasse bzw. Typ.
51
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Begriff
Synonym bzw. Erklärung
Relation
Beziehung zwischen Funktionsobjekten. Relationstypen sind:
besteht_aus, benutzt, Restriktionen und Vererbung.
Kardinalität
Ist einer Beziehung zwischen zwei Klassen zugeordnet.
Bislang nur für besteht_aus-Beziehungen sinnvoll. Gibt an,
wie oft die Klasse der niedrigeren Aggregationsebene in einer
Maschinenkonfiguration vorhanden sein muß bzw. darf.
Aggregation
Inverse Sicht der baumförmigen besteht_aus-Struktur
zwischen den Objekten einer Maschine. Z.B.: Eine
Funktionsgruppe ist definiert durch die Aggregation zweier
Funktionseinheiten.
Komposition
Dekomposition
Zerlegungsstruktur einer Maschine. Baumförmige Struktur
gemäß den besteht_aus-Beziehungen zwischen den
enthaltenen Objekten. Gegenteil von Aggregation, z.B.
Dekomposition einer Funktionsgruppe in zwei
Funktionseinheiten.
besteht_aus-Beziehung
Beziehung zwischen Funktionsgruppen und
Funktionseinheiten bzw. -gruppen. Durch diesen
Beziehungstyp wird der baumförmige Aufbau der Maschine
aus baulich-funktionaler Sicht wiedergegeben. Eine
Sägeanlage beispielsweise besteht_aus einer Sägeeinheit,
einer Zuführeinheit, einer Positioniereinheit und einer
Abführeinheit.
Aggregation
benutzt-Beziehung
kommuniziert_mit-Beziehung
Rein funktionale Beziehung zwischen Funktionsobjekten, die
nicht durch eine besteht_aus-Beziehung verbunden sind.
Restriktionen
Spezifikation spezieller Konfigurierungsvorschriften innerhalb
des benutzerorientierten Klassendiagramms z. B. wenn →
dann: wenn Magazin, dann angetriebene Rollenbahn; wenn
→ dann nicht; alternativ: entweder-oder.
Zustandsdiagramm
Zustandsgraph
Grafische Beschreibung des funktionalen Verhaltens einer
Funktionseinheit oder Funktionsgruppe.
Funktionsbaustein
Instanziierbarer und damit wiederverwendbarer
52
Modellierung und Wiederverwendung objektorientierter Maschinensoftware
Begriff
Synonym bzw. Erklärung
Softwarebaustein nach IEC 1131-3.
Übergangsbedingung
Logische Gleichung, die z.B. in AWL nach IEC 1131-3
formuliert und einer Transition zugeordnet ist.
Auftragselement
Grafische Darstellung eines Ereignisses (Input- bzw. OutputEvent) innerhalb der Zustandsgraphenmethode.
Quittungselement
Pre-Step
Zustandsanweisung für die Aktionsausführung beim Einsprung
in den Zustand.
Step
Zustandsanweisung für die zyklische Bearbeitung innerhalb
eines aktiven Zustands.
Post-Step
Zustandsanweisung für die Aktionsausführung beim Verlassen
des Zustands.
Kontrollflußschnittstelle
Schnittstelle eines Funktionsbausteins (Input- und OutputEvents).
Datenflußschnittstelle
Schnittstelle eines Funktionsbausteins (Input- und OutputVariablen).
53