Segui

Come configurare un Connettore generico Bravo

Sommario

Il Connettore IoT generico consente di realizzare uno strumento di comunicazione personalizzato tra Macchina IoT e Bravo da impiegare integrato o in sostituzione ad un sistema di comunicazione Bravo IoT Connector e Alleantia/Zerynth Scada Server.
L'integrazione tra Bravo IoT Connector con sistemi Alleantia/Zerynth Scada Server, per la connessione di Macchine IoT a Bravo rappresenta la soluzione pronta all'uso che garantisce una connessione semplice ed intuitiva per rilevare i dati di consuntivo direttamente dalle Macchine IoT nei reparti produttivi dell'azienda. In merito è possibile consultare: Guida introduttiva sulla raccolta dati da Macchine IoT.
Il Connettore IoT generico rappresenta la soluzione flessibile e personalizzata per realizzare sistemi di connessione con Macchine IoT sulla base di specifiche esigenze di comunicazione tra Macchina IoT e Bravo.
Il presente articolo è rivolto agli Sviluppatori che intendono realizzare soluzioni personalizzate con Connettore IoT generico per la connessione di Macchine IoT a Bravo.
Di seguito viene illustrato come creare il file JSON composto con le necessarie variabili per l'uso del Connettore IoT generico su Bravo.
 

Premessa

Bravo ha una solida collaborazione con i suoi partner Alleantia e Zerynth per la connessione delle Macchine  IoT.
Su Bravo si può stabilire una connessione con un Alleantia/Zerynth Scada Server.
Gli Scada Server inviano un set di variabili che Bravo può utilizzare per gestire entità rilevanti come Macchine e Operatori.
La variabile è la misura fisica della Macchina, come per esempio la pressione dell'olio, la temperatura dell'apparecchio, lo stato, il conteggio dei pezzi prodotti ...

Se è necessaria una connessione personalizzata con una Macchina IoT, per esempio perché è un macchinario non di recente produzione, quindi di difficile connessione con periferiche Scada Server recenti, è possibile creare un connettore generico con misure specifiche.
In questo caso è necessario creare un file JSON che contiene le variabili della Macchina IoT, che Bravo può utilizzare per gestire una comunicazione con la Macchina IoT.
In questo file JSON si possono definire un insieme di variabili utilizzate da Bravo per la manipolazione delle entità rilevate. Ciò consente di raccogliere dati per la rilevazione di dati di consuntivo di produzione dalla Macchina IoT su Bravo.

Indice

Che cos'è un Connettore IoT generico Bravo?

Il Connettore IoT generico consente di realizzare uno strumento di comunicazione personalizzato tra Macchina IoT e Bravo da impiegare integrato o in sostituzione ad un sistema di comunicazione Bravo IoT Connector e Alleantia/Zerynth Scada Server.
Il Connettore IoT generico comunica con Bravo inviando i valori dei segnali\variabili presi dalla relativa Macchina IoT connessa.
Questi segnali vengono poi analizzati ed elaborati da Bravo per la rilevazione dei dati di consuntivo di produzione.
Occorre definire un Connettore IoT generico per la definizione del tipo di interazione, che gestisca un insieme di variabili della Macchina IoT. 
Questo è fattibile con la creazione di un file JSON utilizzato per definire la struttura della Macchina IoT.

Configurazione di Bravo all'uso dei Connettori IoT generici

È sufficiente che Bravo sia correttamente installato ed avviato sul server delle rete aziendale.

La struttura di un file JSON di configurazione

Il file JSON contiene tutte le informazioni memorizzabili per il Connettore IoT generico.
Nel file JSON si possiamo trovare un set di dispositivi e ogni dispositivo contiene un diverso set di variabili. Per ogni dispositivo e variabile possiamo definire informazioni specifiche.
Il dispositivo rappresenta un controller fisico installato sulla Macchina IoT che genera segnali/variabili.
La variabile è una misura del dispositivo utilizzato da Bravo per la manipolazione dell'entità Bravo.
Per ogni dispositivo possiamo definire le seguenti informazioni:

  • ID: valore numerico che rappresenta la chiave di identificazione del dispositivo. Questo valore viene inserito nella tabella delle variabili del Connettore IoT generico;
  • NAME: valore stringa associato al dispositivo. Questo valore è riportato nella struttura dei dispositivi;
  • DESCRIPTION: valore stringa che contiene una descrizione dell'uso del dispositivo;
  • CATEGORY: valore stringa utilizzato per assegnare un tipo specifico al dispositivo. Questo valore è riportato sull'albero del dispositivo come un nodo dell'albero. In caso di valore non definito, Bravo imposta un valore generico;
  • VARIABLES: matrice di misura fisica. Per una corretta analisi JSON occorre ricordare di usare le parentesi quadre.

Per ogni variabile, è possibile definire le seguenti informazioni:

  • ID: valore numerico che rappresenta la chiave di identificazione della variabile del relativo dispositivo. Questo valore viene inserito nella tabella delle variabili del Connettore IoT generico. Su Bravo la chiave di identificazione variabile è composta da ID dispositivo e ID variabile;
  • NAME: valore stringa associato alla variabile. Questo valore è riportato nella tabella delle variabili;
  • TYPE: il valore della stringa contiene il tipo della variabile. Queste informazioni vengono utilizzate per verificare l'uso corretto di questa variabile su Bravo;
  • MINVALUE: in caso di valore di tipo double o float, possiamo definire un valore minimo della variabile. Il tipo di questi dati potrebbe essere lo stesso del tipo variabile;
  • MAXVALUE: è possibile impostare un valore massimo di variabile;
  • UNIT: valore stringa che indica l'unità di misura della variabile;
  • CATEGORY: valore stringa per la definizione della categoria variabile. Questo valore viene utilizzato da Bravo per la raccolta di variabili in categorie. Sulla creazione della policy possiamo usare un meccanismo di ricerca per categoria per la selezione della variabile del dispositivo. In caso di valore non definito, Bravo imposta un valore generico.

Il codice seguente mostra un file JSON demo. Possiamo trovare due diversi dispositivi, "Zapper v2" e "Joypad classic". Il primo dispositivo contiene cinque variabili e il secondo dispositivo contiene quattro variabili.

Immagine3.png

Il file JSON mostrato è un esempio di file che consente di gestire un Connettore IoT generico.
Uno Sviluppatore deve seguire questa struttura per la definizione del file JSON corretto per la creazione di un Connettore IoT generico.

Come creare un file JSON di configurazione

Per creare un nuovo Connettore IoT generico, dobbiamo creare un file JSON.
Nel paragrafo precedente è stato vista la struttura del file JSON. Alcune informazioni si possono omettere, ma in quei casi abbiamo una visualizzazione diversa nella pagina del Connettore IoT generico.
Uno Sviluppatore può creare un nuovo file JSON con un set di dispositivi che contiene un set di variabili.
Il file JSON è composto da una matrice di dispositivi. Quindi, dobbiamo definire una matrice di oggetti dispositivo.

Immagine4.png

Per ogni dispositivo dobbiamo definire le informazioni precedentemente definite (id, nome, descrizione, categoria, variabile).

Immagine5.png

Le variabili del dispositivo contengono una matrice di variabili. Per ogni variabile dobbiamo definire le informazioni necessarie (id, nome, tipo, minValue, maxValue, unità, categoria).

Immagine6.png

File JSON di esempio di configurazione

Il primo esempio usa un JSON corretto composto da un dispositivo con otto variabili. I valori di nome e categoria vengono visualizzati nella struttura dei dispositivi. Ogni variabile è contenuto nella tabella con nome, descrizione, dispositivo ID e variabile ID.

Immagine00001.png

In caso di mancanza di informazioni sul file JSON, Bravo utilizza il valore predefinito o archivia la stringa vuota. Ad esempio, se il nome del dispositivo non è definito sul Bravo, viene trovata un'etichetta vuota nella struttura del dispositivo.

Immagine00002.png

Nel seguente esempio non è definita la categoria del dispositivo. In questo caso abbiamo trovato un'etichetta "Generica" nella struttura dei dispositivi.

Immagine00003.png

Se l'ID del dispositivo non è definito, non si devono queste informazioni nella colonna della tabella delle variabili del dispositivo.

Immagine00004.png

Le variabili con informazioni incomplete sono mostrate in modalità diversa. Come le informazioni sul dispositivo, si vedono sulla tabella solo le informazioni sulle variabili definite. Nel caso seguente una variabile ha solo informazioni sul tipo e si ha una riga vuota sulla tabella delle misure.

Immagine00005.png

Il file JSON è composto da una matrice di dispositivi, quindi si debbono usare parentesi quadre.
Se queste parentesi sono state omesse, Bravo segnala un errore perché l'applicazione non è in grado di analizzare il file JSON specificato.

Immagine00006.png

Un altro errore che non consente all'utente di creare un nuovo Connettore IoT generico è rappresentato dal seguente caso. In questo esempio è presente una duplicazione dell'ID variabile sul file JSON specificato. Sul JSON di questo esempio sono definiti due dispositivi senza valore ID e su ciascun dispositivo è presente la stessa variabile con lo stesso ID. In questo caso l'applicazione non può differenziare le variabili.

Immagine00007.png

L'esempio seguente è un file JSON completo che Bravo può analizzare.
Per ogni esempio è presente una definizione di contenuto.
Esempio 1:
In questo esempio si può vedere un file JSON che contiene un dispositivo con otto variabili:

Immagine14.png

Per ogni variabile è definita una serie di informazioni necessarie. In questo caso viene omesso il valore di "categoria" e l'unità di misura è vuota. Bravo imposta un valore generico sul valore della categoria e un valore nullo per l'unità di misura.
Esempio 2:
In questo esempio ci sono due dispositivi con il nome "Zapper v2" e "Joypad classic".
Il dispositivo "Zapper v2" ha cinque variabili e il dispositivo "Joypad classic" ha quattro variabili.

Immagine15a.png

Gli esempi più rilevanti di variabile sono "Trigger sensor v2" del dispositivo "Zapper v2" o "Basic voltage v2" del dispositivo "Zapper v2".
La variabile "Trigger sensor v2" ha un valore (valore "type") con un valore compreso tra 0 o 100 (vedere "minValue" e "maxValue"). L'unità di misura della variabile (valore "unit") è "Point" e la "category" è "Buttons".
La variabile "Basic voltage v2" ha un valore con un intervallo da 0 a 12 con unità di misura simile a "V". La "category" è diversa dalla precedente categoria variabile. In questo caso la categoria di questa variabile è "Electric".

Nota

In allegato al presente articolo sono presenti dei file JSON di esempio.
I file JSON "JoypadN64" e "ZapperV2" sono completi.
Gli altri sono errati e mostrano un messaggio di errore in fase di creazione nuovo Connettore generico Bravo perché Bravo Manufacturing non riesce a parserizzare il file JSON.
 

Come censire un Connettore IoT generico su Bravo

Per censire l'anagrafica di un Connettore generico Bravo su Bravo Manufacturing seguire le indicazioni sotto riportate:

  1. aprire Bravo MES;
  2. nella pagina iniziale di Bravo MES premere sulla voce "configuration";
  3. premere sulla voce "CONNETTORI" nel menù laterale di sinistra;
  4. la scheda "CONNETTORI IOT" contiene l'anagrafica di gestione dei connettori IoT personalizzati per connettere le Macchine IoT a Bravo tramite le sue API;
  5. premere sul pulsante "+ Nuovo Connettore";
  6. compilare i campi: "Codice", "Nome" e "Descrizione" per censire l'anagrafica del Connettore IoT generico;
  7. selezionare nel relativo campo l'anagrafica della Macchina da associare al connettore;
  8. nel campo "Chiave esterna" viene generata automaticamente la chiave univoca che identifica il Connettore IoT generico per la raccolta dei segnali/variabili inviati dalla Macchina IoT collegata; questa chiave deve essere inserita nel software del Connettore IoT generico, in modo che il dato venga comunicato insieme ai segnali\variabili a Bravo. La chiave esterna viene generata automaticamente ad ogni nuovo inserimento di anagrafica Connettore IoT generico;
  9. premere sul pulsante di caricamento file nel campo "File di configurazione" e selezionare il file JSON. Nel caricamento del file, questo viene verificato e nel caso di errore di analisi, viene fornito un messaggio di avviso specifico. Il valore della chiave esterna è generato automaticamente da Bravo e questa stringa è un token utilizzato da Bravo per l'identificazione della Macchina IoT. Al caricamento del file JSON viene attivata una funzione di validazione che tenta di analizzare il JSON. In caso di successo, Bravo non segnala avvisi, in caso contrario se l'applicazione non è in grado di analizzare il dato, segnala con un avviso la causa dell'operazione di analisi non riuscita;
  10. premere sul pulsante "Apri";
  11. premere sul pulsante "Salva" per confermare l'inserimento dell'anagrafica del Connettore IoT generico.
Immagine01.png

I dati dei Connettori IoT generici censiti su Bravo sono salvati nel relativo database.
Sulla tabella BM_Connectors si possono trovare il numero di Connettore IoT generico e le informazioni specifiche di ciascun connettore nella tabella BM_GenericConnectors.
Nella tabella BM_GenericConnectors è possibile trovare l'inserimento dei dati nel modulo Connettore generico, includendo il percorso del file ExternalKey e JSON.
Nelle tabelle BM_GenericDevices e BM_GenericDeviceVariables si possono trovare le informazioni sui dispositivi e sulle variabili dei connettori generici definiti in precedenza.
In queste tabelle si trovano i dati del file JSON utilizzato per creare ogni connettore generico.
Per ogni dispositivo e variabile possiamo vedere i seguenti dati: id (nella colonna ExternalKey), nome, descrizione, categoria e altre informazioni.

Come usare un Connettore IoT generico su Bravo

Un Connettore IoT generico viene utilizzato per configurare e collegare a Bravo una Macchina IoT.
Dopo aver realizzato il software del Connettore IoT generico, generato il file JSON e censito la relativa anagrafica su Bravo  è possibile configurarlo per la raccolta ed elaborazione dei segnali\variabili seguendo le indicazioni riportate nella Guida introduttiva alla raccolta dati da Macchine IoT, dove al posto di selezionare un Alleantia/Zerynth Scada Server si seleziona il Connettore IoT generico.

 

Altre domande? Invia una richiesta

Commenti

Powered by Zendesk