In questo articolo vedremo un’applicazione pratica dell’API £G91 per testare la verdicità delle condizioni booleane applicate alle variabili di un ambiente.

Introduzione 

Tradurre un ambiente fisico nel corrispettivo ambiente informatizzato è un esercizio mentale che può essere affrontato seguendo molte vie; una volta scelta la nostra è fondamentale seguire leggi portanti immutabili e ben determinate al momento dell’inizio della traduzione.

Prendendo ad esempio il nostro “Showroom” abbiamo deciso di indicizzare le situazioni che si possono presentare con delle variabili alle quali risponderemo con taluni comportamenti al verificarsi di determinate condizioni.

I miei comportamenti saranno dipendenti da condizioni verificate sull’ambiente tramite le sue variabili che possiamo sintetizzare con dei “SE” le cui risposte sono o “VERO” o “FALSO”:

Condizione 1 Se la luce è accesa e la temperatura è inferiore a 20 °C

Condizione 2 Se il tornio è in funzione o la temperatura è superiore a 80 °C

A partire da queste condizioni comincerò a decidere le azioni da intraprendere.

SE Condizione 1 = “VERA” ALLORA accendo il riscaldamento.

SE Condizione 2 = “VERA” ALLORA avvio raffreddamento.

 

Simulazione

Interfaccia simulazione su Looc.UP

Quello che segue è una simulazione delle capacità dell’API £G91 per la “informatizzazione” dell’ambiente “Showroom”.

Gli strumenti dell’API £G91 in sostanza permettono di stanziare delle variabili ed elaborarle tramite delle condizioni:

  1. Inizializza il contesto.
  2. Inizializza le variabili.
  3. Testa le condizioni sulle variabili: data una condizione in formato stringa, che coinvolge le variabili precedentemente inizializzate, restituisce un valore TRUE o FALSE che determinerà il comportamento da adottare.

Inizializza il contesto

  1. Clicco in ordine cronologico nel menu funzioni di test preparate sulle caselle di testo:
  • Inizializza tutti i contesti
  • Creo un contesto SHW e gli assegno alcune variabili

Inizializza le variabili

  1. Creato il contesto inizializziamo le variabili con i valori che vogliamo cliccando sulle corrispondenti caselle di testo ad esempio:
  • Assegno la variabile LUC (Luce) ON
  • Assegno la variabile TEM (Temperatura) a 0°C
  • Assegno la variabile GMV (Giri al minuto ventola) a 102 giri/m
  •  Assegno la variabile REU (Responsabile utensile) a LANSIL
  • Assegno la variabile DAT (Data) a 2023/01/01.

Così facendo ho inizializzato le variabili con i valori tra parentesi:

 LUC (ON), TEM (0°C), GMV (102 giri/m), REU (LANSIL), DAT (1 gennaio 2023).

 

Ovviamente possiamo inizializzarle con altri valori cliccando sulle caselle di testo avanzate nella schermata di esempio, il valore tenuto in considerazione sarà l’ultimo cliccato.

 

Testa le condizioni sulle variabili

  1. Inizializzate le variabili selezioniamo le condizioni che vogliamo testare:
  • Testiamo la condizione Luce = ON?

 

Avendola inizializzata nello step precedente su ON la condizione risulterà VERA

  • Testiamo la condizione Responsabile utensile = CHITIZ OR Luce = ON?

 

Avendo inizializzato Responsabile utensile LANSIL e la Luce su On, la condizione derivata dall’OR risulterà VERA grazie alla veridicità della variabile Luce.

  • Testiamo la condizione con discesa: il giorno della data è una domenica?

 

Avendo inizializzato la data con il valore 1 GENNAIO 2023, la condizione con discesa di attributo che chiede se il primo gennaio 2023 è una domenica risulterà VERA.

  • Testiamo la condizione Luce=ON AND Temperatura < 20°C AND Giri al minuto = 102 GIRI/M AND Giorno della data = DOMENICA AND Responsabile utensile = CHITIZ?

 

La condizione con le variabili inizializzate precedentemente, dopo la traduzione delle stesse darà questo risultato:
vero AND vero AND vero AND vero  AND falso = falso

 

Metalinguaggio con l’aiuto del wizard della simulazione

Guardiamo gli stessi passaggi dal punto di vista del metalinguaggio; digitando il comando t g91 nello spotlight di looc.up possiamo accedere al test interfacciato per looc.up della nostra API £g91 (parte destra di ogni immagine di esempio).

Inizializza il contesto

  1. Inizializza contesto SHW: sono attivi i campi funzione, metodo, contesto.

Inizializza le variabili

  1. Dichiarazione ed assegnazione della variabile LUC: sono attivi i campi funzione, metodo, variabile e tipo variabile, valore e contesto.

Testa le condizioni sulle variabili

3. Osserviamo con l’immagine seguente la parte di traduzione della variabile e della verifica della condizione scritta nel campo Stringa
I campi compilati sono: funzione, metodo, Stringa e contesto.
Avendo precedentemente aggiunto la variabile Luce con il valore booleano “1 / accesa”, la condizione “la luce è accesa?” tradotta dall’API risulta vera.

 

Conclusioni

Le variabili finora esposte sono semplici “situazioni” prive di struttura o attributi di oggetto come i nostri OAV, esse fanno parte delle variabili contestuali di tipo &CO. dichiarate appositamente per il particolare contesto.
È possibile utilizzare anche gli oggetti che popolano i database di Sme.UP.
La g91 supporta già di suo tutta una serie di variabili native ad esempio le &OA. alle quali possiamo passare come variabile un attributo di un oggetto dopo averlo dichiarato nell’API oppure le &AM come da esempio che segue.

Digitando VAR nel campo funzione e premendo INVIO apparirà il pop up con la lista dei tipi di variabile letti dalla g91

Selezionando il parametro &AM. comparirà una nuova selezione con la seguente lista:

1     UT            Utente applicativo
2     US            Utente sistema
3     GU           Gruppo utente
4     AZ            Azienda
5     T1            Tipo Oggetto Primario
6     K1            Codice Oggetto Primario
7     MG          Magazzino
8     DT            Data utente
9     DF            Data utente formattata
10   HR           Ora utente
11   HF           Ora utente formattata
12   DR           Data
13   ES            Esercizio
14   IU             Ambiente

Scegliamo il parametro AZ che punta alla classe azienda, ora possiamo per esempio andare a leggere il valore della variabile col metodo LET oppure possiamo già scrivere la condizione con la sintassi di condizione già spiegata in precedenza (funzione CND, metodo TRA e Stringa di condizione).