OP10Init
O = Output
P = Programmabile
La funzione OP10Init fa parte di una collezione di funzioni per la programmazione di un'uscita secondo la metodologia descritta in seguito. Le altre funzioni che fanno parte della collezione sono:
OP10isParOk Verifica i dati programmati per la programmazione dell'uscita;
OP10isOutOn Verifica lo stato dell'uscita;
OP10ResOut Forza la disattivazione dell'uscita;
OP10SetOut Forza l'attivazione dell'uscita;
OP10ResRet Azzera la ritenuta dell'uscita;
OP10Manage Gestione dell'uscita;
La metodologia di programmazione dell'uscita viene riassunta in questo help.
Il parametro “op10arFun[7]”, consente di programmare, il tipo di funzionamento dell'uscita programmabile in funzione del valore “op10Param1” all'interno delle fasce di visualizzazione. Le fascie sono determinate dalla visualizzazione minima (H) e massima (n) e dalle soglie di allarme (d e A); in questo modo il campo di variazione del valore “ op10Param1” diventa:
Vengono identificate 3 fasce di lavoro: Hd, dA, An e per ogni fascia è possibile programmare un diverso settaggio dell'uscita. Inoltre è possibile abilitare il funzionamento dell'uscita all'interno di una fascia, solo quando il valore “op10Param1” ha già interessato un'altra fascia (“Dipendenza dalla fascia”). Quest'ultima modalità di funzionamento consente di abilitare un determinato funzionamento dell'uscita dopo, che all'avvio del software, la visualizzazione si è stabilizzata; per esempio è possibile programmare che l'uscita si attivi nella fascia Hd, non prima che il valore “op10Param1” abbia raggiunto la fascia dA.
Ogni cifra del parametro “op10arFun[7]” ha un suo significato riguardo il tipo di funzionamento e la dipendenza dalla fascia dell'uscita. Di seguito viene riportato un esempio di programmazione del parametro “op10arFun[7]”.
Tipo di funzionamento
1 Attiva
2 Attiva con ritenuta (resettabile)
3 Disattiva
4 Disattiva con ritenuta (resettabile)
Dipendenza dalla fascia
1 Fascia da Hd
2 Fascia da dA
3 Fascia da An
4 Dipendenza dal timer iniziale
5 Dipende dalla fascia con timer associato alla fascia
Il timer iniziale interviene all'avviamento e forza (per tutta la sua durata) lo stato logico dell'uscita corrispondente al contrario di quanto programmato, dopodiche l'uscita tornerà a funzionare come da setup.
I timer di fascia intervengono all'uscita dalla fascia di appartenenza e servono a ritardare le commutazioni logiche dell'uscita programmabile. Si ha così una maggiore sicurezza di essere entrati nella fascia successiva, evitando oscillazioni.
Esempio 1
Si vuole programmare l'uscita come da grafico. La comparazione all'attivazione della fascia Hd deve essere abilitata dopo che il valore “op10Param1” ha raggiunto la fascia An. Il parametro “op10arFun[7]” diventa 233213. Finché, il valore “op10Param1” non ha raggiunto la fascia An e rimane all'interno di Hd o dA, l'uscita rimane OFF. Se il valore ritorna all'interno della fascia Hd, l'uscita si attiva e rimane attiva a causa della ritenuta anche quando il valore esce dalla fascia Hd fino ad un reset dell'uscita.
Esempio 2
Si vuole programmare l'uscita come da grafico. La comparazione all'attivazione della fascia Hd deve essere abilitata dopo che il valore “op10Param1” ha raggiunto la fascia dA. Il parametro “op10arFun[7]” diventa 421233. Finché, il valore “op10Param1” non ha raggiunto la fascia dA e rimane all'interno di Hd, l'uscita rimane OFF e senza ritenuta. Quando il valore ritorna alla fascia Hd, l'uscita rimane spenta a causa della ritenuta anche quando il valore esce dalla fascia Hd.
IMPLEMENTAZIONI
OP10Init (op10arFun)
Inizializza l'array “op10arFun”. L'array “op10arFun” deve essere di almeno 11 elementi.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL | op10arFun[1] | L | Soglia “d” |
IN | ARRGBL | op10arFun [2] | L | Soglia “A” |
IN | ARRGBL | op10arFun[3] | L | Timer per la fascia “An” (msec) |
IN | ARRGBL | op10arFun[4] | L | Timer per la fascia “dA” (msec) |
IN | ARRGBL | op10arFun[5] | L | Timer per la fascia “Hd” (msec) |
IN | ARRGBL | op10arFun[6] | L | Timer iniziale |
IN | ARRGBL | op10arFun[7] | L | Tipo di funzionamento dell'uscita e dipendenza (FU) in formato decimale |
- | ARRGBL | op10arFun[8] | L | Riservato |
- | ARRGBL | op10arFun[9] | L | Riservato |
- | ARRGBL | op10arFun[10] | L | Riservato |
- | ARRGBL | op10arFun[11] | L | Riservato |
OP10isParOk (OutpProgU1, op10RetSts, op10RetValue )
Verifica i dati programmati per la programmazione dell'uscita e restituisce un valore da assegnare a op10arFun[7].
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | GLOBAL | OutpProgU1 | L | Tipo di funzionamento dell'uscita e dipendenza (FU) in formato decimale |
OUT | GLOBAL | op10RetSts | F | 0: valore in uscita non valido 1: Valore in uscita valido |
OUT | GLOBAL | op10RetValue | L | Tipo di funzionamento dell'uscita e dipendenza (FU) in formato BCD |
OP10Manage ( op10Param1, op10arFun )
Esegue le comparazioni e imposta lo stato dell'uscita programmabile che può essere letto mediante la funzione “OP10isOutOn”. L'array “op10arFun” deve essere di almeno 11 elementi.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | GLOBAL | op10Param1 | L | Valore da comparare con le fasce |
IN | ARRGBL | op10arFun[1] | L | Soglia “d” |
IN | ARRGBL | op10arFun[2] | L | Soglia “A” |
IN | ARRGBL | op10arFun[3] | L | Timer per la fascia “An” (msec) |
IN | ARRGBL | op10arFun[4] | L | Timer per la fascia “dA” (msec) |
IN | ARRGBL | op10arFun[5] | L | Timer per la fascia “Hd” (msec) |
IN | ARRGBL | op10arFun[6] | L | Timer iniziale |
IN | ARRGBL | op10arFun[7] | L | Tipo di funzionamento dell'uscita e dipendenza (FU) |
- | ARRGBL | op10arFun[8] | L | Riservato |
- | ARRGBL | op10arFun[9] | L | Riservato |
- | ARRGBL | op10arFun[10] | L | Riservato |
- | ARRGBL | op10arFun[11] | L | Riservato |
OP10isOutOn ( op10arFun, op10RetSts )
Restituisce lo stato dell'uscita programmabile.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL | op10arFun | L | Array di parametry. Vedi funzioni precedenti. |
OUT | GLOBAL | op10RetSts | F | 0: uscita OFF 1: uscita ON |
OP10ResProg ( op10arFun )
Resetta lo stato dell'uscita programmabile.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL | op10arFun | L | Array di parametry. Vedi funzioni precedenti. |
OP10SetProg ( op10arFun )
Setta lo stato dell'uscita programmabile.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL | op10arFun | L | Array di parametry. Vedi funzioni precedenti. |
OP10ResRet ( op10arFun )
Resetta la ritenuta dell'uscita programmabile.
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRGBL | op10arFun | L | Array di parametry. Vedi funzioni precedenti. |
Esempio 3
; Out U1 - Init OP10Init ( OutpU1 ) OP10isParOk ( OutpProgU1, LOutpRetSts, LOutpRetVal ) IF LOutpRetSts OutpU1[7] = LOutpRetVal ; Out functioning type & band dependence ELSE OutpU1[7] = 0 ENDIF MAIN: ; Out U1 - Function IF OutpMode EQ 1 LOutpParam = CmRpmT OP10Manage ( LOutpParam, OutpU1 ) OP10isOutOn ( OutpU1, LOutpRetSts ) out01 = LOutpRetSts ELSE OP10ResOut ( OutpU1 ) out01 = 0 ENDIF WAIT 1 JUMP MAIN END