Paso 2: Crear Submódulo "Switch"
El siguiente paso es declarar un módulo para el interruptor de la habitación. Nuevamente, se debe crear una declaración de módulo y un bloque de funciones. Aquí, ambos se llaman Switch
, donde la declaración debe ser implementada por el bloque de funciones. La declaración del módulo de Switch
no necesita una sección de nivel superior, porque se agregará debajo del módulo Light
(descrito más adelante) en ninguna posición de alto nivel. Como es obligatorio para todos los módulos que implementan bloques de funciones, el bloque de funciones Switch
tiene que extender AC.Module
, también. Para el caso que nos ocupa, el bloque de funciones también implementa una interfaz ISwitch
, que tiene que ser creado. Esta interfaz en sí debe implementar la interfaz IModule
, que es proporcionado por la biblioteca AC_ModuleBase
. Sin embargo, la interfaz ISwitch
permanece "vacío": no se declaran propiedades ni funciones.
Además, el interruptor necesita una señal de entrada (probablemente de una fuente externa/interruptor físico) para indicar cuándo se toca. Esta señal se declara en el IO sección utilizando la variable xIn
del bloque de funciones que implementa este módulo. Además, se necesita un tiempo de referencia para distinguir las dos funciones del interruptor: Presionar el interruptor durante el tiempo tTimer
inicia la función de atenuación - una pulsación más corta solo enciende o apaga la luz. esta variable tTimer
(que también forma parte del módulo que implementa el bloque de funciones) se declarará como un parámetro del módulo (sección Parameters
), que eventualmente se puede editar fácilmente cuando se usa el módulo.
Switch

Las variables referenciadas xIn
y tTimer
ambos se definen como entradas del bloque de funciones Switch
, donde el parámetro tTimer
obtiene un valor predeterminado inicial de 500 ms. Entonces, cuando el usuario presiona el botón Switch
más de 500 ms, la luz se atenuará.
Switch
bloque de funciones
Además, las listas de texto y el conjunto de imágenes deben ampliarse para incluir los textos de descripción necesarios de la entrada y el parámetro.
