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 diclsLightblocco funzione per implementare la lampadinaclsCheapRoom: estende la stanza base e include un'istanza diclsLight1minblocco 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 ilclsBetterRoome 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 ilclsLightblocco funzione e implementa ilIServiceinterfaccia. Questa funzione viene utilizzata per monitorare la durata della lampadina.clsDuoLight1min: Estende ilclsLight1minblocco 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
OpModeil 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
