OSF UDP Streamer
Descrizione
Il modulo "osfudpstreamer" consuma i dati dei canali e li invia sotto forma di pacchetti UDP attraverso la rete.
Interfacce e protocolli utilizzati
- OSF UDP Stream Format
- formato di file OSF 4
Configurazione JSON
La sezione seguente descrive l'intera configurazione JSON del modulo e illustra i singoli parametri.
Configurazione di esempio (minima)
Di seguito è riportata una configurazione di esempio di OSF UDP Streamer:
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"time":300000,
"streamLastSampleOnly":true
}
}
Configurazione di esempio (massima)
Di seguito è riportata una configurazione di esempio di OSF UDP Streamer:
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"maxPacketSize":64000,
"pollingInterval":1000,
"samplesPerConsume":1024,
"senderAddress":"192.168.0.1",
"receiverAddresses":[
"192.168.0.2",
"192.168.0.3"
],
"channels":[
"SomeChannel",
"SomeChannelPrefix*"
],
"time":300000,
"streamLastSampleOnly":true,
"refreshIntervalMs":60000
}
}
Parametri globali del modulo
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori consigliato | Default | Descrizione |
|---|---|---|---|---|---|
| port | SÌ | UINT16 | N/A | Porta UDP per la trasmissione OSF | |
| maxPacketSize | No | UINT16 | 64000 | Dimensione massima dei pacchetti UDP risultanti | |
| pollingInterval | No | INT | 1 - | 1000 | Intervallo di polling [ms] |
| samplesPerConsume | No | INT | 1 - | 1024 | Numero massimo di campioni consumati per intervallo di polling |
| senderAddress | No | STRING | TUTTE le interfacce | Indirizzo IP assegnato all'interfaccia utilizzata per l'invio | |
| receiverAddresses | No | ARRAY [ STRING ] | Broadcast | Elenco degli indirizzi dei destinatari | |
| channels | No | ARRAY [ STRING ] | [ "*" ] | JSON Array dei nomi dei canali trasmessi come stringa | |
| time | No | INT | 1 - | 300000 (5 min) | intervallo di tempo massimo approssimativo [ms] prima che l'header OSF venga trasmesso nuovamente |
| streamLastSampleOnly | No | BOOL | true, false | true | Trasmette soltanto l'ultimo campione consumato (ad es. per la visualizzazione live) |
| refreshIntervalMs | No | INT | 1 - | 60000 (60 s) | Nuovo invio di valori identici allo scadere di un intervallo, se il relativo timestamp attendibile è stato aggiornato |
Nei nomi dei canali specificati possono essere utilizzate espressioni regolari nella notazione semplificata, ovvero '?' (sostituisce un singolo carattere) oppure '*' (sostituisce una stringa di lunghezza qualsiasi).
Descrizione dell'OSF Stream
Si distingue tra i seguenti tipi di pacchetti UDP
- lunghezza dell'header UDP OSF (di seguito "OSF40")
- sezione di header UDP OSF (di seguito "OSF41")
- sezione di dati UDP OSF (di seguito "OSF42")
Nell'ambito della trasmissione periodica dell'header OSF vengono trasmessi dapprima un solo pacchetto OSF40, seguito per lo più da più pacchetti OSF41. Nell'ambito della trasmissione dei blocchi di dati OSF vengono trasmessi pacchetti OSF42.
Osservazioni:
- Tutti i valori multibyte sono codificati in Big Endian nel formato OSF Stream.
- All'interno del formato OSF contenuto, invece, i valori multibyte sono codificati - come di consueto - in Little Endian.
L'appartenenza e l'identificazione dei pacchetti di header e di dati avviene tramite il timestamp all'avvio del funzionamento di misura.
Le singole sezioni di header sono numerate in ordine crescente da 0, ..., (numero di pacchetti)-1, in modo da poter garantire una trasmissione completa.
Descrizione dei pacchetti UDP dell'OSF Stream
Questi pacchetti UDP sono definiti come segue:
Lunghezza dell'header UDP OSF (OSF40)
| Identificatore OSF 4 | Tipo di pacchetto | Identificazione/timestamp | Lunghezza dei dati | Dati |
|---|---|---|---|---|
| 4 byte | 1 byte | 8 byte | 16 byte unsigned | DATA_SZ byte unsigned |
| "OSF4" | "0" | Avvio del funzionamento di misura | DATA_SZ | Numero di pacchetti OSF41 successivi |
Sezione di header UDP OSF (OSF41)
| Identificatore OSF 4 | Tipo di pacchetto | Identificazione/timestamp | Lunghezza dei dati | Dati | Dati |
|---|---|---|---|---|---|
| 4 byte | 1 byte | 8 byte | 16 byte unsigned | 4 byte unsigned | (DATA_SZ - 4) byte |
| "OSF4" | "1" | Avvio del funzionamento di misura | DATA_SZ | Indice della sezione di header OSF | Contenuto della sezione di header OSF |
Sezione di dati UDP OSF (OSF42)
| Identificatore OSF 4 | Tipo di pacchetto | Identificazione/timestamp | Lunghezza dei dati | Dati |
|---|---|---|---|---|
| 4 byte | 1 byte | 8 byte | 16 byte unsigned | DATA_SZ byte |
| "OSF4" | "2" | Avvio del funzionamento di misura | DATA_SZ | Contenuto della sezione di dati OSF |
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 0.88 |
| Tipo di modulo | Consumer |
| Dipendenze | NESSUNA |