no way to compare when less than two revisions

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.


software:qview:qview_6:qcl_library:op10init [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1
Linea 1: Linea 1:
 +====== 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:
 +
 +{{.:op10init:op10init_01.png?nolink600|}}
 +
 +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]".
 +
 +{{.:op10init:op10init_02.png?nolink350|}}
 +
 +==== 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 ===
 +
 +{{.:op10init:op10init_03.png?nolink450|}}
 +
 +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 ===
 +
 +{{.:op10init:op10init_04.png?nolink450|}}
 +
 +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 ===
 +
 +<code QCL>
 +; 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
 +</code>
  
  • Ultima modifica: 2019/08/29 17:01