|
|

Das Baukastensystem hat in der Automation grosse Vorteile! |
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 Instanzen 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.
Reale Steuerungsobjekte
Bei einem objektorientierten Aufbau werden die Objekte von einer realen Steuerung möglichst wirklichkeitsgetreu auf die Objekte in einem Automatisierungssystem abgebildet.
Beispiele:
Motor, Pneumatikventil, Regelventil, Tank, Pumpe, Scanner, Drucker, etc.
Nicht reale Steuerungsobjekte
Für die Maschinensteuerung werden auch Objekte verwendet, die in der realen Welt nicht vorkommen.
Beispiele:
HTML-Dokumente, log. Verknüpfungen, Tabellen, Datenbankanbindungen, etc.
Automatisierungsklassen (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.
Applikationserstellung
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 "M1 - Sperrwasserpumpe" zugewiesen. Die Kalssenbibliothek dient als Behälter für die Bausteinvorlagen. Die Bausteinvorlagen (Klassen) dienen gewissermassen 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 M1 ist nicht mit den gleichen I/O-Modulen verknüpft wie M2. Zudem sind die Trenddaten der beiden Motoren ebenfalls unterschiedlich. M1 wird z.B. weniger oft ein/aus geschaltet als M2 (etc.).
|
|
|
|