Übung 6.5

Steuerung der Raumbeleuchtung in Gebäuden

In Gebäuden soll die Steuerung der Raumbeleuchtung objektorientiert programmiert werden.

Lösung:
Die Lösung ist auch dokumentiert im Artikel von Werner: "Object-Oriented Extensions for IEC 61131", IEEE Industrial Electronics Magazine, 2009.

Insgesamt werden die nebenstehenden Module angelegt (s. auch Projekt U6_5_Gebaeude.project1,2) und Video):
 
a) Der folgende Funktionsbausten LightRoom schaltet die Lampe in einem Raum ein oder aus:

FUNCTION_BLOCK LightRoom IMPLEMENTS Room
VAR_OUTPUT
  LIGHT:BOOL;
END_VAR

METHOD ON
  LIGHT:=TRUE;

METHOD OFF
  LIGHT:=FALSE;

Insgesamt werden die nebenstehenden Module angelegt (s. auch Projekt U7_5_Gebaeude.project):
 
a) Der folgende Funktionsbausten LightRoom schaltet die Lampe in einem Raum ein oder aus:

FUNCTION_BLOCK LightRoom IMPLEMENTS Room
VAR_OUTPUT
  LIGHT:BOOL;
END_VAR

METHOD ON
  LIGHT:=TRUE;

METHOD OFF
  LIGHT:=FALSE;

b. Der folgende Funktionsbausten LightRoom2 schaltet zwei Lampen in einem Raum ein oder aus.
Durch das Schlüsselwort EXTENDS wird die Vererbung aus dem Funktionsbaustein Lightroom angegeben,
durch den Befehl SUPER^ werdend ie Methdoen ON und OFF aus Lightroom übernommen.

FUNCTION_BLOCK LightRoom2 EXTENDS LightRoom
VAR_OUTPUT
  LIGHT2:BOOL;
END_VAR

METHOD ON
  SUPER^.ON();
  LIGHT2:=TRUE;

METHOD OFF
  SUPER^.OFF();
  LIGHT2:=FALSE;

c. Die Schnittstelle Room umfasst wie abgebildet die Methoden ON und OFF.

d) Der Funktionsbaustein RoomControl schaltet die Lampen eines Raums ab 20:15 Uhr automatisch ein und ab 06:15 Uhr
automatisch aus:

FUNCTION_BLOCK RoomControl
VAR_INPUT
    RM: Room;
    Daytime: TOD;
END_VAR
IF Daytime>=TOD#20:15 OR Daytime<TOD#6:15 THEN
    RM.ON();
ELSE
    RM.OFF();   
END_IF

e) Für jeden Raum muss zunächst ein Funktionsbaustein (Lightroom oder Lightroom2) instanziiert werden. Die Lichtsteuerung
kann dann polymoprh erfolgen. Durch die Schnittstelle Room kann entweder wie im Fall von Raum1 eine Lampe  entsprechend
der Tageszeit angesteuert werden oder mit demselben Baustein auch ein Raum mit 2 Lampen (Raum2).

1) in einigen Browsern muss die .project-Datei mit der rechten Maustaste angeklickt und zunächst durch "Link speichern unter" oder "Link herunterladen" gespeichert werden, bevor man diese dann mit Codesys öffnen kann. 

2) Die Projekte wurden mit Codesys V3.5.16.4 erstellt. Falls Sie eine neuere Version verwenden, setzen Sie bitte nach dem Öffnen der Projektdateien unter Projekt|Projektumgebung "Alles auf neuest". Außerdem klicken Sie bitte im Fenster Geräte auf Device und mit der rechten Maustaste auf "Gerät aktualisieren"!

Speicherprogrammierbare Steuerungen in der Industrie 4.0

5. Auflage erschienen im Hanser Verlag 2021