Saltar al contenido principal

Módulo batMON de smartCORE

Descripción​

El módulo batmon representa la interfaz de la supervisión de batería smartIO batMON hacia el smartCORE. Para ello, diversos parámetros de la batería

  • con el sistema en funcionamiento, se escriben en forma de datos en vivo en smartCHANNELS
  • durante la fase de reposo del sistema, se registran como datos históricos y, durante la fase de encendido del sistema, se descargan del batMON y se guardan en un archivo previsto para ello.

Estados de funcionamiento​

El siguiente diagrama ilustra los estados de funcionamiento del batMON.

batMON States

Interfaces y protocolos utilizados​

  • CAN-Bus
  • Formato OSF

Configuración JSON​

En la siguiente sección se describe la configuración JSON completa del módulo y se explican los distintos parámetros.

Configuración de ejemplo (mínima)​

{
"module":"Batmon",
"factory":"batmon",
"config":{}
}

Configuración de ejemplo (máxima)​

{
"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
}
}

Lista de parámetros​

Nombre del parámetroObligatorioTipo de datosRango de valores recomendadoValor predeterminadoDescripción
priorityNoINT1 ... 9980Prioridad de planificación (scheduling) de la interfaz CAN-Bus
timeoutMsNoINT1 ...1000Intervalo entre las partes del módulo que se ejecutan periódicamente
readBufferSizeNoINT1 ...8192Número de mensajes CAN-Bus almacenados en búfer (sentido de lectura)
writeBufferSizeNoINT1 ...8192Número de mensajes CAN-Bus almacenados en búfer (sentido de escritura)
canInterfaceNoSTRING"can0", "can1", ..."can1"Interfaz CAN-Bus
fileNameNoSTRINGplantilla de ruta OSF válida"/sde/<tag>/<date>/<date>_<time>.osf"Archivo OSF histórico
fileTagNoSTRING"preview"Atributo de etiqueta (tag) del archivo OSF histórico
measurementTimeChannelNameNoSTRING"<module>.Parameter.MeasurementTime"Canal con el parámetro de intervalo de medición configurado
shutDownTimeChannelNameNoSTRING"<module>.Parameter.ShutDownTime"Canal con el parámetro de tiempo de apagado configurado
bootTimeChannelNameNoSTRING"<module>.Parameter.BootTime"Canal con el parámetro de tiempo de arranque configurado
wakeUpTimeChannelNameNoSTRING"<module>.Parameter.WakeUpTime"Canal con el parámetro de tiempo de despertar configurado
voltageDropDelayTimeChannelNameNoSTRING"<module>.Parameter.VoltageDropDelayTime"Canal con el parámetro configurado del tiempo de tolerancia a caídas de tensión
vAlwaysOffChannelNameNoSTRING"<module>.Parameter.VAlwaysOff"Canal con el parámetro configurado del umbral de conmutación inferior
vAlwaysOnChannelNameNoSTRING"<module>.Parameter.VAlwaysOn"Canal con el parámetro configurado del umbral de conmutación superior
powerSupplyVoltageChannelNameNoSTRING"<module>.PowerSupplyVoltage"Tensión de alimentación (U_Sup)
powerSupplyCurrentChannelNameNoSTRING"<module>.PowerSupplyCurrent"Intensidad de corriente de alimentación (I_Sup)
temperatureMOSFETChannelNameNoSTRING"<module>.TemperatureMOSFET"Temperatura del MOSFET (T_MOS)
temperatureChannelNameNoSTRING"<module>.Temperature"Temperatura del batMON (T_bM)
resistanceChannelNameNoSTRING"<module>.Resistance"Resistencia del batMON (R_bM)
operatingModeChannelNameNoSTRING"<module>.PluginState"Estado del plugin batMON (valor bruto de la máquina de estados)
configurationErrorChannelNameNoSTRING"<module>.ConfigurationError"Error de configuración del batMON
batteryStatusChannelNameNoSTRING"<module>.BatteryStatus"Estado de la batería del batMON
terminal15StatusChannelNameNoSTRING"<module>.Terminal15Status"Estado del borne 15 del batMON
shutDownCounterChannelNameNoSTRING"<module>.ShutDownCounter"Cuenta atrás del batMON dentro de la cual debe haber finalizado el apagado
bootCounterChannelNameNoSTRING"<module>.BootCounter"Cuenta atrás del batMON dentro de la cual debe haber finalizado el arranque del sistema
wakeUpEventChannelNameNoSTRING"<module>.WakeUpEvent"Evento de despertar del batMON
requestEnergySaveChannelNameNoSTRING"<module>.RequestEnergySave"Latch BOOL: se activa en cuanto, desde el inicio del módulo, se ha solicitado al menos una vez el ahorro de energía (modo ECO, flanco de desconexión del KL15 en funcionamiento AlwaysOn u orden de apagado confirmada); solo se restablece al reiniciar el módulo
aboutToShutDownChannelNameNoSTRING"<module>.AboutToShutDown"Canal BOOLEANO del batMON para notificar el apagado inminente
criticalPowerStateChannelNameNoSTRING"<module>.CriticalPowerState"Canal BOOLEANO del batMON para notificar un estado de tensión crítico
lowPowerStateChannelNameNoSTRING"<module>.LowPowerState"Canal BOOLEANO del batMON para notificar un estado de tensión baja
firmwareVersionsChannelNameNoSTRING"<module>.FirmwareVersion"Canal STRING con información de versión del FW y del FW del PIC
wakeUpTimeNoINT600 ... 72003600Tiempo de despertar del batMON [s]
measurementTimeNoINT30 ... 30060Intervalo de medición del batMON [s]
shutDownTimeNoINT30 ... 12090Tiempo de apagado del batMON [s]
bootTimeNoINT60 ... 120900Tiempo de arranque del batMON [s]
voltageDropDelayTimeNoINT10Tiempo de tolerancia a caídas de tensión del batMON [s]
voltageAlwaysOnMVNoINT(voltageAlwaysOffMV + 2000) ... 15000023000Umbral de conexión del batMON para funcionamiento continuo [mV]
voltageAlwaysOffMVNoINT18500 ... (voltageAlwaysOnMV - 2000)20500Umbral de desconexión del batMON [mV]
canIdValues123NoINTCAN ID válido/único120CAN-Bus ID del batMON para el mensaje (U_Sup,I_Sup,T_MOS)
canIdValues456NoINTCAN ID válido/único121CAN-Bus ID del batMON para el mensaje (T_bM)
canIdStatusNoINTCAN ID válido/único125CAN-Bus ID del batMON para el mensaje de estado
canIdSetRtcRXDNoINTCAN ID válido/único10CAN-Bus ID del batMON para configurar el RTC
canIdSetRtcTXDNo/DescartadoINTCAN ID válido/único11CAN-Bus ID del batMON para configurar el RTC (acuse de recibo)
canIdParameter1NoINTCAN ID válido/único130CAN-Bus ID del batMON para la primera trama de informe de parámetros
canIdParameter2NoINTCAN ID válido/único131CAN-Bus ID del batMON para la segunda trama de informe de parámetros
canIdParameter3NoINTCAN ID válido/único132CAN-Bus ID del batMON para la tercera trama de informe de parámetros

Enumeraciones de parámetros​

Estado del plugin (OperatingMode)

ValorEnumEstado
0bsInitInicialización
1bsBootArranque
2bsBootInternComArranque: comunicación interna
3bsSynchronizeRtcArranque: sincronizar RTC
4bsGetFirmwareVersionArranque: leer versión de firmware
5bsGetHistoryArranque: cargar datos históricos
6bsGetParameterArranque: leer parámetros
7bsUpdateParameterArranque: escribir parámetros
8bsWakeupDespertar
9bsRunningFuncionamiento normal
10bsCmdShutdownFuncionamiento normal: procesar orden de apagado
11bsResynchronizeRtcFuncionamiento normal: resincronizar RTC
12bsNotifyShutDownAnunciar apagado
13bsAboutToShutDownApagado iniciado
14bsPostponeShutDownApagado retrasado
15bsShutdownApagado

Estado del dispositivo batMON smartIO

ValorSignificado
0inicial tras un arranque en frío / reinicio
1Standby (supervisión del temporizador de reposo, tensiones, borne 15, ...)
2Conectado (MOSFET conectado, supervisión de la tensión de entrada)
3Arranque del sistema (espera a que el sistema arranque)
4Supervisión (espera a la condición de apagado del sistema)
5Desconexión (espera a que el sistema se apague)
6Desconectado (MOSFET desconectado, los condensadores se descargan)

Error de configuración

ValorEnumSignificado
-3VoltageAlwaysOnTooHighvoltageAlwaysOnMV demasiado alto
-2VoltageAlwaysOnTooLowvoltageAlwaysOnMV demasiado bajo
-1VoltageAlwaysOffTooLowvoltageAlwaysOffMV demasiado bajo
0OKOK
1WrongMeasurementTimemeasurementTime incorrecto
2WrongShutdownTimeshutDownTime incorrecto
3WrongBootTimebootTime incorrecto
4WrongWakeUpTimewakeUpTime incorrecto
5WrongVAlwaysOnvoltageAlwaysOnMV incorrecto
6WrongVAlwaysOffvoltageAlwaysOffMV incorrecto
7WrongVoltageDropDelayTimevoltageDropDelayTime incorrecto

Estado de la batería

ValorSignificado
0desconocido
1conectada permanentemente
2modo de ahorro de energía
3desconectada permanentemente
4desconectada permanentemente (por debajo de la tensión de conexión de la fuente de alimentación)

Estado del borne 15

ValorSignificado
0desconocido/no presente
1Flanco de conexión
2Flanco de desconexión

Evento de despertar

ValorEnumSignificadoModo de funcionamiento siguiente
0eWakeUp_nonesin eventoindefinido
1eWakeUp_KL15_ONFlanco de conexión del borne 15Recogida de datos históricos + funcionamiento continuo
2eWakeUp_Ubatt_Always_OFFU_batt por debajo del umbral Always-OFFAlarma + apagado
3eWakeUp_Ubatt_Always_ONU_batt por encima del umbral Always-ONRecogida de datos históricos + funcionamiento continuo
4eWakeUp_Ubatt_TimerDespertar periódico en modo de ahorro de energía (temporizador)Recogida de datos históricos + modo de ahorro de energía
5eWakeUp_Ubatt_LowPower(obsoleto)Recogida de datos históricos + modo de ahorro de energía
6eWakeUp_CAN_TimerDespertado tras un reposo solicitado activamente por CANRecogida de datos históricos + funcionamiento continuo

Evento de apagado

ValorEnumSignificadoDescripción
0eShutdown_noneningunosin evento
1eShutdown_KL15Borne 15Apagado mediante el borne 15 (p. ej. llave de contacto)
2eShutdown_Ubatt_Always_OFFU_batt por debajo del umbral Always-OFFApagado porque U_batt ha caído por debajo del valor umbral Always-OFF
3eShutdown_CANMensaje CAN-BusApagado debido a un mensaje CAN-Bus
4eShutdown_OverCurrentSobrecorriente (error)Apagado debido a que se ha superado la intensidad de corriente
5eShutdown_OverTemperatureSobretemperatura (error)Apagado debido a que se ha superado la temperatura
6–8—RESERVADO
9eShutdown_MOSFET_FailureFallo del MOSFET (error)Apagado debido a un fallo del MOSFET
10ePowerOff_KL15_Ubatt_Always_OFFBorne 15 y umbral Always-OFFApagado porque U_batt ha caído por debajo del valor umbral Always-OFF (borne 15 presente)
11ePowerOff_ECO_ModeModo EcoApagado tras la medición, U_batt por debajo del umbral Always-ON
12ePowerOff_Underrange_IntrexisValor por debajo del rangoTensión por debajo de la tensión de conexión del MOSFET
15eShutdown_Unknowndesconocidoevento de apagado desconocido

Funciones de la interfaz de llamada (Call-Interface)​

requestDelayedShutdown​

Función para retrasar el apagado

ParámetroTipoDescripción
senderSTRINGIdentificador único del emisor (p. ej. instancia del módulo)
delayINTRetardo [ms] < 64k

Información del módulo​

InformaciónValor
AutoroptiMEAS GmbH
desde smartCORE0.101
Tipo de móduloProductor y consumidor (request energy save)
DependenciassmartMODULE "canbus" o "candbc" (en smartDEVICES), interfaz CAN-Bus funcional (en las demás plataformas)