提交 e74c2db3 作者: wysheng

输出短路 检测与上报

上级 07212137
......@@ -594,9 +594,9 @@ void StartMeg(StructTCUSend * pPgnRecv)
if (pPgnRecv->DA == ChargerCont1939Addr)
{
if ((TCUCurChgRecd.TCUChgStartNotetrl == 0) && (TCUCurChgRecd.TCUChargeEnable == 0) &&
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary == TCUCtrl.CurScreen)))
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary_B == TCUCtrl.CurScreen)))
{
ChargeStopType = eChgStop_None;
//StartMeg_A.GunNum = 0;//pPgnRecv->Data[0];
StartMeg_A.LoadSswitch = pPgnRecv->Data[1];
StartMeg_A.PlugToChgFlag = pPgnRecv->Data[2];
......@@ -631,9 +631,9 @@ void StartMeg(StructTCUSend * pPgnRecv)
else if (pPgnRecv->DA == ChargerCont1939Addr_B)
{
if ((TCUCurChgRecd_B.TCUChgStartNotetrl == 0) && (TCUCurChgRecd_B.TCUChargeEnable == 0) &&
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary_B == TCUCtrl.CurScreen)))
((eLcdPro_TCUMainMenu == TCUCtrl.CurScreen) || (eLcdPro_TCUChargeSummary == TCUCtrl.CurScreen)))
{
//StartMeg_B.GunNum = 0;//pPgnRecv->Data[0];
ChargeStopType_B = eChgStop_None;
StartMeg_B.LoadSswitch = pPgnRecv->Data[1];
StartMeg_B.PlugToChgFlag = pPgnRecv->Data[2];
StartMeg_B.AuxiliaryPower = pPgnRecv->Data[3];
......@@ -668,7 +668,57 @@ void StartMeg(StructTCUSend * pPgnRecv)
}
/*
00H:成功
01H:数据合法性校验失败(“充电启动帧”中“负荷控制开关”等数据项合法性校验失败)
02H:充电控制器与计费控制单元通讯超时(“计费控制单元心跳帧”接收超时)
03H:充电控制器与计费控制单元“版本校验”未完成
04H:充电控制器与计费控制单元“下发充电参数”未完成
05H:充电桩暂停服务(参见9.7节 充电服务启停控制)
06H:充电桩处于“工作”状态
07H:充电桩处于“暂停”状态(参见GB/T 27930-2015中10.3.3和10.3.4小节)
08H:充电桩与车辆处于未连接状态
09H:急停按钮动作故障
0AH:门禁故障(充电桩)
0BH:避雷器故障
0CH:烟感故障
0DH:充电桩过温故障(一体式充电桩内部过温故障保护,分体式充电桩充电机柜内部过温故障保护或充电桩内部过温故障保护)
0EH:充电接口过温故障
0FH:充电接口电子锁故障
10H:绝缘监测故障(仅直流桩使用)
11H:电池极性反接故障(仅直流桩使用)
12H:BMS通信超时故障(仅直流桩使用)备注:还未进入自检阶段,实际不存在此失败原因
13H:输入高压断路器故障
14H:输入高压接触器拒动/误动故障
15H:输入高压接触器粘连故障
16H:输出高压接触器拒动/误动故障
17H:输出高压接触器粘连故障
18H:输出高压熔断器故障
19H:并联接触器拒动/误动故障(仅直流桩使用)
1AH:并联接触器粘连故障(仅直流桩使用)
1BH:泄放回路故障
1CH:辅助电源故障(仅直流桩使用)
1DH:充电机模块故障
1EH:输入电源故障(交流输入电压过压故障、交流输入电压欠压故障、交流输入缺相故障、交流输入电流过流故障等)
1FH:输出电压过压故障
20H:输出电压欠压故障
21H:输出电流过流故障
22H:输出短路故障
23H:无空余充电机模块可用(仅限具备功率分配功能的直流充电桩使用)
24H:预留
25H:门禁故障(充电机柜,仅直流桩使用)
26H:水浸故障(充电桩)
27H:水浸故障(充电机柜,仅直流桩使用)
28H:直流充电主控模块与功率控制模块通信超时(仅直流桩使用)
29H:功率控制模块与开关模块通信超时(仅直流桩使用)
2AH:开关模块故障(仅直流桩使用)
2BH:绝缘监测仪通信故障
2CH:环境监控板通信故障
2DH:灯板通信故障
2EH: 电能表通信故障
FFH:充电桩其他故障
*/
u8 AllowDTUStartCharge(u8 * Reason)
{
if (TCUCurChgRecd.StarValid == 0)
......@@ -713,6 +763,8 @@ u8 AllowDTUStartCharge(u8 * Reason)
*Reason = 0x1F;
else if (PillarError.Value.OutCurrt)
*Reason = 0x21;
else if (ChargeStopType == eChgStop_Imd_Short)
*Reason = 0x22;
else
{
*Reason = 0x00;
......@@ -768,6 +820,8 @@ u8 AllowDTUStartCharge_B(u8 * Reason)
*Reason = 0x1F;
else if (PillarError_B.Value.OutCurrt)
*Reason = 0x21;
else if (ChargeStopType_B == eChgStop_Imd_Short)
*Reason = 0x22;
else
{
*Reason = 0x00;
......@@ -830,7 +884,74 @@ void StartMegAck_B(void)
TCUSinglePackSendMsg(Data, 8, eCmd_startAck, 4,ChargerCont1939Addr_B);
}
/*
00H:成功
01H:充电中控制导引故障
02H:充电控制器与计费控制单元通讯超时
03H:急停按钮动作故障
04H:门禁故障(充电桩)
05H:避雷器故障
06H:烟感故障
07H:交流输入断路器故障
08H:交流输入接触器拒动/误动故障
09H:交流输入接触器粘连故障
0AH:交流输入故障(过压,欠压,缺相,过流)
0BH:充电桩过温故障
0CH:充电接口过温故障
0DH:充电接口电子锁故障
0EH:绝缘监测故障
0FH:电池极性反接故障
10H:直流输出接触器拒动/误动故障
11H:直流输出接触器粘连故障
12H:直流输出熔断器故障
13H:并联接触器拒动/误动故障
14H:并联接触器粘连故障
15H:泄放回路故障
16H:辅助电源故障
17H:充电机模块故障
18H:直流母线输出电压过压故障
19H:直流母线输出电压欠压故障
1AH:直流母线输出电流过流故障
1BH:直流母线输出短路故障
1CH:电池最高允许充电电压小于充电机最小输出电压
1DH:绝缘监测前直流输出接触器外侧电压≥10 V
1EH:启动充电前直流输出接触器外侧电压与通信报文电池电压相差>±5%
1FH:启动充电前直流输出接触器外侧电压小于充电机最小输出电压
20H:启动充电前直流输出接触器外侧电压大于充电机最大输出电压
21H:电池端电压大于电池最高允许充电电压
22H:BRM 报文接收超时
23H:BRM 报文数据项异常(报文数据长度错误,BMS 通信协议版本号错误,其他数据错误)
24H:BCP 报文接收超时
25H:BCP 报文数据项异常(报文数据长度错误,电池当前电压越限,其他数据项错误)
26H:BRO 报文(0x00)接收超时
27H:BRO 报文(0xAA)接收超时
28H:预留
29H:BCL报文接收超时
2AH:BCS报文接收超时
2BH:门禁故障(充电机柜,仅直流桩使用)
2CH:水浸故障(充电桩)
2DH:水浸故障(充电机柜,仅直流桩使用)
2EH:直流充电主控模块与功率控制模块通信超时(仅直流桩使用)
2FH:功率控制模块与开关模块通信超时(仅直流桩使用)
30H:开关模块故障(仅直流桩使用)
31H:BMS通信协议版本不匹配
32H:绝缘监测仪通信故障
33H:设备自检超时
34H:预充功率分配超时
35H:预充阶段调压失败
36H:启动充电超时(收到启动命令开始120秒未进入充电阶段)
37H:充电模块开机超时(下发开机命令10S不能到达绝缘监测电压)
38H:环境监控板通信故障
39H:自检功率分配超时
3AH:灯板通信故障
3BH:绝缘监测超时
3CH:电能表通信故障
3DH: 车辆验证确认帧超时
3FH:车辆鉴权不通过
FFH:充电机其他故障
*/
u8 AllowDTUStartCompCharge(u8 * Reason)
{
if (TCUCurChgRecd.TCUStartCompresult == 1)
......@@ -866,20 +987,18 @@ u8 AllowDTUStartCompCharge(u8 * Reason)
*Reason = 0x18;
else if (PillarError.Value.OutCurrt)
*Reason = 0x1A;
else if (PillarError.Value.OutCurrt)
*Reason = 0x1A;
else if (PillarError.Value.OutShort)
*Reason = 0x1B;
else if (ChargeStopType == eChgStop_Imd_Short)
*Reason = 0x1B;
else if (ChargeStopType == eChgStop_Conf_ChgMaxVoltLessPillarMinVolt)
*Reason = 0x1C;
else if (TCUCurChgRecd.TCUChgStopType == 0x1c)
else if (TCUCurChgRecd.TCUChgStopType == 0x1d)
*Reason = 0x1D;
else if (ChargeStopType == eChgStop_PillarReady_BatVoltMismatchBcpVolt)
*Reason = 0x1E;
else if (CemMsg.Cem.Value.Brm == 1)
*Reason = 0x22;
else if (TCUCurChgRecd.TCUChgStopType == 0x22)
*Reason = 0x22;
else if (CemMsg.Cem.Value.Bcp == 1)
*Reason = 0x24;
else if (CemMsg.Cem.Value.Bro == 1)
......@@ -934,20 +1053,18 @@ u8 AllowDTUStartCompCharge_B(u8 * Reason)
*Reason = 0x18;
else if (PillarError_B.Value.OutCurrt)
*Reason = 0x1A;
else if (PillarError_B.Value.OutCurrt)
*Reason = 0x1A;
else if (PillarError_B.Value.OutShort)
*Reason = 0x1B;
else if (ChargeStopType_B == eChgStop_Imd_Short)
*Reason = 0x1B;
else if (ChargeStopType_B == eChgStop_Conf_ChgMaxVoltLessPillarMinVolt)
*Reason = 0x1C;
else if (TCUCurChgRecd_B.TCUChgStopType == 0x1c)
else if (TCUCurChgRecd_B.TCUChgStopType == 0x1d)
*Reason = 0x1D;
else if (ChargeStopType_B == eChgStop_PillarReady_BatVoltMismatchBcpVolt)
*Reason = 0x1E;
else if (CemMsg_B.Cem.Value.Brm == 1)
*Reason = 0x22;
else if (TCUCurChgRecd_B.TCUChgStopType == 0x22)
*Reason = 0x22;
else if (CemMsg_B.Cem.Value.Bcp == 1)
*Reason = 0x24;
else if (CemMsg_B.Cem.Value.Bro == 1)
......@@ -1848,7 +1965,7 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus_B.ElectLockVaildValue = 4; //参数下发为未完成
else if (TCUCurChgRecd_B.TCUChargeEnable == 1)
TCUCommuStatus_B.ElectLockVaildValue = 05;
else if (PillarError.Value.EleLock == 1)
else if (PillarError_B.Value.EleLock == 1)
TCUCommuStatus_B.ElectLockVaildValue = 07; //电子锁故障
else
TCUCommuStatus_B.ServiceContralVaildValue = 0;
......@@ -1856,9 +1973,9 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
if ((TCUCommuStatus_B.ServiceContralVaildValue == 0) || (TCUCommuStatus_B.ServiceContralVaildValue == 0x07))
{
if (TCUCommuStatus_B.ElectLockSetValue == 01)
LockSet(eSwSta_On);
LockSet_B(eSwSta_On);
else
LockSet(eSwSta_Off);
LockSet_B(eSwSta_Off);
}
}
}
......@@ -1898,7 +2015,7 @@ void ElectControlAck(u8 ChgNum)
Data[0] = 0;
Data[1] = TCUCommuStatus_B.ElectLockSetValue;
if (PillarError.Value.EleLock == 1)
if (PillarError_B.Value.EleLock == 1)
TCUCommuStatus_B.ServiceContralVaildValue = 0x07;
if (TCUCommuStatus_B.ElectLockVaildValue == 0)
......
......@@ -95,16 +95,16 @@ void ChgProShakeHand(StructChargeCtrl *pChargeCtrl)
{
ChargeStopType = eChgStop_Imd_IsolateError;
pChargeCtrl->CurProcess = eChgPro_ChgStop;
TCUCurChgRecd.TCUChgStopType = 0x1c;
TCUCurChgRecd.TCUChgStopType = 0x1d;
pChargeCtrl->Param = 0;
}
else
{
if(ShortCircuitCkeck == 0 )
/*if(ShortCircuitCkeck == 0 )
{
ShortCirCheckSet(eSwSta_On);
osDelay(1000);
if(eSwSta_On==DcOutPosGet_Uni())
if(eSwSta_On==DcOutNegGet_Uni())
{
ShortCircuitCkeck = 1;
ShortCirCheckSet(eSwSta_Off);
......@@ -118,7 +118,7 @@ void ChgProShakeHand(StructChargeCtrl *pChargeCtrl)
TCUCurChgRecd.TCUChgStopType = 0x22;
}
}
else
else*/
{
pChargeCtrl->CurProcess = eChgPro_ImdCheck;
pChargeCtrl->Param = 0;
......
......@@ -96,13 +96,13 @@ void ChgProShakeHand_B(StructChargeCtrl_B *pChargeCtrl)
{
ChargeStopType_B= eChgStop_Imd_IsolateError;
pChargeCtrl->CurProcess = eChgPro_B_ChgStop;
TCUCurChgRecd_B.TCUChgStopType = 0x1c;
TCUCurChgRecd_B.TCUChgStopType = 0x1d;
pChargeCtrl->Param = 0;
}
else
{
if(ShortCircuitCkeck == 0 )
/*if(ShortCircuitCkeck == 0 )
{
ShortCirCheckSet(eSwSta_On);
......@@ -121,7 +121,7 @@ void ChgProShakeHand_B(StructChargeCtrl_B *pChargeCtrl)
TCUCurChgRecd_B.TCUChgStopType = 0x22;
}
}
else
else*/
{
pChargeCtrl->CurProcess = eChgPro_B_ImdCheck;
pChargeCtrl->Param = 0;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论