OSF UDP Streamer
Descripción
El módulo "osfudpstreamer" consume datos de canal y los envía por la red en forma de paquetes UDP.
Interfaces y protocolos utilizados
- Formato OSF UDP Stream
- Formato de archivo OSF 4
Configuración JSON
En la sección siguiente se describe la configuración JSON completa del módulo y se explican los distintos parámetros.
Configuración de ejemplo (mínima)
A continuación se muestra una configuración de ejemplo del OSF UDP Streamer:
{
"module":"OSFUDPStreamer",
"factory":"osfudpstreamer",
"config":{
"port":12345,
"time":300000,
"streamLastSampleOnly":true
}
}
Configuración de ejemplo (máxima)
A continuación se muestra una configuración de ejemplo del 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
}
}
Parámetros globales del módulo
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor por defecto | Descripción |
|---|---|---|---|---|---|
| port | SÍ | UINT16 | N/A | Puerto UDP para la transmisión OSF | |
| maxPacketSize | No | UINT16 | 64000 | Tamaño máximo de los paquetes UDP resultantes | |
| pollingInterval | No | INT | 1 - | 1000 | Intervalo de sondeo [ms] |
| samplesPerConsume | No | INT | 1 - | 1024 | Número máx. de muestras consumidas por intervalo de sondeo |
| senderAddress | No | STRING | TODAS las interfaces | Dirección IP asignada a la interfaz utilizada para el envío | |
| receiverAddresses | No | ARRAY [ STRING ] | Broadcast | Lista de direcciones de destinatarios | |
| channels | No | ARRAY [ STRING ] | [ "*" ] | Array JSON de los nombres de canal transmitidos como cadenas | |
| time | No | INT | 1 - | 300000 (5 min) | intervalo de tiempo máximo aproximado [ms] antes de volver a transmitir la cabecera OSF |
| streamLastSampleOnly | No | BOOL | true, false | true | Transmitir únicamente la última muestra consumida (p. ej., para la vista en directo) |
| refreshIntervalMs | No | INT | 1 - | 60000 (60 s) | Nuevo envío de valores iguales tras transcurrir un intervalo, si se ha actualizado su marca de tiempo fiable asociada |
En los nombres de canal especificados pueden utilizarse expresiones regulares en la notación simplificada, es decir, '?' (sustituye un solo carácter) o '*' (sustituye una cadena de cualquier longitud).
Descripción del OSF Stream
Aquí se distingue entre los siguientes tipos de paquetes UDP
- Longitud de cabecera OSF UDP (en lo sucesivo "OSF40")
- Sección de cabecera OSF UDP (en lo sucesivo "OSF41")
- Sección de datos OSF UDP (en lo sucesivo "OSF42")
En la transmisión periódica de la cabecera OSF se transmite primero un único paquete OSF40, seguido de varios paquetes OSF41 en la mayoría de los casos. En la transmisión de bloques de datos OSF se transmiten paquetes OSF42.
Observaciones:
- Todos los valores de varios bytes están codificados en Big Endian en el formato OSF Stream.
- Dentro del formato OSF contenido, en cambio, los valores de varios bytes se codifican, como es habitual, en Little Endian.
La pertenencia mutua/identificación de los paquetes de cabecera y de datos se realiza mediante la marca de tiempo del momento de la medición.
Las distintas secciones de cabecera están numeradas de forma ascendente de 0, ..., (número de paquetes)-1, de modo que se pueda garantizar una transmisión completa.
Descripción de los paquetes UDP del OSF Stream
Estos paquetes UDP se definen de la siguiente manera:
Longitud de cabecera OSF UDP (OSF40)
| Identificador OSF 4 | Tipo de paquete | Identificación/marca de tiempo | Longitud de datos | Datos |
|---|---|---|---|---|
| 4 bytes | 1 byte | 8 bytes | 16 bytes sin signo | DATA_SZ bytes sin signo |
| "OSF4" | "0" | Inicio de la medición | DATA_SZ | Número de paquetes OSF41 siguientes |
Sección de cabecera OSF UDP (OSF41)
| Identificador OSF 4 | Tipo de paquete | Identificación/marca de tiempo | Longitud de datos | Datos | Datos |
|---|---|---|---|---|---|
| 4 bytes | 1 byte | 8 bytes | 16 bytes sin signo | 4 bytes sin signo | (DATA_SZ - 4) bytes |
| "OSF4" | "1" | Inicio de la medición | DATA_SZ | Índice de la sección de cabecera OSF | Contenido de la sección de cabecera OSF |
Sección de datos OSF UDP (OSF42)
| Identificador OSF 4 | Tipo de paquete | Identificación/marca de tiempo | Longitud de datos | Datos |
|---|---|---|---|---|
| 4 bytes | 1 byte | 8 bytes | 16 bytes sin signo | DATA_SZ bytes |
| "OSF4" | "2" | Inicio de la medición | DATA_SZ | Contenido de la sección de datos OSF |
Información del módulo
| Información | Valor |
|---|---|
| Autores | optiMEAS GmbH |
| desde smartCORE | 0.88 |
| Tipo de módulo | Consumer |
| Dependencias | NINGUNA |