Skip to main content

Passaggio 2: creazione del sottomodulo "Switch"

Il passo successivo è dichiarare un modulo per il cambio della stanza. Anche in questo caso è necessario creare una dichiarazione del modulo e un blocco funzione. Qui vengono chiamati entrambi Switch, dove la dichiarazione deve essere implementata dal blocco funzione. La dichiarazione del modulo di Switch non ha bisogno di una sezione di primo livello, perché verrà aggiunta sotto il modulo Light (descritto più avanti) in nessuna posizione di primo livello. Poiché è obbligatorio per tutti i moduli che implementano blocchi funzione, il blocco funzione Switch deve estendersi AC.Module, pure. Nel caso in questione, il blocco funzione implementa anche un'interfaccia ISwitch, che deve essere creato. Questa stessa interfaccia deve implementare l'interfaccia IModule, fornito dalla biblioteca AC_ModuleBase . Tuttavia, l'interfaccia ISwitch rimane "vuoto": nessuna proprietà o funzione viene dichiarata.

Inoltre l'interruttore necessita di un segnale di ingresso (probabilmente da una fonte esterna/interruttore fisico) per indicare quando viene toccato. Questo segnale è dichiarato nel IO sezione utilizzando la variabile xIn del blocco funzione che implementa questo modulo. Inoltre è necessario un tempo di riferimento per distinguere le due funzioni dell'interruttore: Pressione dell'interruttore per la durata del tempo tTimer avvia la funzione di regolazione della luminosità: una pressione più breve accende o spegne solo la luce. Questa variabile tTimer (essendo anch'esso parte del blocco funzione di implementazione del modulo) sarà dichiarato come parametro del modulo (sezione Parameters), che eventualmente potrà essere facilmente modificato durante l'utilizzo del modulo.

Figura 51. Dichiarazione del sottomodulo Switch
Dichiarazione del sottomodulo Switch


Le variabili referenziate xIn E tTimer sono entrambi definiti come ingressi del blocco funzione Switch, dove il parametro tTimer ottiene un valore predefinito iniziale di 500 ms. Quindi, quando l'utente preme il file Switch per più di 500 ms, la luce verrà attenuata.

Figura 52. Dichiarazione nel Switch blocco funzione
Dichiarazione nel Switch blocco funzione


Anche gli elenchi di testi e il pool di immagini devono essere estesi per includere i testi descrittivi necessari dell'input e del parametro.

Figura 53. Voci nell'elenco testi e nel pool di immagini
Voci nell'elenco testi e nel pool di immagini


Passaggio 3: creazione del sottomodulo "Cambia semplice"