Nota: Molte definizioni o abbreviazioni sono standard del gergo informatico e/o PLC e
non sono riportate in questo elenco
Ad esempio una Funzione un termine standard. Altri termini, quali 'Blocco' saranno
descritti nei relativi paragrafi.
ESEMPIO 3.1
Come esempio, si consideri come viene determinato lo stato ON/OFF nelle
baseline.
previsto un ingresso digitale dedicato alla forzatura dello stato di OFF (OFF
remoto): quando l'ingresso alto lo stato dell'unit forzato a OFF.
Quando invece l'OFF remoto non attivo, lo stato dell'unit dipende
dall'abilitazione della gestione a fasce orarie: se questo il caso, lo stato ON/OFF
viene determinato dalle impostazioni della fascia oraria attiva, altrimenti dato da
un parametro utente (ad esempio, impostato da interfaccia grafica o tramite
Device).
Il blocco GOAL valuta e assegna una priorit alle condizioni elencate sopra,
determinando lo stato ON/OFF risultante.
Il blocco GOAL non si occupa del se e del come possano essere realizzati questi
obiettivi, lasciando ai blocchi che seguono questo compito.
Si rimanda alla Appendice Architettura per ulteriori informazioni sulle relazioni fra il
blocco GOAL e gli altri blocchi
ESEMPIO 3.2
Ad esempio, il programma che si occupa di determinare lo stato ON/OFF
dell'U.T.A. Goal_State.
I risultati del blocco GOAL sono resi disponibili come dati globali al resto
dell'applicazione, nella cartella Global shared > Variables.
ESEMPIO 3.3
Ad esempio, il blocco DIAGNOSTICS valuta lo stato degli ingressi digitali associati
alle protezioni termiche dei ventilatori dell'unit trattamento aria.
il controllo dei valori derivanti dalle sonde, al fine di rilevare sonde assenti o
guaste;
la valutazione di ingressi analogici associati a sicurezze/pre-allarmi;
ESEMPIO 3.4
Sempre a titolo di esempio, il blocco DIAGNOSTICS delle baseline AHU verifica
che la temperatura rilevata dalla sonda antigelo non sia al di sotto di un valore
considerato critico.
ESEMPIO 3.5
Ad esempio, nelle baseline AHU si pu verificare che n l'obiettivo di temperatura
n l'obiettivo di umidit siano soddisfatti.
In questa situazione, il blocco STRATEGY sceglie quale dei due obiettivi perseguire
per primo.
ESEMPIO 3.6
Considerando sempre le baseline AHU, una richiesta di raffreddamento pu essere
soddisfatta attraverso l'uso di una batteria freddo oppure, in particolari condizioni,
attraverso il meccanismo di free-cooling, che pi conveniente.
Il blocco STRATEGY valuta le condizioni necessarie per l'attivazione del free-
cooling (in particolare, la temperatura esterna deve essere all'interno di un
intervallo ben determinato): se tali condizioni sono soddisfatte, il free-cooling
viene adottato come strategia per soddisfare la richiesta di raffreddamento;
altrimenti, si ricorre alla sola batteria freddo.
La strategia scelta dal blocco STRATEGY determina l'abilitazione dei diversi componenti
dell'unit e i dati da utilizzare nella loro regolazione - come i setpoint da inseguire e le
misure dal campo (i feedback) da utilizzare.
ESEMPIO 3.7
Ad esempio, la strategia di raffreddamento abilita il regolatore della batteria
freddo trasmettendogli il valore letto dalla sonda di termoregolazione e il valore di
temperatura da raggiungere (setpoint di temperatura in modo COOL).
Viceversa, la regolazione della batteria caldo disabilitata.
Si rimanda alla Appendice Architettura per ulteriori informazioni sulle relazioni fra il
blocco STRATEGY e gli altri blocchi
ESEMPIO 3.8
Concretamente, per logica di regolazione si intende, ad esempio, un regolatore
proporzionale o proporzionale-integrale o a gradini.
Come esempio di logica di attuazione si pu citare l'attuatore per una valvola a 3-
punti.
ESEMPIO 3.9
Ad esempio, quando la strategia di raffreddamento abilita la batteria freddo e gli
assegna un setpoint pari a 25C, il blocco REGULATOR traduce questa richiesta in
un valore percentuale di attuazione che pu essere assegnato direttamente ad un
uscita analogica oppure processato dall'eventuale blocco ACTUATOR, che lo
traduce nei valori delle uscite digitali e/o analogiche.
Si rimanda alla Appendice Architettura per ulteriori informazioni sulle relazioni fra i
blocchi REGULATORS, ACTUATORS e gli altri blocchi
ESEMPIO 3.10
Le baseline AHU hanno, ad esempio, un blocco per il ventilatore di mandata, uno
per la batteria caldo, uno per la batteria freddo, uno per l'umidificatore, ecc...
LAYOUT 1 - AHU01
Il layout 1 un'applicazione dedicata al controllo di un'U.T.A. semplice, composta da:
serrande ON/OFF,
un singolo ventilatore (di mandata),
batteria caldo,
batteria freddo.
L'unico obiettivo perseguito dal layout 1 mantenere la temperatura dell'ambiente
controllato entro un dato range di valori.
LAYOUT 3 - AHU03
Il layout 3 un'applicazione dedicata al controllo di un'U.T.A. completa, che include
tutti gli elementi previsti dai layout precedenti e, inoltre:
un secondo ventilatore (di ripresa),
gestione modulante serrande (per free-cooling/free-heating),
recuperatore di calore.
ESEMPIO 5.1
Lavorando su un'applicazione per Smart derivata dal layout 2, si decide di
spostare l'ingresso digitale corrispondente all'allarme umidificatore dall'I/O esteso
a quello locale.
ESEMPIO 5.2
Considerando l'Esempio 5.1, per ottenere il risultato desiderato possibile seguire
questo procedimento:
1. si apre la sezione Resources > I/O Mapping > Local;
2. si sceglie l'ingresso digitale da utilizzare, supponiamo DIL3, e si modifica il
contenuto della cella corrispondente inserendo il nome simbolico
dell'allarme umidificatore, I_HumidifierAlarm;
3. si apre la sezione Resources > I/O Mapping > Extended e si rimuove il nome
simbolico dell'allarme umidificatore dalla sua posizione precedente;
4. l'ingresso logico sostituito al punto 2, I_ElectricHeaterThermal, pu
essere assegnato ad un ingresso digitale non utilizzato dell'espansione.
Se la modifica della mappatura dell'I/O fisico sull'I/O logico coinvolge l'espansione EVE
di Evolution, necessario intervenire anche sulla configurazione di rete definita in
Connection, come illustrato nell'esempio seguente
ESEMPIO 5.3
Lavorando su un'applicazione per Evolution derivata dal layout 3, si decide di
spostare l'ingresso digitale corrispondente all'allarme umidificatore dall'I/O esteso
(configurato come nodo CANopen in rete field) a quello locale.
. ESEMPIO 5.4
Considerando l'Esempio 5.3, per ottenere il risultato desiderato possibile seguire
questo procedimento:
in Application, si apre la sezione Resources > Status variables e si elimina la
variabile corrispondente all'allarme umidificatore, I_HumidifierAlarm;
si apre la sezione Resources > I/O Mapping > Local, si sceglie l'ingresso digitale da
utilizzare, supponiamo DIL3, e si modifica il contenuto della cella corrispondente
inserendo il nome simbolico dell'allarme umidificatore, I_HumidifierAlarm;
in Connection, si apre la sezione PDO Tx - Input e si rimuove l'assegnamento
dell'input digitale di indice 3 alla variabile di stato rimossa al punto 1;
ESEMPIO 5.5
Lavorando su un'applicazione per Smart derivata dal layout 1 e che fa uso di tutti
e soli gli ingressi digitali locali (DIL1...6), si vuole rendere parametrico
l'assegnamento di questi ingressi ai corrispondenti simboli logici.
Per ottenere questo risultato necessario introdurre un ulteriore livello software, come
nuovo PROGRAM assegnato al task Timed, che, sulla base dei valori dei parametri di
configurazione, assegni ad ogni ingresso logico i valori letti dall'ingresso digitale/dalla
sonda corrispondente e - specularmente - assegni il valore di ogni uscita logica all'uscita
digitale/analogica corrispondente.
3. nella sezione I/O Mapping > Local, si assegnano dei nomi generici alle
variabili corrispondenti agli ingressi digitali locali;
Figura 2: Determinazione dello stato dell'U.T.A. a partire dall'ingresso digitale di OFF remoto, dal
parametro utente di stato locale St10 e dalle informazioni derivanti dalla gestione fasce orarie, se
abilitata
Figura 3: L'attivazione della modalit Economy dipende dall'ingresso digitale dedicato e dal valore
corrente del modo macchina derivato dalla gestione fasce orarie, se abilitata
ESEMPIO 5.7
Come esempio, si consideri una situazione in cui non sia opportuno dare sempre
priorit alla gestione fasce orarie (se abilitata) rispetto all'impostazione di stato
tramite parametro utente, ma in cui l'OFF da parametro abbia priorit rispetto ad
uno stato di ON da fascia oraria.
Per fare questo sufficiente modificare la rete FBD che determina il valore della
variabile di stato state, all'interno del PROGRAM Goal_State.
ESEMPIO 5.9
Lavorando su un'applicazione derivata, si desidera introdurre un profilo COMFORT
24/24h (sempre COMFORT), da utilizzare nella programmazione settimanale.
Figura 6: Risoluzione del modo AUTO: in questo caso, il modo di funzionamento COOL/HEAT dell'unit
viene determinato valutando il valore della sonda selezionata tramite parametro utente St20 con
riferimento ad un intervallo di valori (zona neutra) fissato da una combinazione di diversi parametri
utente (il limite inferiore dato da SP20 + St22, il limite superiore da SP10 + St21)
5.4. Setpoint
Figura 7: Calcolo del setpoint di temperatura in modo COOL, a partire dal valore del parametro SP10
oppure SP11, a seconda che la modalit Economy sia attiva o meno; l'unico differenziale applicato il
differenziale dinamico su temperatura esterna, se abilitato da parametro (dS00)
Figura 8: Selezione della sonda di umidit relativa, scelta in funzione del valore del parametro Hr01 tra
la sonda di ripresa, la sonda di mandata e la sonda ambiente
ESEMPIO 5.11
Ad esempio, considerando la selezione della sonda di regolazione di umidit, si
vuole eliminare la possibilit di regolare con la sonda di mandata.
ESEMPIO 5.13
Portando all'estremo l'Esempio 5.11, si decide che la sonda di regolazione umidit
relativa debba essere la sonda di ripresa.
5.6. Diagnostica
Il PROGRAM Diagnostics determina lo stato di attivazione degli allarmi, ossia:
nel caso Smart, di tutte le variabili definite nella sezione Resources > Alarms; in
questo caso, Application si preoccupa di mantenere in modo automatico uno
stato globale di attivazione allarmi per la visualizzazione a display;
nel caso Evolution, di un sottoinsieme di variabili di tipo USINT definite nella
sezione Resources > Status variables; in questo caso, cura dello sviluppatore
mantenere lo stato globale di attivazione allarmi per la visualizzazione a display
(variabile Er_GlobalAlarmStatus) attraverso il PROGRAM
Diagnostics_GlobalAlarmStatus.
Il PROGRAM Diagnostics valuta innanzitutto se abilitare la diagnostica: in caso
contrario, tutti gli allarmi sono disattivati (si veda la Figura 9).
Infine (Figura 11), sono analizzate una per una tutte le condizioni di allarme monitorate
dall'applicazione.
Figura 11: Er_ClockError codifica lo stato di errore orologio: un allarme a riarmo manuale
(richiede cio il reset esplicito da parte dell'utente) e controlla lo stato della variabili di sistema
sysClockError. Er_InletAirTemperatureProbeError codifica lo stato di errore sonda di
temperatura di ripresa
ESEMPIO 5.15
Si supponga, ad esempio, di voler aggiungere la gestione di un allarme incendio,
rilevato tramite ingresso digitale collegato ad un sensore di fumo.
b. nel caso di Evolution, nella sezione Resources > Status variables; il tipo
della variabile deve essere USINT;
6.
7. solo nel caso Evolution, compilare l'applicazione PLC, cos che il nuovo
allarme sia visibile in User Interface, in seguito all'operazione di
aggiornamento parametri (Refresh parameters);
8. solo nel caso Evolution, con User Interface, aggiungere nella sezione
Resources > Sets un elemento al set Alarm_Labels; impostare
Er_FireAlarm come visibilit del nuovo elemento;
9.
10. solo nel caso Evolution, con User Interface, aggiungere nella sezione
Resources > Sets un elemento al set Alarm_Values.; impostare
Er_FireAlarm come valore e come visibilit del nuovo elemento.
Figura 12: Stati principali delle baseline AHU: oltre allo stato di normale funzionamento
(ON) e allo stato di OFF, previsto uno stato di allarme e una procedura straordinaria per
l'antigelo
Lo stato di ON a sua volta una macchina a stati (Figura 13), dove ogni stato
rappresenta una strategia per il soddisfacimento di un obiettivo (di temperatura, di
umidit, ecc.).
ESEMPIO 5.17
Si consideri, ad esempio, un'applicazione derivata dal layout 2, che differisce da
quest'ultimo per l'assenza di un umidificatore e, dunque, per l'impossibilit di
eseguire la strategia di umidificazione.
ESEMPIO 5.19
Riprendendo l'Esempio 5.33, si vuole reagire ad un allarme incendio con una
procedura dedicata.
ESEMPIO 5.22
Si consideri il caso di un'applicazione derivata dal layout 1, da cui differisce per la
presenza di un recuperatore di calore.
ESEMPIO 5.23
Considerando l'Esempio 5.22, si pu procedere nel modo che segue:
1. si definisce l'uscita logica per il controllo del recuperatore di calore, che si
suppone essere di tipo rotativo e che richiede al controllore l'indicazione
della velocit (uscita analogica);
Figura 14: Struttura del menu per il display locale: dal menu principale possibile accedere al
menu set, per la modifica dei setpoint e la visualizzazione degli allarmi attivi, oppure al menu
Prg, che a sua volta permette l'accesso a diversi sotto-menu per la programmazione dei
parametri
Figura 16: Struttura del menu per il terminale LCD: dal menu principale possibile accedere al menu
set, per la modifica dei setpoint e la visualizzazione degli allarmi attivi, oppure al menu Prg, che a sua
volta permette l'accesso a diversi sotto-menu per la programmazione dei parametri
Ogni transizione associata ad una variabile booleana che rappresenta l'abilitazione di
Figura 18: due frammenti di Act_DayMenu, contenenti la definizione del menu Day e dei suoi 7
elementi, l'invocazione al blocco di libreria SKWRightDisplayMenu_t (variabile dayMenu) e la gestione
dei flag di abilitazione del menu stesso e del menu padre (menu Prg)
ESEMPIO 5.24
Riprendendo l'Esempio 5.23, si vuole inserire il parametro rC01 nel menu protetto
da password ThermoregulationMenu.
In questo caso le modifiche sono limitate alla ACTION che definisce il menu da
modificare. In particolare, si deve provvedere a:
modificare la definizione del menu, incrementandone il numero di elementi;
aggiungere la definizione del nuovo elemento.
Figura 19: Menu di programmazione delle fasce orarie. Il set Prg_TE_Labels raccoglie l'insieme delle
stringhe descrittive visualizzate nella colonna sinistra dell'interfaccia uomo-macchina; il set
Prg_TE_Values raccoglie i riferimenti ai parametri EEPROM di programmazione fasce orarie
I paragrafi seguenti presentano, con esempi concreti, alcune tra le pi frequenti
necessit di intervento sull'interfaccia uomo-macchina, in particolare quelle derivanti da
una modifica all'applicazione PLC.
Comunque, lo sviluppatore ha la massima libert di intervento, potendo sfruttare tutte le
potenzialit dello strumento per costruire un'interfaccia utente personalizzata. Si faccia
riferimento al manuale utente di User Interface per ulteriori dettagli.
ESEMPIO 5.27
Il menu Hr realizzato attraverso il set di label descrittive Prg_HR_Labels e il set
di valori Prg_HR_Values. Per soddisfare il requisito espresso nell'Esempio 5.33,
dunque necessario:
1. assicurarsi preventivamente di aver compilato, con Application,
l'applicazione PLC, dopo la modifica relativa all'introduzione del nuovo
parametro; aggiornare la definizione dei parametri PLC con User
Interface (comando Refresh parameters);
2. aggiungere un elemento nella tabella Resources > String table del progetto
User Interface, con l'identificativo testuale del nuovo parametro;
ESEMPIO 5.28
In seguito all'introduzione, nell'applicazione PLC, della gestione di un recuperatore
di calore, si desidera creare un menu dedicato alla sua configurazione, contenente
un insieme di parametri protetti da password.
Si noti che alcune pagine modificano e/o estendono quanto descritto sopra, con quanto
codificato nella finestra Action > Local action. Si consideri, ad esempio, la pagina Main: essa
cancella la funzione di chiusura pagina (poich non si vuole che dalla pagina principale
si possa tornare allo splash screen) e aggiunge la possibilit di aprire il menu principale
attraverso la pressione prolungata del tasto RIGHT.
3. i controlli grafici presenti nella pagina Main fanno infine riferimento alle
variabili locali temperatureSetpoint e humiditySetpoint.
ESEMPIO 5.33
Si vuole inserire nello splash screen il logo della famiglia prodotti a cui appartiene
l'U.T.A. da programmare. Per ottenere questo risultato sufficiente:
1. in Resources > Bitmaps, importare una versione in bianco e nero del logo
come nuova bitmap;
2. nella finestra Properties della pagina Splash, modificare la propriet Bitmap
perch faccia riferimento alla bitmap appena importata.
6.1.1. DelayedStarter_t
Tipologia FUNCTION_BLOCK
Descrizione Attuatore di un'uscita digitale che aggiunge un ritardo di avvio e un
ritardo di arresto
Ingressi 1) in : BOOL
Valore da attuare all'uscita digitale prima dell'applicazione dei ritardi.
2) delayOnStart : UDINT
Ritardo di avvio, espresso in millisecondi [ms].
3) delayOnStop : UDINT
Ritardo di arresto, espresso in millisecondi [ms].
4) delayBetween : UDINT
Tempo minimo di attesa tra avvii successivi, espresso in millisecondi
[ms].
Uscite 1) out : BOOL
Valore da attuare all'uscita digitale dopo l'applicazione dei ritardi.
6.1.2. StarDeltaStarter_t
Tipologia FUNCTION_BLOCK
Descrizione Avviamento stella-triangolo.
Ingressi 1) in : BOOL
Valore da attuare all'uscita digitale.
2) lineStarDelay : UDINT
Ritardo linea-stella, espresso in millisecondi [ms].
3) starDuration : UDINT
Durata stella, espresso in millisecondi [ms].
4) starDeltaDelay : UDINT
Ritardo stella-triangolo, espresso in millisecondi [ms].
Uscite 1) line : BOOL
Contattore di linea.
1) star : BOOL
6.2.1. AutoRearmAlarm_t
Tipologia FUNCTION_BLOCK
Descrizione Allarme a riarmo automatico
Ingressi 1) enable : BOOL
Abilita il test della condizione di allarme. Se FALSE, l'uscita del blocco
viene impostata al valore 0 (allarme non attivo).
2) condition : BOOL
Condizione di allarme, attiva quando condition vale TRUE.
Uscite 1) alarm : USINT
Stato dell'allarme: 0 = non attivo, 1 = attivo
6.2.2. DelayAutoRearmAlarm_t
Tipologia FUNCTION_BLOCK
Descrizione Allarme ad attivazione ritardata e riarmo automatico
Ingressi 1) enable : BOOL
Abilita il test della condizione di allarme. Se FALSE, l'uscita del blocco
viene impostata al valore 0 (allarme non attivo).
2) condition : BOOL
Condizione di allarme, attiva quando condition vale TRUE.
3) delay : UDINT
Ritardo di attivazione dell'allarme, espresso in millisecondi.
Uscite 1) alarm : USINT
Stato dell'allarme: 0 = non attivo, 1 = attivo
6.2.3. DelayManualRearmAlarm_t
Tipologia FUNCTION_BLOCK
Descrizione Allarme ad attivazione ritardata e riarmo manuale
Ingressi 1) enable : BOOL
Abilita il test della condizione di allarme. Se FALSE, l'uscita del blocco
viene impostata al valore 0 (allarme non attivo).
2) reset : BOOL
Comando di reset allarmi. Se TRUE e l'allarme nello stato di attesa di
6.2.4. ManualRearmAlarm_t
Tipologia FUNCTION_BLOCK
Descrizione Allarme a riarmo manuale
Ingressi 1) enable : BOOL
Abilita il test della condizione di allarme. Se FALSE, l'uscita del blocco
viene impostata al valore 0 (allarme non attivo).
2) reset : BOOL
Comando di reset allarmi. Se TRUE e l'allarme nello stato di attesa di
reset manuale, questo transita nello stato di non attivazione (l'uscita
del blocco 0).
3) condition : BOOL
Condizione di allarme, attiva quando condition vale TRUE.
Uscite 1) alarm : USINT
Stato dell'allarme: 0 = non attivo, 1 = attivo, 2 = in attesa di reset
manuale
6.2.5. ProbeError_t
Tipologia FUNCTION_BLOCK
Descrizione Errore sonda
Ingressi 1) enable : BOOL
Abilita il test della condizione di allarme. Se FALSE, l'uscita del blocco
viene impostata al valore 0 (allarme non attivo).
2) probe : INT
Valore letto dalla sonda il cui funzionamento/la cui presenza deve
essere verificata.
Uscite 1) alarm : USINT
Stato dell'allarme: 0 = non attivo, 1 = attivo
6.3. Regulators
La libreria Regulators raccoglie l'insieme di logiche di regolazione pi frequentemente
utilizzate in applicazioni HVAC.
6.3.2. OnOffRegulator_t
Tipologia FUNCTION_BLOCK
Descrizione Regolatore ON/OFF
Ingressi 1) hcMode : USINT
Verso del regolatore: se COOL, l'azione di controllo attiva finch
feedback superiore a setpoint; se HEAT, finch feedback
inferiore a setpoint.
2) feedback : INT
Misura della grandezza fisica oggetto dell'azione di controllo letta
dalla sonda di regolazione e utilizzata come feedback per il confronto
con setpoint.
3) setpoint : INT
Valore desiderato della grandezza fisica oggetto dell'azione di
controllo.
4) diff : INT
Differenziale da aggiungere/sottrarre a setpoint per il cambio stato da
OFF a ON: se hcMode vale COOL, l'azione di controllo si attiva quando
feedback diventa maggiore o uguale a setpoint + diff; se
hcMode vale HEAT, quando feedback diventa minore o uguale a
setpoint - diff.
Uscite 1) out : BOOL
Stato ON/OFF dell'azione di controllo.
6.3.3. ProportionalRegulator_t
Tipologia FUNCTION_BLOCK
Descrizione Regolatore proporzionale
6.3.4. ThreeStepsRegulator_t
Tipologia FUNCTION_BLOCK
Descrizione Regolatore a tre gradini
Ingressi 1) hcMode : USINT
Verso del regolatore: se COOL, l'azione di controllo attiva finch
feedback superiore a setpoint; se HEAT, finch feedback
inferiore a setpoint.
2) feedback : INT
Misura della grandezza fisica oggetto dell'azione di controllo letta
dalla sonda di regolazione e utilizzata come feedback per il confronto
con setpoint.
3) setpoint : INT
Valore desiderato della grandezza fisica oggetto dell'azione di
controllo.
4) diff : INT
Differenziale totale da aggiungere/sottrarre a setpoint per l'attivazione
dei tre gradini di potenza: se hcMode vale COOL, il primo gradino si
attiva quando feedback diventa maggiore o uguale a setpoint +
diff/3, il secondo quando feedback diventa maggiore o uguale a
setpoint + 2diff/3, il terzo quando feedback diventa
maggiore o uguale a setpoint + diff; se hcMode vale HEAT, il
primo gradino si attiva quando feedback diventa minore o uguale a
setpoint - diff/3, il secondo quando feedback diventa minore
6.3.5. TwoStepsRegulator_t
Tipologia FUNCTION_BLOCK
Descrizione Regolatore a due gradini
Ingressi 1) hcMode : USINT
Verso del regolatore: se COOL, l'azione di controllo attiva finch
feedback superiore a setpoint; se HEAT, finch feedback
inferiore a setpoint.
2) feedback : INT
Misura della grandezza fisica oggetto dell'azione di controllo letta
dalla sonda di regolazione e utilizzata come feedback per il confronto
con setpoint.
3) setpoint : INT
Valore desiderato della grandezza fisica oggetto dell'azione di
controllo.
4) diff : INT
Differenziale totale da aggiungere/sottrarre a setpoint per l'attivazione
dei due gradini di potenza: se hcMode vale COOL, il primo gradino si
attiva quando feedback diventa maggiore o uguale a setpoint +
diff/2, il secondo quando feedback diventa maggiore o uguale a
setpoint + diff; se hcMode vale HEAT, il primo gradino si attiva
quando feedback diventa minore o uguale a setpoint - diff/2,
il secondo quando feedback diventa minore o uguale a setpoint -
diff;
Uscite 1) step1 : BOOL
Stato ON/OFF del primo gradino di potenza.
2) step2 : BOOL
Stato ON/OFF del secondo gradino di potenza.
6.4. SmartHMI
La libreria SmartHMI raccoglie blocchi per la costruzione di interfacce utente per Smart
e I relativi terminali (SKW, SKP).
6.4.1. LocalMainView_t
Tipologia FUNCTION_BLOCK
64 Baseline Unit Trattamento Aria - Manuale per lo sviluppatore
Descrizione Blocco per la gestione dei LED e la rilevazione della pressione
prolungata dei tasti (funzione di tasto "caldo") del display locale
Smart, in visualizzazione fondamentale.
Ingressi 1) state : USINT
Stato ON/OFF dell'unit, utilizzato da LocalMainView_t per la
gestione del LED stand-by e la visualizzazione del testo 'OFF' a
display.
2) remoteState : BOOL
Se TRUE, lo stato ON/OFF determinato da un'impostazione remota e
la sua visualizzazione (accensione del LED stand-by o visualizzazione
del testo 'OFF' a display) intermittente.
3) mode : USINT
Modo di funzionamento COOL/HEAT, utilizzato da LocalMainView_t
per la gestione dei LED corrispondenti.
4) remoteMode : BOOL
Se TRUE, il modo di funzionamento COOL/HEAT determinato da
un'impostazione remota e la sua visualizzazione (accensione dei LED
COOL o HEAT) intermittente.
5) economy : BOOL
Attivazione della modalit Economy, utilizzata da LocalMainView_t
per la gestione del LED corrispondente.
6) timeIsEnabled : BOOL
Attivazione della gestione a fasce orarie, utilizzata da
LocalMainView_t per la gestione del LED corrispondente.
7) resource1 : BOOL
Abilitazione della risorsa no. 1 (dipendente dalla applicazione),
utilizzata da LocalMainView_t per la gestione del LED
corrispondente.
8) resource2 : BOOL
Abilitazione della risorsa no. 2 (dipendente dalla applicazione),
utilizzata da LocalMainView_t per la gestione del LED
corrispondente.
9) resource3 : BOOL
Abilitazione della risorsa no. 3 (dipendente dalla applicazione),
utilizzata da LocalMainView_t per la gestione del LED
corrispondente.
10) resource4 : BOOL
Abilitazione della risorsa no. 4 (dipendente dalla applicazione),
utilizzata da LocalMainView_t per la gestione del LED
corrispondente.
11) resource5 : BOOL
Abilitazione della risorsa no. 5 (dipendente dalla applicazione),
utilizzata da LocalMainView_t per la gestione del LED
corrispondente.
12) resource6 : BOOL
6.4.2. SKWAlarmMenu_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la navigazione da tastiera remota di un menu allarmi
Ingressi 1) totalAlarms : USINT
Numero totale degli allarmi visualizzabili nel menu.
2) currentAlarmValue : USINT
Valore dell'allarme corrente (cio, dell'allarme in posizione
currentAlarm): 0 = non attivo, 1 = attivo, 2 = in attesa di reset
manuale.
3) currentAlarmLabel : STRING
Identificativo testuale dell'allarme corrente (cio, dell'allarme in
posizione currentAlarm).
Variabili 1) currentAlarm : USINT
INOUT Allarme corrente, espresso come posizione all'interno del menu,
derivante dalle operazioni di navigazione eseguite dall'utente.
2) enable : BOOL
Abilitazione del menu: pu essere disattivato in seguito ad un
comando utente o per timeout.
Uscite 1) back : BOOL
Comando utente di ritorno al livello superiore del menu.
6.4.3. SKWFolderMenu_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la navigazione da tastiera remota di un menu l'accesso ad
una lista di sotto-menu
6.4.4. SKWLeftDisplayMenu_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la navigazione da tastiera remota di un menu di elementi,
con visualizzazione del loro valore sul display sinistro
Ingressi 1) itemNumber : USINT
Numero totale degli elementi visualizzabili nel menu.
2) currentItemValue : INT
Identificativo testuale dell'elemento corrente (cio, dell'elemento in
posizione currentItem).
3) currentItemMin : INT
Valore minimo dell'elemento corrente (cio, dell'elemento in
posizione currentItem).
4) currentItemMax : INT
Valore massimo dell'elemento corrente (cio, dell'elemento in
posizione currentItem).
5) currentItemLabel : STRING
Identificativo testuale dell'elemento corrente (cio, dell'elemento in
posizione currentItem).
6) currentItemDisplayType : USINT
Tipologia del valore dell'elemento corrente (cio, dell'elemento in
posizione currentItem), espresso con le costanti
DISPLAY_TEMPERATURE, DISPLAY_PRESSURE_ONE_DEC, ...
7) subFolder : BOOL
Se TRUE, il menu consente l'accesso anche a un sotto-menu (non
incluso nel conteggio itemNumber).
8) subFolderName : STRING
6.4.5. SKWMainView_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la gestione dei LED e la rilevazione della pressione
prolungata dei tasti (funzione di tasto "caldo") del display locale
Smart, in visualizzazione fondamentale.
Ingressi 1) state : USINT
Stato ON/OFF dell'unit, utilizzato da SKWMainView_t per la gestione
del LED stand-by e la visualizzazione del testo 'OFF' a display.
2) stateSource : USINT
Sorgente dello stato ON/OFF: 0 = locale, 1 = remota, 2 = gestione a
fasce orarie.
3) mode : USINT
Modo di funzionamento COOL/HEAT/AUTO, utilizzato da
SKWMainView_t per la gestione dei LED corrispondenti.
4) modeSource : USINT
Sorgente del modo di funzionamento COOL/HEAT/AUTO: 0 = locale,
1 = remota, 2 = auto.
5) modeSelection : USINT
Modi di funzionamento COOL/HEAT/AUTO selezionabili (per la
modifica da parte dell'utente con tastiera remota): 0 = solo COOL, 1 =
solo HEAT, 2 = COOL e HEAT, 3 = COOL, HEAT e AUTO, 4 =
impostazione remota.
6) rightValueType : USINT
Tipologia del valore da mostrare sul display destro delil terminale
6.4.6. SKWPswProtection_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la protezione con password dell'accesso ad un menu per
tastiera remota
Ingressi 1) timeout : BOOL
Se TRUE, i diritti di accesso vengono dimenticati (per time-out) e per
l'accesso al menu richiesto un nuovo inserimento della password.
Variabili 1) enable : BOOL
INOUT Abilitazione del menu: pu essere disattivato in seguito ad un
comando utente o per timeout.
Uscite 1) enableMenu : BOOL
Diritti di accesso al menu acquisti (l'utente ha inserito la password
correttamente).
2) back : BOOL
Comando utente di ritorno al livello superiore del menu.
6.4.7. SKWRightDisplayMenu_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la navigazione da tastiera remota di un menu di elementi,
con visualizzazione del loro valore sul display destro
Ingressi 1) itemNumber : USINT
Numero totale degli elementi visualizzabili nel menu.
2) currentItemValue : INT
Identificativo testuale dell'elemento corrente (cio, dell'elemento in
posizione currentItem).
6.5.1. CalcEnthalpy
Tipologia FUNCTION
Descrizione Calcolo approssimato dell'entalpia specifica
6.6.1. DynamicSetpoint_t
Tipologia FUNCTION_BLOCK
Descrizione Blocco per la gestione di un differenziale dinamico da applicare ad un
setpoint
Ingressi 1) enable : BOOL
Abilitazione del differenziale dinamico. Se FALSE, l'uscita differential
vale 0.
2) hcMode : USINT
Verso del regolatore: se COOL, il differenziale dinamico maggiore di 0 quando
feedback superiore a setpoint; se HEAT, quando feedback inferiore
a setpoint.
3) maxDifferential : INT
Valore massimo del differenziale dinamico (cio, valore massimo dell'uscita
differential).
4) feedback : INT
Misura della grandezza fisica alla quale legato il valore del differenziale
dinamico, utilizzata come feedback per il confronto con setpoint.
5) setpoint : INT
Valore della grandezza fisica alla quale legato il valore del differenziale
dinamico, per il quale il differenziale si annulla.
6) band : INT
Banda proporzionale di incremento del valore del differenziale dinamico fino al
suo massimo, maxDifferential.
Uscite 1) differential : INT
Differenziale dinamico da applicare.
6.6.2. PercentageReduction
Tipologia FUNCTION
Descrizione Riduzione percentuale di un valore espresso in parti per migliaio []
Ingressi 1) in : INT
6.6.3. TimeFrameManager_t
Tipologia FUNCTION_BLOCK
Descrizione Gestione a fasce orarie
Ingressi 1) enable : BOOL
Abilitazione della gestione a fasce orarie.
Uscite 1) mode : USINT
Modalit (COMFORT, ECO oppure OFF) corrispondente alla fascia
oraria corrente.
A1.1. INPUT
A1.1.1. Responsabilit
Il blocco INPUT traduce gli ingressi fisici in ingressi logici, utilizzati dall'applicazione. In
particolare, si occupa di:
mappare gli ingressi fisici sui corrispondenti ingressi logici (ossia, INPUT
determina quali DI o AI corrispondono a quali nomi simbolici utilizzati
nell'applicazione);
convertire il valore fisico degli ingressi nel valore logico utilizzato all'interno
dell'applicazione.
A1.2.PARAMETERS
A1.2.1. Responsabilit
Il blocco PARAMETERS rende disponibile all'applicazione i parametri di configurazione
forniti da USER.
A1.2.2. Collaborazioni
Le uscite di PARAMETERS sono utilizzate da:
GOAL (setpoint, fasce orarie, ecc...);
DIAGNOSTICS (configurazione allarmi);
REGULATORS (configurazione regolatori);
ACTUATORS (configurazione attuatori).
A1.3. GOAL
A1.3.1. Responsabilit
Il blocco GOAL determina quali sono gli obiettivi che il controllo dell'unit deve
perseguire.
In particolare, i dati risultanti dal blocco GOAL sono:
lo stato ON/OFF dell'unit;
il modo COOL/HEAT (estate/inverno) di funzionamento dell'unit;
lo stato di attivazione di modalit di risparmio energetico (modalit ECO);
i setpoint da inseguire;
le misure (feedback) da utilizzare nella regolazione, derivanti dalla scelta delle
sonde di regolazione.
Il blocco GOAL necessario per sintetizzare questi dati a partire dalle diverse possibili
sorgenti, che includono parametri e ingressi digitali e analogici.
Il blocco GOAL non si occupa del se e del come possano essere realizzati questi
obiettivi, lasciando ai blocchi che seguono questo compito.
A1.4. DIAGNOSTICS
A1.4.2. Collaborazioni
DIAGNOSTICS fa uso di:
stato ON/OFF dell'unit (da GOAL);
ingressi digitali diagnostici (da INPUT) per la rilevazione di condizioni di anomalia
nell'unit (ad esempio, una protezione termica);
ingressi analogici (da INPUT) per la diagnostica analogica (ad esempio, per il
rilevamento di una sonda assente o guasta);
configurazione delle logiche di attivazione e riarmo degli allarmi (da
PARAMETERS) (ad esempio, un ritardo);
comando utente di riarmo manuale degli allarmi (da HMI).
Lo stato (attivo oppure no) degli allarmi viene trasmesso da DIAGNOSTICS a:
HMI, per la segnalazione degli allarmi attivi e della possibilit di riarmarli;
STRATEGY, per l'esecuzione di procedure eccezionali di gestione anomalie.
Lo schema di Figura 22 riassume le collaborazioni di DIAGNOSTICS.
A1.5.1. Responsabilit
Il blocco STRATEGY determina la strategia da utilizzare per raggiungere l'obiettivo del
controllo. Nel dettaglio, questo si traduce in:
valutare se esistono richieste da soddisfare;
dare una priorit alle richieste pendenti;
scegliere tra le diverse strategie possibili quella da utilizzare per soddisfare la
richiesta;
gestire la richiesta, in base alla strategia scelta.
A1.6.1. Responsabilit
I valori assunti dalle uscite fisiche del controllore sono determinati dall'insieme di
blocchi REGULATORS e ACTUATORS, che raccolgono le logiche di regolazione e di
attuazione delle uscite, rispettivamente.
I blocchi REGULATORS e ACTUATORS svolgono collettivamente il compito di esaudire
le richieste che il blocco STRATEGY esprime in termini di setpoint o di valori percentuali.
A1.6.2. Collaborazioni
REGULATORS riceve in ingresso:
i setpoint dei regolatori (da STRATEGY);
i feedback per la regolazione (da INPUT) (ad esempio, sonde di temperatura,
pressione, ecc...);
eventuali configurazioni delle logiche di regolazione delegate a USER (da
PARAMETERS);
dati di controllo - comandi di attivazione, by-pass, ecc... (da STRATEGY).
Le uscite di REGULATORS sono usate da:
ACTUATORS, come valore da attuare sulle uscite dell'unit.
A1.7. OUTPUT
A1.7.1. Responsabilit
Il blocco OUTPUT attua le uscite logiche sulle uscite fisiche, fornendo in particolare:
la mappatura tra uscite logiche e fisiche (a quali DO o AO corrispondono le uscite
logiche);
conversione del valore logico utilizzato all'interno dell'applicazione nel
corrispondente valore fisico.
A1.7.2. Collaborazioni
Le uscite logiche utilizzate da OUTPUT sono calcolate da ACTUATORS.
Le uscite fisiche prodotte da OUTPUT sono esterne al sistema.
A1.8.1. Responsabilit
Il blocco HMI gestisce l'interfaccia utente dell'applicazione, in particolare per quanto
riguarda:
la segnalazione dello stato ON/OFF dell'unit;
la modalit di funzionamento (HEAT, COOL, ecc...);
la segnalazione delle utenze attive;
il menu applicativo;
la gestione dei tasti.
A1.8.2. Collaborazioni
HMI raccoglie i seguenti dati da visualizzare:
stato ON/OFF dell'unit (da GOAL);
modalit di funzionamento (da GOAL);
l'insieme delle utenze attive (da OUTPUT).
I dati sulle attivit dell'utente gestiti da HMI sono usati da:
1. DIAGNOSTICS, per quanto riguarda il reset manuale degli allarmi.
A2.4. PARAMETERS
I parametri vengono resi disponibili all'applicazione tramite la loro definizione nelle
tabelle EEPROM Parameters (ed eventualmente Status variables) di Application.
Nel caso di Evolution, la mappatura tra ingressi fisici dell'espansione EVE e ingressi
logici definita in Connection, nelle sezioni corrispondenti della configurazione
dell'espansione EVE:
nella sezione PDO Tx - Input, se l'espansione configurata come slave CANopen;
In questo caso, gli ingressi logici corrispondono a variabili di stato del master Evolution,
definite in Application nella tabella Status variables.
A2.9. OUTPUT
La mappatura tra uscite logiche e uscite fisiche effettuata staticamente con la tabella
I/O Mapping di Application.
La conversione del valore logico utilizzato all'interno dell'applicazione nel
corrispondente valore fisico eseguito dal BIOS in base ai valori dei parametri di
configurazione I/O.
Nel caso di Evolution, la mappatura tra uscite logiche e uscite fisiche dell'espansione
EVE definita in Connection, nelle sezioni corrispondenti della configurazione
dell'espansione EVE:
nella sezione PDO Rx - Output, se l'espansione configurata come slave CANopen;
nella sezione Output, se l'espansione configurata come slave Modbus.
In questo caso, le uscite logici corrispondono a variabili di stato del master Evolution,
definite in Application nella tabella Status variables.
9MA00048 02/12
Copyright Eliwell Controls s.r.l. 2011-2012 All rights reserved