Skip to main content

Beispiel: Objektorientierte Programmierung

Produkt: CODESYS Development System

Dieses Beispiel zeigt, wie die objektorientierte Programmierung eingesetzt werden kann. Es zeigt die Implementierung eines Gebäudes mit verschiedenen Räumen. Zur besseren Veranschaulichung wird eine Visualisierung verwendet.

_example_img_oop.png

Beschreibung

Dieses Beispiel zeigt ein Gebäude mit drei verschiedenen Arten von Räumen. Der erste Typ hat nur ein Licht. Der zweite hat ein zusätzliches Licht, der dritte hat zwei Lichter und zeigt zusätzlich die Temperatur an. Tagsüber sind alle Lichter eingeschaltet und die Temperatur ist auf 25 °C eingestellt. In der Nacht sind alle Lichter ausgeschaltet und die Temperatur ist auf 15 °C eingestellt. Um die Umwandlung von einer Schnittstelle in einen Funktionsbaustein zu zeigen, ist die Temperatur von Raum sechs immer auf 35 °C eingestellt.

Weitere Informationen

  • ILight: Schnittstelle zum Setzen und Abrufen des Lichtwerts

  • IRoom: Schnittstelle für die Durchführung einiger Vorgänge, wenn die Tages- oder Nachtzeit eintritt

  • ITemp: Schnittstelle zum Einstellen und Abrufen der Temperatur

  • RoomType1: Dieser Funktionsbaustein implementiert die Schnittstellen ILight und IRoom. Daher müssen alle Methoden der Schnittstellen implementiert werden. Die Funktion Operation_Daytime schaltet das Licht ein und Operation_Nighttime schaltet das Licht aus.

  • RoomType2: Dieser Funktionsbaustein erweitert RoomType1 und erbt alle Methoden. Die Methode SetLight wird außer Kraft gesetzt und für das zusätzliche Licht erweitert.

  • RoomType3: Dieser Funktionsbaustein erweitert RoomType2 und implementiert zusätzlich die Schnittstelle ITemp. Die Methoden Operation_Daytime und Operation_Nighttime werden außer Kraft gesetzt und um die Temperatur erweitert.

  • CheckFB: Prüft die Tageszeit. Jeder Zeitabschnitt dauert fünf Sekunden.

  • BuildingManager: Je nach Tageszeit werden die entsprechenden Operationen durchgeführt. Zusätzlich wird mit der Funktion __QUERYINTERFACE eine Konvertierung von der Schnittstelle ITemp zum Funktionsbaustein von RoomType3 durchgeführt.

  • Visualization: Zeigt acht Räume von drei verschiedenen Typen. Die Glühbirnen sind tagsüber angeschaltet und in der Nacht ausgeschaltet. In zwei Räumen wird auch die Temperatur angezeigt. Dieser Wert bestimmt die Größe und Farbe des Balkens.

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