Architecture
Cette section présente les composants du logiciel edge device smartCORE.
Architecture
Le logiciel smartCORE repose sur une architecture de flux de données de type producteur-consommateur. Des modules producteurs (sources) sont reliés à des modules consommateurs (puits) par l'intermédiaire de canaux gérés dans smartCORE. Ces modules peuvent être configurés ou paramétrés de multiples façons par l'utilisateur.
Les modules sont normalement adaptés à la tâche de l'utilisateur au moyen de la configuration de mesure. La configuration de mesure est enregistrée dans le fichier de configuration
/sdi/config/smartcore_dynamic.json
sur l'appareil de mesure et est conservée en particulier lors d'une mise à niveau de smartCORE comme du système d'exploitation.
Types de modules
Du point de vue du logiciel, on distingue fondamentalement les modules producteurs et les modules consommateurs, où
- les modules producteurs créent des canaux et y écrivent des échantillons de données
- les modules consommateurs lisent des échantillons de données dans des canaux
Outre les modules purement consommateurs et purement producteurs, il existe aussi toute une série de modules qui sont à la fois producteurs et consommateurs, afin de permettre une communication bidirectionnelle.
Du point de vue de l'utilisateur, il est toutefois plus pertinent de catégoriser les modules selon leur fonctionnalité. Une catégorisation en modules liés à l'application et en modules liés à l'utilisateur s'est révélée judicieuse. Alors que les modules liés à l'application assurent la communication avec le côté technique de mesure et de régulation, les modules liés à l'utilisateur sont responsables (au moins indirectement) de la communication avec l'utilisateur.
Modules liés à l'application
| Module | Description |
|---|---|
| accelerometer | Interface avec l'accéléromètre |
| batmon | Interface avec le batMON |
| canbus | Interface avec les interfaces de bus CAN pour la communication de données brutes du bus CAN |
| dbc | Interpréteur/décodeur pour l'extraction de données de canaux à partir de données brutes du bus CAN à l'aide d'une spécification DBC |
| fmconsumer | Encodeur de données de canaux pour fournir des données brutes pouvant être envoyées via des interfaces externes, telles que le bus CAN |
| fmproducer | Interpréteur/décodeur pour l'extraction de données de canaux à partir de données brutes pouvant être lues depuis des interfaces externes, telles que le bus CAN ou le MVB |
| fmudp | Interface UDP fournissant des données brutes interprétables (uniquement en lecture) |
| gps | Interface avec le GPS (service GPSD, soit sur l'appareil, soit sur Internet) |
| hwio | Interface pour la représentation des entrées et sorties numériques ainsi que des LED de l'appareil de mesure |
| modbus | Interface avec le ModBus |
| smiohp | Interface avec le matériel optiMEAS smartIO High Performance |
Modules liés à l'application pour véhicules ferroviaires
| Module | Description |
|---|---|
| mvb | Interface pour la lecture du MVB via le protocole UDP, tel que fourni par le duagon D503 |
| smartmvb | Interface pour la lecture du MVB via le matériel optiMEAS smartIO MVB |
Modules liés à l'utilisateur
| Module | Description |
|---|---|
| csvwriter | Module de création de fichiers CSV à partir de données de canaux (avec de nombreuses possibilités d'enregistrement déclenché) |
| diagnostics | Module de surveillance de canaux et de création d'alarmes sur cette base |
| eventcounter | Compteur d'événements |
| geofencing | Module pour les tâches de géorepérage |
| http | Module de communication au moyen de requêtes HTTP |
| math | Module de traitement mathématique de données de canaux en données de canaux |
| mqtt | Module de communication via MQTT |
| odometer | Module de mesure de la distance parcourue |
| opticloud | Module de communication avec l'optiCLOUD d'optiMEAS |
| osfudpstreamer | Module qui envoie des données de canaux sous forme de flux de données OSF via UDP |
| osfwriter | Module qui écrit des données de canaux dans des fichiers sous forme de flux de données OSF |
| sms | Module qui envoie un SMS en réaction à un signal de déclenchement |
| smsalarms | Module qui envoie un SMS en réaction à un nouveau message d'alarme |
| ssh | Module de communication via SFTP et SSH |
| systeminfos | Module de mise à disposition d'informations système de l'appareil de mesure |
| uptime | Module d'acquisition d'états de compteurs (p. ex. les heures de fonctionnement d'un système) |
Modules utilisables aussi bien dans le contexte de l'application que dans celui de l'utilisateur
| Module | Description |
|---|---|
| opcuaclient | Client pour la communication avec des serveurs OPC/UA |
| opcuaserver | Serveur pour la communication avec des clients OPC/UA |
| remote | Module qui fournit une communication bidirectionnelle de données de canaux via IPC |
Modules pour scénarios de test
| Module | Description |
|---|---|
| functiongenerator | Générateur de fonctions pour la production de données de canaux |
| playback | Module de production synthétique de données de canaux à partir d'un protocole de lecture |