Skip to main content

Beispiel: Erweiterte objektorientierte Programmierung

Produkt: CODESYS Development System

Dieses Beispiel zeigt, wie die Objektorientierung genutzt wird, um ein Gebäude zu realisieren, das verschiedene Räume mit unterschiedlichen Funktionalitäten hat. Die mitgelieferte Visualisierung veranschaulicht die Umsetzung

_example_img_oop_extended.png

Beschreibung

Dieses Beispiel demonstriert einen objektorientierten Programmieransatz. Dazu wurde ein Gebäude mit verschiedenen Räumen und Funktionalitäten implementiert. Tagsüber sind alle Glühbirnen ausgeschaltet und die Klimaanlage ist auf 21°C eingestellt. In der Nacht sind alle Glühbirnen eingeschaltet und die Temperatur ist auf 15°C eingestellt. Mit dem manuellen Modus kann das Licht separat ein- und ausgeschaltet werden. Der CellarRoom verfügt über ein Licht, aber es wird kein Service angeboten. Der CheapRoom hat ebenfalls ein Licht, aber zusätzlich wird ein Service angeboten, der die Glühbirne am Ende ihrer Lebensdauer auswechselt. Der BetterRoom hat ein Duo-Licht mit der doppelten Lebensdauer eines normalen Zimmers und das ClimateBetterRoom hat zusätzlich eine Klimaanlage, deren Filter nach einer bestimmten Anzahl von Temperaturwechseln ausgerauscht werden muss.

Weitere Informationen

  • Main: Erstellt alle vier Räume und ruft die erforderlichen Funktionen auf, je nach Modus (daytime, nighttime, manual)

  • clsRoom: Basisfunktionsbaustein für einen Raum. Die notwendigen Funktionen, die für jeden Raum benötigt werden, werden hier bereitgestellt. Alle vier Räume erben von diesem Funktionsbaustein.

  • clsCellarRoom: Erweitert den Basisraum und hat eine Instanz des Funktionsbausteins clsLight, um die Glühbirne zu implementieren

  • clsCheapRoom: Erweitert den Basisraum und enthält eine Instanz des Funktionsbausteins clsLight1min, der eine Glühbirne mit einer Lebensdauer von einer Minute implementiert. Er enthält auch die Servicefunktion.

  • clsBetterRoom: Erweitert den Basisraum und enthält eine Instanz von clsDuoLight1min, die doppelte Lebensdauer hat und auch die Servicefunktion enthält

  • clsClimateBetterRoom: Erweitert den clsBetterRoom und fügt eine Klimaanlage hinzu

  • FB_AirCondition: Dieser Funktionsbaustein regelt die Temperatur für die Tages- und Nachtzeit

  • clsLight: Basisfunktionsbaustein, der erkennt, ob das Licht ein- oder ausgeschaltet ist

  • clsLight1min: Erweitert den Funktionsbaustein clsLight und implementiert die Schnittstelle IService. Mit dieser Funktion wird die Lebensdauer der Glühbirne überwacht.

  • clsDuoLight1min: Erweitert den Funktionsbaustein clsLight1min um einen zweiten Timer zur Verdoppelung der Lebensdauer

  • FB_LifeTimer: Zählt die Lebensdauer einer eingeschalteten Glühbirne herunter

  • Visualization: Die Hauptvisualisierung umfasst verschiedene Räume. Jeder Raum besteht aus folgenden Elementen:

    • 1 Glühbirne

    • 1 Servicemeldung

    • 1 Serviceanzeige (zeigt an, ob ein Service erforderlich ist)

    • 1 Taster zum Ein-/Ausschalten des Lichts

    • 1 Taster zum Zurücksetzen des Service

    Der oberste Raum zeigt zusätzlich die Temperatur an. Mit dem Schieberegler OpMode kann der Modus auf "tagsüber mit Licht", "nachts ohne Licht" oder "manuell" eingestellt werden.

Systemvoraussetzungen und Einschränkungen

Programmiersystem

CODESYS Development System Version 3.5.14.0 oder höher

Laufzeitsystem

CODESYS Control Win Version 3.5.14.0

Zusatzkomponenten

-

Hinweis

_example_icon.png DOWNLOAD Projekt