Skip to main content

Schritt 2: Erzeugen des Submoduls "Switch"

Im nächsten Schritt wird ein Modul für die Schalter des Raums erstellt. Dazu müssen wieder eine Moduldeklaration und ein Funktionsbaustein erstellt werden. Beide werden Switch genannt und die Deklaration muss von dem Funktionsbaustein implementiert sein. Die Moduldeklaration von Switch benötigt keine Toplevel-Sektion, da es unterhalb des Moduls Light (wird später erklärt) an keiner Toplevel-Position hinzugefügt wird. Wie alle Funktionsbausteine, welche Module implementieren, muss auch der Funktionsbaustein Switch den AC.Module erweitern. Im vorliegenden Beispiel implementiert der Funktionsbaustein auch das Interface ISwitch, welches noch erzeugt werden muss. Dieses Interface selbst muss das Interface IModule implementieren, welches von der Bibliothek AC_ModuleBase bereitgestellt wird, implementieren. Das Interface ISwitch bleibt jedoch „leer“ - es werden keine Eigenschaften oder Funktionen deklariert.

Weiterhin benötigt der Schalter ein Einganssignal (in der Regel von einem externen Signal / physikalischen Schalter) um zu erkennen, wenn er gedrückt ist. Dieses Signal wird in der Sektion IO deklariert, wobei die Variable xIn des Funktionsbausteins, welcher dieses Modul implementiert, verwendet wird. Desweiteren wird eine Referenzzeit benötigt, um die beiden Funktionen des Schalters zu unterscheiden: Das Drücken des Schalters für die Zeitdauer tTimer startet die Dimm-Funktion - bei einem kürzeren Drücken wird das Licht nur ein- bzw. ausgeschaltet. Die Variable tTimer (ebenfalls aus dem modulimplementierenden Funktionsbaustein) wird als Parameter des Moduls (Sektion Parameter) definiert, welches später einfach bei der Verwendung der Module editiert werden kann.

Abbildung 51. Deklaration des Submoduls Switch
Deklaration des Submoduls Switch


Die referenzierten Variablen xIn und tTimer sind beide als Eingänge des Funktionsbausteins Switch deklariert, wobei beim Parameter tTimer einen Initialisierungswert von 500 ms definiert wird. Wenn also der Eingang des Funktionsbausteins Switch länger als 500 ms gedrückt wird, wird die Lampe gedimmt.

Abbildung 52. Deklaration im Funktionsbaustein Switch‘
Deklaration im Funktionsbaustein Switch‘


Die Textliste und Bildersammlung muss ebenfalls erweitert werden um die benötigten Beschreibungen der Eingänge und Parameter festzulegen.

Abbildung 53. Einträge in der Textlisten und Bildersammlung
Einträge in der Textlisten und Bildersammlung


Schritt 3: Erzeugen des Submoduls „Switch simple“