software:qview:qview_6:qview60

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
software:qview:qview_6:qview60 [2015/04/28 10:47] – [3.11. Le variabili DATAGROUP] qem207software:qview:qview_6:qview60 [2015/04/28 14:34] – [Variabili Indicizzate] qem207
Linea 533: Linea 533:
  
 ===== - Le variabili DATAGROUP ===== ===== - Le variabili DATAGROUP =====
-Le variabili Datagroup sono una particolare struttura di dati, allocate in memoria in una zona ritentiva. Esse vengono dichiarate nella unit di configurazione e hanno la funzione di semplificare l'accesso e la gestione di un archivio di ricette. Le variabili Datagroup possono essere più di una, in questo caso è necessario inserire più settori di tipo DATAGROUP.\\ Le variabili Datagroup contengono due tipologie di variabili: +Le variabili Datagroup sono una particolare struttura di dati, memorizzate in una zona ritentiva. Esse vengono dichiarate nella unit di configurazione e sono idonee per rappresentare un archivio di ricette. \\ Le variabili Datagroup contengono due tipologie di variabili:
- +
-**Variabili Statiche**\\ Le variabili statiche risiedono nel sottosettore di DATAGROUP nominato come DATAPROGRAM. Il primo valore di questo settore è un numero o una costante intera, e indica in numero di ricette dell'archivio. Le variabili statiche sono da considerarsi come contenitori di un determinato valore per ogni ricetta, e sono accessibili come un array, dove l'indice è il numero di ricetta desiderata.\\ Rispetto a un comune array, le variabili statiche possono supportare anche un dato di tipo Flag (F).+
  
 +==== Variabili Statiche ====
 <code QCL> <code QCL>
 DATAGROUP DATAGROUP
Linea 545: Linea 544:
     <variable name> <F/B/W/L/S>     <variable name> <F/B/W/L/S>
     <variable name> <F/B/W/L/S>     <variable name> <F/B/W/L/S>
-    <variable name> <F/B/W/L/S>]+    <variable name> <F/B/W/L/S>
 </code> </code>
 +Le variabili statiche risiedono nel sottosettore di DATAGROUP nominato come DATAPROGRAM. Il primo valore di questo settore è un numero o una costante intera, e indica il numero di ricette dell'archivio. Le variabili statiche sono da considerarsi come contenitori di un determinato valore per ogni ricetta, e sono accessibili come un array, dove l'indice è il numero di ricetta desiderata. Esempio:
 +<code QCL>
 +DATAGROUP
 +  Name
 +  DATAPROGRAM
 +    100
 +;Static variables declaration
 +    Variable1     L
 +    Variable2     S
 +    Variable3     F
 +</code>
 +Per far riferimento alla variabile //Variable3// della ricetta 5, viene usato il codice:
 +<code QCL>
 +Variable3[5]
 +</code>
 +
 +Possiamo immaginare la struttura della memoria di una variabile DATAGROUP, nel nostro esempio con variabili statiche, come la seguente tabella:
 +^ ^  Variable1  ^  Variable2  ^  Variable3  ^
 +^Ricetta 1| | | |
 +^Ricetta 2| | | |
 +^Ricetta 3| | | |
 +^...| | | |
 +^Ricetta 100| | | |
 +
 +==== Variabili Indicizzate ==== 
 +<code QCL>
 +DATAGROUP
 +  <DataGroup Name>
 +  DATAPROGRAM
 +    <number of recipes>
 +  STEP
 +    <number of steps>
 +;Indexed variables declaration
 +    <variable name> <F/B/W/L/S>
 +    <variable name> <F/B/W/L/S>
 +    <variable name> <F/B/W/L/S>
 +</code>
 +Le variabili indicizzate risiedono nel sottosettore di DATAGROUP nominato come STEP. La loro funzione è quella di introdurre per ogni ricetta, il concetto di passo. Il primo valore di questo settore è un numero o una costante intera, e indica il numero di passi per ogni ricetta dell'archivio. Le variabili indicizzate sono da considerarsi come contenitori di una lista di valori per ogni ricetta, e sono accessibili come un array a 2 dimensioni, dove il primo valore è il numero di ricetta, il secondo il passo desiserato. Esempio:
 +<code QCL>
 +DATAGROUP
 +  Name
 +  DATAPROGRAM
 +    100
 +;Static variables declaration
 +    Variable1     L
 +    Variable2     S
 +    Variable3     F
 +  STEP
 +    10
 +;Indexed variables declaration
 +    Variable4     W
 +    Variable5     B
 +</code>
 +Per far riferimento alla variabile //Variable4// della ricetta 5 al passo 9, viene usato il codice:
 +<code QCL>
 +Variable4[5, 9]
 +</code>
 +
 +Possiamo immaginare la struttura della memoria di una variabile DATAGROUP, nel nostro esempio con variabili statiche e indicizzate, come la seguente tabella:
 +^ ^  Variable1  ^  Variable2  ^  Variable3  ^  Variable4  ^^^^  Variable5  ^^^^
 +^:::^:::^:::^:::^Passo 1^Passo 2^...^Passo 10^Passo 1^Passo 2^...^Passo 10^
 +^Ricetta 1| | | | | | | | | | | |
 +^Ricetta 2| | | | | | | | | | | |
 +^Ricetta 3| | | | | | | | | | | |
 +^...| | | | | | | | | | | |
 +^Ricetta 100| | | | | | | | | | | |
 +
 +^ ^  Variable1  ^  Variable2  ^  Variable3  ^  Variable4  ^^^^^  Variable5  ^^^^^
 +^Ricetta 1| | | | | | | | | | | | | |
 +^:::|:::|:::|:::| | | | | | | | | | |
 +^Ricetta 2| | | | | | | | | | | | | |
 +^:::|:::|:::|:::| | | | | | | | | | |
 +^Ricetta 3| | | | | | | | | | | | | |
 +^:::|:::|:::|:::| | | | | | | | | | |
 +^...| | | | | | | | | | | | | |
 +^:::|:::|:::|:::| | | | | | | | | | |
 +^Ricetta 100| | | | | | | | | | | | | |
 +^:::|:::|:::|:::| | | | | | | | | | |
  
-----+Altre informazioni: 
 +  * In un DATAGROUP tutte le variabili, sia statiche che indicizzate, sono ritentive (mantengono il valore allo spegnimento). 
 +  * Le variabili Datagroup possono essere più di una, in questo caso è necessario inserire più parole chiave DATAGROUP. 
 +  * La sottosezione DATAPROGRAM è obbligatoria, mentre quella STEP è opzionale. 
 +  * Il numero massimo di ricette impostabile è 65534. 
 +  * Il numero massimo di passi impostabile è 65534. 
 +  * Rispetto ad un comune array, le variabili statiche possono supportare anche un dato di dimensione Flag (F). 
 +===== Le variabili DATAGROUP old =====
  
 Le variabili Datagroup sono una particolare struttura di dati. Quando si dichiara un datagroup, si organizza una parte della memoria come una tabella formata da righe e colonne. Le colonne sono chiamate //programmi// o //ricette//, mentre le righe //passi// (in inglese //step//).\\ Le variabili Datagroup sono una particolare struttura di dati. Quando si dichiara un datagroup, si organizza una parte della memoria come una tabella formata da righe e colonne. Le colonne sono chiamate //programmi// o //ricette//, mentre le righe //passi// (in inglese //step//).\\
Linea 655: Linea 739:
  
 //num_prog// e //num_step// possono essere un numero (non SINGLE), una costante, una variabile o un’espressione complessa. Nel caso di numero o di costante, viene eseguito il controllo durante la compilazione che l’indice non superi la dimensione massima dichiarata in configurazione (rispettivamente per il numero programmi e il numero step); gli altri indici - //num_prog e num_step// - partono (in valore) da uno. //num_prog// e //num_step// possono essere un numero (non SINGLE), una costante, una variabile o un’espressione complessa. Nel caso di numero o di costante, viene eseguito il controllo durante la compilazione che l’indice non superi la dimensione massima dichiarata in configurazione (rispettivamente per il numero programmi e il numero step); gli altri indici - //num_prog e num_step// - partono (in valore) da uno.
- 
 ===== - Sezione BUS ===== ===== - Sezione BUS =====
 La sezione BUS nell’unità di configurazione è indispensabile per dichiarare quale modello hardware di QMOVE il programmatore ha a disposizione.\\ La sezione BUS nell’unità di configurazione è indispensabile per dichiarare quale modello hardware di QMOVE il programmatore ha a disposizione.\\
  • Ultima modifica: 2024/03/22 14:06