// === Description === // Steuergeraet eines Hochvolt-Traktionsakkus fuer Elektrofahrzeuge. // Ueberwacht Zellspannungen, -temperaturen und Isolationswiderstand, // regelt das Thermomanagement und schaltet im Fehlerfall die Batterie // vom Antriebsstrang ab. Sicherheitsziel: unkontrolliertes Thermal // Runaway verhindern durch zwei unabhaengige Trennpfade (Hauptschuetz // plus pyrotechnische Sicherung) und redundante Isolationsueberwachung. // Dual-Channel BMS-Master nach ASIL-D-Dekomposition. // Normen: UN-ECE R100, IEC 62660, ISO 26262. // === End Description === // FtaDSL Battery Management System (BMS) // High-Voltage Traction Battery Pack Controller for EV // // Author: Wolfgang Freese, Overath (Germany) // April 2026 // Version 1.0 // // Safety Class: ASIL D (ISO 26262) for Thermal Runaway Containment // // System Scope: // HV battery pack of 8 modules x 12 cells, abstracted to 4 module groups. // The BMS monitors each cell (voltage, temperature), aggregates data via // an isoSPI daisy-chain to a dual-channel master controller (ASIL D // decomposition ASIL B(D) + ASIL B(D)), estimates SOC / SOH / SOP, // controls the thermal loop (pump, fan, heater, chiller) and commands // two independent disconnection paths: the HV main contactor (primary) // and a pyrotechnic fuse (backup if contactors weld). An HV interlock // loop (HVIL) and two redundant isolation monitors provide additional // leakage-current protection. Crash signal from the airbag ECU forces // immediate isolation. // // Subsystems (top-level breakdown): // Cell level : CellMonitorIC_Group1..4 (VoltageADC, TemperatureADC, // Balancing, CellHealthLogic) // Module level : ModuleController_1..4 // Bus level : ISOSPI_Bus_Internal, CAN_BMS_A, CAN_BMS_B, Diagnostic_UART // Pack sensors : CurrentShunt, PackVoltageSensor, CurrentSensor_Hall // Estimators : SOC_Estimator, SOH_Estimator, SOP_Limiter, ThermalModel // Master ECUs : BMS_Master_ChannelA, BMS_Master_ChannelB // Thermal : CoolantTempSensor_In/Out, CoolingPumpController, // CoolingFanController, HeaterController, ChillerInterface // Safety loop : HVIL_Loop, IsolationMonitor_Primary / Secondary // Disconnect : MainContactor, PreChargeContactor, PrechargeResistor, Pyrofuse // 12 V supply : PowerSupply_12V_Primary, PowerSupply_12V_Backup // // Fault Modes (approx. 18 shared modes): // OverVoltage_Cell - cell exceeds upper voltage limit // UnderVoltage_Cell - cell falls below lower voltage limit // OverTemperature_Cell - cell temperature above safe threshold // ImbalanceHigh - module cell-to-cell voltage spread too large // Isolation_Lost - leakage current / insulation breakdown // Contactor_Welded - contactor contacts fused, cannot open // Contactor_FailsToOpen - contactor mechanically/electrically stuck // Pyrofuse_Dud - pyrotechnic squib fails to fire // SOC_Error - state-of-charge estimate erroneous // Measurement_Drift - sensor reading slowly deviating // Measurement_Stuck - sensor reading frozen at last value // Cooling_Insufficient - insufficient heat removal // Coolant_Leak - coolant loss, pressure/flow fault // Bus_Silent - communication bus with no frames // Bus_Stuck - communication bus with stuck/old frames // Data_Stale - data not refreshed within deadline // Power_Lost - 12 V supply lost // CrashSignal_Lost - crash pulse from airbag ECU not received // // Top Level Event (TLE): // ThermalRunawayNotContained - the BMS fails to disconnect the pack // or activate mitigation in time to prevent cascading thermal runaway // from an internal cell fault. // // Applicable standards / references: // ISO 26262 (Road vehicles - Functional safety, ASIL D decomposition) // UN-ECE R100 Rev.3 (Battery Electric Vehicle Safety Requirements) // UN 38.3 (Transport of Lithium Batteries) // IEC 62660-1/2/3 (Secondary lithium-ion cells for EV propulsion) // SAE J2464 (EV / HEV rechargeable ESS abuse testing) // SAE J2929 (Electric / Hybrid Vehicle Propulsion Battery System Safety) // // Redundancy / Defense-in-Depth: // Dual-channel master (A + B) with hardware watchdog cross-check. // Two independent disconnection paths: MainContactor AND Pyrofuse. // Two isolation monitors (Primary + Secondary). // Two CAN channels (CAN_BMS_A, CAN_BMS_B). // Two 12 V power supplies (Primary + Backup). FUNCTION BMS INPUT CellRaw_Group1 INPUT CellRaw_Group2 INPUT CellRaw_Group3 INPUT CellRaw_Group4 INPUT CellTemp_Raw_1 INPUT CellTemp_Raw_2 INPUT CellTemp_Raw_3 INPUT CellTemp_Raw_4 INPUT Pack_Current_Raw INPUT Pack_Voltage_Raw INPUT CoolantFlow_Raw INPUT AmbientTemp INPUT CAN_Vehicle_A INPUT CAN_Vehicle_B INPUT ChargerInput INPUT HV_Bus_Sense INPUT Pwr12V_A INPUT Pwr12V_B INPUT CrashSignal OUTPUT MainContactor_Cmd OUTPUT PrechargeContactor_Cmd OUTPUT Pyrofuse_Cmd OUTPUT CoolingPump_Cmd OUTPUT CoolingFan_Cmd OUTPUT Heater_Cmd OUTPUT Chiller_Cmd OUTPUT DiagnosticLog OUTPUT WarningLamp OUTPUT CAN_BMS_Out_A OUTPUT CAN_BMS_Out_B // ========================================================= // 12 V power infrastructure // ========================================================= FUNCTION PowerSupply_12V_Primary INPUT Pwr_In_A OUTPUT Pwr_Out_A OIM Pwr_Out_A.Power_Lost.Pwr_In_A.Power_Lost END FUNCTION FUNCTION PowerSupply_12V_Backup INPUT Pwr_In_B OUTPUT Pwr_Out_B OIM Pwr_Out_B.Power_Lost.Pwr_In_B.Power_Lost END FUNCTION // ========================================================= // Cell monitor ICs - group 1 // ========================================================= FUNCTION VoltageADC_G1 INPUT CellRaw OUTPUT CellVoltage OIM CellVoltage.OverVoltage_Cell.CellRaw.OverVoltage_Cell OIM CellVoltage.UnderVoltage_Cell.CellRaw.UnderVoltage_Cell OIM CellVoltage.Measurement_Drift.CellRaw.Measurement_Drift OIM CellVoltage.Measurement_Stuck.CellRaw.Measurement_Stuck END FUNCTION FUNCTION TemperatureADC_G1 INPUT CellTempRaw OUTPUT CellTemperature OIM CellTemperature.OverTemperature_Cell.CellTempRaw.OverTemperature_Cell OIM CellTemperature.Measurement_Drift.CellTempRaw.Measurement_Drift OIM CellTemperature.Measurement_Stuck.CellTempRaw.Measurement_Stuck END FUNCTION FUNCTION Balancing_G1 INPUT CellVoltageIn OUTPUT BalanceStatus OIM BalanceStatus.ImbalanceHigh.OR(CellVoltageIn.OverVoltage_Cell; CellVoltageIn.UnderVoltage_Cell; CellVoltageIn.Measurement_Drift) END FUNCTION FUNCTION CellHealthLogic_G1 INPUT VoltIn INPUT TempIn INPUT BalIn OUTPUT HealthReport OIM HealthReport.OverVoltage_Cell.VoltIn.OverVoltage_Cell OIM HealthReport.UnderVoltage_Cell.VoltIn.UnderVoltage_Cell OIM HealthReport.OverTemperature_Cell.TempIn.OverTemperature_Cell OIM HealthReport.ImbalanceHigh.BalIn.ImbalanceHigh OIM HealthReport.Measurement_Drift.OR(VoltIn.Measurement_Drift; TempIn.Measurement_Drift) OIM HealthReport.Measurement_Stuck.OR(VoltIn.Measurement_Stuck; TempIn.Measurement_Stuck) END FUNCTION FUNCTION CellMonitorIC_Group1 INPUT CellRawIn INPUT CellTempIn OUTPUT GroupReport OIM GroupReport.OverVoltage_Cell.CellRawIn.OverVoltage_Cell OIM GroupReport.UnderVoltage_Cell.CellRawIn.UnderVoltage_Cell OIM GroupReport.OverTemperature_Cell.CellTempIn.OverTemperature_Cell OIM GroupReport.ImbalanceHigh.CellRawIn.OverVoltage_Cell OIM GroupReport.Measurement_Drift.OR(CellRawIn.Measurement_Drift; CellTempIn.Measurement_Drift) OIM GroupReport.Measurement_Stuck.OR(CellRawIn.Measurement_Stuck; CellTempIn.Measurement_Stuck) END FUNCTION // ========================================================= // Cell monitor ICs - group 2 // ========================================================= FUNCTION VoltageADC_G2 INPUT CellRaw OUTPUT CellVoltage OIM CellVoltage.OverVoltage_Cell.CellRaw.OverVoltage_Cell OIM CellVoltage.UnderVoltage_Cell.CellRaw.UnderVoltage_Cell OIM CellVoltage.Measurement_Drift.CellRaw.Measurement_Drift OIM CellVoltage.Measurement_Stuck.CellRaw.Measurement_Stuck END FUNCTION FUNCTION TemperatureADC_G2 INPUT CellTempRaw OUTPUT CellTemperature OIM CellTemperature.OverTemperature_Cell.CellTempRaw.OverTemperature_Cell OIM CellTemperature.Measurement_Drift.CellTempRaw.Measurement_Drift OIM CellTemperature.Measurement_Stuck.CellTempRaw.Measurement_Stuck END FUNCTION FUNCTION Balancing_G2 INPUT CellVoltageIn OUTPUT BalanceStatus OIM BalanceStatus.ImbalanceHigh.OR(CellVoltageIn.OverVoltage_Cell; CellVoltageIn.UnderVoltage_Cell; CellVoltageIn.Measurement_Drift) END FUNCTION FUNCTION CellHealthLogic_G2 INPUT VoltIn INPUT TempIn INPUT BalIn OUTPUT HealthReport OIM HealthReport.OverVoltage_Cell.VoltIn.OverVoltage_Cell OIM HealthReport.UnderVoltage_Cell.VoltIn.UnderVoltage_Cell OIM HealthReport.OverTemperature_Cell.TempIn.OverTemperature_Cell OIM HealthReport.ImbalanceHigh.BalIn.ImbalanceHigh OIM HealthReport.Measurement_Drift.OR(VoltIn.Measurement_Drift; TempIn.Measurement_Drift) OIM HealthReport.Measurement_Stuck.OR(VoltIn.Measurement_Stuck; TempIn.Measurement_Stuck) END FUNCTION FUNCTION CellMonitorIC_Group2 INPUT CellRawIn INPUT CellTempIn OUTPUT GroupReport OIM GroupReport.OverVoltage_Cell.CellRawIn.OverVoltage_Cell OIM GroupReport.UnderVoltage_Cell.CellRawIn.UnderVoltage_Cell OIM GroupReport.OverTemperature_Cell.CellTempIn.OverTemperature_Cell OIM GroupReport.ImbalanceHigh.CellRawIn.OverVoltage_Cell OIM GroupReport.Measurement_Drift.OR(CellRawIn.Measurement_Drift; CellTempIn.Measurement_Drift) OIM GroupReport.Measurement_Stuck.OR(CellRawIn.Measurement_Stuck; CellTempIn.Measurement_Stuck) END FUNCTION // ========================================================= // Cell monitor ICs - group 3 // ========================================================= FUNCTION VoltageADC_G3 INPUT CellRaw OUTPUT CellVoltage OIM CellVoltage.OverVoltage_Cell.CellRaw.OverVoltage_Cell OIM CellVoltage.UnderVoltage_Cell.CellRaw.UnderVoltage_Cell OIM CellVoltage.Measurement_Drift.CellRaw.Measurement_Drift OIM CellVoltage.Measurement_Stuck.CellRaw.Measurement_Stuck END FUNCTION FUNCTION TemperatureADC_G3 INPUT CellTempRaw OUTPUT CellTemperature OIM CellTemperature.OverTemperature_Cell.CellTempRaw.OverTemperature_Cell OIM CellTemperature.Measurement_Drift.CellTempRaw.Measurement_Drift OIM CellTemperature.Measurement_Stuck.CellTempRaw.Measurement_Stuck END FUNCTION FUNCTION Balancing_G3 INPUT CellVoltageIn OUTPUT BalanceStatus OIM BalanceStatus.ImbalanceHigh.OR(CellVoltageIn.OverVoltage_Cell; CellVoltageIn.UnderVoltage_Cell; CellVoltageIn.Measurement_Drift) END FUNCTION FUNCTION CellHealthLogic_G3 INPUT VoltIn INPUT TempIn INPUT BalIn OUTPUT HealthReport OIM HealthReport.OverVoltage_Cell.VoltIn.OverVoltage_Cell OIM HealthReport.UnderVoltage_Cell.VoltIn.UnderVoltage_Cell OIM HealthReport.OverTemperature_Cell.TempIn.OverTemperature_Cell OIM HealthReport.ImbalanceHigh.BalIn.ImbalanceHigh OIM HealthReport.Measurement_Drift.OR(VoltIn.Measurement_Drift; TempIn.Measurement_Drift) OIM HealthReport.Measurement_Stuck.OR(VoltIn.Measurement_Stuck; TempIn.Measurement_Stuck) END FUNCTION FUNCTION CellMonitorIC_Group3 INPUT CellRawIn INPUT CellTempIn OUTPUT GroupReport OIM GroupReport.OverVoltage_Cell.CellRawIn.OverVoltage_Cell OIM GroupReport.UnderVoltage_Cell.CellRawIn.UnderVoltage_Cell OIM GroupReport.OverTemperature_Cell.CellTempIn.OverTemperature_Cell OIM GroupReport.ImbalanceHigh.CellRawIn.OverVoltage_Cell OIM GroupReport.Measurement_Drift.OR(CellRawIn.Measurement_Drift; CellTempIn.Measurement_Drift) OIM GroupReport.Measurement_Stuck.OR(CellRawIn.Measurement_Stuck; CellTempIn.Measurement_Stuck) END FUNCTION // ========================================================= // Cell monitor ICs - group 4 // ========================================================= FUNCTION VoltageADC_G4 INPUT CellRaw OUTPUT CellVoltage OIM CellVoltage.OverVoltage_Cell.CellRaw.OverVoltage_Cell OIM CellVoltage.UnderVoltage_Cell.CellRaw.UnderVoltage_Cell OIM CellVoltage.Measurement_Drift.CellRaw.Measurement_Drift OIM CellVoltage.Measurement_Stuck.CellRaw.Measurement_Stuck END FUNCTION FUNCTION TemperatureADC_G4 INPUT CellTempRaw OUTPUT CellTemperature OIM CellTemperature.OverTemperature_Cell.CellTempRaw.OverTemperature_Cell OIM CellTemperature.Measurement_Drift.CellTempRaw.Measurement_Drift OIM CellTemperature.Measurement_Stuck.CellTempRaw.Measurement_Stuck END FUNCTION FUNCTION Balancing_G4 INPUT CellVoltageIn OUTPUT BalanceStatus OIM BalanceStatus.ImbalanceHigh.OR(CellVoltageIn.OverVoltage_Cell; CellVoltageIn.UnderVoltage_Cell; CellVoltageIn.Measurement_Drift) END FUNCTION FUNCTION CellHealthLogic_G4 INPUT VoltIn INPUT TempIn INPUT BalIn OUTPUT HealthReport OIM HealthReport.OverVoltage_Cell.VoltIn.OverVoltage_Cell OIM HealthReport.UnderVoltage_Cell.VoltIn.UnderVoltage_Cell OIM HealthReport.OverTemperature_Cell.TempIn.OverTemperature_Cell OIM HealthReport.ImbalanceHigh.BalIn.ImbalanceHigh OIM HealthReport.Measurement_Drift.OR(VoltIn.Measurement_Drift; TempIn.Measurement_Drift) OIM HealthReport.Measurement_Stuck.OR(VoltIn.Measurement_Stuck; TempIn.Measurement_Stuck) END FUNCTION FUNCTION CellMonitorIC_Group4 INPUT CellRawIn INPUT CellTempIn OUTPUT GroupReport OIM GroupReport.OverVoltage_Cell.CellRawIn.OverVoltage_Cell OIM GroupReport.UnderVoltage_Cell.CellRawIn.UnderVoltage_Cell OIM GroupReport.OverTemperature_Cell.CellTempIn.OverTemperature_Cell OIM GroupReport.ImbalanceHigh.CellRawIn.OverVoltage_Cell OIM GroupReport.Measurement_Drift.OR(CellRawIn.Measurement_Drift; CellTempIn.Measurement_Drift) OIM GroupReport.Measurement_Stuck.OR(CellRawIn.Measurement_Stuck; CellTempIn.Measurement_Stuck) END FUNCTION // ========================================================= // Module Controllers // ========================================================= FUNCTION ModuleController_1 INPUT GroupIn OUTPUT ModuleReport OIM ModuleReport.OverVoltage_Cell.GroupIn.OverVoltage_Cell OIM ModuleReport.UnderVoltage_Cell.GroupIn.UnderVoltage_Cell OIM ModuleReport.OverTemperature_Cell.GroupIn.OverTemperature_Cell OIM ModuleReport.ImbalanceHigh.GroupIn.ImbalanceHigh OIM ModuleReport.Data_Stale.OR(GroupIn.Measurement_Stuck; GroupIn.Measurement_Drift) END FUNCTION FUNCTION ModuleController_2 INPUT GroupIn OUTPUT ModuleReport OIM ModuleReport.OverVoltage_Cell.GroupIn.OverVoltage_Cell OIM ModuleReport.UnderVoltage_Cell.GroupIn.UnderVoltage_Cell OIM ModuleReport.OverTemperature_Cell.GroupIn.OverTemperature_Cell OIM ModuleReport.ImbalanceHigh.GroupIn.ImbalanceHigh OIM ModuleReport.Data_Stale.OR(GroupIn.Measurement_Stuck; GroupIn.Measurement_Drift) END FUNCTION FUNCTION ModuleController_3 INPUT GroupIn OUTPUT ModuleReport OIM ModuleReport.OverVoltage_Cell.GroupIn.OverVoltage_Cell OIM ModuleReport.UnderVoltage_Cell.GroupIn.UnderVoltage_Cell OIM ModuleReport.OverTemperature_Cell.GroupIn.OverTemperature_Cell OIM ModuleReport.ImbalanceHigh.GroupIn.ImbalanceHigh OIM ModuleReport.Data_Stale.OR(GroupIn.Measurement_Stuck; GroupIn.Measurement_Drift) END FUNCTION FUNCTION ModuleController_4 INPUT GroupIn OUTPUT ModuleReport OIM ModuleReport.OverVoltage_Cell.GroupIn.OverVoltage_Cell OIM ModuleReport.UnderVoltage_Cell.GroupIn.UnderVoltage_Cell OIM ModuleReport.OverTemperature_Cell.GroupIn.OverTemperature_Cell OIM ModuleReport.ImbalanceHigh.GroupIn.ImbalanceHigh OIM ModuleReport.Data_Stale.OR(GroupIn.Measurement_Stuck; GroupIn.Measurement_Drift) END FUNCTION // ========================================================= // Internal isoSPI aggregation bus // ========================================================= FUNCTION ISOSPI_Bus_Internal INPUT M1In INPUT M2In INPUT M3In INPUT M4In OUTPUT PackCellReport OIM PackCellReport.OverVoltage_Cell.OR(M1In.OverVoltage_Cell; M2In.OverVoltage_Cell; M3In.OverVoltage_Cell; M4In.OverVoltage_Cell) OIM PackCellReport.UnderVoltage_Cell.OR(M1In.UnderVoltage_Cell; M2In.UnderVoltage_Cell; M3In.UnderVoltage_Cell; M4In.UnderVoltage_Cell) OIM PackCellReport.OverTemperature_Cell.OR(M1In.OverTemperature_Cell; M2In.OverTemperature_Cell; M3In.OverTemperature_Cell; M4In.OverTemperature_Cell) OIM PackCellReport.ImbalanceHigh.OR(M1In.ImbalanceHigh; M2In.ImbalanceHigh; M3In.ImbalanceHigh; M4In.ImbalanceHigh) OIM PackCellReport.Bus_Silent.OR(M1In.Data_Stale; M2In.Data_Stale; M3In.Data_Stale; M4In.Data_Stale) OIM PackCellReport.Bus_Stuck.OR(M1In.Data_Stale; M2In.Data_Stale) OIM PackCellReport.Data_Stale.OR(M1In.Data_Stale; M2In.Data_Stale; M3In.Data_Stale; M4In.Data_Stale) END FUNCTION // ========================================================= // Pack-level sensors // ========================================================= FUNCTION CurrentShunt INPUT CurrIn OUTPUT Current_Shunt OIM Current_Shunt.Measurement_Drift.CurrIn.Measurement_Drift OIM Current_Shunt.Measurement_Stuck.CurrIn.Measurement_Stuck END FUNCTION FUNCTION CurrentSensor_Hall INPUT CurrInHall OUTPUT Current_Hall OIM Current_Hall.Measurement_Drift.CurrInHall.Measurement_Drift OIM Current_Hall.Measurement_Stuck.CurrInHall.Measurement_Stuck END FUNCTION FUNCTION PackVoltageSensor INPUT VoltIn OUTPUT PackVoltage OIM PackVoltage.Measurement_Drift.VoltIn.Measurement_Drift OIM PackVoltage.Measurement_Stuck.VoltIn.Measurement_Stuck OIM PackVoltage.OverVoltage_Cell.VoltIn.OverVoltage_Cell END FUNCTION // ========================================================= // Thermal subsystem // ========================================================= FUNCTION CoolantTempSensor_In INPUT FlowIn OUTPUT TempInSignal OIM TempInSignal.Measurement_Drift.FlowIn.Measurement_Drift OIM TempInSignal.Measurement_Stuck.FlowIn.Measurement_Stuck OIM TempInSignal.Coolant_Leak.FlowIn.Coolant_Leak END FUNCTION FUNCTION CoolantTempSensor_Out INPUT FlowIn OUTPUT TempOutSignal OIM TempOutSignal.Measurement_Drift.FlowIn.Measurement_Drift OIM TempOutSignal.Measurement_Stuck.FlowIn.Measurement_Stuck OIM TempOutSignal.Coolant_Leak.FlowIn.Coolant_Leak END FUNCTION FUNCTION ThermalModel INPUT TIn INPUT TOut INPUT AmbIn OUTPUT ThermalState OIM ThermalState.Cooling_Insufficient.OR(TIn.Measurement_Drift; TOut.Measurement_Drift; TIn.Coolant_Leak; TOut.Coolant_Leak; AmbIn.Measurement_Drift) OIM ThermalState.Coolant_Leak.OR(TIn.Coolant_Leak; TOut.Coolant_Leak) OIM ThermalState.Measurement_Stuck.OR(TIn.Measurement_Stuck; TOut.Measurement_Stuck) END FUNCTION FUNCTION CoolingPumpController INPUT ThermIn INPUT PwrIn OUTPUT PumpCmd OIM PumpCmd.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; ThermIn.Coolant_Leak; PwrIn.Power_Lost) END FUNCTION FUNCTION CoolingFanController INPUT ThermIn INPUT PwrIn OUTPUT FanCmd OIM FanCmd.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; PwrIn.Power_Lost) END FUNCTION FUNCTION HeaterController INPUT ThermIn INPUT PwrIn OUTPUT HeaterCmd OIM HeaterCmd.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; PwrIn.Power_Lost) END FUNCTION FUNCTION ChillerInterface INPUT ThermIn INPUT PwrIn OUTPUT ChillerCmd OIM ChillerCmd.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; ThermIn.Coolant_Leak; PwrIn.Power_Lost) END FUNCTION // ========================================================= // Isolation monitors (redundant) // ========================================================= FUNCTION IsolationMonitor_Primary INPUT HVSenseIn INPUT PwrIn OUTPUT IsoStatusA OIM IsoStatusA.Isolation_Lost.HVSenseIn.Isolation_Lost OIM IsoStatusA.Measurement_Stuck.OR(HVSenseIn.Measurement_Stuck; PwrIn.Power_Lost) OIM IsoStatusA.Measurement_Drift.HVSenseIn.Measurement_Drift END FUNCTION FUNCTION IsolationMonitor_Secondary INPUT HVSenseIn INPUT PwrIn OUTPUT IsoStatusB OIM IsoStatusB.Isolation_Lost.HVSenseIn.Isolation_Lost OIM IsoStatusB.Measurement_Stuck.OR(HVSenseIn.Measurement_Stuck; PwrIn.Power_Lost) OIM IsoStatusB.Measurement_Drift.HVSenseIn.Measurement_Drift END FUNCTION FUNCTION HVIL_Loop INPUT CrashIn OUTPUT HVILStatus OIM HVILStatus.CrashSignal_Lost.CrashIn.CrashSignal_Lost OIM HVILStatus.Isolation_Lost.CrashIn.Isolation_Lost END FUNCTION // ========================================================= // Estimators // ========================================================= FUNCTION SOC_Estimator INPUT CurrIn INPUT VoltIn INPUT CellIn OUTPUT SOC OIM SOC.SOC_Error.OR(CurrIn.Measurement_Drift; VoltIn.Measurement_Drift; CellIn.Measurement_Drift; CurrIn.Measurement_Stuck; VoltIn.Measurement_Stuck) OIM SOC.Data_Stale.OR(CurrIn.Measurement_Stuck; VoltIn.Measurement_Stuck; CellIn.Data_Stale) END FUNCTION FUNCTION SOH_Estimator INPUT CurrIn INPUT VoltIn INPUT CellIn OUTPUT SOH OIM SOH.SOC_Error.OR(CurrIn.Measurement_Drift; VoltIn.Measurement_Drift; CellIn.Measurement_Drift) OIM SOH.Data_Stale.OR(CurrIn.Measurement_Stuck; VoltIn.Measurement_Stuck; CellIn.Data_Stale) END FUNCTION FUNCTION SOP_Limiter INPUT SOCIn INPUT SOHIn INPUT ThermIn OUTPUT PowerLimit OIM PowerLimit.SOC_Error.OR(SOCIn.SOC_Error; SOHIn.SOC_Error) OIM PowerLimit.Cooling_Insufficient.ThermIn.Cooling_Insufficient OIM PowerLimit.Data_Stale.OR(SOCIn.Data_Stale; SOHIn.Data_Stale) END FUNCTION // ========================================================= // Vehicle CAN (redundant) // ========================================================= FUNCTION CAN_BMS_A INPUT VehIn OUTPUT CANOut OIM CANOut.Bus_Silent.VehIn.Bus_Silent OIM CANOut.Bus_Stuck.VehIn.Bus_Stuck OIM CANOut.Data_Stale.VehIn.Data_Stale END FUNCTION FUNCTION CAN_BMS_B INPUT VehIn OUTPUT CANOut OIM CANOut.Bus_Silent.VehIn.Bus_Silent OIM CANOut.Bus_Stuck.VehIn.Bus_Stuck OIM CANOut.Data_Stale.VehIn.Data_Stale END FUNCTION FUNCTION Diagnostic_UART INPUT CANInA INPUT CANInB OUTPUT DiagLog OIM DiagLog.Bus_Silent.AND(CANInA.Bus_Silent; CANInB.Bus_Silent) OIM DiagLog.Data_Stale.AND(CANInA.Data_Stale; CANInB.Data_Stale) END FUNCTION // ========================================================= // Dual-channel master (ASIL D decomposition) // ========================================================= FUNCTION BMS_Master_ChannelA INPUT CellIn INPUT CurrIn INPUT VoltIn INPUT SOCIn INPUT SOPIn INPUT ThermIn INPUT IsoInA INPUT CANIn INPUT HVILIn INPUT PwrIn OUTPUT SafeCmdA OUTPUT IsoCmdA OIM SafeCmdA.Contactor_FailsToOpen.OR(CellIn.Data_Stale; CurrIn.Measurement_Stuck; VoltIn.Measurement_Stuck; CANIn.Bus_Silent; PwrIn.Power_Lost) OIM SafeCmdA.OverTemperature_Cell.CellIn.OverTemperature_Cell OIM SafeCmdA.OverVoltage_Cell.CellIn.OverVoltage_Cell OIM SafeCmdA.UnderVoltage_Cell.CellIn.UnderVoltage_Cell OIM SafeCmdA.ImbalanceHigh.CellIn.ImbalanceHigh OIM SafeCmdA.SOC_Error.OR(SOCIn.SOC_Error; SOPIn.SOC_Error) OIM SafeCmdA.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; SOPIn.Cooling_Insufficient) OIM SafeCmdA.Data_Stale.OR(CellIn.Data_Stale; SOCIn.Data_Stale; CANIn.Data_Stale; HVILIn.CrashSignal_Lost) OIM SafeCmdA.Power_Lost.PwrIn.Power_Lost OIM IsoCmdA.Isolation_Lost.OR(IsoInA.Isolation_Lost; HVILIn.Isolation_Lost) OIM IsoCmdA.Measurement_Stuck.IsoInA.Measurement_Stuck END FUNCTION FUNCTION BMS_Master_ChannelB INPUT CellIn INPUT CurrIn INPUT VoltIn INPUT SOCIn INPUT SOPIn INPUT ThermIn INPUT IsoInB INPUT CANIn INPUT HVILIn INPUT PwrIn OUTPUT SafeCmdB OUTPUT IsoCmdB OIM SafeCmdB.Contactor_FailsToOpen.OR(CellIn.Data_Stale; CurrIn.Measurement_Stuck; VoltIn.Measurement_Stuck; CANIn.Bus_Silent; PwrIn.Power_Lost) OIM SafeCmdB.OverTemperature_Cell.CellIn.OverTemperature_Cell OIM SafeCmdB.OverVoltage_Cell.CellIn.OverVoltage_Cell OIM SafeCmdB.UnderVoltage_Cell.CellIn.UnderVoltage_Cell OIM SafeCmdB.ImbalanceHigh.CellIn.ImbalanceHigh OIM SafeCmdB.SOC_Error.OR(SOCIn.SOC_Error; SOPIn.SOC_Error) OIM SafeCmdB.Cooling_Insufficient.OR(ThermIn.Cooling_Insufficient; SOPIn.Cooling_Insufficient) OIM SafeCmdB.Data_Stale.OR(CellIn.Data_Stale; SOCIn.Data_Stale; CANIn.Data_Stale; HVILIn.CrashSignal_Lost) OIM SafeCmdB.Power_Lost.PwrIn.Power_Lost OIM IsoCmdB.Isolation_Lost.OR(IsoInB.Isolation_Lost; HVILIn.Isolation_Lost) OIM IsoCmdB.Measurement_Stuck.IsoInB.Measurement_Stuck END FUNCTION // ========================================================= // Disconnection paths // ========================================================= FUNCTION PrechargeResistor INPUT PreIn OUTPUT PreOut OIM PreOut.Contactor_FailsToOpen.PreIn.Contactor_FailsToOpen END FUNCTION FUNCTION PreChargeContactor INPUT CmdIn INPUT ResIn OUTPUT PCOut OIM PCOut.Contactor_FailsToOpen.OR(CmdIn.Contactor_FailsToOpen; ResIn.Contactor_FailsToOpen) OIM PCOut.Contactor_Welded.CmdIn.Contactor_Welded END FUNCTION FUNCTION MainContactor INPUT CmdA INPUT CmdB OUTPUT MCOut OIM MCOut.Contactor_FailsToOpen.AND(CmdA.Contactor_FailsToOpen; CmdB.Contactor_FailsToOpen) OIM MCOut.Contactor_Welded.AND(CmdA.Contactor_FailsToOpen; CmdB.Contactor_FailsToOpen) END FUNCTION FUNCTION Pyrofuse INPUT CmdA INPUT CmdB OUTPUT FuseOut OIM FuseOut.Pyrofuse_Dud.AND(CmdA.Contactor_FailsToOpen; CmdB.Contactor_FailsToOpen) OIM FuseOut.Contactor_FailsToOpen.AND(CmdA.Contactor_FailsToOpen; CmdB.Contactor_FailsToOpen) END FUNCTION // ========================================================= // Signal flow // ========================================================= // Power supplies INT ifPwrA.BMS.IN.Pwr12V_A.PowerSupply_12V_Primary.IN.Pwr_In_A INT ifPwrB.BMS.IN.Pwr12V_B.PowerSupply_12V_Backup.IN.Pwr_In_B // Cell raw to monitor groups INT ifCellRawG1.BMS.IN.CellRaw_Group1.CellMonitorIC_Group1.IN.CellRawIn INT ifCellTempG1.BMS.IN.CellTemp_Raw_1.CellMonitorIC_Group1.IN.CellTempIn INT ifCellRawG2.BMS.IN.CellRaw_Group2.CellMonitorIC_Group2.IN.CellRawIn INT ifCellTempG2.BMS.IN.CellTemp_Raw_2.CellMonitorIC_Group2.IN.CellTempIn INT ifCellRawG3.BMS.IN.CellRaw_Group3.CellMonitorIC_Group3.IN.CellRawIn INT ifCellTempG3.BMS.IN.CellTemp_Raw_3.CellMonitorIC_Group3.IN.CellTempIn INT ifCellRawG4.BMS.IN.CellRaw_Group4.CellMonitorIC_Group4.IN.CellRawIn INT ifCellTempG4.BMS.IN.CellTemp_Raw_4.CellMonitorIC_Group4.IN.CellTempIn // Monitor group -> Module controller INT ifGrp1Ctrl.CellMonitorIC_Group1.OUT.GroupReport.ModuleController_1.IN.GroupIn INT ifGrp2Ctrl.CellMonitorIC_Group2.OUT.GroupReport.ModuleController_2.IN.GroupIn INT ifGrp3Ctrl.CellMonitorIC_Group3.OUT.GroupReport.ModuleController_3.IN.GroupIn INT ifGrp4Ctrl.CellMonitorIC_Group4.OUT.GroupReport.ModuleController_4.IN.GroupIn // Module controllers -> isoSPI bus INT ifMod1Bus.ModuleController_1.OUT.ModuleReport.ISOSPI_Bus_Internal.IN.M1In INT ifMod2Bus.ModuleController_2.OUT.ModuleReport.ISOSPI_Bus_Internal.IN.M2In INT ifMod3Bus.ModuleController_3.OUT.ModuleReport.ISOSPI_Bus_Internal.IN.M3In INT ifMod4Bus.ModuleController_4.OUT.ModuleReport.ISOSPI_Bus_Internal.IN.M4In // Pack current / voltage INT ifPackCurr.BMS.IN.Pack_Current_Raw.CurrentShunt.IN.CurrIn INT ifPackCurrH.BMS.IN.Pack_Current_Raw.CurrentSensor_Hall.IN.CurrInHall INT ifPackVolt.BMS.IN.Pack_Voltage_Raw.PackVoltageSensor.IN.VoltIn // Thermal inputs INT ifCoolIn.BMS.IN.CoolantFlow_Raw.CoolantTempSensor_In.IN.FlowIn INT ifCoolOut.BMS.IN.CoolantFlow_Raw.CoolantTempSensor_Out.IN.FlowIn INT ifTModelIn.CoolantTempSensor_In.OUT.TempInSignal.ThermalModel.IN.TIn INT ifTModelOut.CoolantTempSensor_Out.OUT.TempOutSignal.ThermalModel.IN.TOut INT ifTModelAmb.BMS.IN.AmbientTemp.ThermalModel.IN.AmbIn // Thermal controllers INT ifPumpTh.ThermalModel.OUT.ThermalState.CoolingPumpController.IN.ThermIn INT ifPumpPwr.PowerSupply_12V_Primary.OUT.Pwr_Out_A.CoolingPumpController.IN.PwrIn INT ifFanTh.ThermalModel.OUT.ThermalState.CoolingFanController.IN.ThermIn INT ifFanPwr.PowerSupply_12V_Primary.OUT.Pwr_Out_A.CoolingFanController.IN.PwrIn INT ifHeatTh.ThermalModel.OUT.ThermalState.HeaterController.IN.ThermIn INT ifHeatPwr.PowerSupply_12V_Primary.OUT.Pwr_Out_A.HeaterController.IN.PwrIn INT ifChillTh.ThermalModel.OUT.ThermalState.ChillerInterface.IN.ThermIn INT ifChillPwr.PowerSupply_12V_Backup.OUT.Pwr_Out_B.ChillerInterface.IN.PwrIn // Isolation monitors INT ifIsoASense.BMS.IN.HV_Bus_Sense.IsolationMonitor_Primary.IN.HVSenseIn INT ifIsoAPwr.PowerSupply_12V_Primary.OUT.Pwr_Out_A.IsolationMonitor_Primary.IN.PwrIn INT ifIsoBSense.BMS.IN.HV_Bus_Sense.IsolationMonitor_Secondary.IN.HVSenseIn INT ifIsoBPwr.PowerSupply_12V_Backup.OUT.Pwr_Out_B.IsolationMonitor_Secondary.IN.PwrIn INT ifHVILCrash.BMS.IN.CrashSignal.HVIL_Loop.IN.CrashIn // Estimators INT ifSOCCurr.CurrentShunt.OUT.Current_Shunt.SOC_Estimator.IN.CurrIn INT ifSOCVolt.PackVoltageSensor.OUT.PackVoltage.SOC_Estimator.IN.VoltIn INT ifSOCCell.ISOSPI_Bus_Internal.OUT.PackCellReport.SOC_Estimator.IN.CellIn INT ifSOHCurr.CurrentSensor_Hall.OUT.Current_Hall.SOH_Estimator.IN.CurrIn INT ifSOHVolt.PackVoltageSensor.OUT.PackVoltage.SOH_Estimator.IN.VoltIn INT ifSOHCell.ISOSPI_Bus_Internal.OUT.PackCellReport.SOH_Estimator.IN.CellIn INT ifSOPSOC.SOC_Estimator.OUT.SOC.SOP_Limiter.IN.SOCIn INT ifSOPSOH.SOH_Estimator.OUT.SOH.SOP_Limiter.IN.SOHIn INT ifSOPTh.ThermalModel.OUT.ThermalState.SOP_Limiter.IN.ThermIn // Vehicle CAN INT ifCANAin.BMS.IN.CAN_Vehicle_A.CAN_BMS_A.IN.VehIn INT ifCANBin.BMS.IN.CAN_Vehicle_B.CAN_BMS_B.IN.VehIn INT ifDiagA.CAN_BMS_A.OUT.CANOut.Diagnostic_UART.IN.CANInA INT ifDiagB.CAN_BMS_B.OUT.CANOut.Diagnostic_UART.IN.CANInB // BMS Master Channel A INT ifMAcell.ISOSPI_Bus_Internal.OUT.PackCellReport.BMS_Master_ChannelA.IN.CellIn INT ifMAcurr.CurrentShunt.OUT.Current_Shunt.BMS_Master_ChannelA.IN.CurrIn INT ifMAvolt.PackVoltageSensor.OUT.PackVoltage.BMS_Master_ChannelA.IN.VoltIn INT ifMAsoc.SOC_Estimator.OUT.SOC.BMS_Master_ChannelA.IN.SOCIn INT ifMAsop.SOP_Limiter.OUT.PowerLimit.BMS_Master_ChannelA.IN.SOPIn INT ifMAth.ThermalModel.OUT.ThermalState.BMS_Master_ChannelA.IN.ThermIn INT ifMAiso.IsolationMonitor_Primary.OUT.IsoStatusA.BMS_Master_ChannelA.IN.IsoInA INT ifMAcan.CAN_BMS_A.OUT.CANOut.BMS_Master_ChannelA.IN.CANIn INT ifMAhvil.HVIL_Loop.OUT.HVILStatus.BMS_Master_ChannelA.IN.HVILIn INT ifMApwr.PowerSupply_12V_Primary.OUT.Pwr_Out_A.BMS_Master_ChannelA.IN.PwrIn // BMS Master Channel B INT ifMBcell.ISOSPI_Bus_Internal.OUT.PackCellReport.BMS_Master_ChannelB.IN.CellIn INT ifMBcurr.CurrentSensor_Hall.OUT.Current_Hall.BMS_Master_ChannelB.IN.CurrIn INT ifMBvolt.PackVoltageSensor.OUT.PackVoltage.BMS_Master_ChannelB.IN.VoltIn INT ifMBsoc.SOH_Estimator.OUT.SOH.BMS_Master_ChannelB.IN.SOCIn INT ifMBsop.SOP_Limiter.OUT.PowerLimit.BMS_Master_ChannelB.IN.SOPIn INT ifMBth.ThermalModel.OUT.ThermalState.BMS_Master_ChannelB.IN.ThermIn INT ifMBiso.IsolationMonitor_Secondary.OUT.IsoStatusB.BMS_Master_ChannelB.IN.IsoInB INT ifMBcan.CAN_BMS_B.OUT.CANOut.BMS_Master_ChannelB.IN.CANIn INT ifMBhvil.HVIL_Loop.OUT.HVILStatus.BMS_Master_ChannelB.IN.HVILIn INT ifMBpwr.PowerSupply_12V_Backup.OUT.Pwr_Out_B.BMS_Master_ChannelB.IN.PwrIn // Disconnection path INT ifPreR.PrechargeResistor.OUT.PreOut.PreChargeContactor.IN.ResIn INT ifPreCmd.BMS_Master_ChannelA.OUT.SafeCmdA.PreChargeContactor.IN.CmdIn INT ifMCa.BMS_Master_ChannelA.OUT.SafeCmdA.MainContactor.IN.CmdA INT ifMCb.BMS_Master_ChannelB.OUT.SafeCmdB.MainContactor.IN.CmdB INT ifPFa.BMS_Master_ChannelA.OUT.SafeCmdA.Pyrofuse.IN.CmdA INT ifPFb.BMS_Master_ChannelB.OUT.SafeCmdB.Pyrofuse.IN.CmdB // Outputs to top-level BMS INT ifPreOut.PreChargeContactor.OUT.PCOut.BMS.OUT.PrechargeContactor_Cmd INT ifMCout.MainContactor.OUT.MCOut.BMS.OUT.MainContactor_Cmd INT ifPFout.Pyrofuse.OUT.FuseOut.BMS.OUT.Pyrofuse_Cmd INT ifPumpOut.CoolingPumpController.OUT.PumpCmd.BMS.OUT.CoolingPump_Cmd INT ifFanOut.CoolingFanController.OUT.FanCmd.BMS.OUT.CoolingFan_Cmd INT ifHeatOut.HeaterController.OUT.HeaterCmd.BMS.OUT.Heater_Cmd INT ifChillOut.ChillerInterface.OUT.ChillerCmd.BMS.OUT.Chiller_Cmd INT ifDiagOut.Diagnostic_UART.OUT.DiagLog.BMS.OUT.DiagnosticLog INT ifCANoutA.CAN_BMS_A.OUT.CANOut.BMS.OUT.CAN_BMS_Out_A INT ifCANoutB.CAN_BMS_B.OUT.CANOut.BMS.OUT.CAN_BMS_Out_B INT ifWarn.BMS_Master_ChannelA.OUT.IsoCmdA.BMS.OUT.WarningLamp // ========================================================= // Top Level Event // ========================================================= // ThermalRunawayNotContained occurs if at least one defense-in-depth // layer fails simultaneously: // - MainContactor AND Pyrofuse both fail to open (no galvanic isolation) // - Both isolation monitors blind AND an over-temperature cell // - Both BMS master channels fail // - Cooling insufficient AND over-temperature cell AND contactor stuck // - Crash signal lost AND main contactor welded AND pyrofuse dud // - Both CAN channels silent AND cell over-voltage escalating TLE ThermalRunawayNotContained.OR(AND(MainContactor_Cmd.Contactor_FailsToOpen; Pyrofuse_Cmd.Pyrofuse_Dud); AND(CoolingPump_Cmd.Cooling_Insufficient; MainContactor_Cmd.Contactor_FailsToOpen); AND(CAN_BMS_Out_A.Bus_Silent; CAN_BMS_Out_B.Bus_Silent)) END FUNCTION // ============================================================ // Fault Rates // ISF: normal(mu=1.0e-6, sigma=2.5e-7), clamp [3e-7, 2e-6] // SF : normal(mu=2.5e-7, sigma=1.375e-7), clamp [5e-8, 5e-7] // TF : normal(mu=5.0e-8, sigma=1.5e-8), clamp [1e-8, 1e-7] // Scientific, 4 significant digits. // ============================================================ // --- ISF (external inputs, per fault mode) --- ISF BMS.CellRaw_Group1.OverVoltage_Cell 1.1384e-06 ISF BMS.CellRaw_Group1.UnderVoltage_Cell 9.2731e-07 ISF BMS.CellRaw_Group1.Measurement_Drift 8.1162e-07 ISF BMS.CellRaw_Group1.Measurement_Stuck 1.2047e-06 ISF BMS.CellRaw_Group2.OverVoltage_Cell 1.0591e-06 ISF BMS.CellRaw_Group2.UnderVoltage_Cell 7.4482e-07 ISF BMS.CellRaw_Group2.Measurement_Drift 9.8273e-07 ISF BMS.CellRaw_Group2.Measurement_Stuck 1.1472e-06 ISF BMS.CellRaw_Group3.OverVoltage_Cell 6.6193e-07 ISF BMS.CellRaw_Group3.UnderVoltage_Cell 1.3051e-06 ISF BMS.CellRaw_Group3.Measurement_Drift 8.8947e-07 ISF BMS.CellRaw_Group3.Measurement_Stuck 1.0728e-06 ISF BMS.CellRaw_Group4.OverVoltage_Cell 7.9321e-07 ISF BMS.CellRaw_Group4.UnderVoltage_Cell 1.0213e-06 ISF BMS.CellRaw_Group4.Measurement_Drift 1.4059e-06 ISF BMS.CellRaw_Group4.Measurement_Stuck 5.7281e-07 ISF BMS.CellTemp_Raw_1.OverTemperature_Cell 1.1937e-06 ISF BMS.CellTemp_Raw_1.Measurement_Drift 9.0528e-07 ISF BMS.CellTemp_Raw_1.Measurement_Stuck 1.0642e-06 ISF BMS.CellTemp_Raw_2.OverTemperature_Cell 8.2391e-07 ISF BMS.CellTemp_Raw_2.Measurement_Drift 1.1813e-06 ISF BMS.CellTemp_Raw_2.Measurement_Stuck 9.6712e-07 ISF BMS.CellTemp_Raw_3.OverTemperature_Cell 1.0374e-06 ISF BMS.CellTemp_Raw_3.Measurement_Drift 7.1258e-07 ISF BMS.CellTemp_Raw_3.Measurement_Stuck 1.2291e-06 ISF BMS.CellTemp_Raw_4.OverTemperature_Cell 9.4816e-07 ISF BMS.CellTemp_Raw_4.Measurement_Drift 1.0856e-06 ISF BMS.CellTemp_Raw_4.Measurement_Stuck 6.3471e-07 ISF BMS.Pack_Current_Raw.Measurement_Drift 1.2643e-06 ISF BMS.Pack_Current_Raw.Measurement_Stuck 8.7153e-07 ISF BMS.Pack_Voltage_Raw.Measurement_Drift 1.0291e-06 ISF BMS.Pack_Voltage_Raw.Measurement_Stuck 1.1538e-06 ISF BMS.Pack_Voltage_Raw.OverVoltage_Cell 7.6259e-07 ISF BMS.CoolantFlow_Raw.Measurement_Drift 8.4629e-07 ISF BMS.CoolantFlow_Raw.Measurement_Stuck 1.0152e-06 ISF BMS.CoolantFlow_Raw.Coolant_Leak 1.3472e-06 ISF BMS.AmbientTemp.Measurement_Drift 9.1827e-07 ISF BMS.AmbientTemp.Measurement_Stuck 1.1065e-06 ISF BMS.CAN_Vehicle_A.Bus_Silent 1.0892e-06 ISF BMS.CAN_Vehicle_A.Bus_Stuck 7.8452e-07 ISF BMS.CAN_Vehicle_A.Data_Stale 9.4211e-07 ISF BMS.CAN_Vehicle_B.Bus_Silent 8.3529e-07 ISF BMS.CAN_Vehicle_B.Bus_Stuck 1.1612e-06 ISF BMS.CAN_Vehicle_B.Data_Stale 1.0037e-06 ISF BMS.ChargerInput.Bus_Silent 9.7284e-07 ISF BMS.ChargerInput.OverVoltage_Cell 8.0925e-07 ISF BMS.HV_Bus_Sense.Isolation_Lost 1.3791e-06 ISF BMS.HV_Bus_Sense.Measurement_Drift 8.8139e-07 ISF BMS.HV_Bus_Sense.Measurement_Stuck 1.0563e-06 ISF BMS.Pwr12V_A.Power_Lost 1.1238e-06 ISF BMS.Pwr12V_B.Power_Lost 9.4417e-07 ISF BMS.CrashSignal.CrashSignal_Lost 7.3912e-07 ISF BMS.CrashSignal.Isolation_Lost 1.0891e-06 // --- SF (systemic internal faults) --- SF PowerSupply_12V_Primary.Pwr_Out_A.Power_Lost 2.7183e-07 SF PowerSupply_12V_Backup.Pwr_Out_B.Power_Lost 3.1452e-07 SF VoltageADC_G1.CellVoltage.OverVoltage_Cell 2.4815e-07 SF VoltageADC_G1.CellVoltage.UnderVoltage_Cell 1.7381e-07 SF VoltageADC_G1.CellVoltage.Measurement_Drift 3.0528e-07 SF VoltageADC_G1.CellVoltage.Measurement_Stuck 2.2917e-07 SF TemperatureADC_G1.CellTemperature.OverTemperature_Cell 2.8743e-07 SF TemperatureADC_G1.CellTemperature.Measurement_Drift 1.9651e-07 SF TemperatureADC_G1.CellTemperature.Measurement_Stuck 2.4122e-07 SF Balancing_G1.BalanceStatus.ImbalanceHigh 3.3619e-07 SF CellHealthLogic_G1.HealthReport.OverVoltage_Cell 2.0913e-07 SF CellHealthLogic_G1.HealthReport.UnderVoltage_Cell 1.5782e-07 SF CellHealthLogic_G1.HealthReport.OverTemperature_Cell 2.6341e-07 SF CellHealthLogic_G1.HealthReport.ImbalanceHigh 2.2458e-07 SF CellHealthLogic_G1.HealthReport.Measurement_Drift 1.8294e-07 SF CellHealthLogic_G1.HealthReport.Measurement_Stuck 2.1035e-07 SF CellMonitorIC_Group1.GroupReport.OverVoltage_Cell 2.9471e-07 SF CellMonitorIC_Group1.GroupReport.OverTemperature_Cell 2.1587e-07 SF CellMonitorIC_Group1.GroupReport.ImbalanceHigh 3.4826e-07 SF CellMonitorIC_Group1.GroupReport.Measurement_Drift 1.9143e-07 SF CellMonitorIC_Group1.GroupReport.Measurement_Stuck 2.2618e-07 SF VoltageADC_G2.CellVoltage.OverVoltage_Cell 2.6392e-07 SF VoltageADC_G2.CellVoltage.UnderVoltage_Cell 1.6823e-07 SF VoltageADC_G2.CellVoltage.Measurement_Drift 2.8731e-07 SF VoltageADC_G2.CellVoltage.Measurement_Stuck 2.1549e-07 SF TemperatureADC_G2.CellTemperature.OverTemperature_Cell 3.0584e-07 SF TemperatureADC_G2.CellTemperature.Measurement_Drift 2.0813e-07 SF TemperatureADC_G2.CellTemperature.Measurement_Stuck 2.3628e-07 SF Balancing_G2.BalanceStatus.ImbalanceHigh 3.1759e-07 SF CellHealthLogic_G2.HealthReport.OverVoltage_Cell 2.2017e-07 SF CellHealthLogic_G2.HealthReport.UnderVoltage_Cell 1.6482e-07 SF CellHealthLogic_G2.HealthReport.OverTemperature_Cell 2.7912e-07 SF CellHealthLogic_G2.HealthReport.ImbalanceHigh 2.3891e-07 SF CellHealthLogic_G2.HealthReport.Measurement_Drift 1.7625e-07 SF CellHealthLogic_G2.HealthReport.Measurement_Stuck 2.1892e-07 SF CellMonitorIC_Group2.GroupReport.OverVoltage_Cell 3.0248e-07 SF CellMonitorIC_Group2.GroupReport.OverTemperature_Cell 2.0713e-07 SF CellMonitorIC_Group2.GroupReport.ImbalanceHigh 3.2918e-07 SF CellMonitorIC_Group2.GroupReport.Measurement_Drift 2.0459e-07 SF CellMonitorIC_Group2.GroupReport.Measurement_Stuck 2.3781e-07 SF VoltageADC_G3.CellVoltage.OverVoltage_Cell 2.5147e-07 SF VoltageADC_G3.CellVoltage.UnderVoltage_Cell 1.8093e-07 SF VoltageADC_G3.CellVoltage.Measurement_Drift 2.9614e-07 SF VoltageADC_G3.CellVoltage.Measurement_Stuck 2.2071e-07 SF TemperatureADC_G3.CellTemperature.OverTemperature_Cell 2.7528e-07 SF TemperatureADC_G3.CellTemperature.Measurement_Drift 1.9812e-07 SF TemperatureADC_G3.CellTemperature.Measurement_Stuck 2.4813e-07 SF Balancing_G3.BalanceStatus.ImbalanceHigh 3.2491e-07 SF CellHealthLogic_G3.HealthReport.OverVoltage_Cell 2.1352e-07 SF CellHealthLogic_G3.HealthReport.UnderVoltage_Cell 1.5917e-07 SF CellHealthLogic_G3.HealthReport.OverTemperature_Cell 2.6793e-07 SF CellHealthLogic_G3.HealthReport.ImbalanceHigh 2.3512e-07 SF CellHealthLogic_G3.HealthReport.Measurement_Drift 1.8492e-07 SF CellHealthLogic_G3.HealthReport.Measurement_Stuck 2.0923e-07 SF CellMonitorIC_Group3.GroupReport.OverVoltage_Cell 2.8712e-07 SF CellMonitorIC_Group3.GroupReport.OverTemperature_Cell 2.2185e-07 SF CellMonitorIC_Group3.GroupReport.ImbalanceHigh 3.3718e-07 SF CellMonitorIC_Group3.GroupReport.Measurement_Drift 1.9829e-07 SF CellMonitorIC_Group3.GroupReport.Measurement_Stuck 2.3142e-07 SF VoltageADC_G4.CellVoltage.OverVoltage_Cell 2.5896e-07 SF VoltageADC_G4.CellVoltage.UnderVoltage_Cell 1.7629e-07 SF VoltageADC_G4.CellVoltage.Measurement_Drift 2.8158e-07 SF VoltageADC_G4.CellVoltage.Measurement_Stuck 2.2496e-07 SF TemperatureADC_G4.CellTemperature.OverTemperature_Cell 2.9125e-07 SF TemperatureADC_G4.CellTemperature.Measurement_Drift 2.0147e-07 SF TemperatureADC_G4.CellTemperature.Measurement_Stuck 2.4581e-07 SF Balancing_G4.BalanceStatus.ImbalanceHigh 3.1018e-07 SF CellHealthLogic_G4.HealthReport.OverVoltage_Cell 2.1672e-07 SF CellHealthLogic_G4.HealthReport.UnderVoltage_Cell 1.6293e-07 SF CellHealthLogic_G4.HealthReport.OverTemperature_Cell 2.7048e-07 SF CellHealthLogic_G4.HealthReport.ImbalanceHigh 2.3162e-07 SF CellHealthLogic_G4.HealthReport.Measurement_Drift 1.8725e-07 SF CellHealthLogic_G4.HealthReport.Measurement_Stuck 2.1328e-07 SF CellMonitorIC_Group4.GroupReport.OverVoltage_Cell 2.9639e-07 SF CellMonitorIC_Group4.GroupReport.OverTemperature_Cell 2.1472e-07 SF CellMonitorIC_Group4.GroupReport.ImbalanceHigh 3.4102e-07 SF CellMonitorIC_Group4.GroupReport.Measurement_Drift 2.0238e-07 SF CellMonitorIC_Group4.GroupReport.Measurement_Stuck 2.3957e-07 SF ModuleController_1.ModuleReport.OverVoltage_Cell 2.6132e-07 SF ModuleController_1.ModuleReport.OverTemperature_Cell 2.8718e-07 SF ModuleController_1.ModuleReport.ImbalanceHigh 3.2513e-07 SF ModuleController_1.ModuleReport.Data_Stale 1.9218e-07 SF ModuleController_2.ModuleReport.OverVoltage_Cell 2.5418e-07 SF ModuleController_2.ModuleReport.OverTemperature_Cell 2.9213e-07 SF ModuleController_2.ModuleReport.ImbalanceHigh 3.3091e-07 SF ModuleController_2.ModuleReport.Data_Stale 2.0516e-07 SF ModuleController_3.ModuleReport.OverVoltage_Cell 2.7521e-07 SF ModuleController_3.ModuleReport.OverTemperature_Cell 2.8126e-07 SF ModuleController_3.ModuleReport.ImbalanceHigh 3.1892e-07 SF ModuleController_3.ModuleReport.Data_Stale 1.8739e-07 SF ModuleController_4.ModuleReport.OverVoltage_Cell 2.6815e-07 SF ModuleController_4.ModuleReport.OverTemperature_Cell 2.7593e-07 SF ModuleController_4.ModuleReport.ImbalanceHigh 3.2718e-07 SF ModuleController_4.ModuleReport.Data_Stale 1.9825e-07 SF ISOSPI_Bus_Internal.PackCellReport.Bus_Silent 2.7815e-07 SF ISOSPI_Bus_Internal.PackCellReport.Bus_Stuck 2.1498e-07 SF ISOSPI_Bus_Internal.PackCellReport.Data_Stale 1.9362e-07 SF ISOSPI_Bus_Internal.PackCellReport.OverVoltage_Cell 2.4721e-07 SF ISOSPI_Bus_Internal.PackCellReport.OverTemperature_Cell 2.8139e-07 SF ISOSPI_Bus_Internal.PackCellReport.ImbalanceHigh 3.1028e-07 SF CurrentShunt.Current_Shunt.Measurement_Drift 2.3917e-07 SF CurrentShunt.Current_Shunt.Measurement_Stuck 2.1382e-07 SF CurrentSensor_Hall.Current_Hall.Measurement_Drift 2.5813e-07 SF CurrentSensor_Hall.Current_Hall.Measurement_Stuck 2.2148e-07 SF PackVoltageSensor.PackVoltage.Measurement_Drift 2.4127e-07 SF PackVoltageSensor.PackVoltage.Measurement_Stuck 2.0738e-07 SF PackVoltageSensor.PackVoltage.OverVoltage_Cell 2.7391e-07 SF CoolantTempSensor_In.TempInSignal.Measurement_Drift 2.2485e-07 SF CoolantTempSensor_In.TempInSignal.Measurement_Stuck 2.0137e-07 SF CoolantTempSensor_In.TempInSignal.Coolant_Leak 3.1842e-07 SF CoolantTempSensor_Out.TempOutSignal.Measurement_Drift 2.3516e-07 SF CoolantTempSensor_Out.TempOutSignal.Measurement_Stuck 2.1893e-07 SF CoolantTempSensor_Out.TempOutSignal.Coolant_Leak 3.2917e-07 SF ThermalModel.ThermalState.Cooling_Insufficient 3.5182e-07 SF ThermalModel.ThermalState.Coolant_Leak 3.1476e-07 SF ThermalModel.ThermalState.Measurement_Stuck 2.0713e-07 SF CoolingPumpController.PumpCmd.Cooling_Insufficient 3.2814e-07 SF CoolingFanController.FanCmd.Cooling_Insufficient 2.9138e-07 SF HeaterController.HeaterCmd.Cooling_Insufficient 2.5472e-07 SF ChillerInterface.ChillerCmd.Cooling_Insufficient 3.0916e-07 SF IsolationMonitor_Primary.IsoStatusA.Isolation_Lost 2.6183e-07 SF IsolationMonitor_Primary.IsoStatusA.Measurement_Stuck 1.9218e-07 SF IsolationMonitor_Primary.IsoStatusA.Measurement_Drift 2.1793e-07 SF IsolationMonitor_Secondary.IsoStatusB.Isolation_Lost 2.7215e-07 SF IsolationMonitor_Secondary.IsoStatusB.Measurement_Stuck 1.8923e-07 SF IsolationMonitor_Secondary.IsoStatusB.Measurement_Drift 2.2451e-07 SF HVIL_Loop.HVILStatus.CrashSignal_Lost 2.4582e-07 SF HVIL_Loop.HVILStatus.Isolation_Lost 2.8139e-07 SF SOC_Estimator.SOC.SOC_Error 3.2918e-07 SF SOC_Estimator.SOC.Data_Stale 1.9817e-07 SF SOH_Estimator.SOH.SOC_Error 3.1283e-07 SF SOH_Estimator.SOH.Data_Stale 2.0729e-07 SF SOP_Limiter.PowerLimit.SOC_Error 2.7381e-07 SF SOP_Limiter.PowerLimit.Cooling_Insufficient 3.3182e-07 SF SOP_Limiter.PowerLimit.Data_Stale 2.1459e-07 SF CAN_BMS_A.CANOut.Bus_Silent 2.3418e-07 SF CAN_BMS_A.CANOut.Bus_Stuck 1.8725e-07 SF CAN_BMS_A.CANOut.Data_Stale 2.0138e-07 SF CAN_BMS_B.CANOut.Bus_Silent 2.4572e-07 SF CAN_BMS_B.CANOut.Bus_Stuck 1.9417e-07 SF CAN_BMS_B.CANOut.Data_Stale 2.1048e-07 SF Diagnostic_UART.DiagLog.Bus_Silent 2.2163e-07 SF Diagnostic_UART.DiagLog.Data_Stale 1.8491e-07 SF BMS_Master_ChannelA.SafeCmdA.Contactor_FailsToOpen 4.2781e-07 SF BMS_Master_ChannelA.SafeCmdA.OverTemperature_Cell 2.7138e-07 SF BMS_Master_ChannelA.SafeCmdA.OverVoltage_Cell 2.5813e-07 SF BMS_Master_ChannelA.SafeCmdA.UnderVoltage_Cell 1.9217e-07 SF BMS_Master_ChannelA.SafeCmdA.ImbalanceHigh 3.1928e-07 SF BMS_Master_ChannelA.SafeCmdA.SOC_Error 2.8513e-07 SF BMS_Master_ChannelA.SafeCmdA.Cooling_Insufficient 3.3491e-07 SF BMS_Master_ChannelA.SafeCmdA.Data_Stale 2.0482e-07 SF BMS_Master_ChannelA.SafeCmdA.Power_Lost 2.6317e-07 SF BMS_Master_ChannelA.IsoCmdA.Isolation_Lost 2.9182e-07 SF BMS_Master_ChannelA.IsoCmdA.Measurement_Stuck 2.1793e-07 SF BMS_Master_ChannelB.SafeCmdB.Contactor_FailsToOpen 4.1582e-07 SF BMS_Master_ChannelB.SafeCmdB.OverTemperature_Cell 2.8391e-07 SF BMS_Master_ChannelB.SafeCmdB.OverVoltage_Cell 2.6217e-07 SF BMS_Master_ChannelB.SafeCmdB.UnderVoltage_Cell 1.9815e-07 SF BMS_Master_ChannelB.SafeCmdB.ImbalanceHigh 3.2417e-07 SF BMS_Master_ChannelB.SafeCmdB.SOC_Error 2.7482e-07 SF BMS_Master_ChannelB.SafeCmdB.Cooling_Insufficient 3.2871e-07 SF BMS_Master_ChannelB.SafeCmdB.Data_Stale 2.1138e-07 SF BMS_Master_ChannelB.SafeCmdB.Power_Lost 2.5719e-07 SF BMS_Master_ChannelB.IsoCmdB.Isolation_Lost 3.0128e-07 SF BMS_Master_ChannelB.IsoCmdB.Measurement_Stuck 2.1481e-07 SF PrechargeResistor.PreOut.Contactor_FailsToOpen 1.8215e-07 SF PreChargeContactor.PCOut.Contactor_FailsToOpen 2.6491e-07 SF PreChargeContactor.PCOut.Contactor_Welded 3.1382e-07 SF MainContactor.MCOut.Contactor_FailsToOpen 3.4817e-07 SF MainContactor.MCOut.Contactor_Welded 3.7182e-07 SF Pyrofuse.FuseOut.Pyrofuse_Dud 4.1528e-07 SF Pyrofuse.FuseOut.Contactor_FailsToOpen 3.2917e-07 // --- TF (transfer faults per interface / fault mode) --- TF ifPwrA.Power_Lost 5.2713e-08 TF ifPwrB.Power_Lost 4.8291e-08 TF ifCellRawG1.OverVoltage_Cell 5.6182e-08 TF ifCellRawG1.UnderVoltage_Cell 4.1725e-08 TF ifCellRawG1.Measurement_Drift 4.9382e-08 TF ifCellRawG1.Measurement_Stuck 5.5913e-08 TF ifCellTempG1.OverTemperature_Cell 4.7128e-08 TF ifCellTempG1.Measurement_Drift 5.0491e-08 TF ifCellTempG1.Measurement_Stuck 4.4817e-08 TF ifCellRawG2.OverVoltage_Cell 5.3491e-08 TF ifCellRawG2.UnderVoltage_Cell 4.3827e-08 TF ifCellRawG2.Measurement_Drift 5.1294e-08 TF ifCellRawG2.Measurement_Stuck 4.8172e-08 TF ifCellTempG2.OverTemperature_Cell 4.6391e-08 TF ifCellTempG2.Measurement_Drift 5.2713e-08 TF ifCellTempG2.Measurement_Stuck 4.5218e-08 TF ifCellRawG3.OverVoltage_Cell 5.7182e-08 TF ifCellRawG3.UnderVoltage_Cell 4.2139e-08 TF ifCellRawG3.Measurement_Drift 4.9817e-08 TF ifCellRawG3.Measurement_Stuck 5.4281e-08 TF ifCellTempG3.OverTemperature_Cell 4.7912e-08 TF ifCellTempG3.Measurement_Drift 5.0138e-08 TF ifCellTempG3.Measurement_Stuck 4.6395e-08 TF ifCellRawG4.OverVoltage_Cell 5.5281e-08 TF ifCellRawG4.UnderVoltage_Cell 4.3918e-08 TF ifCellRawG4.Measurement_Drift 5.2384e-08 TF ifCellRawG4.Measurement_Stuck 4.7192e-08 TF ifCellTempG4.OverTemperature_Cell 4.8275e-08 TF ifCellTempG4.Measurement_Drift 5.1728e-08 TF ifCellTempG4.Measurement_Stuck 4.5938e-08 TF ifGrp1Ctrl.OverVoltage_Cell 4.9182e-08 TF ifGrp1Ctrl.UnderVoltage_Cell 4.1573e-08 TF ifGrp1Ctrl.OverTemperature_Cell 5.2419e-08 TF ifGrp1Ctrl.ImbalanceHigh 5.4718e-08 TF ifGrp1Ctrl.Measurement_Drift 4.6281e-08 TF ifGrp1Ctrl.Measurement_Stuck 4.9712e-08 TF ifGrp2Ctrl.OverVoltage_Cell 5.1283e-08 TF ifGrp2Ctrl.UnderVoltage_Cell 4.0918e-08 TF ifGrp2Ctrl.OverTemperature_Cell 5.3172e-08 TF ifGrp2Ctrl.ImbalanceHigh 5.5381e-08 TF ifGrp2Ctrl.Measurement_Drift 4.7219e-08 TF ifGrp2Ctrl.Measurement_Stuck 4.8418e-08 TF ifGrp3Ctrl.OverVoltage_Cell 5.0418e-08 TF ifGrp3Ctrl.UnderVoltage_Cell 4.2381e-08 TF ifGrp3Ctrl.OverTemperature_Cell 5.1792e-08 TF ifGrp3Ctrl.ImbalanceHigh 5.3819e-08 TF ifGrp3Ctrl.Measurement_Drift 4.6817e-08 TF ifGrp3Ctrl.Measurement_Stuck 4.9281e-08 TF ifGrp4Ctrl.OverVoltage_Cell 5.2172e-08 TF ifGrp4Ctrl.UnderVoltage_Cell 4.1827e-08 TF ifGrp4Ctrl.OverTemperature_Cell 5.4281e-08 TF ifGrp4Ctrl.ImbalanceHigh 5.5921e-08 TF ifGrp4Ctrl.Measurement_Drift 4.7385e-08 TF ifGrp4Ctrl.Measurement_Stuck 4.8719e-08 TF ifMod1Bus.OverVoltage_Cell 5.1419e-08 TF ifMod1Bus.UnderVoltage_Cell 4.0817e-08 TF ifMod1Bus.OverTemperature_Cell 5.3281e-08 TF ifMod1Bus.ImbalanceHigh 5.4817e-08 TF ifMod1Bus.Data_Stale 4.5391e-08 TF ifMod2Bus.OverVoltage_Cell 5.2713e-08 TF ifMod2Bus.UnderVoltage_Cell 4.1285e-08 TF ifMod2Bus.OverTemperature_Cell 5.2918e-08 TF ifMod2Bus.ImbalanceHigh 5.5728e-08 TF ifMod2Bus.Data_Stale 4.6139e-08 TF ifMod3Bus.OverVoltage_Cell 5.3821e-08 TF ifMod3Bus.UnderVoltage_Cell 4.0391e-08 TF ifMod3Bus.OverTemperature_Cell 5.4193e-08 TF ifMod3Bus.ImbalanceHigh 5.4182e-08 TF ifMod3Bus.Data_Stale 4.7281e-08 TF ifMod4Bus.OverVoltage_Cell 5.1283e-08 TF ifMod4Bus.UnderVoltage_Cell 4.2918e-08 TF ifMod4Bus.OverTemperature_Cell 5.3719e-08 TF ifMod4Bus.ImbalanceHigh 5.5291e-08 TF ifMod4Bus.Data_Stale 4.6482e-08 TF ifPackCurr.Measurement_Drift 5.0182e-08 TF ifPackCurr.Measurement_Stuck 4.7281e-08 TF ifPackCurrH.Measurement_Drift 5.1728e-08 TF ifPackCurrH.Measurement_Stuck 4.6391e-08 TF ifPackVolt.Measurement_Drift 5.2491e-08 TF ifPackVolt.Measurement_Stuck 4.8137e-08 TF ifPackVolt.OverVoltage_Cell 5.3182e-08 TF ifCoolIn.Measurement_Drift 4.9381e-08 TF ifCoolIn.Measurement_Stuck 5.1728e-08 TF ifCoolIn.Coolant_Leak 5.4128e-08 TF ifCoolOut.Measurement_Drift 5.0419e-08 TF ifCoolOut.Measurement_Stuck 5.2138e-08 TF ifCoolOut.Coolant_Leak 5.3491e-08 TF ifTModelIn.Measurement_Drift 4.7128e-08 TF ifTModelIn.Measurement_Stuck 4.9381e-08 TF ifTModelIn.Coolant_Leak 5.2817e-08 TF ifTModelOut.Measurement_Drift 4.8492e-08 TF ifTModelOut.Measurement_Stuck 4.9712e-08 TF ifTModelOut.Coolant_Leak 5.3183e-08 TF ifTModelAmb.Measurement_Drift 4.6382e-08 TF ifTModelAmb.Measurement_Stuck 4.8193e-08 TF ifPumpTh.Cooling_Insufficient 5.1728e-08 TF ifPumpTh.Coolant_Leak 5.3918e-08 TF ifPumpPwr.Power_Lost 4.9281e-08 TF ifFanTh.Cooling_Insufficient 5.2391e-08 TF ifFanPwr.Power_Lost 4.7183e-08 TF ifHeatTh.Cooling_Insufficient 5.0918e-08 TF ifHeatPwr.Power_Lost 4.8291e-08 TF ifChillTh.Cooling_Insufficient 5.2182e-08 TF ifChillTh.Coolant_Leak 5.4281e-08 TF ifChillPwr.Power_Lost 4.8913e-08 TF ifIsoASense.Isolation_Lost 5.5382e-08 TF ifIsoASense.Measurement_Drift 4.8291e-08 TF ifIsoASense.Measurement_Stuck 4.9182e-08 TF ifIsoAPwr.Power_Lost 5.0183e-08 TF ifIsoBSense.Isolation_Lost 5.4817e-08 TF ifIsoBSense.Measurement_Drift 4.7381e-08 TF ifIsoBSense.Measurement_Stuck 4.9581e-08 TF ifIsoBPwr.Power_Lost 4.9819e-08 TF ifHVILCrash.CrashSignal_Lost 5.1728e-08 TF ifHVILCrash.Isolation_Lost 5.3281e-08 TF ifSOCCurr.Measurement_Drift 4.8391e-08 TF ifSOCCurr.Measurement_Stuck 4.9713e-08 TF ifSOCVolt.Measurement_Drift 5.0491e-08 TF ifSOCVolt.Measurement_Stuck 4.7281e-08 TF ifSOCVolt.OverVoltage_Cell 5.2193e-08 TF ifSOCCell.OverVoltage_Cell 5.1382e-08 TF ifSOCCell.OverTemperature_Cell 5.3481e-08 TF ifSOCCell.ImbalanceHigh 5.4817e-08 TF ifSOCCell.Data_Stale 4.6291e-08 TF ifSOCCell.Measurement_Drift 4.8182e-08 TF ifSOCCell.Measurement_Stuck 4.7913e-08 TF ifSOCCell.Bus_Silent 5.0281e-08 TF ifSOCCell.Bus_Stuck 4.8918e-08 TF ifSOCCell.UnderVoltage_Cell 4.4827e-08 TF ifSOHCurr.Measurement_Drift 4.9281e-08 TF ifSOHCurr.Measurement_Stuck 4.7519e-08 TF ifSOHVolt.Measurement_Drift 5.1381e-08 TF ifSOHVolt.Measurement_Stuck 4.8271e-08 TF ifSOHVolt.OverVoltage_Cell 5.2813e-08 TF ifSOHCell.OverVoltage_Cell 5.0491e-08 TF ifSOHCell.OverTemperature_Cell 5.2918e-08 TF ifSOHCell.ImbalanceHigh 5.3712e-08 TF ifSOHCell.Data_Stale 4.5918e-08 TF ifSOHCell.Measurement_Drift 4.7291e-08 TF ifSOHCell.Measurement_Stuck 4.8138e-08 TF ifSOHCell.Bus_Silent 4.9713e-08 TF ifSOHCell.Bus_Stuck 4.8271e-08 TF ifSOHCell.UnderVoltage_Cell 4.3921e-08 TF ifSOPSOC.SOC_Error 5.1283e-08 TF ifSOPSOC.Data_Stale 4.8179e-08 TF ifSOPSOH.SOC_Error 5.0718e-08 TF ifSOPSOH.Data_Stale 4.7182e-08 TF ifSOPTh.Cooling_Insufficient 5.3491e-08 TF ifSOPTh.Coolant_Leak 5.5182e-08 TF ifSOPTh.Measurement_Stuck 4.6391e-08 TF ifCANAin.Bus_Silent 5.2391e-08 TF ifCANAin.Bus_Stuck 4.8271e-08 TF ifCANAin.Data_Stale 4.9182e-08 TF ifCANBin.Bus_Silent 5.1728e-08 TF ifCANBin.Bus_Stuck 4.7291e-08 TF ifCANBin.Data_Stale 4.8713e-08 TF ifDiagA.Bus_Silent 5.0491e-08 TF ifDiagA.Bus_Stuck 4.7182e-08 TF ifDiagA.Data_Stale 4.8291e-08 TF ifDiagB.Bus_Silent 5.1291e-08 TF ifDiagB.Bus_Stuck 4.6829e-08 TF ifDiagB.Data_Stale 4.8918e-08 TF ifMAcell.OverVoltage_Cell 5.2917e-08 TF ifMAcell.UnderVoltage_Cell 4.5281e-08 TF ifMAcell.OverTemperature_Cell 5.3918e-08 TF ifMAcell.ImbalanceHigh 5.2182e-08 TF ifMAcell.Bus_Silent 5.0491e-08 TF ifMAcell.Data_Stale 4.7281e-08 TF ifMAcell.Measurement_Drift 4.9182e-08 TF ifMAcell.Measurement_Stuck 4.8391e-08 TF ifMAcell.Bus_Stuck 4.6391e-08 TF ifMAcurr.Measurement_Drift 4.9712e-08 TF ifMAcurr.Measurement_Stuck 4.7913e-08 TF ifMAvolt.Measurement_Drift 5.0218e-08 TF ifMAvolt.Measurement_Stuck 4.8172e-08 TF ifMAvolt.OverVoltage_Cell 5.1918e-08 TF ifMAsoc.SOC_Error 5.2481e-08 TF ifMAsoc.Data_Stale 4.7292e-08 TF ifMAsop.SOC_Error 5.1218e-08 TF ifMAsop.Cooling_Insufficient 5.3819e-08 TF ifMAsop.Data_Stale 4.6918e-08 TF ifMAth.Cooling_Insufficient 5.4182e-08 TF ifMAth.Coolant_Leak 5.5391e-08 TF ifMAth.Measurement_Stuck 4.7281e-08 TF ifMAiso.Isolation_Lost 5.5182e-08 TF ifMAiso.Measurement_Stuck 4.8281e-08 TF ifMAiso.Measurement_Drift 4.7391e-08 TF ifMAcan.Bus_Silent 5.1382e-08 TF ifMAcan.Bus_Stuck 4.8271e-08 TF ifMAcan.Data_Stale 4.7182e-08 TF ifMAhvil.CrashSignal_Lost 5.1728e-08 TF ifMAhvil.Isolation_Lost 5.3281e-08 TF ifMApwr.Power_Lost 4.9281e-08 TF ifMBcell.OverVoltage_Cell 5.3182e-08 TF ifMBcell.UnderVoltage_Cell 4.4918e-08 TF ifMBcell.OverTemperature_Cell 5.4281e-08 TF ifMBcell.ImbalanceHigh 5.2918e-08 TF ifMBcell.Bus_Silent 5.0918e-08 TF ifMBcell.Data_Stale 4.7591e-08 TF ifMBcell.Measurement_Drift 4.8919e-08 TF ifMBcell.Measurement_Stuck 4.8181e-08 TF ifMBcell.Bus_Stuck 4.6814e-08 TF ifMBcurr.Measurement_Drift 4.9381e-08 TF ifMBcurr.Measurement_Stuck 4.7281e-08 TF ifMBvolt.Measurement_Drift 5.0812e-08 TF ifMBvolt.Measurement_Stuck 4.8391e-08 TF ifMBvolt.OverVoltage_Cell 5.2138e-08 TF ifMBsoc.SOC_Error 5.2918e-08 TF ifMBsoc.Data_Stale 4.7382e-08 TF ifMBsop.SOC_Error 5.1782e-08 TF ifMBsop.Cooling_Insufficient 5.4182e-08 TF ifMBsop.Data_Stale 4.7018e-08 TF ifMBth.Cooling_Insufficient 5.3918e-08 TF ifMBth.Coolant_Leak 5.5281e-08 TF ifMBth.Measurement_Stuck 4.7391e-08 TF ifMBiso.Isolation_Lost 5.4918e-08 TF ifMBiso.Measurement_Stuck 4.8192e-08 TF ifMBiso.Measurement_Drift 4.7481e-08 TF ifMBcan.Bus_Silent 5.1918e-08 TF ifMBcan.Bus_Stuck 4.8381e-08 TF ifMBcan.Data_Stale 4.7281e-08 TF ifMBhvil.CrashSignal_Lost 5.0918e-08 TF ifMBhvil.Isolation_Lost 5.2817e-08 TF ifMBpwr.Power_Lost 4.8918e-08 TF ifPreR.Contactor_FailsToOpen 5.1382e-08 TF ifPreCmd.Contactor_FailsToOpen 5.2819e-08 TF ifPreCmd.Contactor_Welded 5.3918e-08 TF ifPreCmd.OverTemperature_Cell 5.1281e-08 TF ifPreCmd.OverVoltage_Cell 5.0281e-08 TF ifPreCmd.UnderVoltage_Cell 4.4918e-08 TF ifPreCmd.ImbalanceHigh 5.2918e-08 TF ifPreCmd.SOC_Error 5.0182e-08 TF ifPreCmd.Cooling_Insufficient 5.3281e-08 TF ifPreCmd.Data_Stale 4.6918e-08 TF ifPreCmd.Power_Lost 4.8391e-08 TF ifMCa.Contactor_FailsToOpen 5.4182e-08 TF ifMCa.OverTemperature_Cell 5.3281e-08 TF ifMCa.OverVoltage_Cell 5.1918e-08 TF ifMCa.UnderVoltage_Cell 4.5391e-08 TF ifMCa.ImbalanceHigh 5.3481e-08 TF ifMCa.SOC_Error 5.1281e-08 TF ifMCa.Cooling_Insufficient 5.4182e-08 TF ifMCa.Data_Stale 4.7281e-08 TF ifMCa.Power_Lost 4.9182e-08 TF ifMCb.Contactor_FailsToOpen 5.5182e-08 TF ifMCb.OverTemperature_Cell 5.2918e-08 TF ifMCb.OverVoltage_Cell 5.2391e-08 TF ifMCb.UnderVoltage_Cell 4.5918e-08 TF ifMCb.ImbalanceHigh 5.2817e-08 TF ifMCb.SOC_Error 5.1182e-08 TF ifMCb.Cooling_Insufficient 5.3918e-08 TF ifMCb.Data_Stale 4.7392e-08 TF ifMCb.Power_Lost 4.9281e-08 TF ifPFa.Contactor_FailsToOpen 5.3281e-08 TF ifPFa.OverTemperature_Cell 5.2918e-08 TF ifPFa.OverVoltage_Cell 5.1281e-08 TF ifPFa.UnderVoltage_Cell 4.4182e-08 TF ifPFa.ImbalanceHigh 5.2918e-08 TF ifPFa.SOC_Error 5.0182e-08 TF ifPFa.Cooling_Insufficient 5.3281e-08 TF ifPFa.Data_Stale 4.6918e-08 TF ifPFa.Power_Lost 4.8918e-08 TF ifPFb.Contactor_FailsToOpen 5.4182e-08 TF ifPFb.OverTemperature_Cell 5.3281e-08 TF ifPFb.OverVoltage_Cell 5.1918e-08 TF ifPFb.UnderVoltage_Cell 4.5281e-08 TF ifPFb.ImbalanceHigh 5.3182e-08 TF ifPFb.SOC_Error 5.0917e-08 TF ifPFb.Cooling_Insufficient 5.4182e-08 TF ifPFb.Data_Stale 4.7391e-08 TF ifPFb.Power_Lost 4.9192e-08 TF ifPreOut.Contactor_FailsToOpen 5.0281e-08 TF ifPreOut.Contactor_Welded 5.1918e-08 TF ifMCout.Contactor_FailsToOpen 5.2391e-08 TF ifMCout.Contactor_Welded 5.1281e-08 TF ifMCout.OverTemperature_Cell 5.2918e-08 TF ifMCout.OverVoltage_Cell 5.0491e-08 TF ifMCout.Power_Lost 4.7281e-08 TF ifPFout.Pyrofuse_Dud 5.5281e-08 TF ifPFout.Contactor_FailsToOpen 5.2918e-08 TF ifPumpOut.Cooling_Insufficient 5.1281e-08 TF ifFanOut.Cooling_Insufficient 5.0918e-08 TF ifHeatOut.Cooling_Insufficient 4.8918e-08 TF ifChillOut.Cooling_Insufficient 5.1382e-08 TF ifDiagOut.Bus_Silent 4.7918e-08 TF ifDiagOut.Data_Stale 4.6281e-08 TF ifCANoutA.Bus_Silent 5.1482e-08 TF ifCANoutA.Bus_Stuck 4.8281e-08 TF ifCANoutA.Data_Stale 4.7182e-08 TF ifCANoutB.Bus_Silent 5.0918e-08 TF ifCANoutB.Bus_Stuck 4.7918e-08 TF ifCANoutB.Data_Stale 4.6918e-08 TF ifWarn.Isolation_Lost 4.9817e-08 TF ifWarn.Measurement_Stuck 4.6381e-08