strumenti:qpanelplus:qc104:mima1hmiqc104

Differenze

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

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
Prossima revisione
Revisione precedente
Prossima revisioneEntrambe le parti successive la revisione
strumenti:qpanelplus:qc104:mima1hmiqc104 [2024/07/04 11:28] – [3.4.1 16 ingressi digitali (G16)] qem218strumenti:qpanelplus:qc104:mima1hmiqc104 [2024/07/04 14:10] – [Table] qem218
Linea 229: Linea 229:
 | :::                                              11        PHB1    | Fase B del primo conteggio      | :::              | | :::                                              11        PHB1    | Fase B del primo conteggio      | :::              |
 | :::                                              12        0V      | Comune degli ingressi digitali  |                  | | :::                                              12        0V      | Comune degli ingressi digitali  |                  |
 +\\
 ^  CN12                                           ^ Morsetto  ^ Simbolo  ^ Descrizione                     ^ Indirizzo         ^ ^  CN12                                           ^ Morsetto  ^ Simbolo  ^ Descrizione                     ^ Indirizzo         ^
 |  {{connettori:cnn_12fv_p3.5_02.png?80&nolink}}  |  1        |  -       | Non utilizzato                  |                   | |  {{connettori:cnn_12fv_p3.5_02.png?80&nolink}}  |  1        |  -       | Non utilizzato                  |                   |
Linea 779: Linea 779:
  
 {{page>lib:mdl:mdl-s-ipmemuti-010}} {{page>lib:mdl:mdl-s-ipmemuti-010}}
 +
 +==== - Utilizzo dei connettori da QView ====
 +
 +Per poter visualizzare ed utilizzare una variabile "//Terminal//" del QC104 all'interno di un progetto QView è necessario seguire i seguenti passaggi durante il procedimento.
 +  - Creare un progetto QView e **dichiarare una variabile** in cui verrà inserito il valore che si vuole leggere dal QC104
 +  - Creare un progetto QPaint
 +  - Aprire l'**Editor degli Eventi Globali** 
 +    - Aggiungere un **nuovo Evento** di tipo "//On Change Var//" con il tasto "//Add//"
 +    - Inserire la variabile di cui si vuole leggere il valore nel riquadro "//Variable//" sotto la dicitura "//Base//"
 +  - Ora cliccare l'Evento appena creato e nel riquadro a destra **aggiungere una nuova Azione** di tipo "//Set Var//"
 +    - Inserire la variabile di cui si vuole leggere il valore nel riquadro "//Destination//" sotto la dicitura "//Base//"
 +    - Inserire la variabile in cui si vuole copiare il valore del campo "//Source//" sotto la dicitura "Base"
 +
 +=== Esempio ===
 +Si prende in esame un **Ingresso Analogico** inserito nel **QC104** visibile come variabile "//Terminal//" del QPaint ($CNT01) 
 +
 +**1. Creare varibile QCL** 
 +<code pascal>
 +GLOBAL
 + ;analog input variable
 + glAI01 L
 +</code>
 +
 +**2. Apertura "Global Events Editor" in QPaint**
 +{{ :strumenti:qpanelplus:qc104:step2.png?nolink&800 |}}
 +{{ :strumenti:qpanelplus:qc104:step3.png?nolink&500 |}}
 +**3. Creare l'Evento**
 +{{ :strumenti:qpanelplus:qc104:step4.png?nolink&500 |}}
 +**4. Creare l'Azione**
 +{{ :strumenti:qpanelplus:qc104:step5.png?nolink&600 |}}
 +
 +=== Caso Ingressi Usicite Digitali ===
 +Informazione essenziale: gli ingressi e le uscite digitali nel QC104 vengono salvati sottoforma di maschera di bit rispettivamente in "$INPL1" e in "$OUTL1". Tuttavia vengono inerpretate del QPaint come un numero digitale. 
 +Per esempio*: se fossero alzati gli ingressi 1, 2, 5. La bit mask sarebbe 0..0100101 e in $INPL1 riuslterebbe 19.
 +
 +Quindi per poter leggere Ingressi Digitali o settare Uscite Digitali è necessario seguire la seguente procedura.
 +
 +**1. Creare una varibile QCL per gli input e una per gli output** 
 +<code pascal>
 +GLOBAL
 + ;digital I_O bit mask
 + glINPL1 L   
 + glOUTL1 L 
 +</code> 
 +
 +2. Creare una variabile di tipo flag(F) per ciascuno degli input/output di cui si vuole visualizzare lo stato (0/1)
 +
 +3. Seguire la procedura generica del paragrafo sopra al fine di tener sempre aggiornato lo stato di glINPL1 e glOUTL1
 +
 +4. Creare una funzione che converta il valore di glINPL1 e/o glOUTL1 in binario per assegnare lo stato di ciascun bit al rispettivo ingresso/uscita
 +
 +
 +^                      ^        ^        ^        ^        ^        ^        ^        ^        ^        ^        ^        ^                                ^        ^                                                                                                                     |
 +| Maschera di Bit ->    15    |  14    |  13    |  12    |  11    |  10    |  09    |  08    |  07    |  06    |  05    |  04                      03    |  02    |  01                      00                                                                                         |
 +| Id In/Output ->      |  IO16  |  IO15  |  IO14  |  IO13  |  IO12  |  IO11  |  IO10  |  IO09  |  IO08  |  IO07  |  IO06  |  IO05                    IO04  |  IO03  |  IO02                    IO01                                                                                       |
 +| Esempio* (1,2,5) ->  |  00    |  00    |  00    |  00    |  00    |  00    |  00    |  00    |  00    |  00    |  00    |  <wrap hi>  01 </wrap>  |  00    |  00    |  <wrap hi>  01 </wrap>  |  <wrap hi>  01 </wrap>  ^  = 2<sup>4</sup> + 2<sup>1</sup> + 2<sup>0</sup> = 16 + 3 + 1 = 19  ^
 +
 +
  
 <pagebreak> <pagebreak>
  • Ultima modifica: 2024/07/05 08:46