OSF UDP Streamer
Description
Le module « osfudpstreamer » consomme des données de canal et les envoie sur le réseau sous forme de paquets UDP.
Interfaces et protocoles utilisés
- Format de flux OSF UDP (OSF UDP Stream Format)
- Format de fichier OSF 4
Configuration JSON
La section suivante décrit l'intégralité de la configuration JSON du module et explique chacun des paramètres.
Exemple de configuration (minimale)
Voici un exemple de configuration de l'OSF UDP Streamer :
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"time":300000,
"streamLastSampleOnly":true
}
}
Exemple de configuration (maximale)
Voici un exemple de configuration de l'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
}
}
Paramètres globaux du module
| Nom du paramètre | Obligatoire | Type de données | Plage de valeurs utile | Défaut | Description |
|---|---|---|---|---|---|
| port | OUI | UINT16 | N/A | Port UDP pour la transmission OSF | |
| maxPacketSize | Non | UINT16 | 64000 | Taille maximale des paquets UDP résultants | |
| pollingInterval | Non | INT | 1 - | 1000 | Intervalle d'interrogation (polling) [ms] |
| samplesPerConsume | Non | INT | 1 - | 1024 | Nombre max. d'échantillons (samples) consommés par intervalle d'interrogation |
| senderAddress | Non | STRING | TOUTES les interfaces | Adresse IP attribuée à l'interface utilisée pour l'envoi | |
| receiverAddresses | Non | ARRAY [ STRING ] | Broadcast | Liste des adresses de destinataires | |
| channels | Non | ARRAY [ STRING ] | [ "*" ] | Tableau JSON des noms de canaux transmis, sous forme de chaîne | |
| time | Non | INT | 1 - | 300000 (5 min) | intervalle de temps maximal approximatif [ms] avant que l'en-tête OSF soit de nouveau transmis |
| streamLastSampleOnly | Non | BOOL | true, false | true | Ne transmettre que le dernier échantillon consommé (p. ex. pour une vue en direct) |
| refreshIntervalMs | Non | INT | 1 - | 60000 (60 s) | Nouvel envoi de valeurs identiques à l'expiration d'un intervalle, si l'horodatage fiable associé a été mis à jour |
Pour les noms de canaux spécifiés, des expressions régulières en notation simplifiée peuvent être utilisées, c'est-à-dire '?' (remplace un seul caractère) ou '*' (remplace une chaîne de caractères de longueur quelconque).
Description du flux OSF
On distingue ici les types de paquets UDP suivants
- longueur d'en-tête OSF UDP (ci-après « OSF40 »)
- section d'en-tête OSF UDP (ci-après « OSF41 »)
- section de données OSF UDP (ci-après « OSF42 »)
Dans le cadre de la transmission périodique de l'en-tête OSF, un unique paquet OSF40 est d'abord transmis, suivi le plus souvent de plusieurs paquets OSF41. Lors de la transmission des blocs de données OSF, des paquets OSF42 sont transmis.
Remarques :
- Toutes les valeurs multi-octets sont encodées en Big Endian dans le format de flux OSF.
- Au sein du format OSF contenu, en revanche, les valeurs multi-octets sont encodées - comme d'habitude - en Little Endian.
L'appartenance / l'identification des paquets d'en-tête et de données s'effectue à l'aide de l'horodatage du moment du fonctionnement de mesure.
Les différentes sections d'en-tête sont numérotées par ordre croissant de 0, ..., (nombre de paquets)-1, de sorte qu'une transmission complète puisse être garantie.
Description des paquets UDP du flux OSF
Ces paquets UDP sont définis comme suit :
Longueur d'en-tête OSF UDP (OSF40)
| Identifiant OSF 4 | Type de paquet | Identification / horodatage | Longueur des données | Données |
|---|---|---|---|---|
| 4 octets | 1 octet | 8 octets | 16 octets non signés | DATA_SZ octets non signés |
| "OSF4" | "0" | Début du fonctionnement de mesure | DATA_SZ | Nombre de paquets OSF41 suivants |
Section d'en-tête OSF UDP (OSF41)
| Identifiant OSF 4 | Type de paquet | Identification / horodatage | Longueur des données | Données | Données |
|---|---|---|---|---|---|
| 4 octets | 1 octet | 8 octets | 16 octets non signés | 4 octets non signés | (DATA_SZ - 4) octets |
| "OSF4" | "1" | Début du fonctionnement de mesure | DATA_SZ | Index de la section d'en-tête OSF | Contenu de la section d'en-tête OSF |
Section de données OSF UDP (OSF42)
| Identifiant OSF 4 | Type de paquet | Identification / horodatage | Longueur des données | Données |
|---|---|---|---|---|
| 4 octets | 1 octet | 8 octets | 16 octets non signés | DATA_SZ octets |
| "OSF4" | "2" | Début du fonctionnement de mesure | DATA_SZ | Contenu de la section de données OSF |
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 0.88 |
| Type de module | Consumer |
| Dépendances | AUCUNE |