Modulo TRDP "trdp"
Descrizione
Il modulo trdp riceve tramite un'interfaccia di rete i telegrammi del Train Real-time Data Protocol (TRDP) secondo IEC 61375-2-3. Elabora esclusivamente messaggi di tipo Process Data (PD) e ne mette a disposizione i dati utili, tramite il Fast Message Dispatcher (FMD), al modulo fmproducer per l'ulteriore estrazione dei segnali.
Il modulo opera esclusivamente come subscriber TRDP (sink): legge passivamente i dati di processo ciclici e non invia esso stesso alcun telegramma TRDP. In questo modo il traffico dati tra le unità di controllo del veicolo (ad es. controlli porte, impianti di climatizzazione, controlli di trazione) può essere utilizzato per il monitoraggio dello stato e la diagnostica, senza interferire con la comunicazione del veicolo.
L'acquisizione dei pacchetti avviene direttamente a livello 2 tramite PcapPlusPlus, in modo che i gruppi multicast TRDP possano essere ascoltati su qualsiasi interfaccia di rete. Dall'header TRDP viene estratto il ComID, che viene passato al dispatcher come messageKey. L'fmproducer può così sottoscrivere in modo mirato messaggi di determinati ComID ed estrarre singoli segnali dall'area dei dati utili.

La porta UDP standard per i TRDP Process Data (PD) è 17224 (secondo IEC 61375-2-3).
Collegamento di rete
Il percorso standard è il collegamento diretto di smartCORE alla rete del veicolo o del convoglio, sulla quale il modulo riceve i telegrammi TRDP come normale partecipante di rete. Se invece si desidera osservare una singola connessione in modo fisicamente non intrusivo e con isolamento galvanico, senza che smartCORE stesso compaia come partecipante di rete, è possibile anteporre facoltativamente un TAP Ethernet smartIO. In entrambi i casi il modulo trdp elabora i telegrammi letti in modo identico.
Gli offset di bit nell'fmproducer devono essere indicati relativamente all'inizio dei dati utili (dopo l'header TRDP di 40 byte), non all'inizio dell'intero telegramma.
Interfacce e protocolli utilizzati
- Train Real-time Data Protocol (TRDP), IEC 61375-2-3 — Process Data (PD)
- Fast Message Dispatching
Configurazione JSON
La sezione seguente descrive la configurazione JSON del modulo.
Configurazione di esempio (minima)
{
"module": "TRDP",
"factory": "trdp",
"config": {
"networkInterface": "eth0",
"trafficFilter": [
{ "port": 17224, "groupAddress": "239.255.0.1" }
]
}
}
Configurazione di esempio (con fmproducer, più gruppi multicast)
Il modulo trdp funge da sorgente di dati per l'fmproducer. Nel parametro fmd dell'fmproducer viene inserito il nome dell'istanza del modulo TRDP (qui: "TRDP"). Come messageKey serve in ogni caso il ComID dall'header TRDP.
{
"plugins": ["trdp", "fmproducer"],
"modules": [
{
"module": "TRDP",
"factory": "trdp",
"config": {
"networkInterface": "eth0",
"trafficFilter": [
{ "port": 17224, "groupAddress": "192.168.0.6", "joinGroup": true },
{ "port": 17224, "groupAddress": "192.168.0.5" }
]
}
},
{
"module": "fmproducer_trdp",
"factory": "fmproducer",
"config": {
"fmd": "TRDP",
"byteOrder": "BigEndian",
"channels": [
{
"name": "trdp.speed",
"messageKey": 45056,
"bitOffset": 144,
"bitLength": 16,
"imageType": "unsigned",
"scale": 1.0,
"offset": 0.0,
"physicalUnit": "km/h"
},
{
"name": "trdp.speed_scaled",
"messageKey": 45056,
"bitOffset": 144,
"bitLength": 16,
"imageType": "unsigned",
"scale": 0.1,
"offset": 2.2,
"physicalUnit": "km/h"
}
]
}
}
]
}
Parametri globali del modulo
| Nome del parametro | Obbligatorio | Tipo di dati | Intervallo di valori | Default | Descrizione |
|---|---|---|---|---|---|
| networkInterface | No | STRING | "eth0" | Nome dell'interfaccia di rete per l'acquisizione dei pacchetti | |
| pollingIntervalMs | No | INT | 100 – 2000 | 1000 | Intervallo del timer in millisecondi |
| trafficFilter | No1 | ARRAY | Elenco di coppie porta/indirizzo multicast (consigliato) | ||
| port | No1 | INT | 0 – 65535 | Obsoleto — porta UDP; utilizzare trafficFilter | |
| groupAddress | No1 | STRING | Obsoleto — indirizzo multicast IPv4; utilizzare trafficFilter |
Configurazione di una voce trafficFilter
| Nome del parametro | Obbligatorio | Tipo di dati | Default | Descrizione |
|---|---|---|---|---|
| port | SÌ | INT | Porta UDP di destinazione del flusso multicast TRDP (standard secondo IEC 61375-2-3: 17224) | |
| groupAddress | SÌ | STRING | Indirizzo multicast IPv4 del flusso TRDP | |
| joinGroup | No | BOOL | false | Aderire attivamente al gruppo multicast tramite IGMP (vedere sotto) |
Per impostazione predefinita il modulo filtra soltanto il traffico che comunque arriva sull'interfaccia di rete: non invia esso stesso alcun IGMP join. Ciò è sufficiente se lo switch inonda di traffico multicast oppure se l'interfaccia legge il traffico tramite una mirror port o un TAP Ethernet. Se invece lo switch è configurato con IGMP snooping, inoltra il gruppo multicast solo alle interfacce che vi hanno aderito attivamente: in questo caso impostare joinGroup: true per la relativa voce trafficFilter, in modo che smartCORE venga registrato come ricevitore tramite IGMP.
Note sulla configurazione di fmproducer
I telegrammi TRDP vengono sempre trasmessi in formato Big-Endian. Nell'fmproducer corrispondente occorre quindi impostare globalmente "byteOrder": "BigEndian".
Il ComID dell'header TRDP serve come messageKey nell'fmproducer. Gli offset di bit (bitOffset) si riferiscono all'inizio dell'area dei dati utili (dopo l'header TRDP di 40 byte).

Ulteriori informazioni sull'estrazione dei canali (imageType, bitOffset, bitLength, addressSpec ecc.) sono descritte nella documentazione di fmproducer.
Informazioni sul modulo
| Informazione | Valore |
|---|---|
| Autori | optiMEAS GmbH |
| da smartCORE | 2.11 |
| Tipo di modulo | Producer (Dispatcher) |
| Dipendenze | fmproducer |