提交 d762a341 作者: wysheng

修复测试中发现的问题

上级 7618bb67
...@@ -948,7 +948,6 @@ void StartMegAck_B(void) ...@@ -948,7 +948,6 @@ void StartMegAck_B(void)
32H:绝缘监测仪通信故障 32H:绝缘监测仪通信故障
33H:设备自检超时 33H:设备自检超时
34H:预充功率分配超时 34H:预充功率分配超时
35H:预充阶段调压失败
36H:启动充电超时(收到启动命令开始120秒未进入充电阶段) 36H:启动充电超时(收到启动命令开始120秒未进入充电阶段)
37H:充电模块开机超时(下发开机命令10S不能到达绝缘监测电压) 37H:充电模块开机超时(下发开机命令10S不能到达绝缘监测电压)
38H:环境监控板通信故障 38H:环境监控板通信故障
...@@ -1016,6 +1015,8 @@ u8 AllowDTUStartCompCharge(u8 * Reason) ...@@ -1016,6 +1015,8 @@ u8 AllowDTUStartCompCharge(u8 * Reason)
*Reason = 0x29; //29H:BCL报文接收超时 *Reason = 0x29; //29H:BCL报文接收超时
else if (CemMsg.Cem.Value.Bcs == 1) else if (CemMsg.Cem.Value.Bcs == 1)
*Reason = 0x2A; //2AH:BCS报文接收超时 *Reason = 0x2A; //2AH:BCS报文接收超时
else if(ChargeStopType == eChgStop_PillarReady_NoVolt)
*Reason = 0x35;//35H:预充阶段调压失败
else if ((VerificaInfo.result == 1) && (StartMeg_A.StarChgType == 1)) else if ((VerificaInfo.result == 1) && (StartMeg_A.StarChgType == 1))
*Reason = 0x3F; //3DH: 车辆验证确认帧超时 *Reason = 0x3F; //3DH: 车辆验证确认帧超时
else if (TCUCommuStatus.ErrData.Value.verificationAck == 1) else if (TCUCommuStatus.ErrData.Value.verificationAck == 1)
...@@ -1086,6 +1087,8 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason) ...@@ -1086,6 +1087,8 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason)
*Reason = 0x29; //29H:BCL报文接收超时 *Reason = 0x29; //29H:BCL报文接收超时
else if (CemMsg_B.Cem.Value.Bcs == 1) else if (CemMsg_B.Cem.Value.Bcs == 1)
*Reason = 0x2A; //2AH:BCS报文接收超时 *Reason = 0x2A; //2AH:BCS报文接收超时
else if(ChargeStopType_B == eChgStop_PillarReady_NoVolt)
*Reason = 0x35;//35H:预充阶段调压失败
else if ((VerificaInfo_B.result == 1) && (StartMeg_B.StarChgType == 1)) else if ((VerificaInfo_B.result == 1) && (StartMeg_B.StarChgType == 1))
*Reason = 0x3F; *Reason = 0x3F;
else if (TCUCommuStatus_B.ErrData.Value.verificationAck == 1) else if (TCUCommuStatus_B.ErrData.Value.verificationAck == 1)
...@@ -1456,7 +1459,8 @@ void GetStopReason_A(u8 * stopReason) ...@@ -1456,7 +1459,8 @@ void GetStopReason_A(u8 * stopReason)
else if (BsmMsg.ChgSta.Value.Connect == 0x01) else if (BsmMsg.ChgSta.Value.Connect == 0x01)
*stopReason = 0x29; //29H:BSM 报文中连接器连接状态异常 *stopReason = 0x29; //29H:BSM 报文中连接器连接状态异常
else if ((BstMsg.StopReason.Value.NeedSoc == 0x01) || (BstMsg.StopReason.Value.SetVolt == 0x01) || else if ((BstMsg.StopReason.Value.NeedSoc == 0x01) || (BstMsg.StopReason.Value.SetVolt == 0x01) ||
(BstMsg.StopReason.Value.PerSetVolt == 0x01)) (BstMsg.StopReason.Value.PerSetVolt == 0x01)||(ChargeStopType == eChgStop_Run_BmsStop)
|| ChargeStopType == eChgStop_Run_Soc98)
*stopReason = 0x2A; //2AH:BMS 正常终止充电 *stopReason = 0x2A; //2AH:BMS 正常终止充电
else if ((BstMsg.StopTruble.Mult != 0) || ((BstMsg.StopFault.Mult & 0x0F) != 0)) else if ((BstMsg.StopTruble.Mult != 0) || ((BstMsg.StopFault.Mult & 0x0F) != 0))
*stopReason = 0x2B; //2BH:BMS 异常终止充电 *stopReason = 0x2B; //2BH:BMS 异常终止充电
...@@ -1532,7 +1536,8 @@ void GetStopReason_B(u8 * stopReason) ...@@ -1532,7 +1536,8 @@ void GetStopReason_B(u8 * stopReason)
else if (BsmMsg_B.ChgSta.Value.Connect == 0x01) else if (BsmMsg_B.ChgSta.Value.Connect == 0x01)
*stopReason = 0x29; *stopReason = 0x29;
else if ((BstMsg_B.StopReason.Value.NeedSoc == 0x01) || (BstMsg_B.StopReason.Value.SetVolt == 0x01) || else if ((BstMsg_B.StopReason.Value.NeedSoc == 0x01) || (BstMsg_B.StopReason.Value.SetVolt == 0x01) ||
(BstMsg_B.StopReason.Value.PerSetVolt == 0x01)) (BstMsg_B.StopReason.Value.PerSetVolt == 0x01)||(ChargeStopType_B == eChgStop_Run_BmsStop)
|| ChargeStopType_B == eChgStop_Run_Soc98)
*stopReason = 0x2A; *stopReason = 0x2A;
else if ((BstMsg_B.StopTruble.Mult != 0) || ((BstMsg_B.StopFault.Mult & 0x0F) != 0)) else if ((BstMsg_B.StopTruble.Mult != 0) || ((BstMsg_B.StopFault.Mult & 0x0F) != 0))
*stopReason = 0x2B; *stopReason = 0x2B;
...@@ -2450,15 +2455,15 @@ void InformationReporting_22_A(void) ...@@ -2450,15 +2455,15 @@ void InformationReporting_22_A(void)
InformainReport_A.InfRe.ElectLock = LockGet(); InformainReport_A.InfRe.ElectLock = LockGet();
if (((InformainReport_A.data[0] &0xf0) != 0) || ((InformainReport_A.data[1] &0xff) != 0) || if (((InformainReport_A.data[0] &0xf0) != 0) || ((InformainReport_A.data[1] &0xff) != 0) ||
((InformainReport_A.data[2] &0xfD) != 0) || ((InformainReport_A.data[3] &0x00) != 0) || ((InformainReport_A.data[2] &0xfD) != 0) || ((InformainReport_A.data[3] &0x01) != 0) ||
((InformainReport_A.data[4] &0x00) != 0) || ((InformainReport2_B.data & 0x07CB) != 0)) ((InformainReport2_A.data & 0xf6aa47cb)!= 0))//0xf6AA47CB
InformainReport_A.InfRe.sumFalt = 01; InformainReport_A.InfRe.sumFalt = 01;
else else
InformainReport_A.InfRe.sumFalt = 00; InformainReport_A.InfRe.sumFalt = 00;
if (((InformainReport_A.data[0] &0x00) != 0) || ((InformainReport_A.data[1] &0x00) != 0) || if (
((InformainReport_A.data[2] &0x10) != 0) || ((InformainReport_A.data[3] &0xFF) != 0) || ((InformainReport_A.data[2] &0x02) != 0) ||((InformainReport_A.data[3] &0xfe) != 0)||
((InformainReport_A.data[4] &0x0f) != 0) || ((InformainReport2_B.data & 0x52) != 0)) ((InformainReport_A.data[4] &0x0f) != 0) || ((InformainReport2_A.data & 0x9540034) != 0))
InformainReport_A.InfRe.sumWarm = 01; InformainReport_A.InfRe.sumWarm = 01;
else else
InformainReport_A.InfRe.sumWarm = 00; InformainReport_A.InfRe.sumWarm = 00;
...@@ -2579,18 +2584,18 @@ void InformationReporting_22_B(void) ...@@ -2579,18 +2584,18 @@ void InformationReporting_22_B(void)
InformainReport_B.InfRe.ElectLock = LockGet_B(); InformainReport_B.InfRe.ElectLock = LockGet_B();
if (((InformainReport_B.data[0] &0xf0) != 0) || ((InformainReport_B.data[1] &0xff) != 0) || if (((InformainReport_B.data[0] &0xf0) != 0) || ((InformainReport_B.data[1] &0xff) != 0) ||
((InformainReport_B.data[2] &0xfD) != 0) || ((InformainReport_B.data[3] &0x00) != 0) || ((InformainReport_B.data[2] &0xfD) != 0) || ((InformainReport_B.data[3] &0x01) != 0) ||
((InformainReport_B.data[4] &0x00) != 0) || ((InformainReport2_B.data & 0x07CB) != 0)) ((InformainReport2_B.data & 0xf6aa47cb)!= 0))//0xf6AA47CB
InformainReport_B.InfRe.sumFalt = 01; InformainReport_B.InfRe.sumFalt = 01;
else else
InformainReport_B.InfRe.sumFalt = 00; InformainReport_B.InfRe.sumFalt = 00;
if (((InformainReport_B.data[0] &0x00) != 0) || ((InformainReport_B.data[1] &0x00) != 0) || if (
((InformainReport_B.data[2] &0x10) != 0) || ((InformainReport_B.data[3] &0xFF) != 0) || ((InformainReport_B.data[2] &0x02) != 0) ||((InformainReport_B.data[3] &0xfe) != 0)||
((InformainReport_B.data[4] &0x0f) != 0) || ((InformainReport2_B.data & 0x52) != 0)) ((InformainReport_B.data[4] &0x0f) != 0) || ((InformainReport2_B.data & 0x9540034) != 0))
InformainReport_B.InfRe.sumWarm = 0x01; InformainReport_B.InfRe.sumWarm = 01;
else else
InformainReport_B.InfRe.sumWarm = 0x00; InformainReport_B.InfRe.sumWarm = 00;
memcpy(&Data[1], InformainReport_B.data, 5); memcpy(&Data[1], InformainReport_B.data, 5);
Data[6] = 0; Data[6] = 0;
......
...@@ -199,7 +199,7 @@ typedef union ...@@ -199,7 +199,7 @@ typedef union
typedef union typedef union
{ {
u16 data; u32 data;
struct struct
{ {
/* /*
......
...@@ -279,6 +279,7 @@ typedef enum ...@@ -279,6 +279,7 @@ typedef enum
eChgStop_PillarReady_Meter = 97, eChgStop_PillarReady_Meter = 97,
eChgStop_Imd_Short = 98, eChgStop_Imd_Short = 98,
eChgStop_Imd_xx = 99, eChgStop_Imd_xx = 99,
eChgStop_PillarReady_NoVolt= 100,
}EnumChgStopType; }EnumChgStopType;
......
...@@ -438,7 +438,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl) ...@@ -438,7 +438,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
} }
else else
SocStopTick = 0; SocStopTick = 0;
if((0 != SocStopTick) && ((GetSystemTick() - SocStopTick) > (MsgTimeout_B_60S*2))) if((0 != SocStopTick) && ((GetSystemTick() - SocStopTick) > (MsgTimeout_B_10S)))
{//ⲿƽ {//ⲿƽ
CstMsg_B.StopReason.Value.AutoSet = 1; CstMsg_B.StopReason.Value.AutoSet = 1;
CST_Send_B(&CstMsg_B); CST_Send_B(&CstMsg_B);
......
...@@ -480,7 +480,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl) ...@@ -480,7 +480,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
else else
SocStopTick = 0; SocStopTick = 0;
if ((0 != SocStopTick) && ((GetSystemTick() -SocStopTick) > (MsgTimeout_60S * 2))) if ((0 != SocStopTick) && ((GetSystemTick() -SocStopTick) > (MsgTimeout_10S )))
{ //ⲿƽ { //ⲿƽ
CstMsg.StopReason.Value.AutoSet = 1; CstMsg.StopReason.Value.AutoSet = 1;
CST_Send(&CstMsg); CST_Send(&CstMsg);
......
...@@ -164,7 +164,7 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl) ...@@ -164,7 +164,7 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
CstMsg.StopFault.Value.Volt = 1; CstMsg.StopFault.Value.Volt = 1;
DcOutSet(eSwSta_Off); DcOutSet(eSwSta_Off);
SendDataToDcModule_A(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum); SendDataToDcModule_A(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
ChargeStopType = eChgStop_Conf_ChgMaxVoltLessPillarMinVolt; ChargeStopType = eChgStop_PillarReady_NoVolt;
pChargeCtrl->CurProcess = eChgPro_ChgStop; pChargeCtrl->CurProcess = eChgPro_ChgStop;
pChargeCtrl->Param = 0; pChargeCtrl->Param = 0;
} }
......
...@@ -139,7 +139,7 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl) ...@@ -139,7 +139,7 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
CstMsg_B.StopFault.Value.Volt = 1; CstMsg_B.StopFault.Value.Volt = 1;
DcOutSet_B(eSwSta_Off); DcOutSet_B(eSwSta_Off);
SendDataToDcModule_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum); SendDataToDcModule_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
ChargeStopType_B= eChgStop_Conf_ChgMaxVoltLessPillarMinVolt; ChargeStopType_B= eChgStop_PillarReady_NoVolt;
pChargeCtrl->CurProcess = eChgPro_B_ChgStop; pChargeCtrl->CurProcess = eChgPro_B_ChgStop;
pChargeCtrl->Param = 0; pChargeCtrl->Param = 0;
} }
...@@ -200,7 +200,7 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl) ...@@ -200,7 +200,7 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
CemMsg_B.Cem.Mult = 0; CemMsg_B.Cem.Mult = 0;
DcOutSet_B(eSwSta_Off); DcOutSet_B(eSwSta_Off);
SendDataToDcModule_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum); SendDataToDcModule_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
ChargeStopType_B = eChgStop_Conf_ChgMaxVoltLessPillarMinVolt; ChargeStopType_B = eChgStop_Imd_xx;
pChargeCtrl->CurProcess = eChgPro_B_CommError; pChargeCtrl->CurProcess = eChgPro_B_CommError;
pChargeCtrl->Param = 0; pChargeCtrl->Param = 0;
} }
......
...@@ -96,6 +96,7 @@ void LedProcess(void) ...@@ -96,6 +96,7 @@ void LedProcess(void)
|| (0 != PillarError.Value.EleLock) || (0 != PillarError.Value.EleLock)
|| (0 != PillarError.Value.OutVolt) || (0 != PillarError.Value.OutVolt)
|| (0 != PillarError.Value.OutCurrt) || (0 != PillarError.Value.OutCurrt)
|| (0 != PillarError.Value.ACContactor)
) )
{ {
IdleLedSet(eSwSta_Off); IdleLedSet(eSwSta_Off);
...@@ -165,6 +166,7 @@ void LedProcess_B(void) ...@@ -165,6 +166,7 @@ void LedProcess_B(void)
|| (0 != PillarError_B.Value.EleLock) || (0 != PillarError_B.Value.EleLock)
|| (0 != PillarError_B.Value.OutVolt) || (0 != PillarError_B.Value.OutVolt)
|| (0 != PillarError_B.Value.OutCurrt) || (0 != PillarError_B.Value.OutCurrt)
|| (0 != PillarError_B.Value.ACContactor)
) )
{ {
IdleLedSet_B(eSwSta_Off); IdleLedSet_B(eSwSta_Off);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论