Module smartCORE batMON
Description
Le module batmon constitue l'interface entre la surveillance de batterie smartIO batMON et le smartCORE. Divers paramètres de batterie sont ainsi
- écrits dans des smartCHANNELS sous forme de données en direct lorsque le système est en fonctionnement
- enregistrés comme données historiques pendant la phase de repos du système, puis téléchargés depuis le batMON pendant la phase de mise sous tension du système et stockés dans un fichier prévu à cet effet.
États de fonctionnement
Le diagramme suivant illustre les états de fonctionnement du batMON.

Interfaces et protocoles utilisés
- CAN-Bus
- Format OSF
Configuration JSON
La section suivante décrit l'ensemble de la configuration JSON du module et explique chacun des paramètres.
Exemple de configuration (minimale)
{
"module":"Batmon",
"factory":"batmon",
"config":{}
}
Exemple de configuration (maximale)
{
"module":"Batmon",
"factory":"batmon",
"config":{
"priority":80,
"timeoutMs":1000,
"readBufferSize":8192,
"writeBufferSize":8192,
"canInterface":"can1",
"fileName":"/sde/<tag>/<date>/<date>_<time>.osf",
"fileTag":"preview",
"measurementTimeChannelName":"Batmon.Parameter.MeasurementTime",
"shutDownTimeChannelName":"Batmon.Parameter.ShutDownTime",
"bootTimeChannelName":"Batmon.Parameter.BootTime",
"wakeUpTimeChannelName":"Batmon.Parameter.WakeUpTime",
"voltageDropDelayTimeChannelName":"Batmon.Parameter.VoltageDropDelayTime",
"vAlwaysOffChannelName":"Batmon.Parameter.VAlwaysOff",
"vAlwaysOnChannelName":"Batmon.Parameter.VAlwaysOn",
"powerSupplyVoltageChannelName":"Batmon.PowerSupplyVoltage",
"powerSupplyCurrentChannelName":"Batmon.PowerSupplyCurrent",
"temperatureMOSFETChannelName":"Batmon.TemperatureMOSFET",
"temperatureChannelName":"Batmon.Temperature",
"resistanceChannelName":"Batmon.Resistance",
"operatingModeChannelName":"Batmon.PluginState",
"configurationErrorChannelName":"Batmon.ConfigurationError",
"batteryStatusChannelName":"Batmon.BatteryStatus",
"terminal15StatusChannelName":"Batmon.Terminal15Status",
"shutDownCounterChannelName":"Batmon.ShutDownCounter",
"bootCounterChannelName":"Batmon.BootCounter",
"wakeUpEventChannelName":"Batmon.WakeUpEvent",
"shutDownEventChannelName":"Batmon.ShutDownEvent",
"requestEnergySaveChannelName":"Batmon.RequestEnergySave",
"aboutToShutDownChannelName":"Batmon.AboutToShutDown",
"criticalPowerStateChannelName":"Batmon.CriticalPowerState",
"lowPowerStateChannelName":"Batmon.LowPowerState",
"firmwareVersionsChannelName":"firmwareVersions",
"wakeUpTime":3600,
"measurementTime":60,
"shutDownTime":90,
"bootTime":900,
"voltageDropDelayTime":10,
"voltageAlwaysOnMV":23000,
"voltageAlwaysOffMV":20500,
"canIdValues123":120,
"canIdValues456":121,
"canIdStatus":125,
"canIdSetRtcRXD":10,
"canIdSetRtcTXD":11,
"canIdRXD":128,
"canIdTXD":129,
"canIdParameter1":130,
"canIdParameter2":131,
"canIdParameter3":132
}
}
Liste des paramètres
| Nom du paramètre | Requis | Type de données | Plage de valeurs pertinente | Défaut | Description |
|---|---|---|---|---|---|
| priority | Non | INT | 1 ... 99 | 80 | Priorité d'ordonnancement de l'interface CAN-Bus |
| timeoutMs | Non | INT | 1 ... | 1000 | Intervalle entre les parties du module exécutées périodiquement |
| readBufferSize | Non | INT | 1 ... | 8192 | Nombre de messages CAN-Bus mis en mémoire tampon (sens de lecture) |
| writeBufferSize | Non | INT | 1 ... | 8192 | Nombre de messages CAN-Bus mis en mémoire tampon (sens d'écriture) |
| canInterface | Non | STRING | "can0", "can1", ... | "can1" | Interface CAN-Bus |
| fileName | Non | STRING | modèle de chemin OSF valide | "/sde/<tag>/<date>/<date>_<time>.osf" | Fichier OSF historique |
| fileTag | Non | STRING | "preview" | Attribut de tag du fichier OSF historique | |
| measurementTimeChannelName | Non | STRING | "<module>.Parameter.MeasurementTime" | Canal contenant le paramètre d'intervalle de mesure réglé | |
| shutDownTimeChannelName | Non | STRING | "<module>.Parameter.ShutDownTime" | Canal contenant le paramètre de temps d'arrêt réglé | |
| bootTimeChannelName | Non | STRING | "<module>.Parameter.BootTime" | Canal contenant le paramètre de temps de démarrage réglé | |
| wakeUpTimeChannelName | Non | STRING | "<module>.Parameter.WakeUpTime" | Canal contenant le paramètre de temps de réveil réglé | |
| voltageDropDelayTimeChannelName | Non | STRING | "<module>.Parameter.VoltageDropDelayTime" | Canal contenant le paramètre de temps de tolérance aux chutes de tension réglé | |
| vAlwaysOffChannelName | Non | STRING | "<module>.Parameter.VAlwaysOff" | Canal contenant le paramètre du seuil de commutation inférieur réglé | |
| vAlwaysOnChannelName | Non | STRING | "<module>.Parameter.VAlwaysOn" | Canal contenant le paramètre du seuil de commutation supérieur réglé | |
| powerSupplyVoltageChannelName | Non | STRING | "<module>.PowerSupplyVoltage" | Tension d'alimentation (U_Sup) | |
| powerSupplyCurrentChannelName | Non | STRING | "<module>.PowerSupplyCurrent" | Intensité du courant d'alimentation (I_Sup) | |
| temperatureMOSFETChannelName | Non | STRING | "<module>.TemperatureMOSFET" | Température du MOSFET (T_MOS) | |
| temperatureChannelName | Non | STRING | "<module>.Temperature" | Température du batMON (T_bM) | |
| resistanceChannelName | Non | STRING | "<module>.Resistance" | Résistance du batMON (R_bM) | |
| operatingModeChannelName | Non | STRING | "<module>.PluginState" | État du plug-in batMON (valeur brute de la machine à états) | |
| configurationErrorChannelName | Non | STRING | "<module>.ConfigurationError" | Erreur de configuration du batMON | |
| batteryStatusChannelName | Non | STRING | "<module>.BatteryStatus" | État de la batterie du batMON | |
| terminal15StatusChannelName | Non | STRING | "<module>.Terminal15Status" | État de la borne 15 du batMON | |
| shutDownCounterChannelName | Non | STRING | "<module>.ShutDownCounter" | Compte à rebours du batMON dans lequel l'arrêt doit être terminé | |
| bootCounterChannelName | Non | STRING | "<module>.BootCounter" | Compte à rebours du batMON dans lequel le démarrage du système doit être terminé | |
| wakeUpEventChannelName | Non | STRING | "<module>.WakeUpEvent" | Événement de réveil du batMON | |
| requestEnergySaveChannelName | Non | STRING | "<module>.RequestEnergySave" | Latch BOOL : est positionné dès qu'une économie d'énergie a été demandée au moins une fois depuis le démarrage du module (mode ECO, front de coupure KL15 en fonctionnement AlwaysOn ou ordre d'arrêt confirmé) ; remis à zéro uniquement au redémarrage du module | |
| aboutToShutDownChannelName | Non | STRING | "<module>.AboutToShutDown" | Canal booléen du batMON pour la notification d'un arrêt imminent | |
| criticalPowerStateChannelName | Non | STRING | "<module>.CriticalPowerState" | Canal booléen du batMON pour la notification d'un état de tension critique | |
| lowPowerStateChannelName | Non | STRING | "<module>.LowPowerState" | Canal booléen du batMON pour la notification d'un état de tension faible | |
| firmwareVersionsChannelName | Non | STRING | "<module>.FirmwareVersion" | Canal STRING avec les informations de version du firmware (FW) et du firmware PIC (PIC FW) | |
| wakeUpTime | Non | INT | 600 ... 7200 | 3600 | Temps de réveil du batMON [s] |
| measurementTime | Non | INT | 30 ... 300 | 60 | Intervalle de mesure du batMON [s] |
| shutDownTime | Non | INT | 30 ... 120 | 90 | Temps d'arrêt du batMON [s] |
| bootTime | Non | INT | 60 ... 120 | 900 | Temps de démarrage du batMON [s] |
| voltageDropDelayTime | Non | INT | 10 | Temps de tolérance aux chutes de tension du batMON [s] | |
| voltageAlwaysOnMV | Non | INT | (voltageAlwaysOffMV + 2000) ... 150000 | 23000 | Seuil de mise en marche du fonctionnement continu du batMON [mV] |
| voltageAlwaysOffMV | Non | INT | 18500 ... (voltageAlwaysOnMV - 2000) | 20500 | Seuil d'arrêt du batMON [mV] |
| canIdValues123 | Non | INT | ID CAN valide/unique | 120 | ID CAN-Bus du batMON pour le message (U_Sup,I_Sup,T_MOS) |
| canIdValues456 | Non | INT | ID CAN valide/unique | 121 | ID CAN-Bus du batMON pour le message (T_bM) |
| canIdStatus | Non | INT | ID CAN valide/unique | 125 | ID CAN-Bus du batMON pour le message d'état |
| canIdSetRtcRXD | Non | INT | ID CAN valide/unique | 10 | ID CAN-Bus du batMON pour le réglage de la RTC |
| canIdSetRtcTXD | Non/Abandonné | INT | ID CAN valide/unique | 11 | ID CAN-Bus du batMON pour le réglage de la RTC (acquittement) |
| canIdParameter1 | Non | INT | ID CAN valide/unique | 130 | ID CAN-Bus du batMON pour la première trame de rapport de paramètres |
| canIdParameter2 | Non | INT | ID CAN valide/unique | 131 | ID CAN-Bus du batMON pour la deuxième trame de rapport de paramètres |
| canIdParameter3 | Non | INT | ID CAN valide/unique | 132 | ID CAN-Bus du batMON pour la troisième trame de rapport de paramètres |
Énumérations des paramètres
État du plug-in (OperatingMode)
| Valeur | Enum | État |
|---|---|---|
| 0 | bsInit | Initialisation |
| 1 | bsBoot | Démarrage |
| 2 | bsBootInternCom | Démarrage : communication interne |
| 3 | bsSynchronizeRtc | Démarrage : synchroniser la RTC |
| 4 | bsGetFirmwareVersion | Démarrage : lire la version du firmware |
| 5 | bsGetHistory | Démarrage : charger les données historiques |
| 6 | bsGetParameter | Démarrage : lire les paramètres |
| 7 | bsUpdateParameter | Démarrage : écrire les paramètres |
| 8 | bsWakeup | Réveil |
| 9 | bsRunning | Fonctionnement normal |
| 10 | bsCmdShutdown | Fonctionnement normal : traiter l'ordre d'arrêt |
| 11 | bsResynchronizeRtc | Fonctionnement normal : resynchroniser la RTC |
| 12 | bsNotifyShutDown | Annoncer l'arrêt |
| 13 | bsAboutToShutDown | Arrêt engagé |
| 14 | bsPostponeShutDown | Arrêt différé |
| 15 | bsShutdown | Arrêt |
État de l'appareil batMON smartIO
| Valeur | Signification |
|---|---|
| 0 | initial après un démarrage à froid / reset |
| 1 | Veille (surveillance de la minuterie de repos, des tensions, de la borne 15, ...) |
| 2 | Mis sous tension (MOSFET activé, surveillance de la tension d'entrée) |
| 3 | Démarrage du système (attente du démarrage du système) |
| 4 | Surveillance (attente de la condition d'arrêt du système) |
| 5 | Mise hors tension (attente de l'arrêt du système) |
| 6 | Hors tension (MOSFET désactivé, les condensateurs sont déchargés) |
Erreur de configuration
| Valeur | Enum | Signification |
|---|---|---|
| -3 | VoltageAlwaysOnTooHigh | voltageAlwaysOnMV trop élevé |
| -2 | VoltageAlwaysOnTooLow | voltageAlwaysOnMV trop faible |
| -1 | VoltageAlwaysOffTooLow | voltageAlwaysOffMV trop faible |
| 0 | OK | OK |
| 1 | WrongMeasurementTime | measurementTime incorrect |
| 2 | WrongShutdownTime | shutDownTime incorrect |
| 3 | WrongBootTime | bootTime incorrect |
| 4 | WrongWakeUpTime | wakeUpTime incorrect |
| 5 | WrongVAlwaysOn | voltageAlwaysOnMV incorrect |
| 6 | WrongVAlwaysOff | voltageAlwaysOffMV incorrect |
| 7 | WrongVoltageDropDelayTime | voltageDropDelayTime incorrect |
État de la batterie
| Valeur | Signification |
|---|---|
| 0 | inconnu |
| 1 | en permanence sous tension |
| 2 | mode d'économie d'énergie |
| 3 | en permanence hors tension |
| 4 | en permanence hors tension (en dessous de la tension de mise en marche de l'alimentation) |
État de la borne 15
| Valeur | Signification |
|---|---|
| 0 | inconnu/non présent |
| 1 | front de mise en marche |
| 2 | front de coupure |
Événement de réveil
| Valeur | Enum | Signification | mode de fonctionnement suivant |
|---|---|---|---|
| 0 | eWakeUp_none | aucun événement | non défini |
| 1 | eWakeUp_KL15_ON | Front de mise en marche de la borne 15 | Récupération des données historiques + fonctionnement continu |
| 2 | eWakeUp_Ubatt_Always_OFF | U_batt sous le seuil Always-OFF | Alarme + arrêt |
| 3 | eWakeUp_Ubatt_Always_ON | U_batt au-dessus du seuil Always-ON | Récupération des données historiques + fonctionnement continu |
| 4 | eWakeUp_Ubatt_Timer | Réveil périodique en mode d'économie d'énergie (minuterie) | Récupération des données historiques + mode d'économie d'énergie |
| 5 | eWakeUp_Ubatt_LowPower | (obsolète) | Récupération des données historiques + mode d'économie d'énergie |
| 6 | eWakeUp_CAN_Timer | Réveil après un sommeil demandé activement par CAN | Récupération des données historiques + fonctionnement continu |
Événement d'arrêt
| Valeur | Enum | Signification | Description |
|---|---|---|---|
| 0 | eShutdown_none | aucun | aucun événement |
| 1 | eShutdown_KL15 | Borne 15 | Arrêt via la borne 15 (p. ex. clé de contact) |
| 2 | eShutdown_Ubatt_Always_OFF | U_batt sous le seuil Always-OFF | Arrêt, car U_batt est passé sous le seuil Always-OFF |
| 3 | eShutdown_CAN | Message CAN-Bus | Arrêt à la suite d'un message CAN-Bus |
| 4 | eShutdown_OverCurrent | Surintensité (défaut) | Arrêt à la suite d'un dépassement de l'intensité du courant |
| 5 | eShutdown_OverTemperature | Surtempérature (défaut) | Arrêt à la suite d'un dépassement de la température |
| 6–8 | — | RÉSERVÉ | |
| 9 | eShutdown_MOSFET_Failure | Défaillance du MOSFET (défaut) | Arrêt à la suite d'une défaillance du MOSFET |
| 10 | ePowerOff_KL15_Ubatt_Always_OFF | Borne 15 et seuil Always-OFF | Arrêt, car U_batt est passé sous le seuil Always-OFF (borne 15 présente) |
| 11 | ePowerOff_ECO_Mode | Mode Eco | Arrêt après mesure, U_batt en dessous du seuil Always-ON |
| 12 | ePowerOff_Underrange_Intrexis | Sous-dépassement | Tension de mise en marche du MOSFET non atteinte |
| 15 | eShutdown_Unknown | inconnu | événement d'arrêt inconnu |
Fonctions de l'interface d'appel
requestDelayedShutdown
Fonction pour différer l'arrêt
| Paramètre | Type | Description |
|---|---|---|
| sender | STRING | Identifiant d'émetteur unique (p. ex. instance de module) |
| delay | INT | Délai [ms] < 64k |
Informations sur le module
| Information | Valeur |
|---|---|
| Auteur | optiMEAS GmbH |
| depuis smartCORE | 0.101 |
| Type de module | Producteur & consommateur (request energy save) |
| Dépendances | smartMODULE "canbus" ou "candbc" (sur les smartDEVICES), interface CAN-Bus fonctionnelle (sur les autres plateformes) |