Zum Hauptinhalt springen

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.

batMON States

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

ParameternameErforderlichDatentypsinnvoller WertebereichDefaultBeschreibung
priorityNeinINT1 ... 9980Scheduling Priorität der CAN-Bus Schnittstelle
timeoutMsNeinINT1 ...1000Intervall zwischen periodisch ausgeführten Anteilen des Moduls
readBufferSizeNeinINT1 ...8192Anzahl gepufferter CAN-Bus Botschaften (Leserichtung)
writeBufferSizeNeinINT1 ...8192Anzahl gepufferter CAN-Bus Botschaften (Schreibrichtung)
canInterfaceNeinSTRING"can0", "can1", ..."can1"CAN-Bus-Schnittstelle
fileNameNeinSTRINGgültige OSF Pfadschablone"/sde/<tag>/<date>/<date>_<time>.osf"Historische OSF Datei
fileTagNeinSTRING"preview"Tag Attribute der historischen OSF Datei
measurementTimeChannelNameNeinSTRING"<module>.Parameter.MeasurementTime"Kanal mit eingestelltem Messintervall Parameter
shutDownTimeChannelNameNeinSTRING"<module>.Parameter.ShutDownTime"Kanal mit eingestelltem Herunterfahrzeit Parameter
bootTimeChannelNameNeinSTRING"<module>.Parameter.BootTime"Kanal mit eingestelltem Bootzeit Parameter
wakeUpTimeChannelNameNeinSTRING"<module>.Parameter.WakeUpTime"Kanal mit eingestelltem Aufwachzeit Parameter
voltageDropDelayTimeChannelNameNeinSTRING"<module>.Parameter.VoltageDropDelayTime"Kanal mit eingestelltem Parameter der Spannungseinbruchstoleranzzeit
vAlwaysOffChannelNameNeinSTRING"<module>.Parameter.VAlwaysOff"Kanal mit eingestelltem Parameter der unteren Schaltschwelle
vAlwaysOnChannelNameNeinSTRING"<module>.Parameter.VAlwaysOn"Kanal mit eingestelltem Parameter der oberen Schaltschwelle
powerSupplyVoltageChannelNameNeinSTRING"<module>.PowerSupplyVoltage"Versorgungsspannung (U_Sup)
powerSupplyCurrentChannelNameNeinSTRING"<module>.PowerSupplyCurrent"Versorgungsstromstärke (I_Sup)
temperatureMOSFETChannelNameNeinSTRING"<module>.TemperatureMOSFET"Temperatur des MOSFET (T_MOS)
temperatureChannelNameNeinSTRING"<module>.Temperature"Temperatur des batMON (T_bM)
resistanceChannelNameNeinSTRING"<module>.Resistance"Widerstand des batMON (R_bM)
operatingModeChannelNameNeinSTRING"<module>.OperatingMode"batMON Betriebsart
configurationErrorChannelNameNeinSTRING"<module>.ConfigurationError"batMON Konfigurationsfehler
batteryStatusChannelNameNeinSTRING"<module>."BatteryStatus"batMON Batteriestatus
terminal15StatusChannelNameNeinSTRING"<module>.Terminal15Status"batMON Status der Klemme 15
shutDownCounterChannelNameNeinSTRING"<module>.ShutDownCounter"batMON Countdown innerhalb dessen das Herunterfahren abgeschlossen sein muss
bootCounterChannelNameNeinSTRING"<module>.BootCounter"batMON Countdown innerhalb dessen der Systemstart abgeschlossen sein muss
wakeUpEventChannelNameNeinSTRING"<module>.WakeUpEvent"batMON Aufwachereignis
requestEnergySaveChannelNameNeinSTRING"<module>.RequestEnergySave"BOOLescher batMON Kanal zum Anfordern des Ruhezustands
aboutToShutDownChannelNameNeinSTRING"<module>.AboutToShutDown"BOOLescher batMON Kanal zur Benachrichtigung über das baldige Herunterfahren
criticalPowerStateChannelNameNeinSTRING"<module>.CriticalPowerState"BOOLescher batMON Kanal zur Benachrichtigung über einen kritischen Spannungszustand
lowPowerStateChannelNameNeinSTRING"<module>.LowPowerState"BOOLescher batMON Kanal zur Benachrichtigung über einen niedrigen Spannungszustand
firmwareVersionsChannelNameNeinSTRING"<module>.FirmwareVersion"STRING Kanal mit FW und PIC FW Versionsinformationen
wakeUpTimeNeinINT600 ... 72003600batMON Aufwachzeit [s]
measurementTimeNeinINT30 ... 30060batMON Messintervall [s]
shutDownTimeNeinINT30 ... 12090batMON Herunterfahrzeit [s]
bootTimeNeinINT60 ... 120900batMON Bootzeit [s]
voltageDropDelayTimeNeinINT10batMON Spannungseinbruchstoleranzzeit [s]
voltageAlwaysOnMVNeinINT(voltageAlwaysOffMV + 2000) ... 15000023000batMON Einschaltschwelle Dauerbetrieb [mV]
voltageAlwaysOffMVNeinINT18500 ... (voltageAlwaysOnMV - 2000)20500batMON Ausschaltschwelle [mV]
canIdValues123NeinINTgültige/eindeutige CAN ID120batMON CAN-Bus ID für Botschaft (U_Sup,I_Sup,T_MOS)
canIdValues456NeinINTgültige/eindeutige CAN ID121batMON CAN-Bus ID für Botschaft (T_bM)
canIdStatusNeinINTgültige/eindeutige CAN ID125batMON CAN-Bus ID für Stautsbotschaft
canIdSetRtcRXDNeinINTgültige/eindeutige CAN ID10batMON CAN-Bus ID für das Setzen der RTC
canIdSetRtcTXDNein/VerworfenINTgültige/eindeutige CAN ID11batMON CAN-Bus ID für das Setzen der RTC (Quittierung)
canIdParameter1NeinINTgültige/eindeutige CAN ID130batMON CAN-Bus ID für das erste Parameter Report Frame
canIdParameter2NeinINTgültige/eindeutige CAN ID131batMON CAN-Bus ID für das zweite Parameter Report Frame
canIdParameter3NeinINTgültige/eindeutige CAN ID132batMON CAN-Bus ID für das dritte Parameter Report Frame

Parameter Enums

Betriebsart

WertBedeutung
0Start
1Normalbetrieb
2Initialisierung des Herunterfahrens
3Herunterfahren

batMON smartIO Gerätestatus

WertBedeutung
0initial nach einem Kaltstart / Reset
1Standby (Überwachung Ruhezustandstimer, Spannungen, Klemme 15, ...)
2Eingeschaltet (MOSFET eingeschaltet, Überwachung der Eingangsspannung
3Systemstart (Warten auf Hochfahren des Systems)
4Überwachung (Warten auf Herunterfahr-Bedingung des Systems)
5Ausschalten (Warten auf Ausschalten des Systems)
6Ausgeschaltet (MOSFET ausgeschaltet, Kondensatoren werden entladen)

Konfigurationsfehler

WertBedeutung
-3voltageAlwaysOnMV zu hoch
-2voltageAlwaysOnMV zu niedrig
-1voltageAlwaysOffMV zu niedrig
0OK
1falsche measurementTime
2falsche shutDownTime
3falsche bootTime
4falsche wakeUpTime
5falsche voltageAlwaysOnMV
6falsche voltageAlwaysOffMV

Batteriestatus

WertBedeutung
0unbekannt
1permanent eingeschaltet
2Energiesparmodus
3permanent ausgeschaltet
4permanent ausgeschaltet (unterhalb Netzteil-Einschaltspannung)

Status der Klemme 15

WertBedeutung
0unbekannt/nicht vorhanden
1Einschaltflanke
2Ausschaltflanke

Aufwachereignis

WertBedeutungfolgende Betriebsart
0unbekanntundefiniert
1Klemme 15 EinschaltflankeAbholung historischer Daten + Dauerbetrieb
2permanent ausgeschaltetAlarmierung + Herunterfahren
3permanent eingeschaltetAbholung historischer Daten + Dauerbetrieb
4(i.A. periodischer) CAN-Bus BefehlAbholung historischer Daten + Energiesparmodus
5EnergiesparmodusAbholung historischer Daten + Energiesparmodus
6Aufgewacht durch CAN-Bus BotschaftAbholung historischer Daten + Dauerbetrieb

Herunterfahr-Ereignis

WertBedeutungBeschreibung
0keinkein Ereignis
1Klemme 15Herunterfahren über Klemme 15 (z.B. Zündschlüssel)
2Spannungsniveau "immer ausgeschaltet"Herunterfahren, da die Spannung den Grenzwert "immer ausgeschaltet" unterschritten hat
3CAN-Bus-BotschaftHerunterfahren aufgrund einer CAN-Bus-Botschaft
4ÜberstromHerunterfahren aufgrund überschrittener Stromstärke
5ÜbertemperaturHerunterfahren aufgrund überschrittener Temperatur
6-8RESERVIERT
9MOSFET-VersagenHerunterfahren aufgrund eines Versagens des MOSFETs
10Klemme 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)
11Eco-ModusHerunterfahren nach abgeschlossener Messung, da die Spannung unterhalb des Grenzwerts für "immer eingeschaltet" liegt
12UnterschreitungUnterschreitung der MOSFET Einschaltspannung
15unbekanntunbekanntes Herunterfahr-Ereignis

Call-Interface Funktionen

requestDelayedShutdown

Funktion für die Verzögerung des Herunterfahrens

ParamterTypBeschreibung
senderSTRINGEindeutige Senderkennung (z.B. Modulinstanz)
delayINTVerzögerung [ms] < 64k

Modul-Informationen

InformationWert
AutoroptiMEAS Measurement and Automation Systems GmbH
seit smartCORE0.101
ModultypProduzent & Konsument (request energy save)
Abhängigkeiten"canbus" bzw. "candbc" smartMODULE (auf smartDEVICES), funktionierendes CAN-Bus Interface (auf übrigen Plattformen)