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.
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.
Switch‘

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