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
![]() |
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 FunktionsbausteinsclsLight
, um die Glühbirne zu implementierenclsCheapRoom
: Erweitert den Basisraum und enthält eine Instanz des FunktionsbausteinsclsLight1min
, 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 vonclsDuoLight1min
, die doppelte Lebensdauer hat und auch die Servicefunktion enthältclsClimateBetterRoom
: Erweitert denclsBetterRoom
und fügt eine Klimaanlage hinzuFB_AirCondition
: Dieser Funktionsbaustein regelt die Temperatur für die Tages- und NachtzeitclsLight
: Basisfunktionsbaustein, der erkennt, ob das Licht ein- oder ausgeschaltet istclsLight1min
: Erweitert den FunktionsbausteinclsLight
und implementiert die SchnittstelleIService
. Mit dieser Funktion wird die Lebensdauer der Glühbirne überwacht.clsDuoLight1min
: Erweitert den FunktionsbausteinclsLight1min
um einen zweiten Timer zur Verdoppelung der LebensdauerFB_LifeTimer
: Zählt die Lebensdauer einer eingeschalteten Glühbirne herunterVisualization
: 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
DOWNLOAD Projekt