Module TRDP « trdp »
Description
Le module trdp reçoit, via une interface réseau, des télégrammes du Train Real-time Data Protocol (TRDP) conformément à IEC 61375-2-3. Il ne traite que les messages de type Process Data (PD) et met leurs données utiles à la disposition du module fmproducer via le Fast Message Dispatcher (FMD) en vue de l'extraction ultérieure des signaux.
Le module fonctionne exclusivement en tant que subscriber TRDP (sink) : il écoute passivement les données de processus cycliques et n'envoie lui-même aucun télégramme TRDP. Le trafic de données entre les calculateurs du véhicule (p. ex. commandes de portes, climatisation, commandes de traction) peut ainsi être exploité pour la surveillance d'état et le diagnostic, sans intervenir dans la communication du véhicule.
La capture des paquets s'effectue directement au niveau de la couche 2 au moyen de PcapPlusPlus, de sorte que les groupes multicast TRDP peuvent être écoutés sur n'importe quelle interface réseau. La ComID est extraite de l'en-tête TRDP et transmise au dispatcher comme messageKey. Le fmproducer peut ainsi s'abonner de manière ciblée aux messages de certaines ComID et extraire des signaux individuels de la zone de données utiles.

Le port UDP standard pour TRDP Process Data (PD) est 17224 (conformément à IEC 61375-2-3).
Connexion réseau
La voie standard est le raccordement direct de smartCORE au réseau du véhicule ou du train, sur lequel le module reçoit les télégrammes TRDP en tant que participant réseau ordinaire. Si une connexion individuelle doit au contraire être observée sans aucune rétroaction physique et avec isolation galvanique, sans que smartCORE apparaisse lui-même comme participant réseau, un TAP Ethernet smartIO peut être intercalé en option. Dans les deux cas, le module trdp traite les télégrammes écoutés de manière identique.
Les décalages en bits (bit offsets) dans le fmproducer doivent être indiqués par rapport au début des données utiles (après l'en-tête TRDP de 40 octets), et non par rapport au début de l'ensemble du télégramme.
Interfaces et protocoles utilisés
- Train Real-time Data Protocol (TRDP), IEC 61375-2-3 — Process Data (PD)
- Fast Message Dispatching
Configuration JSON
La section suivante décrit la configuration JSON du module.
Exemple de configuration (minimale)
{
"module": "TRDP",
"factory": "trdp",
"config": {
"networkInterface": "eth0",
"trafficFilter": [
{ "port": 17224, "groupAddress": "239.255.0.1" }
]
}
}
Exemple de configuration (avec fmproducer, plusieurs groupes multicast)
Le module trdp sert de source de données pour le fmproducer. Dans le paramètre fmd du fmproducer, on indique le nom de l'instance du module TRDP (ici : "TRDP"). La ComID de l'en-tête TRDP sert à chaque fois de messageKey.
{
"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"
}
]
}
}
]
}
Paramètres globaux du module
| Nom du paramètre | Obligatoire | Type de données | Plage de valeurs | Défaut | Description |
|---|---|---|---|---|---|
| networkInterface | Non | STRING | "eth0" | Nom de l'interface réseau pour la capture des paquets | |
| pollingIntervalMs | Non | INT | 100 – 2000 | 1000 | Intervalle du timer en millisecondes |
| trafficFilter | Non1 | ARRAY | Liste de paires port/adresse multicast (recommandé) | ||
| port | Non1 | INT | 0 – 65535 | Obsolète — port UDP ; utiliser trafficFilter | |
| groupAddress | Non1 | STRING | Obsolète — adresse multicast IPv4 ; utiliser trafficFilter |
Configuration d'une entrée trafficFilter
| Nom du paramètre | Obligatoire | Type de données | Défaut | Description |
|---|---|---|---|---|
| port | OUI | INT | Port UDP de destination du flux multicast TRDP (standard selon IEC 61375-2-3 : 17224) | |
| groupAddress | OUI | STRING | Adresse multicast IPv4 du flux TRDP | |
| joinGroup | Non | BOOL | false | Rejoindre activement le groupe multicast par IGMP (voir ci-dessous) |
Par défaut, le module se contente de filtrer le trafic qui arrive de toute façon sur l'interface réseau — il n'envoie lui-même aucun IGMP Join. Cela suffit lorsque le commutateur (switch) diffuse le trafic multicast sur tous les ports ou que l'interface écoute via un port miroir / TAP Ethernet. En revanche, si le commutateur est configuré avec l'IGMP snooping, il ne transmet le groupe multicast qu'aux interfaces qui l'ont activement rejoint — dans ce cas, définir joinGroup: true pour l'entrée trafficFilter concernée, afin que smartCORE soit enregistré comme récepteur via IGMP.
Remarques sur la configuration du fmproducer
Les télégrammes TRDP sont toujours transmis au format Big-Endian. Dans le fmproducer associé, il convient donc de définir globalement "byteOrder": "BigEndian".
La ComID de l'en-tête TRDP sert de messageKey dans le fmproducer. Les décalages en bits (bitOffset) se rapportent au début de la zone de données utiles (après l'en-tête TRDP de 40 octets).

Des informations complémentaires sur l'extraction des canaux (imageType, bitOffset, bitLength, addressSpec, etc.) sont décrites dans la documentation du fmproducer.
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 2.11 |
| Type de module | Producer (Dispatcher) |
| Dépendances | fmproducer |