提交 76c67dd4 作者: wysheng

删除不在使用的泄放电路控制

上级 ec098bd1
......@@ -158,7 +158,7 @@ EnumSwitchStatus DcOutGet(void)
return eSwSta_On;
return eSwSta_Off;
}*/
#if 0
void DrainResistInit(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
......@@ -180,6 +180,7 @@ void DrainResistSet(EnumSwitchStatus Set)
// else
// DrainResist_Port->BSRRL = DrainResist_Pin;
}
#endif
void ACContactorSet(EnumSwitchStatus Set)
{
if(eSwSta_Off == Set)
......@@ -489,6 +490,7 @@ EnumSwitchStatus DcOutGet_B(void)
*/
//B枪BMS供电 12V/24V 切换
#if 0
void DrainResistInit_B(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
......@@ -510,6 +512,7 @@ void DrainResistSet_B(EnumSwitchStatus Set)
else
DrainResist_B_Port->BSRRL = DrainResist_B_Pin;
}
#endif
void ImdWorkSet_B(EnumSwitchStatus Set)
{
......@@ -1015,8 +1018,8 @@ void DcOutSet_AB(EnumSwitchStatus Set)
}
void DrainResistSet_AB(EnumSwitchStatus Set)
{
DrainResistSet(Set);
DrainResistSet_B(Set);
//DrainResistSet(Set);
//DrainResistSet_B(Set);
}
void FanSet_AB(EnumSwitchStatus Set)
......
......@@ -262,8 +262,8 @@ extern void DcOutSet(EnumSwitchStatus Set);
extern EnumSwitchStatus DcOutPosGetSet(void);
//extern EnumSwitchStatus DcOutGet(void);
extern void DrainResistInit(void);
extern void DrainResistSet(EnumSwitchStatus Set);
//extern void DrainResistInit(void);
//extern void DrainResistSet(EnumSwitchStatus Set);
extern void ACContactorSet(EnumSwitchStatus Set);
......@@ -296,8 +296,8 @@ extern void DcOutSet_B(EnumSwitchStatus Set);
extern EnumSwitchStatus DcOutPosGetSet_B(void);
//extern EnumSwitchStatus DcOutGet_B(void);
extern void DrainResistInit_B(void);
extern void DrainResistSet_B(EnumSwitchStatus Set);
//extern void DrainResistInit_B(void);
//extern void DrainResistSet_B(EnumSwitchStatus Set);
extern void LockInit_B(void);
extern void LockSet_B(EnumSwitchStatus Set);
......
......@@ -77,7 +77,7 @@ void ChgProChgRun_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_On);
CcsChgEnable = 1;
......
......@@ -84,7 +84,7 @@ void ChgProChgRun(StructChargeCtrl * pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_On);
CcsChgEnable = 1;
......
......@@ -26,7 +26,7 @@ void ChgProChgBreak(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......@@ -161,7 +161,7 @@ void ChgProChgBreak(StructChargeCtrl *pChargeCtrl)
{
if((GetDcModuleVolt() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))//С60V
{
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
......
......@@ -24,7 +24,7 @@ void ChgProChgConfigure(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
......@@ -27,7 +27,7 @@ void ChgProChgIdle(StructChargeCtrl *pChargeCtrl)
FanSet(eSwSta_Off);
//붚없鍍친욥off--겜on
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
......@@ -35,7 +35,7 @@ void ChgProChgRecognize(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
#include "Thd_Charge.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_ImdJyc.h"
#include "Memory.h"
void ChgProChgRecognizeEx(StructChargeCtrl *pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CRM_SendTick = 0;
u8 CrmRecog;
u32 CcStatusChkTick = 0;
// if(ImdValue.Vaild)
// ImdWrite(0x0017, 0x0003);
memset(&BemMsg, 0, sizeof(BemMsg));
memset(&CemMsg, 0, sizeof(CemMsg));
memset(&BstMsg, 0, sizeof(BstMsg));
memset(&CstMsg, 0, sizeof(CstMsg));
BrmMsg.Valid = 0;
BemMsg.Valid = 0;
BmsCanInit();
osDelay(20);
// if(ImdValue.Vaild)
// ImdWrite(0x0017, 0x0003);
ChargeTimerSet(eSwSta_Off);
BmsPowerSet(eSwSta_On);
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
CrmRecog = 0x00;
CRM_Send(CrmRecog);
CRM_SendTick = GetSystemTick();
BrmMsg.RecvTick = GetSystemTick();
CemMsg.Cem.Value.Brm = 0;
while(1)
{
if((0 != CRM_SendTick) && ((GetSystemTick() - CRM_SendTick) > 250))
{
CRM_Send(CrmRecog);
CRM_SendTick = GetSystemTick();
}
ChgPgnRecv(&PgnRecv);
if(0 != BrmMsg.Valid)
{//接收到Brm
pChargeCtrl->CurProcess = eChgPro_ChgConfigure;
pChargeCtrl->Param = 0;
}
else if((GetSystemTick() - BrmMsg.RecvTick) < (MsgTimeout_5S/2))
{
}
else if((GetSystemTick() - BrmMsg.RecvTick) < (MsgTimeout_10S))
{
// BmsPowerSet(eSwSta_Off);
CRM_SendTick = 0;
}
else
{
pChargeCtrl->CurProcess = eChgPro_ChgRecognize;
pChargeCtrl->Param = 0;
}
if(0 == TCUCurChgRecd.TCUChargeEnable)
{//外部控制结束充电
ChargeStopType = eChgStop_Reco_UserCancle;
pChargeCtrl->CurProcess = eChgPro_ChgStop;
pChargeCtrl->Param = 0;
}
if(eSwSta_On != CcStatusRead())
{
if(0 == CcStatusChkTick)
CcStatusChkTick = GetSystemTick();
}
else
CcStatusChkTick = 0;
if((0 != CcStatusChkTick) && ((GetSystemTick() - CcStatusChkTick) > CC_CheckTick * 2))
{
CcStatusChkTick = 0;
ChargeStopType = eChgStop_Reco_CcOpen;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Emergency)
{
ChargeStopType = eChgStop_Reco_EmerClose;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Door)
{
ChargeStopType = eChgStop_Reco_DoorOpen;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Contactor)
{
ChargeStopType = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.UniContactor)
{
ChargeStopType = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.InVolt)
{
ChargeStopType = eChgStop_Reco_InVolt;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.NoDcmod)
{
ChargeStopType = eChgStop_Reco_NoDcmod;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Meter)
{
ChargeStopType = eChgStop_Reco_Meter;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(eChgPro_ChgRecognizeEx != pChargeCtrl->CurProcess)
return;
osDelay(25);
}
}
#include "Thd_Charge.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_ImdJyc.h"
#include "Memory.h"
void ChgProChgRecognizeEx(StructChargeCtrl *pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CRM_SendTick = 0;
u8 CrmRecog;
u32 CcStatusChkTick = 0;
// if(ImdValue.Vaild)
// ImdWrite(0x0017, 0x0003);
memset(&BemMsg, 0, sizeof(BemMsg));
memset(&CemMsg, 0, sizeof(CemMsg));
memset(&BstMsg, 0, sizeof(BstMsg));
memset(&CstMsg, 0, sizeof(CstMsg));
BrmMsg.Valid = 0;
BemMsg.Valid = 0;
BmsCanInit();
osDelay(20);
// if(ImdValue.Vaild)
// ImdWrite(0x0017, 0x0003);
ChargeTimerSet(eSwSta_Off);
BmsPowerSet(eSwSta_On);
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
CrmRecog = 0x00;
CRM_Send(CrmRecog);
CRM_SendTick = GetSystemTick();
BrmMsg.RecvTick = GetSystemTick();
CemMsg.Cem.Value.Brm = 0;
while(1)
{
if((0 != CRM_SendTick) && ((GetSystemTick() - CRM_SendTick) > 250))
{
CRM_Send(CrmRecog);
CRM_SendTick = GetSystemTick();
}
ChgPgnRecv(&PgnRecv);
if(0 != BrmMsg.Valid)
{//接收到Brm
pChargeCtrl->CurProcess = eChgPro_ChgConfigure;
pChargeCtrl->Param = 0;
}
else if((GetSystemTick() - BrmMsg.RecvTick) < (MsgTimeout_5S/2))
{
}
else if((GetSystemTick() - BrmMsg.RecvTick) < (MsgTimeout_10S))
{
// BmsPowerSet(eSwSta_Off);
CRM_SendTick = 0;
}
else
{
pChargeCtrl->CurProcess = eChgPro_ChgRecognize;
pChargeCtrl->Param = 0;
}
if(0 == TCUCurChgRecd.TCUChargeEnable)
{//外部控制结束充电
ChargeStopType = eChgStop_Reco_UserCancle;
pChargeCtrl->CurProcess = eChgPro_ChgStop;
pChargeCtrl->Param = 0;
}
if(eSwSta_On != CcStatusRead())
{
if(0 == CcStatusChkTick)
CcStatusChkTick = GetSystemTick();
}
else
CcStatusChkTick = 0;
if((0 != CcStatusChkTick) && ((GetSystemTick() - CcStatusChkTick) > CC_CheckTick * 2))
{
CcStatusChkTick = 0;
ChargeStopType = eChgStop_Reco_CcOpen;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Emergency)
{
ChargeStopType = eChgStop_Reco_EmerClose;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Door)
{
ChargeStopType = eChgStop_Reco_DoorOpen;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Contactor)
{
ChargeStopType = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.UniContactor)
{
ChargeStopType = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.InVolt)
{
ChargeStopType = eChgStop_Reco_InVolt;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.NoDcmod)
{
ChargeStopType = eChgStop_Reco_NoDcmod;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError.Value.Meter)
{
ChargeStopType = eChgStop_Reco_Meter;
pChargeCtrl->CurProcess = eChgPro_ChgBreak;
pChargeCtrl->Param = 0;
}
if(eChgPro_ChgRecognizeEx != pChargeCtrl->CurProcess)
return;
osDelay(25);
}
}
......@@ -27,7 +27,7 @@ void ChgProChgStart(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
if((eChgVer_2011 != UserParam.ChgVer) && (eChgVer_2011 != ChgVer))
DcOutSet(eSwSta_On);
else
......
......@@ -31,7 +31,7 @@ void ChgProChgStop(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
//DcOutSet(eSwSta_On);//有可能是充通信失败等待过来,保存原来状态
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......@@ -135,7 +135,7 @@ void ChgProChgStop(StructChargeCtrl *pChargeCtrl)
if((GetDcModuleCurrt() < 50) || ((GetSystemTick() - CurrtCheckTick) > 120))
{//小于5A
DcOutSet(eSwSta_Off);//k1 k2
DrainResistSet(eSwSta_On);//泄放电阻
//DrainResistSet(eSwSta_On);//泄放电阻
DrainResistTick = GetSystemTick();
CurrtCheckTick = 0;
}
......@@ -145,7 +145,7 @@ void ChgProChgStop(StructChargeCtrl *pChargeCtrl)
{
if((GetDcModuleVolt() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))//小于60V
{
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
......
......@@ -45,7 +45,7 @@ void ChgProCommBeak(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
//DcOutSet(eSwSta_On);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
......@@ -29,7 +29,7 @@ void ChgProCommError(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
//DcOutSet(eSwSta_On);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......@@ -75,7 +75,7 @@ void ChgProCommError(StructChargeCtrl *pChargeCtrl)
if((GetDcModuleCurrt() < 50) || ((GetSystemTick() - CurrtCheckTick) > 120))
{//小于5A
DcOutSet(eSwSta_Off);//k1 k2
DrainResistSet(eSwSta_On);//泄放电阻
//DrainResistSet(eSwSta_On);//泄放电阻
DrainResistTick = GetSystemTick();
CurrtCheckTick = 0;
}
......@@ -85,7 +85,7 @@ void ChgProCommError(StructChargeCtrl *pChargeCtrl)
{
if((GetDcModuleVolt() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))
{//小于60V
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
......
......@@ -171,7 +171,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
ImdCheckSet(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -192,7 +192,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
ChargeError.Value.IsolateError = 0;//绝缘故障
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
ImdCheckSet(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -203,7 +203,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
ChargeError.Value.IsolateError = 0;//绝缘故障
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
ImdCheckSet(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -214,7 +214,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
ChargeError.Value.IsolateError = 1;//绝缘故障
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
ImdCheckSet(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -224,7 +224,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
case eImdStep_Bleeder:
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);//关直流模块输出
DcOutSet(eSwSta_Off);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
ImdCheckSet(eSwSta_Off);
......@@ -233,14 +233,14 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
if((GetSystemTick() - ImdTimeout) > BleederCheckTimeOut)
{//超时
ChargeError.Value.DrainResist = 1;//泄放电阻警告
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
*pImdChckStep = eImdStep_Stop;
}
if(FALSE != GetBleederResult())
{
ChargeError.Value.DrainResist = 0;//泄放电阻警告
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
*pImdChckStep = eImdStep_Stop;
}
break;
......@@ -249,7 +249,7 @@ void ImdProcess(EnumImdChkStep *pImdChckStep)
DcOutSet(eSwSta_Off);
ImdWorkSet(eSwSta_Off);
ImdCheckSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
*pImdChckStep = eImdStep_Finish;
break;
case eImdStep_Finish:
......@@ -287,7 +287,7 @@ void ChgProImdCheck(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_On);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
CHM_Send();
......
......@@ -61,7 +61,7 @@ void ChgProShakeHand(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_On);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
......@@ -26,7 +26,7 @@ void ChgProWaitBmsReady(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......
......@@ -48,7 +48,7 @@ void ChgProWaitPillarReady(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
CroStarus = 0x00;
......
......@@ -62,7 +62,7 @@ void ChgProWaitVoltChgRun(StructChargeCtrl *pChargeCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
if((eChgVer_2011 != UserParam.ChgVer) && (eChgVer_2011 != ChgVer))
DcOutSet(eSwSta_On);
else
......
#include "Thd_Charge_B.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_Meter.h"
void ChgProChgBreak_B(StructChargeCtrl_B*pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CST_SendTick = 0;
u32 DrainResistTick = 0;
u8 ChgEndFlag = 0;
u32 DtcSendTick = 0;
u32 DtcSendCnt = 0;
u32 Dtc = 0;
u32 CstSendCnt = 0;
BmsCanInit_B();
osDelay(5);
ChargeTimerSet_B(eSwSta_Off);
BmsPowerSet_B(eSwSta_On);
//BmsPowerSet_B(eSwSta_Off);
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_On);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
CST_Send_B(&CstMsg_B);
CST_SendTick = GetSystemTick();
CstSendCnt = 0;
DtcSendCnt = 0;
DtcSendTick = GetSystemTick();
DrainResistTick = GetSystemTick();
Dtc = 0;
if((eChgStop_Shake_CcOpen == ChargeStopType_B)
|| (eChgStop_Imd_CcOpen == ChargeStopType_B)
|| (eChgStop_Reco_CcOpen == ChargeStopType_B)
|| (eChgStop_Conf_CcOpen == ChargeStopType_B)
|| (eChgStop_BmsReady_CcOpen == ChargeStopType_B)
|| (eChgStop_PillarReady_CcOpen == ChargeStopType_B)
|| (eChgStop_Start_CcOpen == ChargeStopType_B)
|| (eChgStop_Run_CcOpen == ChargeStopType_B)
|| (eChgStop_ComBreak_CcOpen == ChargeStopType_B))
{
Dtc = 0x01380DC2;
}
if((eChgStop_Shake_EmerClose == ChargeStopType_B)
|| (eChgStop_Imd_EmerClose == ChargeStopType_B)
|| (eChgStop_Reco_EmerClose == ChargeStopType_B)
|| (eChgStop_Conf_EmerClose == ChargeStopType_B)
|| (eChgStop_BmsReady_EmerClose == ChargeStopType_B)
|| (eChgStop_PillarReady_EmerClose == ChargeStopType_B)
|| (eChgStop_Start_EmerClose == ChargeStopType_B)
|| (eChgStop_Run_EmerClose == ChargeStopType_B)
|| (eChgStop_ComBreak_EmerClose == ChargeStopType_B))
{
Dtc = 0x01480DC2;
}
if((eChgStop_Shake_DoorOpen== ChargeStopType_B)
|| (eChgStop_Imd_DoorOpen == ChargeStopType_B)
|| (eChgStop_Reco_DoorOpen == ChargeStopType_B)
|| (eChgStop_Conf_DoorOpen == ChargeStopType_B)
|| (eChgStop_BmsReady_DoorOpen == ChargeStopType_B)
|| (eChgStop_PillarReady_DoorOpen == ChargeStopType_B)
|| (eChgStop_Start_DoorOpen == ChargeStopType_B)
|| (eChgStop_Run_DoorOpen == ChargeStopType_B)
|| (eChgStop_ComBreak_DoorOpen == ChargeStopType_B))
{
Dtc = 0x01500DC2;//10
}
if((eChgStop_Shake_Contactor == ChargeStopType_B)
|| (eChgStop_Imd_Contactor == ChargeStopType_B)
|| (eChgStop_Reco_Contactor == ChargeStopType_B)
|| (eChgStop_Conf_Contactor == ChargeStopType_B)
|| (eChgStop_BmsReady_Contactor == ChargeStopType_B)
|| (eChgStop_PillarReady_Contactor == ChargeStopType_B)
|| (eChgStop_Start_Contactor == ChargeStopType_B)
|| (eChgStop_Run_Contactor == ChargeStopType_B)
|| (eChgStop_ComBreak_Contactor == ChargeStopType_B))
{
Dtc = 0x01580DC2;//11
}
if((eChgStop_Shake_InVolt == ChargeStopType_B)
|| (eChgStop_Imd_InVolt== ChargeStopType_B)
|| (eChgStop_Reco_InVolt == ChargeStopType_B)
|| (eChgStop_Conf_InVolt == ChargeStopType_B)
|| (eChgStop_BmsReady_InVolt == ChargeStopType_B)
|| (eChgStop_PillarReady_InVolt == ChargeStopType_B)
|| (eChgStop_Start_InVolt == ChargeStopType_B)
|| (eChgStop_Run_InVolt == ChargeStopType_B)
|| (eChgStop_ComBreak_InVolt == ChargeStopType_B))
{
Dtc = 0x01600DC2;//12
}
while(1)
{
if((0 != CST_SendTick) && ((GetSystemTick() - CST_SendTick) > 10))
{
CST_Send_B(&CstMsg_B);
CST_SendTick = GetSystemTick();
CstSendCnt++;
if(CstSendCnt > 50)
CST_SendTick = 0;
}
if((0 != DtcSendTick) && ((GetSystemTick() - DtcSendTick) > 500))
{
DtcSendTick = GetSystemTick();
DM1_Send_B(Dtc);
DM3_Send_B(1);
DtcSendCnt++;
if(DtcSendCnt > 5)
{
BmsPowerSet_B(eSwSta_Off);
DtcSendTick = 0;
}
}
ChgPgnRecv_B(&PgnRecv);
if(0 != DrainResistTick)
{
if((GetDcModuleVolt_B() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))//С60V
{
DrainResistSet_B(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
}
if((0 != ChgEndFlag) && (DtcSendCnt > 5))
{
LockSet_B(eSwSta_Off);
FanSet_B(eSwSta_Off);
}
if((0 == TCUCurChgRecd_B.TCUChargeEnable) && (0 != ChgEndFlag) && (DtcSendCnt > 5))
{//ⲿƽ
pChargeCtrl->CurProcess = eChgPro_B_ChgIdle;
pChargeCtrl->Param = 0;
}
if(eChgPro_B_ChgBreak != pChargeCtrl->CurProcess)
return;
osDelay(5);
}
}
#include "Thd_Charge_B.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_Meter.h"
void ChgProChgBreak_B(StructChargeCtrl_B*pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CST_SendTick = 0;
u32 DrainResistTick = 0;
u8 ChgEndFlag = 0;
u32 DtcSendTick = 0;
u32 DtcSendCnt = 0;
u32 Dtc = 0;
u32 CstSendCnt = 0;
BmsCanInit_B();
osDelay(5);
ChargeTimerSet_B(eSwSta_Off);
BmsPowerSet_B(eSwSta_On);
//BmsPowerSet_B(eSwSta_Off);
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_On);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
CST_Send_B(&CstMsg_B);
CST_SendTick = GetSystemTick();
CstSendCnt = 0;
DtcSendCnt = 0;
DtcSendTick = GetSystemTick();
DrainResistTick = GetSystemTick();
Dtc = 0;
if((eChgStop_Shake_CcOpen == ChargeStopType_B)
|| (eChgStop_Imd_CcOpen == ChargeStopType_B)
|| (eChgStop_Reco_CcOpen == ChargeStopType_B)
|| (eChgStop_Conf_CcOpen == ChargeStopType_B)
|| (eChgStop_BmsReady_CcOpen == ChargeStopType_B)
|| (eChgStop_PillarReady_CcOpen == ChargeStopType_B)
|| (eChgStop_Start_CcOpen == ChargeStopType_B)
|| (eChgStop_Run_CcOpen == ChargeStopType_B)
|| (eChgStop_ComBreak_CcOpen == ChargeStopType_B))
{
Dtc = 0x01380DC2;
}
if((eChgStop_Shake_EmerClose == ChargeStopType_B)
|| (eChgStop_Imd_EmerClose == ChargeStopType_B)
|| (eChgStop_Reco_EmerClose == ChargeStopType_B)
|| (eChgStop_Conf_EmerClose == ChargeStopType_B)
|| (eChgStop_BmsReady_EmerClose == ChargeStopType_B)
|| (eChgStop_PillarReady_EmerClose == ChargeStopType_B)
|| (eChgStop_Start_EmerClose == ChargeStopType_B)
|| (eChgStop_Run_EmerClose == ChargeStopType_B)
|| (eChgStop_ComBreak_EmerClose == ChargeStopType_B))
{
Dtc = 0x01480DC2;
}
if((eChgStop_Shake_DoorOpen== ChargeStopType_B)
|| (eChgStop_Imd_DoorOpen == ChargeStopType_B)
|| (eChgStop_Reco_DoorOpen == ChargeStopType_B)
|| (eChgStop_Conf_DoorOpen == ChargeStopType_B)
|| (eChgStop_BmsReady_DoorOpen == ChargeStopType_B)
|| (eChgStop_PillarReady_DoorOpen == ChargeStopType_B)
|| (eChgStop_Start_DoorOpen == ChargeStopType_B)
|| (eChgStop_Run_DoorOpen == ChargeStopType_B)
|| (eChgStop_ComBreak_DoorOpen == ChargeStopType_B))
{
Dtc = 0x01500DC2;//10
}
if((eChgStop_Shake_Contactor == ChargeStopType_B)
|| (eChgStop_Imd_Contactor == ChargeStopType_B)
|| (eChgStop_Reco_Contactor == ChargeStopType_B)
|| (eChgStop_Conf_Contactor == ChargeStopType_B)
|| (eChgStop_BmsReady_Contactor == ChargeStopType_B)
|| (eChgStop_PillarReady_Contactor == ChargeStopType_B)
|| (eChgStop_Start_Contactor == ChargeStopType_B)
|| (eChgStop_Run_Contactor == ChargeStopType_B)
|| (eChgStop_ComBreak_Contactor == ChargeStopType_B))
{
Dtc = 0x01580DC2;//11
}
if((eChgStop_Shake_InVolt == ChargeStopType_B)
|| (eChgStop_Imd_InVolt== ChargeStopType_B)
|| (eChgStop_Reco_InVolt == ChargeStopType_B)
|| (eChgStop_Conf_InVolt == ChargeStopType_B)
|| (eChgStop_BmsReady_InVolt == ChargeStopType_B)
|| (eChgStop_PillarReady_InVolt == ChargeStopType_B)
|| (eChgStop_Start_InVolt == ChargeStopType_B)
|| (eChgStop_Run_InVolt == ChargeStopType_B)
|| (eChgStop_ComBreak_InVolt == ChargeStopType_B))
{
Dtc = 0x01600DC2;//12
}
while(1)
{
if((0 != CST_SendTick) && ((GetSystemTick() - CST_SendTick) > 10))
{
CST_Send_B(&CstMsg_B);
CST_SendTick = GetSystemTick();
CstSendCnt++;
if(CstSendCnt > 50)
CST_SendTick = 0;
}
if((0 != DtcSendTick) && ((GetSystemTick() - DtcSendTick) > 500))
{
DtcSendTick = GetSystemTick();
DM1_Send_B(Dtc);
DM3_Send_B(1);
DtcSendCnt++;
if(DtcSendCnt > 5)
{
BmsPowerSet_B(eSwSta_Off);
DtcSendTick = 0;
}
}
ChgPgnRecv_B(&PgnRecv);
if(0 != DrainResistTick)
{
if((GetDcModuleVolt_B() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))//С60V
{
//DrainResistSet_B(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
}
if((0 != ChgEndFlag) && (DtcSendCnt > 5))
{
LockSet_B(eSwSta_Off);
FanSet_B(eSwSta_Off);
}
if((0 == TCUCurChgRecd_B.TCUChargeEnable) && (0 != ChgEndFlag) && (DtcSendCnt > 5))
{//ⲿƽ
pChargeCtrl->CurProcess = eChgPro_B_ChgIdle;
pChargeCtrl->Param = 0;
}
if(eChgPro_B_ChgBreak != pChargeCtrl->CurProcess)
return;
osDelay(5);
}
}
......@@ -24,7 +24,7 @@ void ChgProChgConfigure_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
......@@ -25,7 +25,7 @@ void ChgProChgIdle_B(StructChargeCtrl_B *pChargeCtrl)
FanSet_B(eSwSta_Off);
//붚없鍍친욥off--겜on
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
......@@ -35,7 +35,7 @@ void ChgProChgRecognize_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
#include "Thd_Charge_B.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_ImdJyc.h"
#include "Memory.h"
void ChgProChgRecognizeEx_B(StructChargeCtrl_B *pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CRM_SendTick = 0;
u8 CrmRecog;
u32 CcStatusChkTick = 0;
// if(ImdValue_B.Vaild)
// ImdWrite_B(0x0017, 0x0003);
memset(&BemMsg_B, 0, sizeof(BemMsg_B));
memset(&CemMsg_B, 0, sizeof(CemMsg_B));
memset(&BstMsg_B, 0, sizeof(BstMsg_B));
memset(&CstMsg_B, 0, sizeof(CstMsg_B));
BrmMsg_B.Valid = 0;
BemMsg_B.Valid = 0;
BmsCanInit_B();
osDelay(20);
// if(ImdValue_B.Vaild)
// ImdWrite_B(0x0017, 0x0003);
ChargeTimerSet_B(eSwSta_Off);
BmsPowerSet_B(eSwSta_On);
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
CrmRecog = 0x00;
CRM_Send_B(CrmRecog);
CRM_SendTick = GetSystemTick();
BrmMsg_B.RecvTick = GetSystemTick();
CemMsg_B.Cem.Value.Brm = 0;
while(1)
{
if((0 != CRM_SendTick) && ((GetSystemTick() - CRM_SendTick) > 250))
{
CRM_Send_B(CrmRecog);
CRM_SendTick = GetSystemTick();
}
ChgPgnRecv_B(&PgnRecv);
if(0 != BrmMsg_B.Valid)
{//接收到Brm
pChargeCtrl->CurProcess = eChgPro_B_ChgConfigure;
pChargeCtrl->Param = 0;
}
else if((GetSystemTick() - BrmMsg_B.RecvTick) < (MsgTimeout_B_5S/2))
{
}
else if((GetSystemTick() - BrmMsg_B.RecvTick) < (MsgTimeout_B_10S))
{
//BmsPowerSet_B(eSwSta_Off);
CRM_SendTick = 0;
}
else
{
pChargeCtrl->CurProcess = eChgPro_B_ChgRecognize;
pChargeCtrl->Param = 0;
}
if(0 == TCUCurChgRecd_B.TCUChargeEnable)
{//外部控制结束充电
ChargeStopType_B = eChgStop_Reco_UserCancle;
pChargeCtrl->CurProcess = eChgPro_B_ChgStop;
pChargeCtrl->Param = 0;
}
if(eSwSta_On != CcStatusRead_B())
{
if(0 == CcStatusChkTick)
CcStatusChkTick = GetSystemTick();
}
else
CcStatusChkTick = 0;
if((0 != CcStatusChkTick) && ((GetSystemTick() - CcStatusChkTick) > CC_CheckTick_B * 2))
{
CcStatusChkTick = 0;
ChargeStopType_B = eChgStop_Reco_CcOpen;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Emergency)
{
ChargeStopType_B = eChgStop_Reco_EmerClose;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Door)
{
ChargeStopType_B = eChgStop_Reco_DoorOpen;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Contactor)
{
ChargeStopType_B = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.UniContactor)
{
ChargeStopType_B = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.InVolt)
{
ChargeStopType_B = eChgStop_Reco_InVolt;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.NoDcmod)
{
ChargeStopType_B = eChgStop_Reco_NoDcmod;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Meter)
{
ChargeStopType_B = eChgStop_Reco_Meter;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(eChgPro_B_ChgRecognizeEx != pChargeCtrl->CurProcess)
return;
osDelay(25);
}
}
#include "Thd_Charge_B.h"
#include "Drv_BoardIo.h"
#include "Drv_DcModule.h"
#include "Drv_BmsComm.h"
#include "Drv_ImdJyc.h"
#include "Memory.h"
void ChgProChgRecognizeEx_B(StructChargeCtrl_B *pChargeCtrl)
{
StructPgnRecv PgnRecv;
u32 CRM_SendTick = 0;
u8 CrmRecog;
u32 CcStatusChkTick = 0;
// if(ImdValue_B.Vaild)
// ImdWrite_B(0x0017, 0x0003);
memset(&BemMsg_B, 0, sizeof(BemMsg_B));
memset(&CemMsg_B, 0, sizeof(CemMsg_B));
memset(&BstMsg_B, 0, sizeof(BstMsg_B));
memset(&CstMsg_B, 0, sizeof(CstMsg_B));
BrmMsg_B.Valid = 0;
BemMsg_B.Valid = 0;
BmsCanInit_B();
osDelay(20);
// if(ImdValue_B.Vaild)
// ImdWrite_B(0x0017, 0x0003);
ChargeTimerSet_B(eSwSta_Off);
BmsPowerSet_B(eSwSta_On);
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
CrmRecog = 0x00;
CRM_Send_B(CrmRecog);
CRM_SendTick = GetSystemTick();
BrmMsg_B.RecvTick = GetSystemTick();
CemMsg_B.Cem.Value.Brm = 0;
while(1)
{
if((0 != CRM_SendTick) && ((GetSystemTick() - CRM_SendTick) > 250))
{
CRM_Send_B(CrmRecog);
CRM_SendTick = GetSystemTick();
}
ChgPgnRecv_B(&PgnRecv);
if(0 != BrmMsg_B.Valid)
{//接收到Brm
pChargeCtrl->CurProcess = eChgPro_B_ChgConfigure;
pChargeCtrl->Param = 0;
}
else if((GetSystemTick() - BrmMsg_B.RecvTick) < (MsgTimeout_B_5S/2))
{
}
else if((GetSystemTick() - BrmMsg_B.RecvTick) < (MsgTimeout_B_10S))
{
//BmsPowerSet_B(eSwSta_Off);
CRM_SendTick = 0;
}
else
{
pChargeCtrl->CurProcess = eChgPro_B_ChgRecognize;
pChargeCtrl->Param = 0;
}
if(0 == TCUCurChgRecd_B.TCUChargeEnable)
{//外部控制结束充电
ChargeStopType_B = eChgStop_Reco_UserCancle;
pChargeCtrl->CurProcess = eChgPro_B_ChgStop;
pChargeCtrl->Param = 0;
}
if(eSwSta_On != CcStatusRead_B())
{
if(0 == CcStatusChkTick)
CcStatusChkTick = GetSystemTick();
}
else
CcStatusChkTick = 0;
if((0 != CcStatusChkTick) && ((GetSystemTick() - CcStatusChkTick) > CC_CheckTick_B * 2))
{
CcStatusChkTick = 0;
ChargeStopType_B = eChgStop_Reco_CcOpen;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Emergency)
{
ChargeStopType_B = eChgStop_Reco_EmerClose;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Door)
{
ChargeStopType_B = eChgStop_Reco_DoorOpen;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Contactor)
{
ChargeStopType_B = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.UniContactor)
{
ChargeStopType_B = eChgStop_Reco_Contactor;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.InVolt)
{
ChargeStopType_B = eChgStop_Reco_InVolt;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.NoDcmod)
{
ChargeStopType_B = eChgStop_Reco_NoDcmod;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(0 != PillarError_B.Value.Meter)
{
ChargeStopType_B = eChgStop_Reco_Meter;
pChargeCtrl->CurProcess = eChgPro_B_ChgBreak;
pChargeCtrl->Param = 0;
}
if(eChgPro_B_ChgRecognizeEx != pChargeCtrl->CurProcess)
return;
osDelay(25);
}
}
......@@ -27,7 +27,7 @@ void ChgProChgStart_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
if((eChgVer_2011 != UserParam.ChgVer) && (eChgVer_2011 != ChgVer_B))
DcOutSet_B(eSwSta_On);
else
......
......@@ -31,7 +31,7 @@ void ChgProChgStop_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
//DcOutSet_B(eSwSta_On);//有可能是充通信失败等待过来,保存原来状态
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......@@ -135,7 +135,7 @@ void ChgProChgStop_B(StructChargeCtrl_B *pChargeCtrl)
if((GetDcModuleCurrt_B() < 50) || ((GetSystemTick() - CurrtCheckTick) > 120))
{//小于5A
DcOutSet_B(eSwSta_Off);//k1 k2
DrainResistSet_B(eSwSta_On);//泄放电阻
//DrainResistSet_B(eSwSta_On);//泄放电阻
DrainResistTick = GetSystemTick();
CurrtCheckTick = 0;
}
......@@ -145,7 +145,7 @@ void ChgProChgStop_B(StructChargeCtrl_B *pChargeCtrl)
{
if((GetDcModuleVolt_B() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))//小于60V
{
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
......
......@@ -45,7 +45,7 @@ void ChgProCommBeak_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
//DcOutSet_B(eSwSta_On);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
......@@ -29,7 +29,7 @@ void ChgProCommError_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
//DcOutSet_B(eSwSta_On);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......@@ -75,7 +75,7 @@ void ChgProCommError_B(StructChargeCtrl_B *pChargeCtrl)
if((GetDcModuleCurrt_B() < 50) || ((GetSystemTick() - CurrtCheckTick) > 120))
{//小于5A
DcOutSet_B(eSwSta_Off);//k1 k2
DrainResistSet_B(eSwSta_On);//泄放电阻
//DrainResistSet_B(eSwSta_On);//泄放电阻
DrainResistTick = GetSystemTick();
CurrtCheckTick = 0;
}
......@@ -85,7 +85,7 @@ void ChgProCommError_B(StructChargeCtrl_B *pChargeCtrl)
{
if((GetDcModuleVolt_B() < 600) || ((GetSystemTick() - DrainResistTick) > 4000))
{//小于60V
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
ChgEndFlag = 1;
DrainResistTick = 0;
}
......
......@@ -171,7 +171,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
ImdCheckSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -192,7 +192,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
ChargeError_B.Value.IsolateError = 0;//绝缘故障
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
ImdCheckSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -203,7 +203,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
ChargeError_B.Value.IsolateError = 0;//绝缘故障
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
ImdCheckSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -214,7 +214,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
ChargeError_B.Value.IsolateError = 1;//绝缘故障
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);//关直流模块输出
osDelay(100);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
ImdCheckSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Bleeder;
ImdTimeout = 0;
......@@ -224,7 +224,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
case eImdStep_Bleeder:
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);//关直流模块输出
DcOutSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
ImdCheckSet_B(eSwSta_Off);
......@@ -233,14 +233,14 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
if((GetSystemTick() - ImdTimeout) > BleederCheckTimeOut)
{//超时
ChargeError_B.Value.DrainResist = 1;//泄放电阻警告
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Stop;
}
if(FALSE != GetBleederResult_B())
{
ChargeError_B.Value.DrainResist = 0;//泄放电阻警告
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Stop;
}
break;
......@@ -249,7 +249,7 @@ void ImdProcess_B(EnumImdChkStep *pImdChckStep)
DcOutSet_B(eSwSta_Off);
ImdWorkSet_B(eSwSta_Off);
ImdCheckSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
*pImdChckStep = eImdStep_Finish;
break;
case eImdStep_Finish:
......@@ -287,7 +287,7 @@ void ChgProImdCheck_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_On);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
CHM_Send_B();
......
......@@ -64,7 +64,7 @@ void ChgProShakeHand_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_On);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
......@@ -26,7 +26,7 @@ void ChgProWaitBmsReady_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......
......@@ -48,7 +48,7 @@ void ChgProWaitPillarReady_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
CroStarus = 0x00;
......
......@@ -62,7 +62,7 @@ void ChgProWaitVoltChgRun_B(StructChargeCtrl_B *pChargeCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
if((eChgVer_2011 != UserParam.ChgVer) && (eChgVer_2011 != ChgVer_B))
DcOutSet_B(eSwSta_On);
else
......
......@@ -59,7 +59,7 @@ void LcdProFactoryChgInfor_B(StructLcdCtrl *pLcdCtrl)
LockSet_B(eSwSta_On);
FanSet_B(eSwSta_On);
ImdWorkSet_B(eSwSta_On);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_On);
ScreenChkTick = GetSystemTick();
......@@ -122,7 +122,7 @@ void LcdProFactoryChgInfor_B(StructLcdCtrl *pLcdCtrl)
LockSet_B(eSwSta_Off);
FanSet_B(eSwSta_Off);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
return;
......
......@@ -51,7 +51,7 @@ void LcdProFactoryChgSet_B(StructLcdCtrl *pLcdCtrl)
LockSet_B(eSwSta_Off);
FanSet_B(eSwSta_Off);
ImdWorkSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
DcOutSet_B(eSwSta_Off);
DcModuleSet_B(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage_B.ValidNum);
......@@ -79,7 +79,7 @@ void LcdProFactoryChgSet_B(StructLcdCtrl *pLcdCtrl)
{
case BtnFactoryChgSet_B_Start:
TimeOutTick = GetSystemTick();
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
ImdWorkSet_B(eSwSta_On);
osDelay(200);
DcModuleSet_B(eSwSta_On, NeedVolt, NeedCurrt);
......@@ -91,21 +91,21 @@ void LcdProFactoryChgSet_B(StructLcdCtrl *pLcdCtrl)
case BtnFactoryChgSet_B_Next:
TimeOutTick = GetSystemTick();
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
pLcdCtrl->CurScreen = eLcdPro_FactoryDcModSet;
pLcdCtrl->Param = 0;
break;
case BtnFactoryChgSet_B_Last:
TimeOutTick = GetSystemTick();
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
pLcdCtrl->CurScreen = eLcdPro_B_FactoryTestTwo;
pLcdCtrl->Param = 0;
break;
default:
LcdShowPage(ScrnFactoryChgSet_B);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
break;
}
}
......@@ -130,7 +130,7 @@ void LcdProFactoryChgSet_B(StructLcdCtrl *pLcdCtrl)
if((GetSystemTick() - TimeOutTick) > TimeOutTime)
{
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
CloseKeyBoard();
pLcdCtrl->CurScreen = eLcdPro_MainMenu;
pLcdCtrl->Param = 0;
......
......@@ -166,7 +166,7 @@ void LcdProFactoryTest_B(StructLcdCtrl *pLcdCtrl)
FanSetExt_Top(eSwSta_Off);
ChgLedSet_B(eSwSta_Off);
IdleLedSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
ScreenChkTick = GetSystemTick();
Update.RePaintTick = GetSystemTick();
......@@ -238,10 +238,10 @@ void LcdProFactoryTest_B(StructLcdCtrl *pLcdCtrl)
ChgLedSet_B(eSwSta_On);
break;
case BtnFactoryTest_B_DrainResistOff:
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
break;
case BtnFactoryTest_B_DrainResistOn:
DrainResistSet_B(eSwSta_On);
//DrainResistSet_B(eSwSta_On);
break;
case BtnFactoryTest_B_eLockOff:
LockSet_B(eSwSta_Off);
......@@ -274,7 +274,7 @@ void LcdProFactoryTest_B(StructLcdCtrl *pLcdCtrl)
FanSetExt_Top(eSwSta_Off);
ChgLedSet_B(eSwSta_Off);
IdleLedSet(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
return;
}
......
......@@ -165,7 +165,7 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
IdleLedSet_B(eSwSta_Off);
//DcOutNegSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
LockSet_B(eSwSta_Off);
ScreenChkTick = GetSystemTick();
......@@ -260,7 +260,7 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
{
IdleLedSet_B(eSwSta_Off);
//DcOutNegSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
//DrainResistSet_B(eSwSta_Off);
LockSet_B(eSwSta_Off);
return;
}
......
......@@ -59,7 +59,7 @@ void LcdProFactoryChgInfor(StructLcdCtrl *pLcdCtrl)
LockSet(eSwSta_On);
FanSet(eSwSta_On);
ImdWorkSet(eSwSta_On);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_On);
ScreenChkTick = GetSystemTick();
......@@ -122,7 +122,7 @@ void LcdProFactoryChgInfor(StructLcdCtrl *pLcdCtrl)
LockSet(eSwSta_Off);
FanSet(eSwSta_Off);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
return;
......
......@@ -50,7 +50,7 @@ void LcdProFactoryChgSet(StructLcdCtrl *pLcdCtrl)
LockSet(eSwSta_Off);
FanSet(eSwSta_Off);
ImdWorkSet(eSwSta_Off);
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
DcOutSet(eSwSta_Off);
DcModuleSet(eSwSta_Off, DcModuleAbility.MinVolt, DcModuleAbility.MinCurrt*DcModuleManage.ValidNum);
......@@ -78,7 +78,7 @@ void LcdProFactoryChgSet(StructLcdCtrl *pLcdCtrl)
{
case BtnFactoryChgSet_Start:
TimeOutTick = GetSystemTick();
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
ImdWorkSet(eSwSta_On);
osDelay(200);
DcModuleSet(eSwSta_On, NeedVolt, NeedCurrt);
......@@ -90,14 +90,14 @@ void LcdProFactoryChgSet(StructLcdCtrl *pLcdCtrl)
case BtnFactoryChgSet_Next:
TimeOutTick = GetSystemTick();
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
pLcdCtrl->CurScreen = eLcdPro_B_FactoryTest;
pLcdCtrl->Param = 0;
break;
case BtnFactoryChgSet_Last:
TimeOutTick = GetSystemTick();
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
pLcdCtrl->CurScreen = eLcdPro_FactoryTestTwo;
pLcdCtrl->Param = 0;
break;
......@@ -128,7 +128,7 @@ void LcdProFactoryChgSet(StructLcdCtrl *pLcdCtrl)
if((GetSystemTick() - TimeOutTick) > TimeOutTime)
{
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
CloseKeyBoard();
pLcdCtrl->CurScreen = eLcdPro_MainMenu;
pLcdCtrl->Param = 0;
......
......@@ -166,7 +166,7 @@ void LcdProFactoryTest(StructLcdCtrl *pLcdCtrl)
FanSetExt(eSwSta_Off);
ChgLedSet(eSwSta_Off);
IdleLedSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
ScreenChkTick = GetSystemTick();
Update.RePaintTick = GetSystemTick();
......@@ -238,10 +238,10 @@ void LcdProFactoryTest(StructLcdCtrl *pLcdCtrl)
ChgLedSet(eSwSta_On);
break;
case BtnFactoryTest_DrainResistOff:
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
break;
case BtnFactoryTest_DrainResistOn:
DrainResistSet(eSwSta_On);
//DrainResistSet(eSwSta_On);
break;
case BtnFactoryTest_eLockOff:
LockSet(eSwSta_Off);
......@@ -274,7 +274,7 @@ void LcdProFactoryTest(StructLcdCtrl *pLcdCtrl)
FanSetExt(eSwSta_Off);
ChgLedSet(eSwSta_Off);
IdleLedSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
return;
}
......
......@@ -184,7 +184,7 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
IdleLedSet(eSwSta_Off);
//DcOutNegSet(eSwSta_Off);
//DehumidifierSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
//DrainResistSet(eSwSta_Off);
LockSet(eSwSta_Off);
ScreenChkTick = GetSystemTick();
......
......@@ -108,7 +108,7 @@ void Thd_Charge_B(void const *parameter)
//DcModuleInit_B();
//MeterInit_B();
DcOutInit_B();
DrainResistInit_B();
//DrainResistInit_B();
LockInit_B();
BmsPowerInit_B();
BmsCommInit_B();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论