Roboter-Lizenz kaufen statt selber programmieren

Objektorientierung heisst das Zauberwort, das es erlaubt, dass sie ihren Roboter mit einer günstigen RoboBox Lizenz zum Laufen bringen. 
Perfection in Automation
Roboter steuern mit Hardware von BR-Automation

Gemeinsam erreichen wir mehr. Wir sind eine kleine innovative Firme welche im Bereich Industrie 4.0 und Robotics tätig ist.

  • In angenehmen Räumen und einer ruhigen Umgebung möchten wir Spezialisten die Möglichkeit geben gemeinsam Ihr Wissen in für alle zugänglich Klassen (Beschreibung siehe unten) zu verewigen.
Objektorientiert Programmieren: Wichtige Vorteile

Objektorientiertorientierung in Perfektion
Objektorientierung in Perfektion
  • Wegfall des Integrationsaufwandes bei der Implementierung
  • Einfache Klassenbeschaffung via Internet
  • Komplexe Funktionen sind gekapselt (benötigen kein Spezialwissen)
  • Zentrale Dokumentation (Cloud)
  • Standardisierung bringen Zeit- und Kostenvorteile
Was ist eine Klasse und ein Objekt

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, Die Klasse der Kinder ist 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. Die konkreten Klasse Mensch, Pferd und Hund können hingegen im Speicher zum Leben erweckt werden.

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 Motor_1011 mit der Bezeichnung Förderantrieb wird aus der Klasse Motor erzeugt.

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. Ohne grosse Programmierkentnisse kann der Programmierer von dem Förderband Motor_1011 oder Motor_1012 die Anzahl der Ein/Ausschaltbefehle abfragen.

Bei einem objektorientierten Aufbau werden die Steuerungsobjektevon 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. Eine Klasse von einem Fünfachsenroboter beinhaltet die Klasse Motor fünf mal und kann einfach mit einem RoboBase (Fahrbefehle in X, Y und Z ab einem definierten Nullpunkt) verfahren werden. Der Fünfachsenroboter kann nun mehrfach instantiiert werden.

In der Industrie werden auch Objekte verwendet, die in der realen Welt nicht vorkommen.

Beispiele:

  • Dosierungen, HTML-Dokumente, Datenbankanbindungen, Verknüpfungen, Tabellen, etc.

Alle Bausteine mit ihren 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. Bei der Programmierung bedient man sich einfach einer Klassenbibliothek. Die benötigten Automationsbausteine werde ausgewählt und beschriftet.

Beispiel:

Der Motorenbaustein wird ausgewählt und der Name “Motor_12034 – 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 genau gleichen Funktionalität. Die Objektzustände sind jedoch unterschiedlich. Der Motor Motor_12034 ist nicht mit den gleichen I/O-Modulen verknüpft wie Motor_13011. Zudem sind die Trenddaten der beiden Motoren ebenfalls unterschiedlich. Motor_12034 wurde weniger oft ein/aus geschaltet als Motor_13011.

Objekte helfen somit den Anwendern, das Wissen von Spezialisten in einer einfachen Weise einzukaufen und in seinen Projekten gezielt einzusetzen.