Module de consommation générique « fmconsumer »
Description
Le module de consommation générique fmconsumer permet de consommer des données de canaux, de les placer dans un message défini, puis de l'envoyer via un module socket (par exemple un module canbus).
Comme la spécification des canaux est facultative, il est également possible d'envoyer des messages constants dans le temps (par exemple des messages de stimulation périodiques).
L'envoi s'effectue alors
- une seule fois, après l'intervalle d'envoi spécifié
- périodiquement, selon l'intervalle d'envoi spécifié
- sur événement
Un envoi sur événement se produit
- à l'apparition d'un événement (et au plus tôt à l'expiration d'un intervalle configurable)
- à l'expiration d'un intervalle configurable, si AUCUN événement n'est survenu entre-temps
Un événement survient lorsqu'un message spécifié au moyen d'une clé d'identification (messageKey) a été reçu par le module socket.
Plusieurs messages à envoyer peuvent être configurés.
Interfaces et protocoles utilisés
- AUCUN
Configuration JSON
La section suivante décrit l'ensemble de la configuration JSON du module et explique chacun des paramètres.
Exemple de configuration (configuration typique)
{
"module":"Consumer",
"factory":"fmconsumer",
"config":{
"fmd": "canbus",
"messages":[
{
"messageKey": 42,
"defaultMessage": "0102 03 04ff06",
"sendMode": "OnTimer",
"sendIntervalMs": 1000
}
]
}
}
Paramètres globaux du module
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Valeur par défaut | Description |
|---|---|---|---|---|---|
| fmd | OUI | STRING | Nom de l'instance du module socket utilisé | ||
| messages | OUI | JSON Array of JSON Object | voir ci-dessous | ||
| channels | Non | JSON Array of JSON Object | voir ci-dessous |
Configuration des messages « messages »
Les messages sont spécifiés sous forme d'objets JSON ; chacun de ces objets peut contenir les paramètres suivants
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Valeur par défaut | Description |
|---|---|---|---|---|---|
| messageKey | OUI | INT | Clé d'identification unique du message | ||
| defaultMessage | OUI | STRING | Octets du modèle de message codés en hexadécimal (les espaces sont ignorés) | ||
| sendMode | OUI | STRING | "SingleShot", "OnTimer", "OnTriggerWhenTimeoutElapsed", "OnMissingTriggerWhenTimeoutElapsed" | Mode d'envoi du message (unique, périodique, sur événement) | |
| sendIntervalMs | OUI | INT | 0 - | Délai/intervalle [ms] pour l'envoi du message | |
| triggeringMessageKeys | Non | JSON Array of INT | EMPTY JSON Array | Clés d'identification de tous les messages déclencheurs d'événement |
Configuration des canaux « channels »
Remarque : les données de canal sont actuellement placées telles quelles dans le modèle de message,
c'est-à-dire que le type de données finalement placé correspond exactement au type de données source du canal.
De plus, l'utilisateur doit impérativement définir un modèle de message suffisamment long.
Il est possible, en option, de placer un nombre de bits inférieur à l'aide de bitLength (dans ce cas, les bits de droite sont écartés en conséquence).
Les canaux sont spécifiés sous forme d'objets JSON ; chacun de ces objets peut contenir les paramètres suivants
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Valeur par défaut | Description |
|---|---|---|---|---|---|
| name | OUI | STRING | Nom du canal à consommer | ||
| bitOffset | OUI | INT | à l'intérieur du modèle de message | Décalage pour le placement du canal dans le modèle de message | |
| bitLength | OUI | INT | tel que bitOffset + bitLength reste dans le modèle de message | Longueur pour le placement du canal dans le modèle de message |
Informations sur le module
| Information | Valeur |
|---|---|
| Auteurs | optiMEAS GmbH |
| depuis smartCORE | 0.110 |
| Type de module | Consumer |
| Dépendances | Module socket avec accès en écriture (par exemple canbus) |