batMON smartCORE Modul
Beschreibung
Das batmon Modul stellt die Schnittstelle der smartIO batMON Batterieüberwachung zum smartCORE hin dar. Hierbei werden diverse Batterieparameter
- im Fall eines laufenden Systems in Form von Livedaten in smartCHANNELS geschrieben
- während der Ruhephase des Systems als historische Daten erfasst und während der Einschaltphase des Systems vom batMON heruntergeladen sowie in einer hierfür vorgesehenen Datei abgelegt.
Betriebszustände
Folgendes Diagramm soll die Betriebszustände des batMON veranschaulichen.
Verwendete Schnittstellen & Protokolle
- CAN-Bus
- OSF Format
JSON-Konfiguration
Im folgenden Abschnitt soll die gesamte JSON-Konfiguration des Moduls beschrieben und die einzelnen Parameter erläutert werden.
Beispielkonfiguration (minimal)
{
"module":"Batmon",
"factory":"batmon",
"config":{}
}
Beispielkonfiguration (maximal)
{
"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.OperatingMode",
"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
}
}
Parameter-Liste
Parametername | Erforderlich | Datentyp | sinnvoller Wertebereich | Default | Beschreibung |
---|---|---|---|---|---|
priority | Nein | INT | 1 ... 99 | 80 | Scheduling Priorität der CAN-Bus Schnittstelle |
timeoutMs | Nein | INT | 1 ... | 1000 | Intervall zwischen periodisch ausgeführten Anteilen des Moduls |
readBufferSize | Nein | INT | 1 ... | 8192 | Anzahl gepufferter CAN-Bus Botschaften (Leserichtung) |
writeBufferSize | Nein | INT | 1 ... | 8192 | Anzahl gepufferter CAN-Bus Botschaften (Schreibrichtung) |
canInterface | Nein | STRING | "can0", "can1", ... | "can1" | CAN-Bus-Schnittstelle |
fileName | Nein | STRING | gültige OSF Pfadschablone | "/sde/<tag>/<date>/<date>_<time>.osf " | Historische OSF Datei |
fileTag | Nein | STRING | "preview" | Tag Attribute der historischen OSF Datei | |
measurementTimeChannelName | Nein | STRING | "<module> .Parameter.MeasurementTime" | Kanal mit eingestelltem Messintervall Parameter | |
shutDownTimeChannelName | Nein | STRING | "<module> .Parameter.ShutDownTime" | Kanal mit eingestelltem Herunterfahrzeit Parameter | |
bootTimeChannelName | Nein | STRING | "<module> .Parameter.BootTime" | Kanal mit eingestelltem Bootzeit Parameter | |
wakeUpTimeChannelName | Nein | STRING | "<module> .Parameter.WakeUpTime" | Kanal mit eingestelltem Aufwachzeit Parameter | |
voltageDropDelayTimeChannelName | Nein | STRING | "<module> .Parameter.VoltageDropDelayTime" | Kanal mit eingestelltem Parameter der Spannungseinbruchstoleranzzeit | |
vAlwaysOffChannelName | Nein | STRING | "<module> .Parameter.VAlwaysOff" | Kanal mit eingestelltem Parameter der unteren Schaltschwelle | |
vAlwaysOnChannelName | Nein | STRING | "<module> .Parameter.VAlwaysOn" | Kanal mit eingestelltem Parameter der oberen Schaltschwelle | |
powerSupplyVoltageChannelName | Nein | STRING | "<module> .PowerSupplyVoltage" | Versorgungsspannung (U_Sup) | |
powerSupplyCurrentChannelName | Nein | STRING | "<module> .PowerSupplyCurrent" | Versorgungsstromstärke (I_Sup) | |
temperatureMOSFETChannelName | Nein | STRING | "<module> .TemperatureMOSFET" | Temperatur des MOSFET (T_MOS) | |
temperatureChannelName | Nein | STRING | "<module> .Temperature" | Temperatur des batMON (T_bM) | |
resistanceChannelName | Nein | STRING | "<module> .Resistance" | Widerstand des batMON (R_bM) | |
operatingModeChannelName | Nein | STRING | "<module> .OperatingMode" | batMON Betriebsart | |
configurationErrorChannelName | Nein | STRING | "<module> .ConfigurationError" | batMON Konfigurationsfehler | |
batteryStatusChannelName | Nein | STRING | "<module> ."BatteryStatus" | batMON Batteriestatus | |
terminal15StatusChannelName | Nein | STRING | "<module> .Terminal15Status" | batMON Status der Klemme 15 | |
shutDownCounterChannelName | Nein | STRING | "<module> .ShutDownCounter" | batMON Countdown innerhalb dessen das Herunterfahren abgeschlossen sein muss | |
bootCounterChannelName | Nein | STRING | "<module> .BootCounter" | batMON Countdown innerhalb dessen der Systemstart abgeschlossen sein muss | |
wakeUpEventChannelName | Nein | STRING | "<module> .WakeUpEvent" | batMON Aufwachereignis | |
requestEnergySaveChannelName | Nein | STRING | "<module> .RequestEnergySave" | BOOLescher batMON Kanal zum Anfordern des Ruhezustands | |
aboutToShutDownChannelName | Nein | STRING | "<module> .AboutToShutDown" | BOOLescher batMON Kanal zur Benachrichtigung über das baldige Herunterfahren | |
criticalPowerStateChannelName | Nein | STRING | "<module> .CriticalPowerState" | BOOLescher batMON Kanal zur Benachrichtigung über einen kritischen Spannungszustand | |
lowPowerStateChannelName | Nein | STRING | "<module> .LowPowerState" | BOOLescher batMON Kanal zur Benachrichtigung über einen niedrigen Spannungszustand | |
firmwareVersionsChannelName | Nein | STRING | "<module> .FirmwareVersion" | STRING Kanal mit FW und PIC FW Versionsinformationen | |
wakeUpTime | Nein | INT | 600 ... 7200 | 3600 | batMON Aufwachzeit [s] |
measurementTime | Nein | INT | 30 ... 300 | 60 | batMON Messintervall [s] |
shutDownTime | Nein | INT | 30 ... 120 | 90 | batMON Herunterfahrzeit [s] |
bootTime | Nein | INT | 60 ... 120 | 900 | batMON Bootzeit [s] |
voltageDropDelayTime | Nein | INT | 10 | batMON Spannungseinbruchstoleranzzeit [s] | |
voltageAlwaysOnMV | Nein | INT | (voltageAlwaysOffMV + 2000) ... 150000 | 23000 | batMON Einschaltschwelle Dauerbetrieb [mV] |
voltageAlwaysOffMV | Nein | INT | 18500 ... (voltageAlwaysOnMV - 2000) | 20500 | batMON Ausschaltschwelle [mV] |
canIdValues123 | Nein | INT | gültige/eindeutige CAN ID | 120 | batMON CAN-Bus ID für Botschaft (U_Sup,I_Sup,T_MOS) |
canIdValues456 | Nein | INT | gültige/eindeutige CAN ID | 121 | batMON CAN-Bus ID für Botschaft (T_bM) |
canIdStatus | Nein | INT | gültige/eindeutige CAN ID | 125 | batMON CAN-Bus ID für Stautsbotschaft |
canIdSetRtcRXD | Nein | INT | gültige/eindeutige CAN ID | 10 | batMON CAN-Bus ID für das Setzen der RTC |
canIdSetRtcTXD | Nein/Verworfen | INT | gültige/eindeutige CAN ID | 11 | batMON CAN-Bus ID für das Setzen der RTC (Quittierung) |
canIdParameter1 | Nein | INT | gültige/eindeutige CAN ID | 130 | batMON CAN-Bus ID für das erste Parameter Report Frame |
canIdParameter2 | Nein | INT | gültige/eindeutige CAN ID | 131 | batMON CAN-Bus ID für das zweite Parameter Report Frame |
canIdParameter3 | Nein | INT | gültige/eindeutige CAN ID | 132 | batMON CAN-Bus ID für das dritte Parameter Report Frame |
Parameter Enums
Betriebsart
Wert | Bedeutung |
---|---|
0 | Start |
1 | Normalbetrieb |
2 | Initialisierung des Herunterfahrens |
3 | Herunterfahren |
batMON smartIO Gerätestatus
Wert | Bedeutung |
---|---|
0 | initial nach einem Kaltstart / Reset |
1 | Standby (Überwachung Ruhezustandstimer, Spannungen, Klemme 15, ...) |
2 | Eingeschaltet (MOSFET eingeschaltet, Überwachung der Eingangsspannung |
3 | Systemstart (Warten auf Hochfahren des Systems) |
4 | Überwachung (Warten auf Herunterfahr-Bedingung des Systems) |
5 | Ausschalten (Warten auf Ausschalten des Systems) |
6 | Ausgeschaltet (MOSFET ausgeschaltet, Kondensatoren werden entladen) |
Konfigurationsfehler
Wert | Bedeutung |
---|---|
-3 | voltageAlwaysOnMV zu hoch |
-2 | voltageAlwaysOnMV zu niedrig |
-1 | voltageAlwaysOffMV zu niedrig |
0 | OK |
1 | falsche measurementTime |
2 | falsche shutDownTime |
3 | falsche bootTime |
4 | falsche wakeUpTime |
5 | falsche voltageAlwaysOnMV |
6 | falsche voltageAlwaysOffMV |
Batteriestatus
Wert | Bedeutung |
---|---|
0 | unbekannt |
1 | permanent eingeschaltet |
2 | Energiesparmodus |
3 | permanent ausgeschaltet |
4 | permanent ausgeschaltet (unterhalb Netzteil-Einschaltspannung) |
Status der Klemme 15
Wert | Bedeutung |
---|---|
0 | unbekannt/nicht vorhanden |
1 | Einschaltflanke |
2 | Ausschaltflanke |
Aufwachereignis
Wert | Bedeutung | folgende Betriebsart |
---|---|---|
0 | unbekannt | undefiniert |
1 | Klemme 15 Einschaltflanke | Abholung historischer Daten + Dauerbetrieb |
2 | permanent ausgeschaltet | Alarmierung + Herunterfahren |
3 | permanent eingeschaltet | Abholung historischer Daten + Dauerbetrieb |
4 | (i.A. periodischer) CAN-Bus Befehl | Abholung historischer Daten + Energiesparmodus |
5 | Energiesparmodus | Abholung historischer Daten + Energiesparmodus |
6 | Aufgewacht durch CAN-Bus Botschaft | Abholung historischer Daten + Dauerbetrieb |
Herunterfahr-Ereignis
Wert | Bedeutung | Beschreibung |
---|---|---|
0 | kein | kein Ereignis |
1 | Klemme 15 | Herunterfahren über Klemme 15 (z.B. Zündschlüssel) |
2 | Spannungsniveau "immer ausgeschaltet" | Herunterfahren, da die Spannung den Grenzwert "immer ausgeschaltet" unterschritten hat |
3 | CAN-Bus-Botschaft | Herunterfahren aufgrund einer CAN-Bus-Botschaft |
4 | Überstrom | Herunterfahren aufgrund überschrittener Stromstärke |
5 | Übertemperatur | Herunterfahren aufgrund überschrittener Temperatur |
6-8 | RESERVIERT | |
9 | MOSFET-Versagen | Herunterfahren aufgrund eines Versagens des MOSFETs |
10 | Klemme 15 und Spannungsniveau "immer ausgeschaltet" | Herunterfahren, da die Spannung den Grenzwert "immer ausgeschaltet" unterschritten hat (falls Klemme 15, z.B. Zündschlüssel, vorhanden ist) |
11 | Eco-Modus | Herunterfahren nach abgeschlossener Messung, da die Spannung unterhalb des Grenzwerts für "immer eingeschaltet" liegt |
12 | Unterschreitung | Unterschreitung der MOSFET Einschaltspannung |
15 | unbekannt | unbekanntes Herunterfahr-Ereignis |
Call-Interface Funktionen
requestDelayedShutdown
Funktion für die Verzögerung des Herunterfahrens
Paramter | Typ | Beschreibung |
---|---|---|
sender | STRING | Eindeutige Senderkennung (z.B. Modulinstanz) |
delay | INT | Verzögerung [ms] < 64k |
Modul-Informationen
Information | Wert |
---|---|
Autor | optiMEAS Measurement and Automation Systems GmbH |
seit smartCORE | 0.101 |
Modultyp | Produzent & Konsument (request energy save) |
Abhängigkeiten | "canbus" bzw. "candbc" smartMODULE (auf smartDEVICES), funktionierendes CAN-Bus Interface (auf übrigen Plattformen) |