robobox
robobox
Roboter
bde
robotics
oll-in-one
alles-in-einem
zentral
einfach
helfen
menschen

app arbeitet objektorientiert
Objektorientierung in der Automation mit app

Wichtige Vorteile:

  • Wegfall des Integrationsaufwandes bei der Implementierung
  • Einfache Klassenbeschaffung via Internet
  • Komplexe Funktionen sind gekapselt (benötigen kein Spezialwissen)
  • Zentrale Dokumentation
  • Vermeidung von Fehlverwendung
  • Standardisierung bringen Zeit- und Kostenvorteile


  • Tietel

    Beschreibung

     

    Klassen Eine Klasse ist ein abstrakter Begriff für eine offene Menge von Objekten, mit ähnlichen Eigenschaften. In der realen Welt könnte man von der Klasse der Menschen sprechen. Mit Unter- bzw. Oberklassen (auch Sub- bzw. Superklassen genannt) sind somit Unter- bzw. Obermengen gemeint, z.B. ist die Klasse der Kinder eine Unterklasse der Oberklasse Menschen oder die Klasse der Lebewesen eine Oberklasse zur Unterklasse der Menschen.

    Gibt es von einer Klasse keine Instanzen (Objekte), die nicht tatsächlich Instanz einer Unterklasse sind, so spricht man von abstrakten Klassen. Aus der abstrakten Klasse Lebewesen, können z.B. nicht direkt Instanziert erzeugt werden.

    Die konkreten Klassen Menschen, Pferde, und Hunde, etc. (welche aus der abstrakten Klasse Lebewesen abgeleitet wurden) können hingegen Instanziert werden.

     

    Instanzen / Objekte Als Objekt bezeichnen wir die Instanz einer Klasse. So wäre Felix Muster ein Objekt der konkreten Klasse Mensch. So wie wir Menschen haben auch die Automatisierungsobjekte ihre Namen. Die Instanz M1011 mit der Bezeichnung Förderantrieb wird z.B. aus der Klasse Motor erzeugt.

     

    Eigenschaften
    und Methoden
    So wie jeder Mensch bestimmte Eigenschaften und Fähigkeiten hat, so besitzt auch jedes Objekt seine Funktionalitäten. Wir nennen diese hier Eigenschaften (Properties) und Methoden. Eigenschaften können abgefragt werden. - Wie gross ist Felix Muster? - Welche Drehrichtung hat der Förderantrieb? Die Eigenschaften können auch geändert werden (z.B. den Förderantrieb ausschalten). Methoden werden aufgerufen oder angewendet, ohne dass sie im Einzelnen wissen müssen, wie die Methoden funktionieren. Der Programmierer kann z.B. von dem Förderband M1011 die Anzahl Ein/Ausschaltbefehle abfragen.

     

    Steuerungsobjekte
    real
    Bei einem objektorientierten Aufbau werden die Objekte von einer realen Steuerung möglichst wirklichkeitsgetreu auf die Objekte in einem Automatisierungssystem abgebildet.

    Beispiele: Motor, Roboter, Regelventil, Tank, Pumpe, Scanner, Drucker,
    Pneumatikventil und so weiter. Die Klasse Roboter beinhaltet die Klasse Motor z.B. fünf mal, wenn der Roboter fünf Achsen hat.

     

    Steuerungsobjekte
    nicht real
    Für die Maschinensteuerung werden auch Objekte verwendet, die in der realen Welt nicht vorkommen.

    Beispiele: HTML-Dokumente,
    Datenbankanbindungen, log. Verknüpfungen, Tabellen,  etc.

     

    Klassen Bausteine Alle Daten und Funktionalitäten von einem Objekt werden in den Automatisierungsklassen konzentriert. Bei der Klassenerstellung wird darauf geachtet, dass die Schnittstellen nach aussen möglichst schlank und einfach aufgebaut sind.

     

    Applikation (app) Bei der Programmierung bedient man sich einer Klassenbibliothek. Die benötigten Automationsbausteine werde ausgewählt und beschriftet.

    Beispiel: Der Motorenbaustein wird ausgewählt und der Name "M12034 - Sperrwasserpumpe" zugewiesen. Die Kalssenbibliothek dient als Behälter für die Bausteinvorlagen. Die Bausteinvorlagen (Klassen) dienen als Stempel. Mit ihr können mehrere "lebendige" Objekte mit einer Speicherzuteilung erzeugt werden. Alle Instanzen, welche aus der selben Klasse generiert wurden, besitzen die gleichen Funktionalität. Die Objektzustände sind jedoch unterschiedlich. Der Motor M12034 ist nicht mit den gleichen I/O-Modulen verknüpft wie M13011. Zudem sind die Trenddaten der beiden Motoren ebenfalls unterschiedlich.
    M12034 wird z.B. weniger oft ein/aus geschaltet als M13011.