Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
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:30] – [7.5.1 Ambienti di sviluppo] qem218 | strumenti:qpanelplus:qc104:mima1hmiqc104 [2024/07/04 14:44] – [7.5.2 Utilizzo dei connettori da QView] qem218 | ||
---|---|---|---|
Linea 781: | Linea 781: | ||
==== - Utilizzo dei connettori da QView ==== | ==== - Utilizzo dei connettori da QView ==== | ||
+ | |||
+ | Per poter visualizzare ed utilizzare una variabile "// | ||
+ | - 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' | ||
+ | - Aggiungere un **nuovo Evento** di tipo "//On Change Var//" con il tasto "// | ||
+ | - Inserire la variabile di cui si vuole leggere il valore nel riquadro "// | ||
+ | - Ora cliccare l' | ||
+ | - Inserire la variabile di cui si vuole leggere il valore nel riquadro "// | ||
+ | - Inserire la variabile in cui si vuole copiare il valore del campo "// | ||
+ | |||
+ | === Esempio === | ||
+ | Si prende in esame un **Ingresso Analogico** inserito nel **QC104** visibile come variabile "// | ||
+ | |||
+ | **1. Creare varibile QCL** | ||
+ | <code pascal> | ||
+ | GLOBAL | ||
+ | ;analog input variable | ||
+ | glAI01 L | ||
+ | </ | ||
+ | |||
+ | **2. Apertura " | ||
+ | {{ : | ||
+ | {{ : | ||
+ | **3. Creare l' | ||
+ | {{ : | ||
+ | **4. Creare l' | ||
+ | {{ : | ||
+ | |||
+ | ---- | ||
+ | === Caso Ingressi Usicite Digitali === | ||
+ | <WRAP center round important 60%> | ||
+ | **Gli ingressi e le uscite digitali nel QC104 vengono salvati sottoforma di maschera di bit rispettivamente in "// | ||
+ | </ | ||
+ | |||
+ | Per esempio*: se fossero alzati gli ingressi 1, 2, 5. La **bit mask** sarebbe 0..0100101 e in "// | ||
+ | |||
+ | 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 | ||
+ | </ | ||
+ | ** | ||
+ | 2. Creare una variabile di tipo flag(F) per ciascuno degli input/ | ||
+ | <code pascal> | ||
+ | GLOBAL | ||
+ | ;inputs variables | ||
+ | ifHMIInp01 F | ||
+ | ifHMIInp02 F | ||
+ | ifHMIInp03 F | ||
+ | ifHMIInp04 F | ||
+ | ifHMIInp05 F | ||
+ | ifHMIInp06 F | ||
+ | ifHMIInp07 F | ||
+ | ifHMIInp08 F | ||
+ | |||
+ | ifHMIInp09 F | ||
+ | ifHMIInp10 F | ||
+ | ifHMIInp11 F | ||
+ | ifHMIInp12 F | ||
+ | ifHMIInp13 F | ||
+ | ifHMIInp14 F | ||
+ | ifHMIInp15 F | ||
+ | ifHMIInp16 F | ||
+ | |||
+ | ;outputs variables | ||
+ | ofHMIOut01 F | ||
+ | ofHMIOut02 F | ||
+ | ofHMIOut03 F | ||
+ | ofHMIOut04 F | ||
+ | ofHMIOut05 F | ||
+ | ofHMIOut06 F | ||
+ | ofHMIOut07 F | ||
+ | ofHMIOut08 F | ||
+ | </ | ||
+ | ** | ||
+ | 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/ | ||
+ | |||
+ | |||
+ | | **Maschera di Bit -> | ||
+ | | **Id In/Output -> | ||
+ | | **Esempio* (1,2,5) -> | ||
+ | |||
+ | === Esempi di codice === | ||
+ | Qui sotto è possibile scaricare alcuni **applicativi di prova**. In questi appicativi è stato usato un PLC [[https:// | ||
+ | <WRAP center round download 60%> | ||
+ | [[ link |QC104-CG2]] | ||
+ | |||
+ | [[ link |QC104-G16]] | ||
+ | </ | ||
+ | |||
< | < |