523调试
This commit is contained in:
+232
@@ -0,0 +1,232 @@
|
||||
VERSION ""
|
||||
|
||||
|
||||
NS_ :
|
||||
NS_DESC_
|
||||
CM_
|
||||
BA_DEF_
|
||||
BA_
|
||||
VAL_
|
||||
CAT_DEF_
|
||||
CAT_
|
||||
FILTER
|
||||
BA_DEF_DEF_
|
||||
EV_DATA_
|
||||
ENVVAR_DATA_
|
||||
SGTYPE_
|
||||
SGTYPE_VAL_
|
||||
BA_DEF_SGTYPE_
|
||||
BA_SGTYPE_
|
||||
SIG_TYPE_REF_
|
||||
VAL_TABLE_
|
||||
SIG_GROUP_
|
||||
SIG_VALTYPE_
|
||||
SIGTYPE_VALTYPE_
|
||||
BO_TX_BU_
|
||||
BA_DEF_REL_
|
||||
BA_REL_
|
||||
BA_DEF_DEF_REL_
|
||||
BU_SG_REL_
|
||||
BU_EV_REL_
|
||||
BU_BO_REL_
|
||||
SG_MUL_VAL_
|
||||
|
||||
BS_:
|
||||
|
||||
BU_:
|
||||
|
||||
|
||||
BO_ 2483135745 CircuitBreakerControl1: 8 Vector__XXX
|
||||
SG_ CoolingWaterValveControl : 26|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC5PowerControl : 24|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ ReserveBreakerControl : 22|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TYZReserveBreakerControl : 20|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FBReserveBreakerControl : 18|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch2BreakerControl : 16|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch1BreakerControl : 14|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternFT45BreakerControl : 12|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowPanelBreakerControl : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC5BreakerControl : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryMeterBreakerControl : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MotorBreakerControl : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryBreakerControl : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FuelCellBreakerControl : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2483201281 CircuitBreakerControl2: 8 Vector__XXX
|
||||
SG_ OpenWaterMechanismControl : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowRudderControl : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ XCBreakerControl : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MastRudderControl : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ OpeningMechanismControl : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowFloatAdjustControl : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2483266817 CircuitBreakerControl3: 8 Vector__XXX
|
||||
SG_ SternEmergencyBatteryControl : 12|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve2Control : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve1Control : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ HighVoltageControllerControl : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ U4BreakerControl : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowLowVoltageControl : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryAccessControl : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2483332353 CircuitBreakerControl4: 8 Vector__XXX
|
||||
SG_ BowEmergencyBatteryControl : 14|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve4Control : 12|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve3Control : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowJettisonControl : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ U5BreakerControl : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ U3BreakerControl : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ U2BreakerControl : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ U1BreakerControl : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560950529 CircuitBreakerFeedback: 8 Vector__XXX
|
||||
SG_ DCDC_Temperature : 48|8@1- (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyPowerLoss : 43|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterPowerLoss : 42|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BusA_InsulationLow : 41|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ PowerBus_InsulationLow : 40|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ CoolingPump2_Running : 38|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ CoolingPump1_Running : 37|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ CoolingWaterLeak : 36|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ CoolingPump2_Fault : 35|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ CoolingPump1_Fault : 34|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_Running : 33|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_CommFault : 32|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_InternalFault : 31|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_ShortCircuit : 30|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_InputUnderVoltage : 29|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_InputOverVoltage : 28|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_UnderVoltage : 27|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_OverVoltage : 26|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_OverCurrent : 25|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC_OverTemp : 24|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ ReserveBreaker_Status : 22|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TYZReserveBreaker_Status : 20|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FBReserveBreaker_Status : 18|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch2Breaker_Status : 16|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch1Breaker_Status : 14|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternFT45Breaker_Status : 12|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowPanelBreaker_Status : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC5Breaker_Status : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryMeterBreaker_Status : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MotorBreaker_Status : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryBreaker_Status : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FuelCellBreaker_Status : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560950785 PowerBusFeedback: 8 Vector__XXX
|
||||
SG_ BusA_Voltage : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ PowerBus_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCDC5_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ PowerBus_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560951041 CurrentFeedback: 8 Vector__XXX
|
||||
SG_ BowPowerBox_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryMeter_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BusA_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ PropulsionMotor_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560951297 SternCurrentFeedback: 8 Vector__XXX
|
||||
SG_ Reserve_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch1_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TYZReserve_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternFT45_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560951553 SternAdditionalFeedback: 8 Vector__XXX
|
||||
SG_ CoolingWater_Pressure : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FBReserve_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve2_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ SternSwitch2_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560951809 BowBreakerFeedback: 8 Vector__XXX
|
||||
SG_ WaterLeakAlarm : 14|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyPowerLoss : 13|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterPowerLoss : 12|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ OpenWaterMechanismBreaker_Status : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowRudderBreaker_Status : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ XCZBreaker_Status : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MastRudderBreaker_Status : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ OpeningMechanismBreaker_Status : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowFT13Breaker_Status : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560952065 BusBFeedback: 8 Vector__XXX
|
||||
SG_ OpeningMechanism_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowFT13_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BusB_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BusB_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560952321 BowMechanismFeedback: 8 Vector__XXX
|
||||
SG_ OpenWaterMechanism_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowRudder_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ XCZ_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MastRudder_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560952577 MeterBreakerFeedback: 8 Vector__XXX
|
||||
SG_ MeterBusInsulationLow : 18|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyPowerLoss : 17|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterPowerLoss : 16|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyBattery2Breaker_Status : 12|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve2Breaker_Status : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve1Breaker_Status : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCC1Breaker_Status : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit4MeterBreaker_Status : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowLowVoltageBoxBreaker_Status : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryMeterBreaker_Status : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560952833 MeterBusFeedback: 8 Vector__XXX
|
||||
SG_ Reserve3_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ DCC1Meter_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowLowVoltageBox_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterBus_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560953089 EmergencyBatteryFeedback: 8 Vector__XXX
|
||||
SG_ Reserve4_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit4Meter_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BatteryMeter_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyBattery2_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560953345 EmergencyBus2Feedback: 8 Vector__XXX
|
||||
SG_ PLCPower_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ FuelCellEmergency_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EnergySystemEmergency_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyBus2_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560953601 UnitBreakerFeedback: 8 Vector__XXX
|
||||
SG_ WaterLeakAlarm : 18|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyPowerLoss : 17|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterPowerLoss : 16|1@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyBattery1Breaker_Status : 14|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve6Breaker_Status : 12|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Reserve5Breaker_Status : 10|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowPZBreaker_Status : 8|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit5Breaker_Status : 6|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit3Breaker_Status : 4|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit2Breaker_Status : 2|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit1Breaker_Status : 0|2@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560953857 MeterBus2Feedback: 8 Vector__XXX
|
||||
SG_ Unit2_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit1_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterBus2_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ MeterBus2_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560954113 UnitCurrentFeedback: 8 Vector__XXX
|
||||
SG_ EmergencyBattery1_Current : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BowPZ_Current : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit5_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ Unit3_Current : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2560954369 EmergencyBus1Feedback: 8 Vector__XXX
|
||||
SG_ ControlPower24V_Current : 16|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ EmergencyBus1_Voltage : 0|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -81,7 +81,6 @@ public:
|
||||
bool operate_LVA_reservedCircuit2_Breaker(char opt);
|
||||
bool operate_LVA_mergencyLithiumBatteryGroup1Circuit_Breaker(char opt);
|
||||
//================================复合管控器操作函数====================================
|
||||
bool operate_CCU_fcmod(char opt);
|
||||
// 发送CCU控制命令
|
||||
bool sendCcuCommand(const ccuColCmd cmd);
|
||||
bool sendDisSysCommand(const disSysBreakerList& cmd); //已废弃,不同时操作多个继电器设备
|
||||
|
||||
@@ -338,7 +338,7 @@ void PowerManger::initControlCmd()
|
||||
m_targetDisBreakerState.bus4Breaker.reservedCircuitBreaker2 = 0;
|
||||
m_targetDisBreakerState.bus4Breaker.emergencyLithiumBatteryGroup1CircuitBreaker = 1; //紧急锂电池默认接入
|
||||
//================初始化复合管控=============================
|
||||
m_CcuColCmd.workCondition = 0x00; //默认无效
|
||||
m_CcuColCmd.fcmode = 0x00; //默认无效
|
||||
m_CcuColCmd.fcuCmd = 0x00; //无效指令
|
||||
m_CcuColCmd.fcuPowerEfficiency = 15; //默认为15kw
|
||||
m_CcuColCmd.fcuInsEfficiency = 00; //预留指令,无效
|
||||
|
||||
@@ -0,0 +1,447 @@
|
||||
#ifndef HTTP_SERVER_BATTERYOPERATION_H
|
||||
#define HTTP_SERVER_BATTERYOPERATION_H
|
||||
|
||||
#include <string>
|
||||
|
||||
const std::string BATTERY_OPERATION_HTML = R"(
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>电池操作</title>
|
||||
<link rel="stylesheet" href="/static/style.css">
|
||||
<style>
|
||||
:root {
|
||||
--primary-color: #2563eb;
|
||||
--primary-hover: #1d4ed8;
|
||||
--bg-color: #f8fafc;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
||||
background-color: var(--bg-color);
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: grid;
|
||||
grid-template-areas:
|
||||
"sidebar main-content";
|
||||
grid-template-columns: 220px 1fr;
|
||||
grid-template-rows: 1fr;
|
||||
min-height: 100vh;
|
||||
gap: 0;
|
||||
}
|
||||
|
||||
.header {
|
||||
grid-area: unset;
|
||||
background: white;
|
||||
padding: 0 0.5rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
left: 220px;
|
||||
height: 36px;
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.header h1 {
|
||||
font-size: 1.25rem;
|
||||
font-weight: 600;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
grid-area: sidebar;
|
||||
background: white;
|
||||
width: 220px;
|
||||
height: 100vh;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
padding: 0.5rem 0.25rem;
|
||||
box-shadow: 1px 0 3px rgba(0, 0, 0, 0.1);
|
||||
z-index: 20;
|
||||
}
|
||||
|
||||
.sidebar-menu {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.5rem;
|
||||
}
|
||||
|
||||
.sidebar-button {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0.5rem 0.75rem;
|
||||
border-radius: 0.375rem;
|
||||
color: #4b5563;
|
||||
text-decoration: none;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.sidebar-button:hover {
|
||||
background: var(--bg-color);
|
||||
color: var(--primary-color);
|
||||
}
|
||||
|
||||
.sidebar-icon {
|
||||
min-width: 1.5rem;
|
||||
margin-right: 1rem;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
grid-area: main-content;
|
||||
padding: 1px;
|
||||
margin-top: 36px;
|
||||
}
|
||||
|
||||
.control-panel {
|
||||
background: white;
|
||||
border-radius: 4px;
|
||||
padding: 20px;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.panel-title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 600;
|
||||
color: #1a1a1a;
|
||||
margin-bottom: 16px;
|
||||
padding-bottom: 8px;
|
||||
border-bottom: 1px solid #e5e7eb;
|
||||
}
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.control-label {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.radio-group {
|
||||
display: flex;
|
||||
gap: 16px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.radio-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.select-control {
|
||||
width: 100%;
|
||||
padding: 8px 12px;
|
||||
border: 1px solid #d1d5db;
|
||||
border-radius: 4px;
|
||||
background-color: white;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.slider-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
.slider {
|
||||
flex-grow: 1;
|
||||
height: 6px;
|
||||
-webkit-appearance: none;
|
||||
background: #d1d5db;
|
||||
border-radius: 3px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.slider::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
background: var(--primary-color);
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.slider-value {
|
||||
min-width: 50px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.button-group {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.button {
|
||||
padding: 8px 16px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
background-color: #e5e7eb;
|
||||
color: #1a1a1a;
|
||||
font-weight: 500;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
background-color: #d1d5db;
|
||||
}
|
||||
|
||||
.button-secondary {
|
||||
background-color: #e5e7eb;
|
||||
color: #1a1a1a;
|
||||
}
|
||||
|
||||
.button-secondary:hover {
|
||||
background-color: #d1d5db;
|
||||
}
|
||||
|
||||
.button-active {
|
||||
background-color: var(--primary-color);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.button-active:hover {
|
||||
background-color: var(--primary-hover);
|
||||
}
|
||||
|
||||
.form-submit {
|
||||
margin-top: 24px;
|
||||
width: 100%;
|
||||
padding: 12px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.status-message {
|
||||
margin-top: 16px;
|
||||
padding: 12px;
|
||||
border-radius: 4px;
|
||||
background-color: #f0fdf4;
|
||||
color: #166534;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.status-message.error {
|
||||
background-color: #fef2f2;
|
||||
color: #991b1b;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="sidebar">
|
||||
<div class="sidebar-menu">
|
||||
<a href="/" class="sidebar-button">
|
||||
<span class="sidebar-icon">🏠</span>
|
||||
<span>系统主页</span>
|
||||
</a>
|
||||
<a href="/data" class="sidebar-button">
|
||||
<span class="sidebar-icon">📊</span>
|
||||
<span>系统数据</span>
|
||||
</a>
|
||||
<a href="/dashboard" class="sidebar-button">
|
||||
<span class="sidebar-icon">⚡</span>
|
||||
<span>配电操作</span>
|
||||
</a>
|
||||
<a href="/battery" class="sidebar-button">
|
||||
<span class="sidebar-icon">🔋</span>
|
||||
<span>电池操作</span>
|
||||
</a>
|
||||
<a href="/logs" class="sidebar-button">
|
||||
<span class="sidebar-icon">📝</span>
|
||||
<span>系统日志</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<h1>电池操作系统</h1>
|
||||
</div>
|
||||
|
||||
<div class="main-content">
|
||||
<div class="control-panel">
|
||||
<div class="panel-title">燃料电池控制</div>
|
||||
|
||||
<form id="batteryForm" method="POST" action="/battery/control">
|
||||
<div class="control-group">
|
||||
<label class="control-label">燃料电池模式设定</label>
|
||||
<div class="radio-group">
|
||||
<label class="radio-option">
|
||||
<input type="radio" name="fuelCellMode" value="00H" checked>
|
||||
<span>无效</span>
|
||||
</label>
|
||||
<label class="radio-option">
|
||||
<input type="radio" name="fuelCellMode" value="01H">
|
||||
<span>调试</span>
|
||||
</label>
|
||||
<label class="radio-option">
|
||||
<input type="radio" name="fuelCellMode" value="02H">
|
||||
<span>自动</span>
|
||||
</label>
|
||||
<label class="radio-option">
|
||||
<input type="radio" name="fuelCellMode" value="03H">
|
||||
<span>补给</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">燃料电池指令</label>
|
||||
<select class="select-control" name="fuelCellCommand">
|
||||
<option value="00H">无效</option>
|
||||
<option value="01H">自检</option>
|
||||
<option value="02H">启动</option>
|
||||
<option value="03H">停机</option>
|
||||
<option value="04H">复位</option>
|
||||
<option value="05H">紧急停机</option>
|
||||
<option value="06H">补给</option>
|
||||
<option value="07H">制氢预热</option>
|
||||
<option value="08H">停机维护</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">燃料电池动力通路功率配置 (kW)</label>
|
||||
<div class="slider-container">
|
||||
<input type="range" class="slider" name="fuelCellPower" min="0" max="20" value="0" step="1">
|
||||
<span class="slider-value">0</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="panel-title">锂电池控制</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">仪表锂电池启停指令</label>
|
||||
<div class="button-group">
|
||||
<button type="button" class="button button-active" data-command="instrumentBattery" data-value="00H">无效</button>
|
||||
<button type="button" class="button button-secondary" data-command="instrumentBattery" data-value="10H">启动</button>
|
||||
<button type="button" class="button button-secondary" data-command="instrumentBattery" data-value="20H">关闭</button>
|
||||
</div>
|
||||
<input type="hidden" name="instrumentBattery" value="00H">
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">动力锂电池启停指令</label>
|
||||
<div class="button-group">
|
||||
<button type="button" class="button button-active" data-command="powerBattery" data-value="00H">无效</button>
|
||||
<button type="button" class="button button-secondary" data-command="powerBattery" data-value="10H">启动</button>
|
||||
<button type="button" class="button button-secondary" data-command="powerBattery" data-value="20H">关闭</button>
|
||||
</div>
|
||||
<input type="hidden" name="powerBattery" value="00H">
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label">动力锂电池电池功率配置值 (kW)</label>
|
||||
<div class="slider-container">
|
||||
<input type="range" class="slider" name="powerBatteryPower" min="0" max="400" value="0" step="10">
|
||||
<span class="slider-value">0</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="button form-submit">提交配置</button>
|
||||
|
||||
<div id="statusMessage" class="status-message"></div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 更新滑块值显示
|
||||
document.querySelectorAll('.slider').forEach(slider => {
|
||||
const valueDisplay = slider.nextElementSibling;
|
||||
valueDisplay.textContent = slider.value;
|
||||
|
||||
slider.addEventListener('input', () => {
|
||||
valueDisplay.textContent = slider.value;
|
||||
});
|
||||
});
|
||||
|
||||
// 处理按钮组选择
|
||||
document.querySelectorAll('.button-group button').forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
const group = button.closest('.button-group');
|
||||
const hiddenInput = group.nextElementSibling;
|
||||
const command = button.dataset.command;
|
||||
const value = button.dataset.value;
|
||||
|
||||
// 更新按钮样式
|
||||
group.querySelectorAll('button').forEach(btn => {
|
||||
btn.classList.remove('button-active');
|
||||
btn.classList.add('button-secondary');
|
||||
});
|
||||
button.classList.remove('button-secondary');
|
||||
button.classList.add('button-active');
|
||||
|
||||
// 更新隐藏输入值
|
||||
hiddenInput.value = value;
|
||||
});
|
||||
});
|
||||
|
||||
// 处理表单提交
|
||||
document.getElementById('batteryForm').addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
const form = e.target;
|
||||
const formData = new FormData(form);
|
||||
const statusMessage = document.getElementById('statusMessage');
|
||||
|
||||
try {
|
||||
// 将表单数据转换为URL编码格式
|
||||
const params = new URLSearchParams();
|
||||
for (const [key, value] of formData.entries()) {
|
||||
params.append(key, value);
|
||||
}
|
||||
|
||||
const response = await fetch(form.action, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/x-www-form-urlencoded'
|
||||
},
|
||||
body: params.toString()
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
if (result.success) {
|
||||
statusMessage.textContent = '配置提交成功';
|
||||
statusMessage.className = 'status-message';
|
||||
statusMessage.style.display = 'block';
|
||||
} else {
|
||||
statusMessage.textContent = result.message || '配置提交失败';
|
||||
statusMessage.className = 'status-message error';
|
||||
statusMessage.style.display = 'block';
|
||||
}
|
||||
} catch (error) {
|
||||
statusMessage.textContent = '网络错误: ' + error.message;
|
||||
statusMessage.className = 'status-message error';
|
||||
statusMessage.style.display = 'block';
|
||||
}
|
||||
|
||||
setTimeout(() => {
|
||||
statusMessage.style.display = 'none';
|
||||
}, 5000);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
)";
|
||||
|
||||
#endif // HTTP_SERVER_BATTERYOPERATION_H
|
||||
|
||||
@@ -974,16 +974,16 @@ function updateSystemData(data) {
|
||||
|
||||
// 继电器状态
|
||||
if (data.ins_relay_status1 !== undefined) {
|
||||
document.getElementById('ins-relay-status1').textContent = getRelayStatusText(data.ins_relay_status1);
|
||||
document.getElementById('ins-relay-status1').textContent = (data.ins_relay_status1);
|
||||
}
|
||||
if (data.ins_relay_status2 !== undefined) {
|
||||
document.getElementById('ins-relay-status2').textContent = getRelayStatusText(data.ins_relay_status2);
|
||||
document.getElementById('ins-relay-status2').textContent = (data.ins_relay_status2);
|
||||
}
|
||||
if (data.dyn_relay_status1 !== undefined) {
|
||||
document.getElementById('dyn-relay-status1').textContent = getRelayStatusText(data.dyn_relay_status1);
|
||||
document.getElementById('dyn-relay-status1').textContent = (data.dyn_relay_status1);
|
||||
}
|
||||
if (data.dyn_relay_status2 !== undefined) {
|
||||
document.getElementById('dyn-relay-status2').textContent = getRelayStatusText(data.dyn_relay_status2);
|
||||
document.getElementById('dyn-relay-status2').textContent = (data.dyn_relay_status2);
|
||||
}
|
||||
|
||||
// 报警标志
|
||||
@@ -1601,11 +1601,6 @@ function getCoolingStatusText(status) {
|
||||
return statuses[status] || '未知状态';
|
||||
}
|
||||
|
||||
// 继电器状态文本转换
|
||||
function getRelayStatusText(status) {
|
||||
return status === 1 ? '闭合' : '断开';
|
||||
}
|
||||
|
||||
// 折叠面板功能
|
||||
const coll = document.getElementsByClassName("collapsible");
|
||||
for (let i = 0; i < coll.length; i++) {
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "logpage.h"
|
||||
#include "testpage.h"
|
||||
#include "degubpage.h"
|
||||
#include "batteryoperation.h"
|
||||
|
||||
using json = Json::Value;
|
||||
|
||||
@@ -90,6 +91,55 @@ void HttpServer::handleWebSocketEvent(struct mg_connection* c, int ev, void* ev_
|
||||
} else if (mg_match(hm->uri, mg_str("/debug"), NULL)) {
|
||||
// 返回调试页面HTML
|
||||
mg_http_reply(c, 200, "Content-Type: text/html; charset=utf-8\r\n", DEBUGPAGE_HTML.c_str());
|
||||
} else if (mg_match(hm->uri, mg_str("/battery"), NULL)) {
|
||||
// 返回电池操作页面HTML
|
||||
mg_http_reply(c, 200, "Content-Type: text/html; charset=utf-8\r\n", BATTERY_OPERATION_HTML.c_str());
|
||||
} else if (mg_match(hm->uri, mg_str("/battery/control"), NULL)) {
|
||||
// 处理电池控制POST请求
|
||||
if (mg_strcmp(hm->method, mg_str("POST")) == 0) {
|
||||
// 解析表单数据
|
||||
struct mg_str body = hm->body;
|
||||
unsigned char fuelCellMode = 0;
|
||||
unsigned char fuelCellCommand = 0;
|
||||
unsigned short fuelCellPower = 0;
|
||||
unsigned char instrumentBattery = 0;
|
||||
unsigned char powerBattery = 0;
|
||||
unsigned short powerBatteryPower = 0;
|
||||
|
||||
char tmp[16] = {0};
|
||||
mg_http_get_var(&body, "fuelCellMode", tmp, sizeof(tmp));
|
||||
fuelCellMode = (unsigned char)strtoul(tmp, NULL, 16);
|
||||
mg_http_get_var(&body, "fuelCellCommand", tmp, sizeof(tmp));
|
||||
fuelCellCommand = (unsigned char)strtoul(tmp, NULL, 16);
|
||||
mg_http_get_var(&body, "fuelCellPower", tmp, sizeof(tmp));
|
||||
fuelCellPower = (unsigned short)atoi(tmp);
|
||||
mg_http_get_var(&body, "instrumentBattery", tmp, sizeof(tmp));
|
||||
instrumentBattery = (unsigned char)strtoul(tmp, NULL, 16);
|
||||
mg_http_get_var(&body, "powerBattery", tmp, sizeof(tmp));
|
||||
powerBattery = (unsigned char)strtoul(tmp, NULL, 16);
|
||||
mg_http_get_var(&body, "powerBatteryPower", tmp, sizeof(tmp));
|
||||
powerBatteryPower = (unsigned short)atoi(tmp);
|
||||
|
||||
// 记录接收到的配置
|
||||
LOG_F(INFO, "Received battery control config: "
|
||||
"fuelCellMode=%02XH, fuelCellCommand=%02XH, fuelCellPower=%d, "
|
||||
"instrumentBattery=%02XH, powerBattery=%02XH, powerBatteryPower=%d",
|
||||
fuelCellMode, fuelCellCommand, fuelCellPower,
|
||||
instrumentBattery, powerBattery, powerBatteryPower);
|
||||
|
||||
m_powerManger->m_CcuColCmd.fcmode = fuelCellMode;
|
||||
m_powerManger->m_CcuColCmd.fcuCmd = fuelCellCommand;
|
||||
m_powerManger->m_CcuColCmd.fcuPowerEfficiency = fuelCellPower;
|
||||
m_powerManger->m_CcuColCmd.insBatCmd = instrumentBattery;
|
||||
m_powerManger->m_CcuColCmd.powerBatCmd = powerBattery;
|
||||
m_powerManger->m_CcuColCmd.powerBatEfficiency = powerBatteryPower;
|
||||
|
||||
|
||||
mg_http_reply(c, 200, "Content-Type: application/json\r\n",
|
||||
"{\"success\": true, \"message\": \"电池配置提交成功\"}");
|
||||
} else {
|
||||
mg_http_reply(c, 405, "Content-Type: text/plain\r\n", "Method Not Allowed");
|
||||
}
|
||||
} else if (mg_match(hm->uri, mg_str("/ws/debug"), NULL)) {
|
||||
// 升级到调试WebSocket连接
|
||||
LOG_F(INFO, "Upgrading to Debug WebSocket: id=%lu fd=%d", c->id, c->fd);
|
||||
|
||||
@@ -211,6 +211,10 @@ body {
|
||||
<span class="sidebar-icon">📝</span>
|
||||
<span>系统日志</span>
|
||||
</a>
|
||||
<a href="/battery" class="sidebar-button">
|
||||
<span class="sidebar-icon">🔋</span>
|
||||
<span>电池操作</span>
|
||||
</a>
|
||||
<a href="/testpage" class="sidebar-button">
|
||||
<span class="sidebar-icon">🧪</span>
|
||||
<span>测试页面</span>
|
||||
|
||||
@@ -136,7 +136,7 @@ typedef struct {
|
||||
}ccuSetParmCmd;
|
||||
|
||||
typedef struct {
|
||||
unsigned char workCondition;
|
||||
unsigned char fcmode;
|
||||
unsigned char fcuCmd;
|
||||
unsigned char fcuPowerEfficiency;
|
||||
unsigned char fcuInsEfficiency;
|
||||
|
||||
@@ -608,7 +608,7 @@ bool SQLite::insertData(const ccuColCmd cmd) {
|
||||
int idx = 1;
|
||||
#define BIND_INT(x) sqlite3_bind_int(stmt, idx++, static_cast<int>(x))
|
||||
|
||||
BIND_INT(cmd.workCondition);
|
||||
BIND_INT(cmd.fcmode);
|
||||
BIND_INT(cmd.fcuCmd);
|
||||
BIND_INT(cmd.fcuPowerEfficiency);
|
||||
BIND_INT(cmd.fcuInsEfficiency);
|
||||
|
||||
@@ -523,9 +523,19 @@ bool udpComm::sendCcuColCmd(const ccuColCmd cmd)
|
||||
}
|
||||
sendMsg(msgBuf,sizeof(msg_CcuColCmdMsg));
|
||||
}
|
||||
catch(const std::exception& e)
|
||||
catch(const std::invalid_argument& e)
|
||||
{
|
||||
std::cerr << e.what() << '\n';
|
||||
std::cerr << "Invalid argument error in CCU command: " << e.what() << '\n';
|
||||
LOG_F(ERROR, "Invalid argument in CCU command: %s", e.what());
|
||||
delete msg;
|
||||
return false;
|
||||
}
|
||||
catch(const std::out_of_range& e)
|
||||
{
|
||||
std::cerr << "Out of range error in CCU command: " << e.what() << '\n';
|
||||
LOG_F(ERROR, "Out of range in CCU command: %s", e.what());
|
||||
delete msg;
|
||||
return false;
|
||||
}
|
||||
delete msg;
|
||||
return true;
|
||||
|
||||
@@ -1,270 +0,0 @@
|
||||
MessageName,MessageID,DLC,Sender,SignalName,StartBit,Length,Factor,Offset,Min,Max,Unit,Receivers,SignalComment
|
||||
CSCM_Heartbeat,0x11dd0101,1,CSC,HeartBeat,7,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_WorkStateSet_Order,7,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_MainRelaySet_Order,15,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_PosRelaySet_Order,23,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_DiodeRelaySet_Order,31,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_BatPowerSet_Order,32,16,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_SelfCheck_Order,55,8,1,0,,,,,
|
||||
CSC_EBAT2_CM_01,0x11aa0901,8,,BMS_PowerOff_Order,63,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_WorkStateSet_Order,7,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_MainRelaySet_Order,15,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_PosRelaySet_Order,23,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_DiodeRelaySet_Order,31,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_BatPowerSet_Order,32,16,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_SelfCheck_Order,55,8,1,0,,,,,
|
||||
CSC_EBAT1_CM_01,0x11aa0801,8,,BMS_PowerOff_Order,63,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_WorkState_FB,7,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_SelfCheck_FB,15,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_BatPowerSet_FB,23,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_MainRelay_FB,31,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_PosDoideRelay_FB,39,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_02,0x11cc0402,6,,BMS_EmergencyCode_FB,47,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Year,7,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Month,15,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Day,23,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Hour,31,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Minute,39,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_Second,47,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,TimeStamp_10ms,55,8,1,0,,,,,
|
||||
BMS_P_CSC_FB_01,0x11cc0401,8,,HeartBeat,63,8,1,0,,,,,
|
||||
New_Message_57,0x1,8,,New_Signal_240,32,8,1,0,,,,,
|
||||
New_Message_56,0x0,8,,New_Signal_239,32,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_14,0x11cc030e,8,BMS_ICM,BMS_M_4Min1O2,0,16,0.1,0,0,30,%,,²ÕÄÚÑõÆøÅ¨¶È
|
||||
BMS_I_CSC_FB_14,0x11cc030e,8,BMS_ICM,BMS_M_4Min1Temper,16,16,0.1,0,-40,80,,,²ÕÄÚζÈ
|
||||
BMS_I_CSC_FB_14,0x11cc030e,8,BMS_ICM,BMS_M_4Min1Humidity,32,16,0.1,0,,,%,,²ÕÄÚʪ¶È
|
||||
BMS_I_CSC_FB_14,0x11cc030e,8,BMS_ICM,BMS_M_4Min1Pressure,48,16,0.2,0,0,450,Kp,,²ÕÄÚ´óÆøÑ¹
|
||||
BMS_P_CSC_FB_14,0x11cc040e,8,BMS_POWER,BMS_M_4Min1O2,0,16,0.1,0,0,30,%,,²ÕÄÚÑõÆøÅ¨¶È
|
||||
BMS_P_CSC_FB_14,0x11cc040e,8,BMS_POWER,BMS_M_4Min1Temper,16,16,0.1,0,-40,80,,,²ÕÄÚζÈ
|
||||
BMS_P_CSC_FB_14,0x11cc040e,8,BMS_POWER,BMS_M_4Min1Humidity,32,16,0.1,0,,,%,,²ÕÄÚʪ¶È
|
||||
BMS_P_CSC_FB_14,0x11cc040e,8,BMS_POWER,BMS_M_4Min1Pressure,48,16,0.2,0,0,450,Kp,,²ÕÄÚ´óÆøÑ¹
|
||||
BMS_I_CSC_FB_13_M1,0x11cc031d,8,BMS_ICM,BMS_S_MinCellV,0,16,0.1,0,,,mV,,µ¥Ìåµç³Ø×îµÍµçѹ
|
||||
BMS_I_CSC_FB_13_M1,0x11cc031d,8,BMS_ICM,BMS_S_MaxCellV,16,16,0.1,0,,,mV,,µ¥Ìåµçѹ×î¸ßµçѹ
|
||||
BMS_I_CSC_FB_13_M1,0x11cc031d,8,BMS_ICM,BMS_S_MinCellVIdx,39,8,1,0,,,,,×îµÍµçѹ±àºÅ
|
||||
BMS_I_CSC_FB_13_M1,0x11cc031d,8,BMS_ICM,BMS_S_MaxCellVIdx,47,8,1,0,,,,,×î¸ßµçѹ±àºÅ
|
||||
BMS_I_CSC_FB_13_M1,0x11cc031d,8,BMS_ICM,BMS_S_CellVMean,48,16,1,0,,,,,µ¥Ì寽¾ùµçѹ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_TemperMax,7,8,1,-40,-40,125,¡æ,,µç³Ø×î¸ßζÈ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_TemperMaxIdx,15,8,1,0,,,,,µç³Ø×î¸ßζȱàºÅ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_TemperMin,23,8,1,-40,-40,125,¡æ,,µç³Ø×îµÍζÈ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_TemperMinIdx,31,8,1,0,,,,,µç³Ø×îµÍζȱàºÅ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_TemperMean,39,8,1,0,,,,,µç³ØÆ½¾ùζÈ
|
||||
BMS_I_CSC_FB_12_M1,0x11cc031c,6,BMS_ICM,BMS_S_BalanceStatus,47,8,1,0,,,,,µç³Øµ¥Ìå¾ùºâ״̬
|
||||
BMS_I_CSC_FB_11_M1,0x11cc031b,8,BMS_ICM,BMS_S_LoadVt,0,16,0.1,0,,,V,,µç³Ø°üµçѹ¸ºÔضË
|
||||
BMS_I_CSC_FB_11_M1,0x11cc031b,8,BMS_ICM,BMS_S_BattVt,16,16,0.1,0,,,V,,µç³Ø°üµçѹµç³Ø¶Ë
|
||||
BMS_I_CSC_FB_11_M1,0x11cc031b,8,BMS_ICM,BMS_S_IruPz,32,16,10,0,,,K¦¸,,µç³Ø°üÕý¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_11_M1,0x11cc031b,8,BMS_ICM,BMS_S_IruPf,48,16,10,0,,,K¦¸,,µç³Ø°ü¸º¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_10_M1,0x11cc031a,6,BMS_ICM,BMS_S_Soc,0,16,0.1,0,,,%,,µç³Ø°üSOC
|
||||
BMS_I_CSC_FB_10_M1,0x11cc031a,6,BMS_ICM,BMS_S_PosNegRelay_Status,23,8,1,0,,,,,µç³Ø°üÕý¼«¼ÌµçÆ÷״̬Ó븺¼«¼ÌµçÆ÷״̬
|
||||
BMS_I_CSC_FB_10_M1,0x11cc031a,6,BMS_ICM,BMS_S_OnChgPosNegRelay_Status,31,8,1,0,,,,,BMS_S_OnChgPosNegRelay_Status
|
||||
BMS_I_CSC_FB_10_M1,0x11cc031a,6,BMS_ICM,BMS_S_DsgCurrent,32,16,0.05,0,,,A,,"µç³Ø°ü·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_Packidx,7,8,1,0,,,,,µç³Ø°üºÅ
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId1,15,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö1
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId2,23,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö2
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId3,31,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö3
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId4,39,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö4
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId5,47,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö5
|
||||
BMS_I_CSC_FB_09_M1,0x11cc0319,7,BMS_ICM,BMS_S_WarnId6,55,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö6
|
||||
BMS_P_CSC_FB_13_M1,0x11cc041d,8,BMS_POWER,BMS_S_MinCellV,0,16,0.1,0,,,mV,,µ¥Ìåµç³Ø×îµÍµçѹ
|
||||
BMS_P_CSC_FB_13_M1,0x11cc041d,8,BMS_POWER,BMS_S_MaxCellV,16,16,0.1,0,,,mV,,µ¥Ìåµçѹ×î¸ßµçѹ
|
||||
BMS_P_CSC_FB_13_M1,0x11cc041d,8,BMS_POWER,BMS_S_MinCellVIdx,39,8,1,0,,,,,×îµÍµçѹ±àºÅ
|
||||
BMS_P_CSC_FB_13_M1,0x11cc041d,8,BMS_POWER,BMS_S_MaxCellVIdx,47,8,1,0,,,,,×î¸ßµçѹ±àºÅ
|
||||
BMS_P_CSC_FB_13_M1,0x11cc041d,8,BMS_POWER,BMS_S_CellVMean,48,16,1,0,,,,,µ¥Ì寽¾ùµçѹ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_TemperMax,7,8,1,-40,-40,125,¡æ,,µç³Ø×î¸ßζÈ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_TemperMaxIdx,15,8,1,0,,,,,µç³Ø×î¸ßζȱàºÅ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_TemperMin,23,8,1,-40,-40,125,¡æ,,µç³Ø×îµÍζÈ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_TemperMinIdx,31,8,1,0,,,,,µç³Ø×îµÍζȱàºÅ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_TemperMean,39,8,1,0,,,,,µç³ØÆ½¾ùζÈ
|
||||
BMS_P_CSC_FB_12_M1,0x11cc041c,6,BMS_POWER,BMS_S_BalanceStatus,47,8,1,0,,,,,µç³Øµ¥Ìå¾ùºâ״̬
|
||||
BMS_P_CSC_FB_11_M1,0x11cc041b,8,BMS_POWER,BMS_S_LoadVt,0,16,0.1,0,,,V,,µç³Ø°üµçѹ¸ºÔضË
|
||||
BMS_P_CSC_FB_11_M1,0x11cc041b,8,BMS_POWER,BMS_S_BattVt,16,16,0.1,0,,,V,,µç³Ø°üµçѹµç³Ø¶Ë
|
||||
BMS_P_CSC_FB_11_M1,0x11cc041b,8,BMS_POWER,BMS_S_IruPz,32,16,10,0,,,K¦¸,,µç³Ø°üÕý¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_11_M1,0x11cc041b,8,BMS_POWER,BMS_S_IruPf,48,16,10,0,,,K¦¸,,µç³Ø°ü¸º¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_10_M1,0x11cc041a,4,BMS_POWER,BMS_S_PosNegRelay_Status,7,8,1,0,,,,,µç³Ø°üÕý¼«¼ÌµçÆ÷״̬Ó븺¼«¼ÌµçÆ÷״̬
|
||||
BMS_P_CSC_FB_10_M1,0x11cc041a,4,BMS_POWER,BMS_S_OnChgPosNegRelay_Status,15,8,1,0,,,,,BMS_S_OnChgPosNegRelay_Status
|
||||
BMS_P_CSC_FB_10_M1,0x11cc041a,4,BMS_POWER,BMS_S_DsgCurrent,16,16,0.05,0,,,A,,"µç³Ø°ü·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_Packidx,7,8,1,0,,,,,µç³Ø°üºÅ
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId1,15,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö1
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId2,23,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö2
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId3,31,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö3
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId4,39,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö4
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId5,47,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö5
|
||||
BMS_P_CSC_FB_09_M1,0x11cc0419,7,BMS_POWER,BMS_S_WarnId6,55,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö6
|
||||
BMS_I_CSC_FB_13_M0,0x11cc030d,8,BMS_ICM,BMS_S_MinCellV,0,16,0.1,0,,,mV,,µ¥Ìåµç³Ø×îµÍµçѹ
|
||||
BMS_I_CSC_FB_13_M0,0x11cc030d,8,BMS_ICM,BMS_S_MaxCellV,16,16,0.1,0,,,mV,,µ¥Ìåµçѹ×î¸ßµçѹ
|
||||
BMS_I_CSC_FB_13_M0,0x11cc030d,8,BMS_ICM,BMS_S_MinCellVIdx,39,8,1,0,,,,,×îµÍµçѹ±àºÅ
|
||||
BMS_I_CSC_FB_13_M0,0x11cc030d,8,BMS_ICM,BMS_S_MaxCellVIdx,47,8,1,0,,,,,×î¸ßµçѹ±àºÅ
|
||||
BMS_I_CSC_FB_13_M0,0x11cc030d,8,BMS_ICM,BMS_S_CellVMean,48,16,1,0,,,,,µ¥Ì寽¾ùµçѹ
|
||||
BMS_P_CSC_FB_13_M0,0x11cc040d,8,BMS_POWER,BMS_S_MinCellV,0,16,0.1,0,,,mV,,µ¥Ìåµç³Ø×îµÍµçѹ
|
||||
BMS_P_CSC_FB_13_M0,0x11cc040d,8,BMS_POWER,BMS_S_MaxCellV,16,16,0.1,0,,,mV,,µ¥Ìåµçѹ×î¸ßµçѹ
|
||||
BMS_P_CSC_FB_13_M0,0x11cc040d,8,BMS_POWER,BMS_S_MinCellVIdx,39,8,1,0,,,,,×îµÍµçѹ±àºÅ
|
||||
BMS_P_CSC_FB_13_M0,0x11cc040d,8,BMS_POWER,BMS_S_MaxCellVIdx,47,8,1,0,,,,,×î¸ßµçѹ±àºÅ
|
||||
BMS_P_CSC_FB_13_M0,0x11cc040d,8,BMS_POWER,BMS_S_CellVMean,48,16,1,0,,,,,µ¥Ì寽¾ùµçѹ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_TemperMax,7,8,1,-40,-40,125,¡æ,,µç³Ø×î¸ßζÈ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_TemperMaxIdx,15,8,1,0,,,,,µç³Ø×î¸ßζȱàºÅ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_TemperMin,23,8,1,-40,-40,125,¡æ,,µç³Ø×îµÍζÈ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_TemperMinIdx,31,8,1,0,,,,,µç³Ø×îµÍζȱàºÅ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_TemperMean,39,8,1,0,,,,,µç³ØÆ½¾ùζÈ
|
||||
BMS_I_CSC_FB_12_M0,0x11cc030c,6,BMS_ICM,BMS_S_BalanceStatus,47,8,1,0,,,,,µç³Øµ¥Ìå¾ùºâ״̬
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_TemperMax,7,8,1,-40,-40,125,¡æ,,µç³Ø×î¸ßζÈ
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_TemperMaxIdx,15,8,1,0,,,,,µç³Ø×î¸ßζȱàºÅ
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_TemperMin,23,8,1,-40,-40,125,¡æ,,µç³Ø×îµÍζÈ
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_TemperMinIdx,31,8,1,0,,,,,µç³Ø×îµÍζȱàºÅ
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_TemperMean,39,8,1,0,,,,,µç³ØÆ½¾ùζÈ
|
||||
BMS_P_CSC_FB_12_M0,0x11cc040c,6,BMS_POWER,BMS_S_BalanceStatus,47,8,1,0,,,,,µç³Øµ¥Ìå¾ùºâ״̬
|
||||
BMS_I_CSC_FB_11_M0,0x11cc030b,8,BMS_ICM,BMS_S_LoadVt,0,16,0.1,0,,,V,,µç³Ø°üµçѹ¸ºÔضË
|
||||
BMS_I_CSC_FB_11_M0,0x11cc030b,8,BMS_ICM,BMS_S_BattVt,16,16,0.1,0,,,V,,µç³Ø°üµçѹµç³Ø¶Ë
|
||||
BMS_I_CSC_FB_11_M0,0x11cc030b,8,BMS_ICM,BMS_S_IruPz,32,16,10,0,,,K¦¸,,µç³Ø°üÕý¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_11_M0,0x11cc030b,8,BMS_ICM,BMS_S_IruPf,48,16,10,0,,,K¦¸,,µç³Ø°ü¸º¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_11_M0,0x11cc040b,8,BMS_POWER,BMS_S_LoadVt,0,16,0.1,0,,,V,,µç³Ø°üµçѹ¸ºÔضË
|
||||
BMS_P_CSC_FB_11_M0,0x11cc040b,8,BMS_POWER,BMS_S_BattVt,16,16,0.1,0,,,V,,µç³Ø°üµçѹµç³Ø¶Ë
|
||||
BMS_P_CSC_FB_11_M0,0x11cc040b,8,BMS_POWER,BMS_S_IruPz,32,16,10,0,,,K¦¸,,µç³Ø°üÕý¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_11_M0,0x11cc040b,8,BMS_POWER,BMS_S_IruPf,48,16,10,0,,,K¦¸,,µç³Ø°ü¸º¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_10_M0,0x11cc030a,6,BMS_ICM,BMS_S_Soc,0,16,0.1,0,,,%,,µç³Ø°üSOC
|
||||
BMS_I_CSC_FB_10_M0,0x11cc030a,6,BMS_ICM,BMS_S_PosNegRelay_Status,23,8,1,0,,,,,µç³Ø°üÕý¼«¼ÌµçÆ÷״̬Ó븺¼«¼ÌµçÆ÷״̬
|
||||
BMS_I_CSC_FB_10_M0,0x11cc030a,6,BMS_ICM,BMS_S_OnChgPosNegRelay_Status,31,8,1,0,,,,,BMS_S_OnChgPosNegRelay_Status
|
||||
BMS_I_CSC_FB_10_M0,0x11cc030a,6,BMS_ICM,BMS_S_DsgCurrent,32,16,0.05,0,,,A,,"µç³Ø°ü·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_P_CSC_FB_10_M0,0x11cc040a,4,BMS_POWER,BMS_S_PosNegRelay_Status,7,8,1,0,,,,,µç³Ø°üÕý¼«¼ÌµçÆ÷״̬Ó븺¼«¼ÌµçÆ÷״̬
|
||||
BMS_P_CSC_FB_10_M0,0x11cc040a,4,BMS_POWER,BMS_S_OnChgPosNegRelay_Status,15,8,1,0,,,,,BMS_S_OnChgPosNegRelay_Status
|
||||
BMS_P_CSC_FB_10_M0,0x11cc040a,4,BMS_POWER,BMS_S_DsgCurrent,16,16,0.05,0,,,A,,"µç³Ø°ü·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_Packidx,7,8,1,0,,,,,µç³Ø°üºÅ
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId1,15,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö1
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId2,23,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö2
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId3,31,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö3
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId4,39,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö4
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId5,47,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö5
|
||||
BMS_I_CSC_FB_09_M0,0x11cc0309,7,BMS_ICM,BMS_S_WarnId6,55,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö6
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_Packidx,7,8,1,0,,,,,µç³Ø°üºÅ
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId1,15,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö1
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId2,23,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö2
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId3,31,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö3
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId4,39,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö4
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId5,47,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö5
|
||||
BMS_P_CSC_FB_09_M0,0x11cc0409,7,BMS_POWER,BMS_S_WarnId6,55,8,1,0,,,,,µç³Ø±¨¾¯±êʶ×Ö6
|
||||
BMS_I_CSC_FB_08,0x11cc0308,6,BMS_ICM,BMS_M_EnaMaxDsgPower,0,16,0.1,0,,,KW,,µç³ØÔÊÐí×î¸ß·Åµç¹¦ÂÊ
|
||||
BMS_I_CSC_FB_08,0x11cc0308,6,BMS_ICM,BMS_M_EnaMaxChgPower,16,16,0.1,0,,,KW,,µç³ØÔÊÐíÔÚÏßȼµç³äµç¹¦ÂÊ
|
||||
BMS_I_CSC_FB_08,0x11cc0308,6,BMS_ICM,BMS_M_NowPower,32,16,0.1,0,,,KW,,µç³Øµ±Ç°½ÓÈ빦ÂÊ״̬
|
||||
BMS_P_CSC_FB_08,0x11cc0408,6,BMS_POWER,BMS_M_EnaMaxDsgPower,0,16,0.1,0,,,KW,,µç³ØÔÊÐí×î¸ß·Åµç¹¦ÂÊ
|
||||
BMS_P_CSC_FB_08,0x11cc0408,6,BMS_POWER,BMS_M_EnaMaxChgPower,16,16,0.1,0,,,KW,,µç³ØÔÊÐíÔÚÏßȼµç³äµç¹¦ÂÊ
|
||||
BMS_P_CSC_FB_08,0x11cc0408,6,BMS_POWER,BMS_M_NowPower,32,16,0.1,0,,,KW,,µç³Øµ±Ç°½ÓÈ빦ÂÊ״̬
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId1,7,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö1
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId2,15,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö2
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId3,23,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö3
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId4,31,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö4
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId5,39,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö5
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnId6,47,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö6
|
||||
BMS_I_CSC_FB_07,0x11cc0307,7,BMS_ICM,BMS_M_WarnPackBits,55,8,1,0,,,,,EMU±¨¾¯µç³Ø°üλÖÃ
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId1,7,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö1
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId2,15,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö2
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId3,23,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö3
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId4,31,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö4
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId5,39,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö5
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnId6,47,8,1,0,,,,,EMU±¨¾¯±êʶ×Ö6
|
||||
BMS_P_CSC_FB_07,0x11cc0407,7,BMS_POWER,BMS_M_WarnPackBits,55,8,1,0,,,,,EMU±¨¾¯µç³Ø°üλÖÃ
|
||||
BMS_I_CSC_FB_06,0x11cc0306,4,BMS_ICM,BMS_M_TemperMin,7,8,1,-40,-40,125,¡æ,,µç³Øµ¥Ìå×îµÍζÈ
|
||||
BMS_I_CSC_FB_06,0x11cc0306,4,BMS_ICM,BMS_M_TemperMax,15,8,1,-40,-40,125,¡æ,,µç³Øµ¥Ìå×î¸ßζÈ
|
||||
BMS_I_CSC_FB_06,0x11cc0306,4,BMS_ICM,BMS_M_TemperMinPackIdx,23,8,1,0,,,,,×îµÍζȰüºÅ
|
||||
BMS_I_CSC_FB_06,0x11cc0306,4,BMS_ICM,BMS_M_TemperMaxPackIdx,31,8,1,0,,,,,×î¸ßζȰüºÅ
|
||||
BMS_P_CSC_FB_06,0x11cc0406,4,BMS_POWER,BMS_M_TemperMin,7,8,1,-40,-40,125,¡æ,,µç³Øµ¥Ìå×îµÍζÈ
|
||||
BMS_P_CSC_FB_06,0x11cc0406,4,BMS_POWER,BMS_M_TemperMax,15,8,1,-40,-40,125,¡æ,,µç³Øµ¥Ìå×î¸ßζÈ
|
||||
BMS_P_CSC_FB_06,0x11cc0406,4,BMS_POWER,BMS_M_TemperMinPackIdx,23,8,1,0,,,,,×îµÍζȰüºÅ
|
||||
BMS_P_CSC_FB_06,0x11cc0406,4,BMS_POWER,BMS_M_TemperMaxPackIdx,31,8,1,0,,,,,×î¸ßζȰüºÅ
|
||||
BMS_I_CSC_FB_05,0x11cc0305,8,BMS_ICM,BMS_M_Current,0,16,0.05,0,,,A,,"EMU·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_I_CSC_FB_05,0x11cc0305,8,BMS_ICM,BMS_M_IruPz,16,16,10,0,,,K¦¸,,EMUÕý¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_05,0x11cc0305,8,BMS_ICM,BMS_M_IruPf,32,16,10,0,,,K¦¸,,EMU¸º¶Ë¾øÔµµç×è
|
||||
BMS_I_CSC_FB_05,0x11cc0305,8,BMS_ICM,BMS_M_PackOnLine_Info,55,8,1,0,,,,,µç³Ø°üÔÚÏßÐÅÏ¢
|
||||
BMS_I_CSC_FB_05,0x11cc0305,8,BMS_ICM,BMS_M_PackConnect_Info,63,8,1,0,,,,,µç³Ø°ü½ÓÈëÐÅÏ¢
|
||||
BMS_P_CSC_FB_05,0x11cc0405,8,BMS_POWER,BMS_M_Current,0,16,0.05,0,,,A,,"EMU·ÅµçµçÁ÷
|
||||
·ÅµçΪÕý£¬³äµçΪ¸º"
|
||||
BMS_P_CSC_FB_05,0x11cc0405,8,BMS_POWER,BMS_M_IruPz,16,16,10,0,,,K¦¸,,EMUÕý¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_05,0x11cc0405,8,BMS_POWER,BMS_M_IruPf,32,16,10,0,,,K¦¸,,EMU¸º¶Ë¾øÔµµç×è
|
||||
BMS_P_CSC_FB_05,0x11cc0405,8,BMS_POWER,BMS_M_PackOnLine_Info,55,8,1,0,,,,,µç³Ø°üÔÚÏßÐÅÏ¢
|
||||
BMS_P_CSC_FB_05,0x11cc0405,8,BMS_POWER,BMS_M_PackConnect_Info,63,8,1,0,,,,,µç³Ø°ü½ÓÈëÐÅÏ¢
|
||||
BMS_I_CSC_FB_04,0x11cc0304,8,BMS_ICM,BMS_M_PackMaxVt,0,16,0.1,0,,,V,,µç³Ø°ü×î¸ßµçѹ
|
||||
BMS_I_CSC_FB_04,0x11cc0304,8,BMS_ICM,BMS_M_PackMaxVtIdx,23,8,1,0,,,,,×î¸ßµçѹ°üºÅ
|
||||
BMS_I_CSC_FB_04,0x11cc0304,8,BMS_ICM,BMS_M_PackMinVt,24,16,0.1,0,,,V,,µç³Ø°ü×îµÍµçѹ
|
||||
BMS_I_CSC_FB_04,0x11cc0304,8,BMS_ICM,BMS_M_PackMinVtIdx,47,8,1,0,,,,,µ¥¸öµç³Ø°ü×î´óѹ²î
|
||||
BMS_I_CSC_FB_04,0x11cc0304,8,BMS_ICM,BMS_M_PackVoltDiff,48,16,0.1,0,,,mV,,µ¥¸öµç³Ø°ü×î´óѹ²î
|
||||
BMS_P_CSC_FB_04,0x11cc0404,8,BMS_POWER,BMS_M_PackMaxVt,0,16,0.1,0,,,V,,µç³Ø°ü×î¸ßµçѹ
|
||||
BMS_P_CSC_FB_04,0x11cc0404,8,BMS_POWER,BMS_M_PackMaxVtIdx,23,8,1,0,,,,,×î¸ßµçѹ°üºÅ
|
||||
BMS_P_CSC_FB_04,0x11cc0404,8,BMS_POWER,BMS_M_PackMinVt,24,16,0.1,0,,,V,,µç³Ø°ü×îµÍµçѹ
|
||||
BMS_P_CSC_FB_04,0x11cc0404,8,BMS_POWER,BMS_M_PackMinVtIdx,47,8,1,0,,,,,µ¥¸öµç³Ø°ü×î´óѹ²î
|
||||
BMS_P_CSC_FB_04,0x11cc0404,8,BMS_POWER,BMS_M_PackVoltDiff,48,16,0.1,0,,,mV,,µ¥¸öµç³Ø°ü×î´óѹ²î
|
||||
BMS_I_CSC_FB_03,0x11cc0303,8,BMS_ICM,BMS_M_PosNegRelay_Status,7,8,1,0,,,,,×Ü¿ØÕý¼«ºÍ×ܿظº¼«¼ÌµçÆ÷״̬
|
||||
BMS_I_CSC_FB_03,0x11cc0303,8,BMS_ICM,BMS_M_PrechgDiodeRelay_Status,15,8,1,0,,,,,×Ü¿ØÔ¤³äÓë¶þ¼«¹Ü¼ÌµçÆ÷״̬
|
||||
BMS_I_CSC_FB_03,0x11cc0303,8,BMS_ICM,BMS_M_OnchgPosNegRelay_Status,23,8,1,0,,,,,ÔÚÏß³äµçÕý¼«ÓëÔÚÏß³äµç¸º¼«¼ÌµçÆ÷״̬
|
||||
BMS_I_CSC_FB_03,0x11cc0303,8,BMS_ICM,BMS_M_Capacity,32,16,0.1,0,,,KWh,,µç³ØµçÁ¿
|
||||
BMS_I_CSC_FB_03,0x11cc0303,8,BMS_ICM,BMS_M_Soc,48,16,0.1,0,,,%,,SOC
|
||||
BMS_P_CSC_FB_03,0x11cc0403,8,BMS_POWER,BMS_M_PosNegRelay_Status,7,8,1,0,,,,,×Ü¿ØÕý¼«ºÍ×ܿظº¼«¼ÌµçÆ÷״̬
|
||||
BMS_P_CSC_FB_03,0x11cc0403,8,BMS_POWER,BMS_M_PrechgDiodeRelay_Status,15,8,1,0,,,,,×Ü¿ØÔ¤³äÓë¶þ¼«¹Ü¼ÌµçÆ÷״̬
|
||||
BMS_P_CSC_FB_03,0x11cc0403,8,BMS_POWER,BMS_M_OnchgPosNegRelay_Status,23,8,1,0,,,,,ÔÚÏß³äµçÕý¼«ÓëÔÚÏß³äµç¸º¼«¼ÌµçÆ÷״̬
|
||||
BMS_P_CSC_FB_03,0x11cc0403,8,BMS_POWER,BMS_M_Capacity,32,16,0.1,0,,,KWh,,µç³ØµçÁ¿
|
||||
BMS_P_CSC_FB_03,0x11cc0403,8,BMS_POWER,BMS_M_Soc,48,16,0.1,0,,,%,,SOC
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_Vt,0,16,0.1,0,,,V,,×ܵçѹ
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_Current,16,16,0.05,0,,,A,,×ܵçÁ÷
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_TemperMax,39,8,1,-40,,,¡æ,,×î¸ßÎÂ
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_TemperMin,47,8,1,-40,,,¡æ,,×îµÍÎÂ
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_WarnBits,55,8,1,0,,,,,¹ÊÕÏbit
|
||||
EBAT2_CSC_FB_01,0x11cc0901,8,EBAT2,BMS_EBAT_WorkStatus,63,8,1,0,,,,,µç³Ø×´Ì¬£¨ÊÇ·ñÉϵçBMS£©
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_WorkState_FB,7,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_SelfCheck_FB,15,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_BatPowerSet_FB,23,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_MainRelay_FB,31,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_PosDoideRelay_FB,39,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_02,0x11cc0302,6,BMS_ICM,BMS_EmergencyCode_FB,47,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_WorkStateSet_Order,7,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_MainRelaySet_Order,15,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_PosRelaySet_Order,23,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_DiodeRelaySet_Order,31,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_BatPowerSet_Order,32,16,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_SelfCheck_Order,55,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_02,0x11aa0402,8,CSC,BMS_PowerOff_Order,63,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_WorkStateSet_Order,7,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_MainRelaySet_Order,15,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_PosRelaySet_Order,23,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_DiodeRelaySet_Order,31,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_BatPowerSet_Order,32,16,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_SelfCheck_Order,55,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_02,0x11aa0302,8,CSC,BMS_PowerOff_Order,63,8,1,0,,,,,
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_Vt,0,16,0.1,0,,,V,,×ܵçѹ
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_Current,16,16,0.05,0,,,A,,×ܵçÁ÷
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_TemperMax,39,8,1,-40,,,¡æ,,×î¸ßÎÂ
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_TemperMin,47,8,1,-40,,,¡æ,,×îµÍÎÂ
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_WarnBits,55,8,1,0,,,,,¹ÊÕÏbit
|
||||
EBAT1_CSC_FB_01,0x11cc0801,8,EBAT1,BMS_EBAT_WorkStatus,63,8,1,0,,,,,µç³Ø×´Ì¬£¨ÊÇ·ñÉϵçBMS£©
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Year,7,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Month,15,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Day,23,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Hour,31,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Minute,39,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_Second,47,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,TimeStamp_10ms,55,8,1,0,,,,,
|
||||
CSC_BMS_F_CM_01,0x11aa0501,8,CSC,HeartBeat,63,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Year,7,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Month,15,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Day,23,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Hour,31,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Minute,39,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_Second,47,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,TimeStamp_10ms,55,8,1,0,,,,,
|
||||
CSC_BMS_P_CM_01,0x11aa0401,8,CSC,HeartBeat,63,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Year,7,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Month,15,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Day,23,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Hour,31,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Minute,39,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_Second,47,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,TimeStamp_10ms,55,8,1,0,,,,,
|
||||
CSC_BMS_I_CM_01,0x11aa0301,8,CSC,HeartBeat,63,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Year,7,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Month,15,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Day,23,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Hour,31,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Minute,39,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_Second,47,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,TimeStamp_10ms,55,8,1,0,,,,,
|
||||
BMS_I_CSC_FB_01,0x11cc0301,8,BMS_ICM,HeartBeat,63,8,1,0,,,,,
|
||||
|
@@ -1,653 +0,0 @@
|
||||
VERSION ""
|
||||
|
||||
|
||||
NS_ :
|
||||
NS_DESC_
|
||||
CM_
|
||||
BA_DEF_
|
||||
BA_
|
||||
VAL_
|
||||
CAT_DEF_
|
||||
CAT_
|
||||
FILTER
|
||||
BA_DEF_DEF_
|
||||
EV_DATA_
|
||||
ENVVAR_DATA_
|
||||
SGTYPE_
|
||||
SGTYPE_VAL_
|
||||
BA_DEF_SGTYPE_
|
||||
BA_SGTYPE_
|
||||
SIG_TYPE_REF_
|
||||
VAL_TABLE_
|
||||
SIG_GROUP_
|
||||
SIG_VALTYPE_
|
||||
SIGTYPE_VALTYPE_
|
||||
BO_TX_BU_
|
||||
BA_DEF_REL_
|
||||
BA_REL_
|
||||
BA_DEF_DEF_REL_
|
||||
BU_SG_REL_
|
||||
BU_EV_REL_
|
||||
BU_BO_REL_
|
||||
SG_MUL_VAL_
|
||||
|
||||
BS_:
|
||||
|
||||
BU_: EBAT2 EBAT1 DB2 DB1 BMS_FC BMS_POWER BMS_ICM CSC UNIT4B UNIT4A
|
||||
|
||||
|
||||
BO_ 3221225472 VECTOR__INDEPENDENT_SIG_MSG: 0 Vector__XXX
|
||||
SG_ New_Signal_118 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ New_Signal_117 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ New_Signal_116 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ New_Signal_115 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ New_Signal_114 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ New_Signal_113 : 0|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2447180033 CSCM_Heartbeat: 1 CSC
|
||||
SG_ HeartBeat : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443839745 CSC_EBAT2_CM_01: 8 Vector__XXX
|
||||
SG_ BMS_PowerOff_Order : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_Order : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_Order : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_DiodeRelaySet_Order : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosRelaySet_Order : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelaySet_Order : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkStateSet_Order : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443839489 CSC_EBAT1_CM_01: 8 Vector__XXX
|
||||
SG_ BMS_PowerOff_Order : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_Order : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_Order : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_DiodeRelaySet_Order : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosRelaySet_Order : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelaySet_Order : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkStateSet_Order : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066690 BMS_P_CSC_FB_02: 6 Vector__XXX
|
||||
SG_ BMS_EmergencyCode_FB : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosDoideRelay_FB : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelay_FB : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_FB : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_FB : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkState_FB : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066689 BMS_P_CSC_FB_01: 8 Vector__XXX
|
||||
SG_ HeartBeat : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_10ms : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Second : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Minute : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Hour : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Day : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Month : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Year : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 1 New_Message_57: 8 Vector__XXX
|
||||
SG_ New_Signal_240 : 32|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 0 New_Message_56: 8 Vector__XXX
|
||||
SG_ New_Signal_239 : 32|8@1+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066446 BMS_I_CSC_FB_14: 8 BMS_ICM
|
||||
SG_ BMS_M_4Min1Pressure : 48|16@1- (0.2,0) [0|450] "Kp" Vector__XXX
|
||||
SG_ BMS_M_4Min1Humidity : 32|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_M_4Min1Temper : 16|16@1- (0.1,0) [-40|80] "" Vector__XXX
|
||||
SG_ BMS_M_4Min1O2 : 0|16@1+ (0.1,0) [0|30] "%" Vector__XXX
|
||||
|
||||
BO_ 2446066702 BMS_P_CSC_FB_14: 8 BMS_POWER
|
||||
SG_ BMS_M_4Min1Pressure : 48|16@1- (0.2,0) [0|450] "Kp" Vector__XXX
|
||||
SG_ BMS_M_4Min1Humidity : 32|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_M_4Min1Temper : 16|16@1- (0.1,0) [-40|80] "" Vector__XXX
|
||||
SG_ BMS_M_4Min1O2 : 0|16@1+ (0.1,0) [0|30] "%" Vector__XXX
|
||||
|
||||
BO_ 2446066461 BMS_I_CSC_FB_13_M1: 8 BMS_ICM
|
||||
SG_ BMS_S_CellVMean : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellVIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MinCellVIdx : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellV : 16|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_S_MinCellV : 0|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
|
||||
BO_ 2446066460 BMS_I_CSC_FB_12_M1: 6 BMS_ICM
|
||||
SG_ BMS_S_BalanceStatus : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMean : 39|8@0- (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMinIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMin : 23|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_S_TemperMaxIdx : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMax : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066459 BMS_I_CSC_FB_11_M1: 8 BMS_ICM
|
||||
SG_ BMS_S_IruPf : 48|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_IruPz : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_BattVt : 16|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_S_LoadVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066458 BMS_I_CSC_FB_10_M1: 6 BMS_ICM
|
||||
SG_ BMS_S_Soc : 0|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_S_DsgCurrent : 32|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_S_OnChgPosNegRelay_Status : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_PosNegRelay_Status : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066457 BMS_I_CSC_FB_09_M1: 7 BMS_ICM
|
||||
SG_ BMS_S_WarnId6 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId5 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId4 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId3 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId2 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId1 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_Packidx : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066717 BMS_P_CSC_FB_13_M1: 8 BMS_POWER
|
||||
SG_ BMS_S_CellVMean : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellVIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MinCellVIdx : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellV : 16|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_S_MinCellV : 0|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
|
||||
BO_ 2446066716 BMS_P_CSC_FB_12_M1: 6 BMS_POWER
|
||||
SG_ BMS_S_BalanceStatus : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMean : 39|8@0- (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMinIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMin : 23|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_S_TemperMaxIdx : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMax : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066715 BMS_P_CSC_FB_11_M1: 8 BMS_POWER
|
||||
SG_ BMS_S_IruPf : 48|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_IruPz : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_BattVt : 16|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_S_LoadVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066714 BMS_P_CSC_FB_10_M1: 4 BMS_POWER
|
||||
SG_ BMS_S_DsgCurrent : 16|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_S_OnChgPosNegRelay_Status : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_PosNegRelay_Status : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066713 BMS_P_CSC_FB_09_M1: 7 BMS_POWER
|
||||
SG_ BMS_S_WarnId6 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId5 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId4 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId3 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId2 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId1 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_Packidx : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066445 BMS_I_CSC_FB_13_M0: 8 BMS_ICM
|
||||
SG_ BMS_S_CellVMean : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellVIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MinCellVIdx : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellV : 16|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_S_MinCellV : 0|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
|
||||
BO_ 2446066701 BMS_P_CSC_FB_13_M0: 8 BMS_POWER
|
||||
SG_ BMS_S_CellVMean : 48|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellVIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MinCellVIdx : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_MaxCellV : 16|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_S_MinCellV : 0|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
|
||||
BO_ 2446066444 BMS_I_CSC_FB_12_M0: 6 BMS_ICM
|
||||
SG_ BMS_S_BalanceStatus : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMean : 39|8@0- (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMinIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMin : 23|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_S_TemperMaxIdx : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMax : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066700 BMS_P_CSC_FB_12_M0: 6 BMS_POWER
|
||||
SG_ BMS_S_BalanceStatus : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMean : 39|8@0- (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMinIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMin : 23|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_S_TemperMaxIdx : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_TemperMax : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066443 BMS_I_CSC_FB_11_M0: 8 BMS_ICM
|
||||
SG_ BMS_S_IruPf : 48|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_IruPz : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_BattVt : 16|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_S_LoadVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066699 BMS_P_CSC_FB_11_M0: 8 BMS_POWER
|
||||
SG_ BMS_S_IruPf : 48|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_IruPz : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_S_BattVt : 16|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_S_LoadVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066442 BMS_I_CSC_FB_10_M0: 6 BMS_ICM
|
||||
SG_ BMS_S_Soc : 0|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_S_DsgCurrent : 32|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_S_OnChgPosNegRelay_Status : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_PosNegRelay_Status : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066698 BMS_P_CSC_FB_10_M0: 4 BMS_POWER
|
||||
SG_ BMS_S_DsgCurrent : 16|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_S_OnChgPosNegRelay_Status : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_PosNegRelay_Status : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066441 BMS_I_CSC_FB_09_M0: 7 BMS_ICM
|
||||
SG_ BMS_S_WarnId6 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId5 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId4 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId3 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId2 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId1 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_Packidx : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066697 BMS_P_CSC_FB_09_M0: 7 BMS_POWER
|
||||
SG_ BMS_S_WarnId6 : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId5 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId4 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId3 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId2 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_WarnId1 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_S_Packidx : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066440 BMS_I_CSC_FB_08: 6 BMS_ICM
|
||||
SG_ BMS_M_NowPower : 32|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
SG_ BMS_M_EnaMaxChgPower : 16|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
SG_ BMS_M_EnaMaxDsgPower : 0|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
|
||||
BO_ 2446066696 BMS_P_CSC_FB_08: 6 BMS_POWER
|
||||
SG_ BMS_M_NowPower : 32|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
SG_ BMS_M_EnaMaxChgPower : 16|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
SG_ BMS_M_EnaMaxDsgPower : 0|16@1+ (0.1,0) [0|0] "KW" Vector__XXX
|
||||
|
||||
BO_ 2446066439 BMS_I_CSC_FB_07: 7 BMS_ICM
|
||||
SG_ BMS_M_WarnPackBits : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId6 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId5 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId4 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId3 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId2 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId1 : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066695 BMS_P_CSC_FB_07: 7 BMS_POWER
|
||||
SG_ BMS_M_WarnPackBits : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId6 : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId5 : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId4 : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId3 : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId2 : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_WarnId1 : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066438 BMS_I_CSC_FB_06: 4 BMS_ICM
|
||||
SG_ BMS_M_TemperMaxPackIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_TemperMinPackIdx : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_TemperMax : 15|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_M_TemperMin : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066694 BMS_P_CSC_FB_06: 4 BMS_POWER
|
||||
SG_ BMS_M_TemperMaxPackIdx : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_TemperMinPackIdx : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_TemperMax : 15|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
SG_ BMS_M_TemperMin : 7|8@0- (1,-40) [-40|125] "℃" Vector__XXX
|
||||
|
||||
BO_ 2446066437 BMS_I_CSC_FB_05: 8 BMS_ICM
|
||||
SG_ BMS_M_PackConnect_Info : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackOnLine_Info : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_IruPf : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_M_IruPz : 16|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_M_Current : 0|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
|
||||
BO_ 2446066693 BMS_P_CSC_FB_05: 8 BMS_POWER
|
||||
SG_ BMS_M_PackConnect_Info : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackOnLine_Info : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_IruPf : 32|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_M_IruPz : 16|16@1+ (10,0) [0|0] "KΩ" Vector__XXX
|
||||
SG_ BMS_M_Current : 0|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
|
||||
BO_ 2446066436 BMS_I_CSC_FB_04: 8 BMS_ICM
|
||||
SG_ BMS_M_PackVoltDiff : 48|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_M_PackMinVtIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackMinVt : 24|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_M_PackMaxVtIdx : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackMaxVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066692 BMS_P_CSC_FB_04: 8 BMS_POWER
|
||||
SG_ BMS_M_PackVoltDiff : 48|16@1+ (0.1,0) [0|0] "mV" Vector__XXX
|
||||
SG_ BMS_M_PackMinVtIdx : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackMinVt : 24|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
SG_ BMS_M_PackMaxVtIdx : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PackMaxVt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066435 BMS_I_CSC_FB_03: 8 BMS_ICM
|
||||
SG_ BMS_M_Soc : 48|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_M_Capacity : 32|16@1+ (0.1,0) [0|0] "KWh" Vector__XXX
|
||||
SG_ BMS_M_OnchgPosNegRelay_Status : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PrechgDiodeRelay_Status : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PosNegRelay_Status : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066691 BMS_P_CSC_FB_03: 8 BMS_POWER
|
||||
SG_ BMS_M_Soc : 48|16@1+ (0.1,0) [0|0] "%" Vector__XXX
|
||||
SG_ BMS_M_Capacity : 32|16@1+ (0.1,0) [0|0] "KWh" Vector__XXX
|
||||
SG_ BMS_M_OnchgPosNegRelay_Status : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PrechgDiodeRelay_Status : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_M_PosNegRelay_Status : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446067969 EBAT2_CSC_FB_01: 8 EBAT2
|
||||
SG_ BMS_EBAT_WorkStatus : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_EBAT_WarnBits : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_EBAT_TemperMin : 47|8@0- (1,-40) [0|0] "℃" Vector__XXX
|
||||
SG_ BMS_EBAT_TemperMax : 39|8@0- (1,-40) [0|0] "℃" Vector__XXX
|
||||
SG_ BMS_EBAT_Current : 16|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_EBAT_Vt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2446066434 BMS_I_CSC_FB_02: 6 BMS_ICM
|
||||
SG_ BMS_EmergencyCode_FB : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosDoideRelay_FB : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelay_FB : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_FB : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_FB : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkState_FB : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443838466 CSC_BMS_P_CM_02: 8 CSC
|
||||
SG_ BMS_PowerOff_Order : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_Order : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_Order : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_DiodeRelaySet_Order : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosRelaySet_Order : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelaySet_Order : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkStateSet_Order : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443838210 CSC_BMS_I_CM_02: 8 CSC
|
||||
SG_ BMS_PowerOff_Order : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_SelfCheck_Order : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_BatPowerSet_Order : 32|16@1+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_DiodeRelaySet_Order : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_PosRelaySet_Order : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_MainRelaySet_Order : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_WorkStateSet_Order : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446067713 EBAT1_CSC_FB_01: 8 EBAT1
|
||||
SG_ BMS_EBAT_WorkStatus : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_EBAT_WarnBits : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ BMS_EBAT_TemperMin : 47|8@0- (1,-40) [0|0] "℃" Vector__XXX
|
||||
SG_ BMS_EBAT_TemperMax : 39|8@0- (1,-40) [0|0] "℃" Vector__XXX
|
||||
SG_ BMS_EBAT_Current : 16|16@1- (0.05,0) [0|0] "A" Vector__XXX
|
||||
SG_ BMS_EBAT_Vt : 0|16@1+ (0.1,0) [0|0] "V" Vector__XXX
|
||||
|
||||
BO_ 2443839233 CSC_DB2_CM_01: 8 CSC
|
||||
|
||||
BO_ 2443838977 CSC_DB1_CM_01: 8 CSC
|
||||
|
||||
BO_ 2446067457 DB2_CSC_FB_01: 8 DB2
|
||||
|
||||
BO_ 2446067201 DB1_CSC_FB_01: 8 DB1
|
||||
|
||||
BO_ 2446066945 BMS_F_CSC_FB_01: 8 BMS_FC
|
||||
|
||||
BO_ 2443838721 CSC_BMS_F_CM_01: 8 CSC
|
||||
SG_ HeartBeat : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_10ms : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Second : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Minute : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Hour : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Day : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Month : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Year : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443838465 CSC_BMS_P_CM_01: 8 CSC
|
||||
SG_ HeartBeat : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_10ms : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Second : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Minute : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Hour : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Day : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Month : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Year : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2443838209 CSC_BMS_I_CM_01: 8 CSC
|
||||
SG_ HeartBeat : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Second : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Month : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Minute : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Hour : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Day : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_10ms : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Year : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066433 BMS_I_CSC_FB_01: 8 BMS_ICM
|
||||
SG_ HeartBeat : 63|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_10ms : 55|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Second : 47|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Minute : 39|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Hour : 31|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Day : 23|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Month : 15|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
SG_ TimeStamp_Year : 7|8@0+ (1,0) [0|0] "" Vector__XXX
|
||||
|
||||
BO_ 2446066177 UINT4B_CSC_CM_01: 8 UNIT4B
|
||||
|
||||
BO_ 2443837953 CSC_UINT4B_FB_01: 8 CSC
|
||||
|
||||
BO_ 2446065921 UINT4A_CSC_CM_01: 8 UNIT4A
|
||||
|
||||
BO_ 2443837697 CSC_UINT4A_FB_01: 8 CSC
|
||||
|
||||
|
||||
|
||||
CM_ BO_ 3221225472 "This is a message for not used signals, created by Vector CANdb++ DBC OLE DB Provider.";
|
||||
CM_ BO_ 2446066446 "仪器电池环境检测数据";
|
||||
CM_ SG_ 2446066446 BMS_M_4Min1Pressure "舱内大气压";
|
||||
CM_ SG_ 2446066446 BMS_M_4Min1Humidity "舱内湿度";
|
||||
CM_ SG_ 2446066446 BMS_M_4Min1Temper "舱内温度";
|
||||
CM_ SG_ 2446066446 BMS_M_4Min1O2 "舱内氧气浓度";
|
||||
CM_ BO_ 2446066702 "动力电池环境检测数据";
|
||||
CM_ SG_ 2446066702 BMS_M_4Min1Pressure "舱内大气压";
|
||||
CM_ SG_ 2446066702 BMS_M_4Min1Humidity "舱内湿度";
|
||||
CM_ SG_ 2446066702 BMS_M_4Min1Temper "舱内温度";
|
||||
CM_ SG_ 2446066702 BMS_M_4Min1O2 "舱内氧气浓度";
|
||||
CM_ BO_ 2446066461 "仪表电池包2";
|
||||
CM_ SG_ 2446066461 BMS_S_CellVMean "单体平均电压";
|
||||
CM_ SG_ 2446066461 BMS_S_MaxCellVIdx "最高电压编号";
|
||||
CM_ SG_ 2446066461 BMS_S_MinCellVIdx "最低电压编号";
|
||||
CM_ SG_ 2446066461 BMS_S_MaxCellV "单体电压最高电压";
|
||||
CM_ SG_ 2446066461 BMS_S_MinCellV "单体电池最低电压";
|
||||
CM_ BO_ 2446066460 "仪表电池包2";
|
||||
CM_ SG_ 2446066460 BMS_S_BalanceStatus "电池单体均衡状态";
|
||||
CM_ SG_ 2446066460 BMS_S_TemperMean "电池平均温度";
|
||||
CM_ SG_ 2446066460 BMS_S_TemperMinIdx "电池最低温度编号";
|
||||
CM_ SG_ 2446066460 BMS_S_TemperMin "电池最低温度";
|
||||
CM_ SG_ 2446066460 BMS_S_TemperMaxIdx "电池最高温度编号";
|
||||
CM_ SG_ 2446066460 BMS_S_TemperMax "电池最高温度";
|
||||
CM_ BO_ 2446066459 "仪表电池包2";
|
||||
CM_ SG_ 2446066459 BMS_S_IruPf "电池包负端绝缘电阻";
|
||||
CM_ SG_ 2446066459 BMS_S_IruPz "电池包正端绝缘电阻";
|
||||
CM_ SG_ 2446066459 BMS_S_BattVt "电池包电压电池端";
|
||||
CM_ SG_ 2446066459 BMS_S_LoadVt "电池包电压负载端";
|
||||
CM_ BO_ 2446066458 "仪表电池包2";
|
||||
CM_ SG_ 2446066458 BMS_S_Soc "电池包SOC";
|
||||
CM_ SG_ 2446066458 BMS_S_DsgCurrent "电池包放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066458 BMS_S_OnChgPosNegRelay_Status "BMS_S_OnChgPosNegRelay_Status";
|
||||
CM_ SG_ 2446066458 BMS_S_PosNegRelay_Status "电池包正极继电器状态与负极继电器状态";
|
||||
CM_ BO_ 2446066457 "仪表电池包2";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId6 "电池报警标识字6";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId5 "电池报警标识字5";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId4 "电池报警标识字4";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId3 "电池报警标识字3";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId2 "电池报警标识字2";
|
||||
CM_ SG_ 2446066457 BMS_S_WarnId1 "电池报警标识字1";
|
||||
CM_ SG_ 2446066457 BMS_S_Packidx "电池包号";
|
||||
CM_ BO_ 2446066717 "动力电池包2";
|
||||
CM_ SG_ 2446066717 BMS_S_CellVMean "单体平均电压";
|
||||
CM_ SG_ 2446066717 BMS_S_MaxCellVIdx "最高电压编号";
|
||||
CM_ SG_ 2446066717 BMS_S_MinCellVIdx "最低电压编号";
|
||||
CM_ SG_ 2446066717 BMS_S_MaxCellV "单体电压最高电压";
|
||||
CM_ SG_ 2446066717 BMS_S_MinCellV "单体电池最低电压";
|
||||
CM_ BO_ 2446066716 "动力电池包2";
|
||||
CM_ SG_ 2446066716 BMS_S_BalanceStatus "电池单体均衡状态";
|
||||
CM_ SG_ 2446066716 BMS_S_TemperMean "电池平均温度";
|
||||
CM_ SG_ 2446066716 BMS_S_TemperMinIdx "电池最低温度编号";
|
||||
CM_ SG_ 2446066716 BMS_S_TemperMin "电池最低温度";
|
||||
CM_ SG_ 2446066716 BMS_S_TemperMaxIdx "电池最高温度编号";
|
||||
CM_ SG_ 2446066716 BMS_S_TemperMax "电池最高温度";
|
||||
CM_ BO_ 2446066715 "动力电池包2";
|
||||
CM_ SG_ 2446066715 BMS_S_IruPf "电池包负端绝缘电阻";
|
||||
CM_ SG_ 2446066715 BMS_S_IruPz "电池包正端绝缘电阻";
|
||||
CM_ SG_ 2446066715 BMS_S_BattVt "电池包电压电池端";
|
||||
CM_ SG_ 2446066715 BMS_S_LoadVt "电池包电压负载端";
|
||||
CM_ BO_ 2446066714 "动力电池包2";
|
||||
CM_ SG_ 2446066714 BMS_S_DsgCurrent "电池包放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066714 BMS_S_OnChgPosNegRelay_Status "BMS_S_OnChgPosNegRelay_Status";
|
||||
CM_ SG_ 2446066714 BMS_S_PosNegRelay_Status "电池包正极继电器状态与负极继电器状态";
|
||||
CM_ BO_ 2446066713 "动力电池包2";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId6 "电池报警标识字6";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId5 "电池报警标识字5";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId4 "电池报警标识字4";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId3 "电池报警标识字3";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId2 "电池报警标识字2";
|
||||
CM_ SG_ 2446066713 BMS_S_WarnId1 "电池报警标识字1";
|
||||
CM_ SG_ 2446066713 BMS_S_Packidx "电池包号";
|
||||
CM_ BO_ 2446066445 "仪表电池包1";
|
||||
CM_ SG_ 2446066445 BMS_S_CellVMean "单体平均电压";
|
||||
CM_ SG_ 2446066445 BMS_S_MaxCellVIdx "最高电压编号";
|
||||
CM_ SG_ 2446066445 BMS_S_MinCellVIdx "最低电压编号";
|
||||
CM_ SG_ 2446066445 BMS_S_MaxCellV "单体电压最高电压";
|
||||
CM_ SG_ 2446066445 BMS_S_MinCellV "单体电池最低电压";
|
||||
CM_ BO_ 2446066701 "动力电池包1";
|
||||
CM_ SG_ 2446066701 BMS_S_CellVMean "单体平均电压";
|
||||
CM_ SG_ 2446066701 BMS_S_MaxCellVIdx "最高电压编号";
|
||||
CM_ SG_ 2446066701 BMS_S_MinCellVIdx "最低电压编号";
|
||||
CM_ SG_ 2446066701 BMS_S_MaxCellV "单体电压最高电压";
|
||||
CM_ SG_ 2446066701 BMS_S_MinCellV "单体电池最低电压";
|
||||
CM_ BO_ 2446066444 "仪表电池包1";
|
||||
CM_ SG_ 2446066444 BMS_S_BalanceStatus "电池单体均衡状态";
|
||||
CM_ SG_ 2446066444 BMS_S_TemperMean "电池平均温度";
|
||||
CM_ SG_ 2446066444 BMS_S_TemperMinIdx "电池最低温度编号";
|
||||
CM_ SG_ 2446066444 BMS_S_TemperMin "电池最低温度";
|
||||
CM_ SG_ 2446066444 BMS_S_TemperMaxIdx "电池最高温度编号";
|
||||
CM_ SG_ 2446066444 BMS_S_TemperMax "电池最高温度";
|
||||
CM_ BO_ 2446066700 "动力电池包1";
|
||||
CM_ SG_ 2446066700 BMS_S_BalanceStatus "电池单体均衡状态";
|
||||
CM_ SG_ 2446066700 BMS_S_TemperMean "电池平均温度";
|
||||
CM_ SG_ 2446066700 BMS_S_TemperMinIdx "电池最低温度编号";
|
||||
CM_ SG_ 2446066700 BMS_S_TemperMin "电池最低温度";
|
||||
CM_ SG_ 2446066700 BMS_S_TemperMaxIdx "电池最高温度编号";
|
||||
CM_ SG_ 2446066700 BMS_S_TemperMax "电池最高温度";
|
||||
CM_ BO_ 2446066443 "仪表电池包1";
|
||||
CM_ SG_ 2446066443 BMS_S_IruPf "电池包负端绝缘电阻";
|
||||
CM_ SG_ 2446066443 BMS_S_IruPz "电池包正端绝缘电阻";
|
||||
CM_ SG_ 2446066443 BMS_S_BattVt "电池包电压电池端";
|
||||
CM_ SG_ 2446066443 BMS_S_LoadVt "电池包电压负载端";
|
||||
CM_ BO_ 2446066699 "动力电池包1";
|
||||
CM_ SG_ 2446066699 BMS_S_IruPf "电池包负端绝缘电阻";
|
||||
CM_ SG_ 2446066699 BMS_S_IruPz "电池包正端绝缘电阻";
|
||||
CM_ SG_ 2446066699 BMS_S_BattVt "电池包电压电池端";
|
||||
CM_ SG_ 2446066699 BMS_S_LoadVt "电池包电压负载端";
|
||||
CM_ BO_ 2446066442 "仪表电池包1";
|
||||
CM_ SG_ 2446066442 BMS_S_Soc "电池包SOC";
|
||||
CM_ SG_ 2446066442 BMS_S_DsgCurrent "电池包放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066442 BMS_S_OnChgPosNegRelay_Status "BMS_S_OnChgPosNegRelay_Status";
|
||||
CM_ SG_ 2446066442 BMS_S_PosNegRelay_Status "电池包正极继电器状态与负极继电器状态";
|
||||
CM_ BO_ 2446066698 "动力电池包1";
|
||||
CM_ SG_ 2446066698 BMS_S_DsgCurrent "电池包放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066698 BMS_S_OnChgPosNegRelay_Status "BMS_S_OnChgPosNegRelay_Status";
|
||||
CM_ SG_ 2446066698 BMS_S_PosNegRelay_Status "电池包正极继电器状态与负极继电器状态";
|
||||
CM_ BO_ 2446066441 "仪表电池包1";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId6 "电池报警标识字6";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId5 "电池报警标识字5";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId4 "电池报警标识字4";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId3 "电池报警标识字3";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId2 "电池报警标识字2";
|
||||
CM_ SG_ 2446066441 BMS_S_WarnId1 "电池报警标识字1";
|
||||
CM_ SG_ 2446066441 BMS_S_Packidx "电池包号";
|
||||
CM_ BO_ 2446066697 "动力电池包1";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId6 "电池报警标识字6";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId5 "电池报警标识字5";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId4 "电池报警标识字4";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId3 "电池报警标识字3";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId2 "电池报警标识字2";
|
||||
CM_ SG_ 2446066697 BMS_S_WarnId1 "电池报警标识字1";
|
||||
CM_ SG_ 2446066697 BMS_S_Packidx "电池包号";
|
||||
CM_ SG_ 2446066440 BMS_M_NowPower "电池当前接入功率状态";
|
||||
CM_ SG_ 2446066440 BMS_M_EnaMaxChgPower "电池允许在线燃电充电功率";
|
||||
CM_ SG_ 2446066440 BMS_M_EnaMaxDsgPower "电池允许最高放电功率";
|
||||
CM_ SG_ 2446066696 BMS_M_NowPower "电池当前接入功率状态";
|
||||
CM_ SG_ 2446066696 BMS_M_EnaMaxChgPower "电池允许在线燃电充电功率";
|
||||
CM_ SG_ 2446066696 BMS_M_EnaMaxDsgPower "电池允许最高放电功率";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnPackBits "EMU报警电池包位置";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId6 "EMU报警标识字6";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId5 "EMU报警标识字5";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId4 "EMU报警标识字4";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId3 "EMU报警标识字3";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId2 "EMU报警标识字2";
|
||||
CM_ SG_ 2446066439 BMS_M_WarnId1 "EMU报警标识字1";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnPackBits "EMU报警电池包位置";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId6 "EMU报警标识字6";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId5 "EMU报警标识字5";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId4 "EMU报警标识字4";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId3 "EMU报警标识字3";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId2 "EMU报警标识字2";
|
||||
CM_ SG_ 2446066695 BMS_M_WarnId1 "EMU报警标识字1";
|
||||
CM_ SG_ 2446066438 BMS_M_TemperMaxPackIdx "最高温度包号";
|
||||
CM_ SG_ 2446066438 BMS_M_TemperMinPackIdx "最低温度包号";
|
||||
CM_ SG_ 2446066438 BMS_M_TemperMax "电池单体最高温度";
|
||||
CM_ SG_ 2446066438 BMS_M_TemperMin "电池单体最低温度";
|
||||
CM_ SG_ 2446066694 BMS_M_TemperMaxPackIdx "最高温度包号";
|
||||
CM_ SG_ 2446066694 BMS_M_TemperMinPackIdx "最低温度包号";
|
||||
CM_ SG_ 2446066694 BMS_M_TemperMax "电池单体最高温度";
|
||||
CM_ SG_ 2446066694 BMS_M_TemperMin "电池单体最低温度";
|
||||
CM_ SG_ 2446066437 BMS_M_PackConnect_Info "电池包接入信息";
|
||||
CM_ SG_ 2446066437 BMS_M_PackOnLine_Info "电池包在线信息";
|
||||
CM_ SG_ 2446066437 BMS_M_IruPf "EMU负端绝缘电阻";
|
||||
CM_ SG_ 2446066437 BMS_M_IruPz "EMU正端绝缘电阻";
|
||||
CM_ SG_ 2446066437 BMS_M_Current "EMU放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066693 BMS_M_PackConnect_Info "电池包接入信息";
|
||||
CM_ SG_ 2446066693 BMS_M_PackOnLine_Info "电池包在线信息";
|
||||
CM_ SG_ 2446066693 BMS_M_IruPf "EMU负端绝缘电阻";
|
||||
CM_ SG_ 2446066693 BMS_M_IruPz "EMU正端绝缘电阻";
|
||||
CM_ SG_ 2446066693 BMS_M_Current "EMU放电电流
|
||||
放电为正,充电为负";
|
||||
CM_ SG_ 2446066436 BMS_M_PackVoltDiff "单个电池包最大压差";
|
||||
CM_ SG_ 2446066436 BMS_M_PackMinVtIdx "单个电池包最大压差";
|
||||
CM_ SG_ 2446066436 BMS_M_PackMinVt "电池包最低电压";
|
||||
CM_ SG_ 2446066436 BMS_M_PackMaxVtIdx "最高电压包号";
|
||||
CM_ SG_ 2446066436 BMS_M_PackMaxVt "电池包最高电压";
|
||||
CM_ SG_ 2446066692 BMS_M_PackVoltDiff "单个电池包最大压差";
|
||||
CM_ SG_ 2446066692 BMS_M_PackMinVtIdx "单个电池包最大压差";
|
||||
CM_ SG_ 2446066692 BMS_M_PackMinVt "电池包最低电压";
|
||||
CM_ SG_ 2446066692 BMS_M_PackMaxVtIdx "最高电压包号";
|
||||
CM_ SG_ 2446066692 BMS_M_PackMaxVt "电池包最高电压";
|
||||
CM_ SG_ 2446066435 BMS_M_Soc "SOC";
|
||||
CM_ SG_ 2446066435 BMS_M_Capacity "电池电量";
|
||||
CM_ SG_ 2446066435 BMS_M_OnchgPosNegRelay_Status "在线充电正极与在线充电负极继电器状态";
|
||||
CM_ SG_ 2446066435 BMS_M_PrechgDiodeRelay_Status "总控预充与二极管继电器状态";
|
||||
CM_ SG_ 2446066435 BMS_M_PosNegRelay_Status "总控正极和总控负极继电器状态";
|
||||
CM_ SG_ 2446066691 BMS_M_Soc "SOC";
|
||||
CM_ SG_ 2446066691 BMS_M_Capacity "电池电量";
|
||||
CM_ SG_ 2446066691 BMS_M_OnchgPosNegRelay_Status "在线充电正极与在线充电负极继电器状态";
|
||||
CM_ SG_ 2446066691 BMS_M_PrechgDiodeRelay_Status "总控预充与二极管继电器状态";
|
||||
CM_ SG_ 2446066691 BMS_M_PosNegRelay_Status "总控正极和总控负极继电器状态";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_WorkStatus "电池状态(是否上电BMS)";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_WarnBits "故障bit";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_TemperMin "最低温";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_TemperMax "最高温";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_Current "总电流";
|
||||
CM_ SG_ 2446067969 BMS_EBAT_Vt "总电压";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_WorkStatus "电池状态(是否上电BMS)";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_WarnBits "故障bit";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_TemperMin "最低温";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_TemperMax "最高温";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_Current "总电流";
|
||||
CM_ SG_ 2446067713 BMS_EBAT_Vt "总电压";
|
||||
BA_DEF_ "BusType" STRING ;
|
||||
BA_DEF_ BU_ "NodeLayerModules" STRING ;
|
||||
BA_DEF_ BU_ "ECU" STRING ;
|
||||
BA_DEF_ BU_ "CANoeJitterMax" INT 0 0;
|
||||
BA_DEF_ BU_ "CANoeJitterMin" INT 0 0;
|
||||
BA_DEF_ BU_ "CANoeDrift" INT 0 0;
|
||||
BA_DEF_ BU_ "CANoeStartDelay" INT 0 0;
|
||||
BA_DEF_DEF_ "BusType" "";
|
||||
BA_DEF_DEF_ "NodeLayerModules" "";
|
||||
BA_DEF_DEF_ "ECU" "";
|
||||
BA_DEF_DEF_ "CANoeJitterMax" 0;
|
||||
BA_DEF_DEF_ "CANoeJitterMin" 0;
|
||||
BA_DEF_DEF_ "CANoeDrift" 0;
|
||||
BA_DEF_DEF_ "CANoeStartDelay" 0;
|
||||
|
||||
@@ -0,0 +1,456 @@
|
||||
# requirements:
|
||||
# pip install cantools
|
||||
|
||||
import cantools
|
||||
from cantools.database.can.signal import Signal
|
||||
from cantools.database.can.message import Message
|
||||
from cantools.database.can import database
|
||||
|
||||
def build_dbc(output_path: str):
|
||||
"""
|
||||
"""
|
||||
# 1. 初始化 Database 对象
|
||||
db = database.Database()
|
||||
|
||||
# 2. 定义要添加的消息及其信号
|
||||
# 你可以在这里添加任意多的 message 定义
|
||||
messages_config = [
|
||||
{
|
||||
'frame_id': 0x1401A501,
|
||||
'name': 'CircuitBreakerControl1',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'FuelCellBreakerControl', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BatteryBreakerControl', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MotorBreakerControl', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BatteryMeterBreakerControl', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'DCDC5BreakerControl', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BowPanelBreakerControl', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'SternFT45BreakerControl', 'start': 12, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'SternSwitch1BreakerControl', 'start': 14, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 2
|
||||
{'name': 'SternSwitch2BreakerControl', 'start': 16, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'FBReserveBreakerControl', 'start': 18, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'TYZReserveBreakerControl', 'start': 20, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'ReserveBreakerControl', 'start': 22, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 3
|
||||
{'name': 'DCDC5PowerControl', 'start': 24, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingWaterValveControl', 'start': 26, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x1402A501,
|
||||
'name': 'CircuitBreakerControl2',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'BowFloatAdjustControl', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'OpeningMechanismControl', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MastRudderControl', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'XCBreakerControl', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'BowRudderControl', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'OpenWaterMechanismControl', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x1403A501,
|
||||
'name': 'CircuitBreakerControl3',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'BatteryAccessControl', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BowLowVoltageControl', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'U4BreakerControl', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'HighVoltageControllerControl', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'Reserve1Control', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve2Control', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'SternEmergencyBatteryControl', 'start': 12, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x1404A501,
|
||||
'name': 'CircuitBreakerControl4',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'U1BreakerControl', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'U2BreakerControl', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'U3BreakerControl', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'U5BreakerControl', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'BowJettisonControl', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve3Control', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve4Control', 'start': 12, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BowEmergencyBatteryControl', 'start': 14, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50101,
|
||||
'name': 'CircuitBreakerFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'FuelCellBreaker_Status', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BatteryBreaker_Status', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MotorBreaker_Status', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BatteryMeterBreaker_Status', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'DCDC5Breaker_Status', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BowPanelBreaker_Status', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'SternFT45Breaker_Status', 'start': 12, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'SternSwitch1Breaker_Status', 'start': 14, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 2
|
||||
{'name': 'SternSwitch2Breaker_Status', 'start': 16, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'FBReserveBreaker_Status', 'start': 18, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'TYZReserveBreaker_Status', 'start': 20, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'ReserveBreaker_Status', 'start': 22, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 3
|
||||
{'name': 'DCDC_OverTemp', 'start': 24, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_OverCurrent', 'start': 25, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_OverVoltage', 'start': 26, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_UnderVoltage', 'start': 27, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_InputOverVoltage', 'start': 28, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_InputUnderVoltage', 'start': 29, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_ShortCircuit', 'start': 30, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_InternalFault', 'start': 31, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 4
|
||||
{'name': 'DCDC_CommFault', 'start': 32, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCDC_Running', 'start': 33, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingPump1_Fault', 'start': 34, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingPump2_Fault', 'start': 35, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingWaterLeak', 'start': 36, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingPump1_Running', 'start': 37, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'CoolingPump2_Running', 'start': 38, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 5
|
||||
{'name': 'PowerBus_InsulationLow', 'start': 40, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BusA_InsulationLow', 'start': 41, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MeterPowerLoss', 'start': 42, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyPowerLoss', 'start': 43, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 6 (Temperature)
|
||||
{'name': 'DCDC_Temperature', 'start': 48, 'length': 8, 'byte_order': 'little_endian', 'is_signed': True, 'offset': -40, 'unit': '°C'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50201,
|
||||
'name': 'PowerBusFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 动力汇流排电压 (16bit, 0.1V)
|
||||
{'name': 'PowerBus_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: DC/DC5模块电流 (16bit, 0.1A)
|
||||
{'name': 'DCDC5_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: 动力汇流排电流 (16bit, 0.1A)
|
||||
{'name': 'PowerBus_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: A汇流排电压 (16bit, 0.1V)
|
||||
{'name': 'BusA_Voltage', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50301,
|
||||
'name': 'CurrentFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0: 推进电机控制箱电流 (16bit, 0.1A)
|
||||
{'name': 'PropulsionMotor_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2: A汇流排电流 (16bit, 0.1A)
|
||||
{'name': 'BusA_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4: 锂电池组(仪表)电流 (16bit, 0.1A)
|
||||
{'name': 'BatteryMeter_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6: 艏部高压配电箱电流 (16bit, 0.1A)
|
||||
{'name': 'BowPowerBox_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50401,
|
||||
'name': 'SternCurrentFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0: 艉部FT装置4/5电流 (16bit, 0.1A)
|
||||
{'name': 'SternFT45_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2: TYZ预留开关电流 (16bit, 0.1A)
|
||||
{'name': 'TYZReserve_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4: 艉舵开关1电流 (16bit, 0.1A)
|
||||
{'name': 'SternSwitch1_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6: 预留电流 (16bit, 0.1A)
|
||||
{'name': 'Reserve_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50501,
|
||||
'name': 'SternAdditionalFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0: 艉舵开关2电流 (16bit, 0.1A)
|
||||
{'name': 'SternSwitch2_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2: 预留电流 (16bit, 0.1A)
|
||||
{'name': 'Reserve2_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4: FB预留开关电流 (16bit, 0.1A)
|
||||
{'name': 'FBReserve_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6: 冷却水泄漏压力 (16bit, 0.1kPa)
|
||||
{'name': 'CoolingWater_Pressure', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'kPa'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50601,
|
||||
'name': 'BowBreakerFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'BowFT13Breaker_Status', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'OpeningMechanismBreaker_Status', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MastRudderBreaker_Status', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'XCZBreaker_Status', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'BowRudderBreaker_Status', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'OpenWaterMechanismBreaker_Status', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MeterPowerLoss', 'start': 12, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyPowerLoss', 'start': 13, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'WaterLeakAlarm', 'start': 14, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50701,
|
||||
'name': 'BusBFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 汇流排B电压 (16bit, 0.1V)
|
||||
{'name': 'BusB_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: 汇流排B电流 (16bit, 0.1A)
|
||||
{'name': 'BusB_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: 艏部FT装置1-3电流 (16bit, 0.1A)
|
||||
{'name': 'BowFT13_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: 启闭机构电流 (16bit, 0.1A)
|
||||
{'name': 'OpeningMechanism_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50801,
|
||||
'name': 'BowMechanismFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 桅杆舵机控制箱电流 (16bit, 0.1A)
|
||||
{'name': 'MastRudder_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2-3: XCZ电流 (16bit, 0.1A)
|
||||
{'name': 'XCZ_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: 艏舵控制箱电流 (16bit, 0.1A)
|
||||
{'name': 'BowRudder_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: 敞水盖启动电缸电流 (16bit, 0.1A)
|
||||
{'name': 'OpenWaterMechanism_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50901,
|
||||
'name': 'MeterBreakerFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'BatteryMeterBreaker_Status', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'BowLowVoltageBoxBreaker_Status', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Unit4MeterBreaker_Status', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'DCC1Breaker_Status', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'Reserve1Breaker_Status', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve2Breaker_Status', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyBattery2Breaker_Status', 'start': 12, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 2
|
||||
{'name': 'MeterPowerLoss', 'start': 16, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyPowerLoss', 'start': 17, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'MeterBusInsulationLow', 'start': 18, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50A01,
|
||||
'name': 'MeterBusFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 仪表母排电压 (16bit, 0.1V)
|
||||
{'name': 'MeterBus_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: 艏部低压配电箱电流 (16bit, 0.1A)
|
||||
{'name': 'BowLowVoltageBox_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: DC-C1仪表DC48V电流 (16bit, 0.1A)
|
||||
{'name': 'DCC1Meter_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: 预留电流 (16bit, 0.1A)
|
||||
{'name': 'Reserve3_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50B01,
|
||||
'name': 'EmergencyBatteryFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 应急锂电池组2电流 (16bit, 0.1A)
|
||||
{'name': 'EmergencyBattery2_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2-3: 锂电池组(仪表)电流 (16bit, 0.1A)
|
||||
{'name': 'BatteryMeter_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: UNIT4仪表DC48V电流 (16bit, 0.1A)
|
||||
{'name': 'Unit4Meter_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: 预留电流 (16bit, 0.1A)
|
||||
{'name': 'Reserve4_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50C01,
|
||||
'name': 'EmergencyBus2Feedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 应急2汇流排电压 (16bit, 0.1V)
|
||||
{'name': 'EmergencyBus2_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: 复合能源管控系统应急DC48V电流 (16bit, 0.1A)
|
||||
{'name': 'EnergySystemEmergency_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: 燃料电池安保系统应急DC48V电流 (16bit, 0.1A)
|
||||
{'name': 'FuelCellEmergency_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: PLC控制电源电流 (16bit, 0.1A)
|
||||
{'name': 'PLCPower_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50D01,
|
||||
'name': 'UnitBreakerFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0
|
||||
{'name': 'Unit1Breaker_Status', 'start': 0, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Unit2Breaker_Status', 'start': 2, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Unit3Breaker_Status', 'start': 4, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Unit5Breaker_Status', 'start': 6, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 1
|
||||
{'name': 'BowPZBreaker_Status', 'start': 8, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve5Breaker_Status', 'start': 10, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'Reserve6Breaker_Status', 'start': 12, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyBattery1Breaker_Status', 'start': 14, 'length': 2, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
|
||||
# Byte 2
|
||||
{'name': 'MeterPowerLoss', 'start': 16, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'EmergencyPowerLoss', 'start': 17, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False},
|
||||
{'name': 'WaterLeakAlarm', 'start': 18, 'length': 1, 'byte_order': 'little_endian', 'is_signed': False}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50E01,
|
||||
'name': 'MeterBus2Feedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 仪表母排电压 (16bit, 0.1V)
|
||||
{'name': 'MeterBus2_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: 仪表母排电流 (16bit, 0.1A)
|
||||
{'name': 'MeterBus2_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: UNIT1电流 (16bit, 0.1A)
|
||||
{'name': 'Unit1_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: UNIT2电流 (16bit, 0.1A)
|
||||
{'name': 'Unit2_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A50F01,
|
||||
'name': 'UnitCurrentFeedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: UNIT3电流 (16bit, 0.1A)
|
||||
{'name': 'Unit3_Current', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 2-3: UNIT5电流 (16bit, 0.1A)
|
||||
{'name': 'Unit5_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 4-5: 艏部PZ装置电流 (16bit, 0.1A)
|
||||
{'name': 'BowPZ_Current', 'start': 32, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'},
|
||||
|
||||
# Byte 6-7: 应急锂电池组1电流 (16bit, 0.1A)
|
||||
{'name': 'EmergencyBattery1_Current', 'start': 48, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
},
|
||||
{
|
||||
'frame_id': 0x18A51001,
|
||||
'name': 'EmergencyBus1Feedback',
|
||||
'length': 8,
|
||||
'signals': [
|
||||
# Byte 0-1: 应急1汇流排电压 (16bit, 0.1V)
|
||||
{'name': 'EmergencyBus1_Voltage', 'start': 0, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'V'},
|
||||
|
||||
# Byte 2-3: 24V控制电源电流测量 (16bit, 0.1A)
|
||||
{'name': 'ControlPower24V_Current', 'start': 16, 'length': 16, 'byte_order': 'little_endian', 'is_signed': False, 'scale': 0.1, 'unit': 'A'}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
# 3. 遍历配置,创建 Message 和 Signal 对象并加入到 db
|
||||
for msg_cfg in messages_config:
|
||||
sig_list = []
|
||||
for s in msg_cfg['signals']:
|
||||
sig = Signal(
|
||||
name=s['name'],
|
||||
start=s['start'],
|
||||
length=s['length'],
|
||||
byte_order=s['byte_order'],
|
||||
is_signed=s['is_signed']
|
||||
)
|
||||
sig_list.append(sig)
|
||||
|
||||
msg = Message(
|
||||
frame_id=msg_cfg['frame_id'],
|
||||
name=msg_cfg['name'],
|
||||
length=msg_cfg['length'],
|
||||
signals=sig_list,
|
||||
is_extended_frame=True
|
||||
)
|
||||
db.messages.append(msg)
|
||||
|
||||
# 4. 将构造好的数据库导出为 DBC 字符串并写入文件
|
||||
dbc_string = db.as_dbc_string()
|
||||
|
||||
with open(output_path, 'w', encoding='utf-8') as f:
|
||||
f.write(dbc_string)
|
||||
|
||||
print(f"DBC 文件已生成:{output_path}")
|
||||
|
||||
if __name__ == '__main__':
|
||||
build_dbc('output.dbc')
|
||||
Reference in New Issue
Block a user