Esempio: programmazione orientata agli oggetti (estesa)
Prodotto: CODESYS Development System
Questo esempio mostra come l'orientamento agli oggetti viene utilizzato per realizzare un edificio che ha diverse stanze con diverse funzionalità. La visualizzazione inclusa illustra l'implementazione.
![]() |
Descrizione
Questo esempio mostra un approccio di programmazione orientato agli oggetti. A tale scopo è stato realizzato un edificio con vari ambienti e funzionalità. Durante il giorno tutte le lampadine sono spente e l'aria condizionata è impostata a 21°C. Di notte tutte le lampadine sono accese e la temperatura è fissata a 15°C. Con la modalità manuale, la luce può essere accesa e spenta separatamente. IL CellarRoom
ha una luce, ma non è fornito alcun servizio. IL CheapRoom
dispone anche di una luce, ma è previsto anche un servizio di sostituzione della lampadina a fine vita. IL BetterRoom
ha una luce duo con il doppio della durata di una stanza normale, e il ClimateBetterRoom
ha inoltre un condizionatore d'aria il cui filtro deve essere cambiato dopo un determinato numero di variazioni di temperatura.
Informazioni aggiuntive
Main
: Crea tutte e quattro le stanze e richiama le funzioni richieste, a seconda della modalità (daytime
,nighttime
,manual
)clsRoom
: Blocco funzione base per una stanza. Le funzioni necessarie che sono richieste per ogni stanza sono fornite qui. Tutte e quattro le stanze ereditano da questo blocco funzione.clsCellarRoom
: estende la stanza base e ha un'istanza diclsLight
blocco funzione per implementare la lampadinaclsCheapRoom
: estende la stanza base e include un'istanza diclsLight1min
blocco funzione, che implementa una lampadina con una durata di un minuto. Include anche la funzione di servizio.clsBetterRoom
: estende la stanza base e include un'istanza diclsDuoLight1min
, che ha una durata doppia e include anche la funzione di servizioclsClimateBetterRoom
: Estende ilclsBetterRoom
e aggiunge un condizionatore d'ariaFB_AirCondition
: Questo blocco funzione regola la temperatura per il giorno e la notte.clsLight
: Blocco funzione base che rileva se la luce è accesa o spentaclsLight1min
: Estende ilclsLight
blocco funzione e implementa ilIService
interfaccia. Questa funzione viene utilizzata per monitorare la durata della lampadina.clsDuoLight1min
: Estende ilclsLight1min
blocco funzione da un secondo timer per raddoppiare la durataFB_LifeTimer
: conta alla rovescia la durata di una lampadina accesaVisualization
: La visualizzazione principale include diverse stanze. Ogni camera è composta dai seguenti elementi:1 lampadina
1 messaggio di servizio
1 display di servizio (mostra se è necessario il servizio)
1 pulsante per accendere e spegnere la luce
1 pulsante per resettare il servizio
La stanza superiore visualizza inoltre la temperatura. IL
OpMode
il cursore può essere utilizzato per impostare la modalità su "giorno con luce", "notte senza luce" o "manuale".
Requisiti di sistema e restrizioni
Sistema di programmazione | CODESYS Development System (versione 3.5.14.0 o superiore) |
Sistema di esecuzione | CODESYS Control Win (versione 3.5.14.0) |
Componenti aggiuntivi | - |
Avviso
SCARICAMENTO Progetto