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 13:32] – [7.5.2 Utilizzo dei connettori da QView] qem218strumenti:qpanelplus:qc104:mima1hmiqc104 [2024/07/04 14:11] – [7.5.2 Utilizzo dei connettori da QView] qem218
Linea 796: Linea 796:
  
 **1. Creare varibile QCL**  **1. Creare varibile QCL** 
-<code pascal>GLOBAL+<code pascal> 
 +GLOBAL
  ;analog input variable  ;analog input variable
- glAI01 L+ glAI01 L
 </code> </code>
  
Linea 808: Linea 809:
 **4. Creare l'Azione** **4. Creare l'Azione**
 {{ :strumenti:qpanelplus:qc104:step5.png?nolink&600 |}} {{ :strumenti:qpanelplus:qc104:step5.png?nolink&600 |}}
 +
 === Caso Ingressi Usicite Digitali === === 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**  |
  
  
  • Ultima modifica: 2024/07/05 08:46