Skip to main content

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.

_example_img_oop_extended.png

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 di clsLight blocco funzione per implementare la lampadina

  • clsCheapRoom: estende la stanza base e include un'istanza di clsLight1min 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 di clsDuoLight1min, che ha una durata doppia e include anche la funzione di servizio

  • clsClimateBetterRoom: Estende il clsBetterRoom e aggiunge un condizionatore d'aria

  • FB_AirCondition: Questo blocco funzione regola la temperatura per il giorno e la notte.

  • clsLight: Blocco funzione base che rileva se la luce è accesa o spenta

  • clsLight1min: Estende il clsLight blocco funzione e implementa il IService interfaccia. Questa funzione viene utilizzata per monitorare la durata della lampadina.

  • clsDuoLight1min: Estende il clsLight1min blocco funzione da un secondo timer per raddoppiare la durata

  • FB_LifeTimer: conta alla rovescia la durata di una lampadina accesa

  • Visualization: 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

_example_icon.png SCARICAMENTO Progetto