完善了显示,修改了复合管控的通信协议

This commit is contained in:
zjk
2025-06-03 20:05:08 +08:00
parent 2be7ce203e
commit 8fab3bdf06
21 changed files with 543 additions and 116 deletions
+31 -8
View File
@@ -66,7 +66,7 @@ public:
float power_cabin_temperature; // 动力舱内温度,单位:0.1℃
float power_cabin_humidity; // 动力舱内湿度,单位:0.1%RH
float power_cabin_pressure; // 动力舱内大气压,单位:0.2kPa
uint8_t reserved2[1]; // 保留字段
uint8_t reserved2[2]; // 保留字段
//电池报警标志
uint8_t dyn_alarm_flag[6]; // 动力锂电池报警标志
@@ -78,6 +78,18 @@ public:
uint8_t dyn_relay_status1; // 动力电池正极与充电继电器状态
uint8_t dyn_relay_status2; // 动力电池预充与负极继电器状态
//仪表电池继电器状态
uint8_t ins_pos_relay_status; // 仪表电池正极继电器状态 (X0H:无效 X1H:接通 X2H:断开)
uint8_t ins_charge_relay_status; // 仪表电池充电继电器状态 (0XH:无效 1XH:接通 2XH:断开)
uint8_t ins_precharge_relay_status; // 仪表电池预充继电器状态 (X0H:无效 X1H:接通 X2H:断开)
uint8_t ins_neg_relay_status; // 仪表电池负极继电器状态 (0XH:无效 1XH:接通 2XH:断开)
//动力电池继电器状态
uint8_t dyn_pos_relay_status; // 动力电池正极继电器状态 (X0H:无效 X1H:接通 X2H:断开)
uint8_t dyn_charge_relay_status; // 动力电池充电继电器状态 (0XH:无效 1XH:接通 2XH:断开)
uint8_t dyn_precharge_relay_status; // 动力电池预充继电器状态 (X0H:无效 X1H:接通 X2H:断开)
uint8_t dyn_neg_relay_status; // 动力电池负极继电器状态 (0XH:无效 1XH:接通 2XH:断开)
//电池功率参数
float ins_max_discharge_power; // 仪表电池最大允许放电功率,单位:0.05kW
float dyn_max_discharge_power; // 动力电池最大允许放电功率,单位:0.05kW
@@ -483,6 +495,17 @@ public:
dyn_relay_status1 = data.dyn_relay_status1;
dyn_relay_status2 = data.dyn_relay_status2;
//继电器状态
ins_pos_relay_status = (data.ins_relay_status1 ) & 0x0F; // 取高4位作为正极继电器状态
ins_charge_relay_status = ( data.ins_relay_status1 >> 4)& 0x0F; // 取低4位作为充电继电器状态
ins_precharge_relay_status = (data.ins_relay_status2 ) & 0x0F; // 取高4位作为预充继电器状态
ins_neg_relay_status = (data.ins_relay_status2 >> 4) & 0x0F; // 取低4位作为负极继电器状态
dyn_pos_relay_status = (data.dyn_relay_status1 ) & 0x0F; // 取高4位作为正极继电器状态
dyn_charge_relay_status = (data.dyn_relay_status1 >> 4) & 0x0F; // 取低4位作为充电继电器状态
dyn_precharge_relay_status = (data.dyn_relay_status2) & 0x0F; // 取高4位作为预充继电器状态
dyn_neg_relay_status = (data.dyn_relay_status2 >> 4) & 0x0F; // 取低4位作为负极继电器状态
//电池功率参数
ins_max_discharge_power = data.ins_max_discharge_power * 0.05;
dyn_max_discharge_power = data.dyn_max_discharge_power * 0.05;
@@ -496,21 +519,21 @@ public:
dyn_total_energy = data.dyn_total_energy * 0.1;
//电池输入功率
ins_power_input = data.ins_power_input * 0.1;
dyn_power_input = data.dyn_power_input * 0.1;
ins_power_input = data.ins_power_input ;
dyn_power_input = data.dyn_power_input ;
//电池充放电状态
ins_charge_status = data.ins_charge_status;
dyn_charge_status = data.dyn_charge_status;
//电池电压电流
ins_voltage_link = data.ins_voltage_link * 0.01;
ins_voltage_pack = data.ins_voltage_pack * 0.01;
ins_voltage_link = data.ins_voltage_link * 0.1;
ins_voltage_pack = data.ins_voltage_pack * 0.1;
ins_current = static_cast<int16_t>(data.ins_current) * 0.05;
ins_resistance_pos = data.ins_resistance_pos;
ins_resistance_neg = data.ins_resistance_neg;
dyn_voltage_link = data.dyn_voltage_link * 0.01;
dyn_voltage_pack = data.dyn_voltage_pack * 0.01;
dyn_voltage_link = data.dyn_voltage_link * 0.1;
dyn_voltage_pack = data.dyn_voltage_pack * 0.1;
dyn_current = static_cast<int16_t>(data.dyn_current) * 0.05;
dyn_resistance_pos = data.dyn_resistance_pos;
dyn_resistance_neg = data.dyn_resistance_neg;
@@ -732,4 +755,4 @@ public:
};
#endif
#endif