Módulo receptor UDP "fmudp"
Descripción
El módulo 'fmudp' proporciona un socket UDP. Por lo general se utiliza con el módulo fmproducer, que extrae adecuadamente los datos "en bruto" de los paquetes UDP y los produce en canales. (No obstante, en principio también es posible utilizar, por ejemplo, un módulo receptor "dbc", es decir, especificar los canales como archivo DBC de bus CAN, ...)
Interfaces y protocolos utilizados
- Comunicación de red UDP
Configuración JSON
En la siguiente sección se describe la configuración JSON completa del módulo y se explican los distintos parámetros.
Configuración de ejemplo (configuración para un único formato de paquete UDP)
Si se debe recibir un único formato de paquete UDP, solo es necesario definir el registro de las funciones o módulos Fast Message Receiver independientemente de la identificación.
Normalmente esto se hace de forma distinta para cada módulo Fast Message Receiver.
Sin embargo, si, como en el ejemplo, se utiliza un módulo fmproducer, esta definición puede hacerse mediante el parámetro "messageKey": 0).
{
"module":"UDP",
"factory":"fmudp",
"config":{
"port":12345
}
},
{
"module":"Producer",
"factory":"fmproducer",
"config":{
"fmd":"UDP",
"channelPrefix":"UDP",
"channels":[
{
"name":"Some Channel Name",
"dataType":"int8",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":0,
"bitOffset":0,
"bitLength":8,
"imageType":"signed"
},
[...]
]
},
Configuración de ejemplo (configuración para varios formatos de paquete UDP distintos)
Si, por el contrario, se deben recibir paquetes UDP con formatos distintos, es necesario que estos contengan un área común para la transmisión de una clave de identificación (key).
Esta área debe configurarse en el módulo fmudp.
Además, todas las funciones/módulos receptores (eventualmente por canal) deben configurarse con los valores correspondientes de la clave de identificación (definidos en el siguiente ejemplo en cada caso en messageKey).
{
"module":"UDP",
"factory":"fmudp",
"config":{
"port":12345,
"keyBitOffset":0,
"keyBitLength":32,
"keyByteOrder":"bigendian"
}
},
{
"module":"Producer",
"factory":"fmproducer",
"config":{
"fmd":"UDP",
"channelPrefix":"UDP",
"channels":[
{
"name":"Some Channel from Message Format 1 (42) Name",
"dataType":"int8",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":42,
"bitOffset":32,
"bitLength":8,
"imageType":"signed"
},
{
"name":"Some Channel from Message Format 2 (43) Name",
"dataType":"double",
"scale":1,
"offset":0,
"physicalUnit":"",
"messageKey":43,
"bitOffset":32,
"bitLength":64,
"imageType":"float"
},
[...]
]
},
Parámetros globales del módulo
| Nombre del parámetro | Obligatorio | Tipo de datos | Rango de valores razonable | Valor predeterminado | Descripción |
|---|---|---|---|---|---|
| fmd | No | STRING | Nombre de la instancia del módulo (especificado en la sección de configuración en module) | Nombre del Fast Message Dispatcher proporcionado para conectar un Fast Message Receiver (como, por ejemplo, un módulo fmproducer) | |
| priority | No | INT | 20 - 80 | 80 | Prioridad del hilo del bucle de consulta |
| port | SÍ | INT16 | 0 - 65535 | Puerto UDP para la recepción de paquetes | |
| keyBitOffset | No | INT | dentro de la longitud del paquete UDP | 0 | Desplazamiento de la clave de identificación, si los distintos paquetes UDP deben interpretarse de forma diferente |
| keyBitLength | No | INT | de modo que keyBitOffset + keyBitLength quede dentro del paquete UDP | 0 | Longitud de la clave de identificación, si los distintos paquetes UDP deben interpretarse de forma diferente |
| keyByteOrder | No | STRING | "bigendian", "littleendian" | "bigendian" | Orden de los bytes de la clave de identificación |
Información del módulo
| Información | Valor |
|---|---|
| Autores | optiMEAS GmbH |
| desde smartCORE | 0.103 |
| Tipo de módulo | Producer (Dispatcher) |
| Dependencias | Fast Message Receiver |