Sei sulla pagina 1di 7

Conteggio dei client con Cirrus Link Distributor Module

Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

Conteggio dei client con Cirrus Link Distributor Module

Introduzione

Questo documento descrive la modalità di conteggio dei client nel Modulo Distributor, e quali
configurazioni del modulo Trasmission ed Engine possano influenzarlo. Spiega inoltre come i tag vengono
identificati per essere pubblicati e la struttura dei topic su cui verranno pubblicati.

Modulo Cirrus Link Distributor

Il modulo di Cirrus Link Distributor è disponibile a listino in due formati: la versione Standard supporta un
massimo di 50 client contemporanei, Mentre la Plus ha un limite di 250 connessioni contemporanee.

MQTT Distributor MAX client contemporanei Listino online Inductive 2022


Standard 50 € 3.125
Plus 250 € 4.500

Quando un client MQTT si connette al server trasmette degli EdgeNodeID in base alla sua configurazione
Sparkplug o, se assente, in base alla struttura delle cartelle che rileva sul tag provider.

Il numero di Edge Node ID determina direttamente il numero di client conteggiati dal server.

Questo conteggio è visibile nel Designer, visionando il tag provider legato al modulo Distributor. Il tag path
è: [MQTT Distributor]Distributor Info/Connected Clients

Per questo è importante conoscere come configurare il modulo Trasmission in modo che non consumi in
modo errato i client.

Specifica Sparkplug

Tutti i client MQTT che usano la specifica Sparkplug pubblicheranno dei messaggi MQTT consistenti in un
topic ed un payload. Per la specifica Sparkplug B, usata dal Modulo Transmission, la struttura del topic è
definita nel seguente modo

spBv1.0/GROUP_ID/VERB/EDGE_NODE_ID/DEVICE_ID

Pag. 1 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

• GROUP_ID:rappresenta un raggruppamento logico di Edge nodes. Un esempio potrebbe


essere una sede aziendale, un edificio, o un reparto.
• VERB: fornisce un’indicazione su come debba essere trattato il payload del messaggio, ad
esempio se questo sia un messaggio di birth, death, data o command.
• EDGE_NODE_ID: questo è il nome del nodo Edge, spesso è il nome dato all’istanza server su
cui è installato il modulo Transmission.
• DEVICE_ID: è il nome del dispositivo che è collegato all’istanza di Ignition. Questo può essere
un PLC o un raggruppamento logico di tags che rappresentano un dispositivo connesso.

I topic MQTT sono assimilabili ad indirizzi di differenti dispositivi in una rete, e pertanto la
combinazione di GROUP_ID e EDGE_NODE_ID deve essere univoca
Pertanto sarà possibile avere lo stesso GROUP_ID a condizione che l’EDGE_NODE_ID sia unico.

Configurazione del Modulo Transmission


Il modulo MQTT Trasmission rileva automaticamente le tags nel tag provider di Ignition o Ignition Edge e le
pubblica ad ogni cambio di valore sul server MQTT. La maniera con cui le tag vengono pubblicate dipende
interamente da una combinazione delle configurazioni del Transmitter e dalla disposizione delle tags nelle
cartelle del tag provider.

Il modulo Transmitter è configurato per leggere da uno specifico Tag provider e, opzionalmente, da un
percorso tag.

OGNI cartella nel percorso tag viene considerata un GROUP_ID ed ogni ulteriore sottocartella viene
considerata un EDGE_NODE_ID. Con lo stesso principio, ogni ulteriore sottocartella sarà interpretata come
un DEVICE_ID.

Ogni EdgeNodeID rilevato genererà una connessione client MQTT, pertanto se la struttura delle
tags è costituita di cartelle multiple esse verranno identificate come Edge Node IDs ed una
configurazione Transmitter potrebbe consumare più clients sul server MQTT.

Vediamo alcuni casi con il topic corrispondente:

SINGOLO CLIENT

topic: spBv1.0/Facility1/DDATA/Line1/PLC1

SINGOLO CLIENT DUE DEVICE

Topics: spBv1.0/Facility1/DDATA/Line1/PLC1

Pag. 2 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

spBv1.0/Facility1/DDATA/Line1/PLC2

DOPPIO CLIENT SINGOLO DEVICE

Topics: spBv1.0/Facility1/DDATA/Line1/PLC1

spBv1.0/Facility1/DDATA/Line1/PLC2

spBv1.0/Facility1/DDATA/Line2/PLC1

spBv1.0/Facility1/DDATA/Line2/PLC2

Utilizzo del modulo Cirrus link ENGINE connesso al modulo Distributor

Attenzione: quando viene connesso il modulo Engine viene consumato un altro client!

Pag. 3 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

Modulo Transmission: utilizzo della funzionalità di scripting

Attenzione: quando viene abilitata la funzione RCP MQTT viene consumato un altro client!

Pag. 4 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

Utilizzo delle configurazioni Sparkplug sul Transmitter


Se la gerarchia delle cartelle dei tag non consente al modulo MQTT Transmitter di creare dinamicamente il
GROUP_ID Sparkplug e l’EDGE_ID richiesti, sarà necessario definirli esplicitamente nella sezione Settings del
modulo Transmitter. Una volta configurati, questi elementi sostituiranno gli ID Sparkplug che altrimenti
verrebbero prelevati dinamicamente dalla struttura delle cartelle.

In questo caso partiamo dalla medesima struttura di cartelle che avevamo lasciato nel caso di due client
connessi ovvero:

Se nella configurazione del modulo Transmitter modifichiamo la sezione Sparkplug settings ed indichiamo
dei valori per il Group ID e l’ Edge Node ID

Quando salviamo le impostazioni il numero di client connessi si riduce ad uno.

Pag. 5 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

La configurazione risultante nel modulo Engine, quando connesso al Distributor per la ricezione dei dati,
mostrerà la seguente struttura

Come si vede la struttura delle cartelle viene poi utilizzata per la costruzione del percorso: per evitare
questo fenomeno dobbiamo specificare nella configurazione del Transmitter il livello della cartella in cui
vogliamo che il sistema automaticamente identifichi i device:

Il risultato, lato modulo Engine sarà il seguente:

Pag. 6 di 7
Conteggio dei client con Cirrus Link Distributor Module
Autore: Francesco Manca– Versione: 1.0 – Ultima modifica: 23/09/2022

Documentazione

https://docs.chariot.io/display/CLD80/MQTT+Transmission+Transmitters+and+Tag+Trees

Pag. 7 di 7

Potrebbero piacerti anche