Skip to main content

Passaggio 4: creazione del sottomodulo "Light"

Come già fatto in precedenza per il Switch e il SwitchSimple, per il modulo Light, una dichiarazione di modulo Light, un blocco funzione Light e un'interfaccia ILight devono essere creati. Il modulo sarà implementato dal blocco funzione, che a sua volta implementerà l'interfaccia ILight.

Per poter aggiungere il Light modulo sotto il nostro Room module, la dichiarazione del modulo di Room deve essere esteso con a Slots sezione. In questa sezione una sottosezione Slot_Multi deve essere creato, che si chiama Lights e potrà contenere moduli del tipo Light . Il numero di luci che possono o devono essere aggiunte ad una stanza è definito dal parametro Cardinality (in questo caso tra 1 e 3 luci). Inoltre vengono dichiarate due variabili: Variable (pLights, che conterrà le istanze dei blocchi funzione dei moduli Luce aggiunti alla stanza) e Var_Count (uiNumberOfLights, che verrà riempito con il numero di moduli Luce aggiunti alla stanza).

Figura 54. Definizione di sezione Slots
Definizione di sezione Slots


Le variabili pLights E uiNumberOfLights devono essere aggiunti al blocco funzione del modulo "Luci", dove uiNumberOfLights è un UINT E pLights di tipo POINTER TO ILight Con questa definizione, solo i moduli i cui blocchi funzione implementano anche il file ILight l'interfaccia può essere aggiunta al file Lights fessura.

Figura 55. Dichiarazione nel Room blocco funzione
Dichiarazione nel Room blocco funzione


Lo stesso concetto di slot utilizzato per Roommoduli è ora utilizzato per Light modulo. Di conseguenza, la dichiarazione di Light include uno slot con a Switch, motivo per cui questo slot non è un multi-slot, ma uno slot semplice. Parametri aggiuntivi del Light modulo sono la velocità del dimmer rSpeed e la luminosità massima uiMaxValue. Infine è necessario definire un'uscita che rappresenti la luminosità della luce associata. Tutti i parametri, gli slot e le uscite devono essere aggiunti anche come variabili al blocco funzione di Light modulo.

Figura 56. Dichiarazione del modulo Light
Dichiarazione del modulo Light


Figura 57. Dichiarazione del blocco funzione Light
Dichiarazione del blocco funzione Light


Figura 58. Elenco testi e pool di immagini
Elenco testi e pool di immagini


Passaggio 5: creazione del sottomodulo "Light simple"