Modulo ricevitore UDP "fmudp"
Descrizione
Il modulo 'fmudp' mette a disposizione un socket UDP. Viene utilizzato in generale insieme al modulo fmproducer, che estrae in modo appropriato i dati "grezzi" dei pacchetti UDP e li produce in canali. (In linea di principio è tuttavia possibile utilizzare anche, ad es., un modulo ricevitore "dbc", cioè specificare i canali come file DBC del CAN bus, ...)
Interfacce e protocolli utilizzati
- Comunicazione di rete UDP
Configurazione JSON
Nella sezione seguente viene descritta l'intera configurazione JSON del modulo e vengono illustrati i singoli parametri.
Configurazione di esempio (configurazione per un unico formato di pacchetto UDP)
Se deve essere ricevuto un unico formato di pacchetto UDP, è sufficiente stabilire la registrazione delle funzioni o dei moduli Fast Message Receiver indipendentemente dall'identificazione.
Questo avviene in genere in modo diverso per ciascun modulo Fast Message Receiver.
Se invece, come nell'esempio, viene utilizzato un modulo fmproducer, tale impostazione può essere effettuata tramite il parametro "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"
},
[...]
]
},
Configurazione di esempio (configurazione per più formati di pacchetto UDP diversi)
Se invece devono essere ricevuti pacchetti UDP con formati diversi, è necessario che questi contengano un'area comune per la trasmissione di una chiave di identificazione (key).
Questa area deve essere configurata nel modulo fmudp.
Inoltre tutte le funzioni/i moduli Receiver devono essere configurati (eventualmente per canale) con i valori corrispondenti della chiave di identificazione (nell'esempio seguente definiti ciascuno in 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"
},
[...]
]
},
Parametri globali del modulo
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori sensato | Valore predefinito | Descrizione |
|---|---|---|---|---|---|
| fmd | No | STRING | Nome dell'istanza del modulo (specificato nella sezione di configurazione in module) | Nome del Fast Message Dispatcher messo a disposizione per il collegamento di un Fast Message Receiver (ad es. un modulo fmproducer) | |
| priority | No | INT | 20 - 80 | 80 | Priorità del thread del ciclo di interrogazione |
| port | SÌ | INT16 | 0 - 65535 | Porta UDP per la ricezione dei pacchetti | |
| keyBitOffset | No | INT | all'interno della lunghezza del pacchetto UDP | 0 | Offset della chiave di identificazione, se pacchetti UDP diversi devono essere interpretati in modo diverso |
| keyBitLength | No | INT | tale che keyBitOffset + keyBitLength rientri nel pacchetto UDP | 0 | Lunghezza della chiave di identificazione, se pacchetti UDP diversi devono essere interpretati in modo diverso |
| keyByteOrder | No | STRING | "bigendian", "littleendian" | "bigendian" | Ordine dei byte della chiave di identificazione |
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 0.103 |
| Tipo di modulo | Producer (Dispatcher) |
| Dipendenze | Fast Message Receiver |