提交 e360e1d9 作者: wysheng

删除直流输出接触器反馈检测

上级 22d26c45
......@@ -222,24 +222,24 @@ extern EnumSwitchStatus EleLockSta;
extern EnumSwitchStatus EleLockSta_B;
extern EnumSwitchStatus DcOutPosSta;
extern EnumSwitchStatus DcOutNegSta;
//extern EnumSwitchStatus DcOutNegSta;
extern EnumSwitchStatus DcOutPosSta_B;
extern EnumSwitchStatus DcOutNegSta_B;
extern EnumSwitchStatus DcOutPosSta_Uni;
extern EnumSwitchStatus DcOutNegSta_Uni;
//extern EnumSwitchStatus DcOutNegSta_B;
//extern EnumSwitchStatus DcOutPosSta_Uni;
//extern EnumSwitchStatus DcOutNegSta_Uni;
extern void BmsPowerInit(void);
extern void BmsPowerSet(EnumSwitchStatus Set);
extern void DcOutInit(void);
extern void DcOutPosSet(EnumSwitchStatus Set);
extern void DcOutNegSet(EnumSwitchStatus Set);
//extern void DcOutNegSet(EnumSwitchStatus Set);
extern void DcOutSet(EnumSwitchStatus Set);
extern EnumSwitchStatus DcOutNegGet(void);
extern EnumSwitchStatus DcOutPosGet(void);
extern EnumSwitchStatus DcOutNegGetSet(void);
//extern EnumSwitchStatus DcOutNegGet(void);
//extern EnumSwitchStatus DcOutPosGet(void);
//extern EnumSwitchStatus DcOutNegGetSet(void);
extern EnumSwitchStatus DcOutPosGetSet(void);
extern EnumSwitchStatus DcOutGet(void);
//extern EnumSwitchStatus DcOutGet(void);
extern void DrainResistInit(void);
extern void DrainResistSet(EnumSwitchStatus Set);
......@@ -265,13 +265,13 @@ extern void BmsPowerSet_B(EnumSwitchStatus Set);
extern void DcOutInit_B(void);
extern void DcOutPosSet_B(EnumSwitchStatus Set);
extern void DcOutNegSet_B(EnumSwitchStatus Set);
//extern void DcOutNegSet_B(EnumSwitchStatus Set);
extern void DcOutSet_B(EnumSwitchStatus Set);
extern EnumSwitchStatus DcOutNegGet_B(void);
extern EnumSwitchStatus DcOutPosGet_B(void);
extern EnumSwitchStatus DcOutNegGetSet_B(void);
//extern EnumSwitchStatus DcOutNegGet_B(void);
//extern EnumSwitchStatus DcOutPosGet_B(void);
//extern EnumSwitchStatus DcOutNegGetSet_B(void);
extern EnumSwitchStatus DcOutPosGetSet_B(void);
extern EnumSwitchStatus DcOutGet_B(void);
//extern EnumSwitchStatus DcOutGet_B(void);
extern void DrainResistInit_B(void);
extern void DrainResistSet_B(EnumSwitchStatus Set);
......@@ -299,15 +299,15 @@ extern void FanSetExt(EnumSwitchStatus Set);
extern void FanSetExt_Top(EnumSwitchStatus Set);
extern void DcOutInit_Uni(void);
extern void DcOutPosSet_Uni(EnumSwitchStatus Set);
extern void DcOutNegSet_Uni(EnumSwitchStatus Set);
extern void DcOutSet_Uni(EnumSwitchStatus Set);
extern EnumSwitchStatus DcOutNegGet_Uni(void);
extern EnumSwitchStatus DcOutPosGet_Uni(void);
extern EnumSwitchStatus DcOutNegGetSet_Uni(void);
extern EnumSwitchStatus DcOutPosGetSet_Uni(void);
extern EnumSwitchStatus DcOutGet_Uni(void);
//extern void DcOutInit_Uni(void);
//extern void DcOutPosSet_Uni(EnumSwitchStatus Set);
//extern void DcOutNegSet_Uni(EnumSwitchStatus Set);
//extern void DcOutSet_Uni(EnumSwitchStatus Set);
//extern EnumSwitchStatus DcOutNegGet_Uni(void);
//extern EnumSwitchStatus DcOutPosGet_Uni(void);
//extern EnumSwitchStatus DcOutNegGetSet_Uni(void);
//extern EnumSwitchStatus DcOutPosGetSet_Uni(void);
//extern EnumSwitchStatus DcOutGet_Uni(void);
extern void DehumidifierInit(void);
extern void DehumidifierSet(EnumSwitchStatus Set);
......
......@@ -2280,7 +2280,7 @@ void InformationReporting_22_A(void)
InformainReport_A.InfRe.DCModFan = 0;
InformainReport_A.InfRe.CCConnect = !CcStatusRead();
InformainReport_A.InfRe.InsertGunSta = InsertGunStatu_A();
InformainReport_A.InfRe.DcOutContSta = DcOutPosGet();
InformainReport_A.InfRe.DcOutContSta = DcOutPosGetSet();
InformainReport_A.InfRe.ElectLock = LockGet();
if (((InformainReport_A.data[0] &0xf0) != 0) || ((InformainReport_A.data[1] &0xff) != 0) ||
......@@ -2408,7 +2408,7 @@ void InformationReporting_22_B(void)
InformainReport_B.InfRe.DCModFan = 0;
InformainReport_B.InfRe.CCConnect = !CcStatusRead_B();
InformainReport_B.InfRe.InsertGunSta = InsertGunStatu_B();
InformainReport_B.InfRe.DcOutContSta = DcOutPosGet_B();
InformainReport_B.InfRe.DcOutContSta = DcOutPosGetSet_B();
InformainReport_B.InfRe.ElectLock = LockGet_B();
if (((InformainReport_B.data[0] &0xf0) != 0) || ((InformainReport_B.data[1] &0xff) != 0) ||
......
......@@ -108,29 +108,46 @@ typedef struct
}StructTCUCControl;
/*
其它类型故障
*/
typedef union
{
u8 data[5];
struct
{
u8 workStau : 2;
u8 sumFalt : 1;
u8 sumWarm : 1;
u8 Emergency: 1;
u8 smoke : 1;
u8 AccContac: 1;
u8 DCOutConOff: 1;//母线接触器据动/误动故障
u8 DCFuse : 1;//熔断器
u8 EleLock : 1;
u8 Fan : 1;
u8 SPD : 1;
u8 ImdDev : 1;
u8 BattPola : 1;
u8 ContGuid : 1;
u8 tempOver : 1;
u8 workStau : 2;//工作状态
u8 sumFalt : 1;//总故障
u8 sumWarm : 1;//总告警
u8 Emergency: 1;//急停按钮动作 故障
u8 smoke : 1;//烟感故障
u8 AccContac: 1;//交流输入断路器故障
u8 DCOutConOff: 1;//直流母线输出接触器拒动/误动故障
u8 DCFuse : 1;//熔断器故障
u8 EleLock : 1;//充电接口电子锁故障
u8 Fan : 1;//充电桩风扇故障
u8 SPD : 1;//避雷器故障
u8 ImdDev : 1;//绝缘监测故障
u8 BattPola : 1;//电池极性反接故障
u8 ContGuid : 1;//充电中控制导引故障
u8 tempOver : 1;//充电桩过温故障
/*
充电接口过温故障
充电枪未归位告警
BMS 通信故障
交流输入电压过压故障
交流输入电压欠压故障
直流母线输出 过压故障
直流母线输出 欠压故障
直流母线输出过流故障
*/
u8 ConnTemp : 1;
u8 PutBack : 1;
u8 BMSComm : 1;
......@@ -139,7 +156,17 @@ typedef union
u8 DcVolHi : 1;
u8 DcVolLo : 1;
u8 DCCurrHi : 1;
/*
充电模块故障
充电模块交流输入故障
充电模块交流输入过压故障
充电模块交流输入欠压故障
充电模块交流输入缺相故障
充电模块直流输出短路故障
充电模块直流输出过流故障
充电模块直流输出过压故障
*/
u8 DcModErr : 1;
u8 DCModIn : 1;
u8 DCModInHi: 1;
......@@ -148,15 +175,25 @@ typedef union
u8 DcOutShor: 1;
u8 DCModOutCuHi: 1;
u8 DCModOutVoHi: 1;
/*
充电模块直流输出欠压故障
充电模块过温故障
充电模块通信故障
充电模块风扇故障
车辆连接状态
充电桩充电枪座状态
充电接口电子锁状态
直流输出接触器状态
*/
u8 DCModOutVoLo: 1;
u8 DCModTempHi : 1;
u8 DCModComm : 1;
u8 DCModFan : 1;
u8 CCConnect : 1;
u8 InsertGunSta: 1;
u8 ElectLock : 1;
u8 DcOutContSta: 1;
u8 ElectLock : 1;
}InfRe;
}UnionInformainReport1;
......@@ -165,18 +202,60 @@ typedef union
u16 data;
struct
{
u16 Door : 1;//熔断器
/*
充电桩门禁故障
直流输出接触器粘连故障
绝缘监测告警
泄放回路故障
充电桩过温告警
充电枪过温告警
交流输入接触器拒动/误动故障
交流输入接触器粘连故障
*/
u16 Door : 1;//
u16 DCOutConOn : 1;//母线接触器粘连故障
u16 ImdWarm : 1;
u16 DrainResist : 1;
u16 tempOver : 1;
u16 gunTemp : 1;
u16 AccContacON : 1;//交流数日接触器据动/误动故障
u16 AccContacOff: 1;//粘连故障
/*
辅助电源故障
并联接触器拒动/误动故障
并联接触器粘连故障
并联接触器状态
模块紧急停机状态
充电桩水浸故障
充电机柜门禁故障
充电机柜水浸故障
*/
u16 Power : 1;//辅助电源
u16 UniContactorOff : 1;//母线接触器据动/误动故障
u16 UniContactorOn : 1;//母线接触器据动/误动故障
u16 UniContactorOn : 1;//并联接触器粘连故障
/*
充电机柜烟感故障
功率控制模块通信故障
功率控制模块通信告警
功率控制模块故障
功率控制模块告警
开关模块通信故障
开关模块通信告警
开关模块故障
*/
/*
开关模块告警
直流充电主控模块判断BMS故障
BMS发送故障信息
充电模块泄放故障
绝缘监测仪通信故障
环境监控板通信故障
灯板通信故障
电能表通信故障
*/
}InfRe;
}UnionInformainReport2;
......
......@@ -77,9 +77,9 @@ void FactoryTestPaint_B(void)
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_B_Emergency, TempU16);
if(eSwSta_On == DcOutPosGet_B())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet_B())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_B_DcOutSta, TempU16);
......@@ -118,9 +118,9 @@ void FactoryTestUpdate_B(StructFactoryTestUpdate *pUpdate)
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_B_Emergency, TempU16);
if(eSwSta_On == DcOutPosGet_B())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet_B())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_B_DcOutSta, TempU16);
......
......@@ -67,9 +67,9 @@ void FactoryTestTwoPaint_B(void)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_DoorSta, TempU16);
if(eSwSta_On == DcOutNegGet_B())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGetSet_B())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_DcOutNegSta, TempU16);
......@@ -79,15 +79,15 @@ void FactoryTestTwoPaint_B(void)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_eLockSta, TempU16);
if(eSwSta_On == DcOutPosGet_Uni())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet_Uni())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_Uni_DcOutPosSta, TempU16);
if(eSwSta_On == DcOutNegGet_Uni())
TempU16 = 1;
else
//if(eSwSta_On == DcOutNegGet_Uni())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_Uni_DcOutNegSta, TempU16);
......@@ -121,9 +121,9 @@ void FactoryTestTwoUpdate_B(StructFactoryTestTwoUpdate *pUpdate)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_DoorSta, TempU16);
if(eSwSta_On == DcOutNegGet_B())
TempU16 = 1;
else
//if(eSwSta_On == DcOutNegGet_B())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_DcOutNegSta, TempU16);
......@@ -133,15 +133,15 @@ void FactoryTestTwoUpdate_B(StructFactoryTestTwoUpdate *pUpdate)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_B_eLockSta, TempU16);
if(eSwSta_On == DcOutPosGet_Uni())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet_Uni())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_Uni_DcOutPosSta, TempU16);
if(eSwSta_On == DcOutNegGet_Uni())
TempU16 = 1;
else
//if(eSwSta_On == DcOutNegGet_Uni())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_Uni_DcOutNegSta, TempU16);
......@@ -164,7 +164,7 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
StructFactoryTestTwoUpdate Update;
IdleLedSet_B(eSwSta_Off);
DcOutNegSet_B(eSwSta_Off);
//DcOutNegSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
LockSet_B(eSwSta_Off);
......@@ -214,10 +214,10 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
IdleLedSet_B(eSwSta_On);
break;
case BtnFactoryTestTwo_B_DcOutNegOff:
DcOutNegSet_B(eSwSta_Off);
//DcOutNegSet_B(eSwSta_Off);
break;
case BtnFactoryTestTwo_B_DcOutNegOn:
DcOutNegSet_B(eSwSta_On);
//DcOutNegSet_B(eSwSta_On);
break;
case BtnFactoryTestTwo_B_eLockOff:
LockSet_B(eSwSta_Off);
......@@ -227,17 +227,17 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
break;
case BtnFactoryTestTwo_Uni_DcOutPosOff:
DcOutPosSet_Uni(eSwSta_Off);
//DcOutPosSet_Uni(eSwSta_Off);
break;
case BtnFactoryTestTwo_Uni_DcOutPosOn:
DcOutPosSet_Uni(eSwSta_On);
//DcOutPosSet_Uni(eSwSta_On);
break;
case BtnFactoryTestTwo_Uni_DcOutNegOff:
DcOutNegSet_Uni(eSwSta_Off);
//DcOutNegSet_Uni(eSwSta_Off);
break;
case BtnFactoryTestTwo_Uni_DcOutNegOn:
DcOutNegSet_Uni(eSwSta_On);
//DcOutNegSet_Uni(eSwSta_On);
break;
default:
......@@ -259,7 +259,7 @@ void LcdProFactoryTestTwo_B(StructLcdCtrl *pLcdCtrl)
if(eLcdPro_B_FactoryTestTwo != pLcdCtrl->CurScreen)
{
IdleLedSet_B(eSwSta_Off);
DcOutNegSet_B(eSwSta_Off);
//DcOutNegSet_B(eSwSta_Off);
DrainResistSet_B(eSwSta_Off);
LockSet_B(eSwSta_Off);
return;
......
......@@ -77,9 +77,9 @@ void FactoryTestPaint(void)
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_Emergency, TempU16);
if(eSwSta_On == DcOutPosGet())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_DcOutSta, TempU16);
......@@ -118,9 +118,9 @@ void FactoryTestUpdate(StructFactoryTestUpdate *pUpdate)
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_Emergency, TempU16);
if(eSwSta_On == DcOutPosGet())
TempU16 = 1;
else
//if(eSwSta_On == DcOutPosGet())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestAddr_DcOutSta, TempU16);
......
......@@ -63,9 +63,9 @@ void FactoryTestTwoPaint(void)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_DoorSta, TempU16);
if(eSwSta_On == DcOutNegGet())
TempU16 = 1;
else
//if(eSwSta_On == DcOutNegGet())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_DcOutNegSta, TempU16);
......@@ -130,9 +130,9 @@ void FactoryTestTwoUpdate(StructFactoryTestTwoUpdate *pUpdate)
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_DoorSta, TempU16);
if(eSwSta_On == DcOutNegGet())
TempU16 = 1;
else
//if(eSwSta_On == DcOutNegGet())
// TempU16 = 1;
//else
TempU16 = 0;
LcdShowData16(IconFactoryTestTwoAddr_DcOutNegSta, TempU16);
......@@ -182,7 +182,7 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
StructFactoryTestTwoUpdate Update;
IdleLedSet(eSwSta_Off);
DcOutNegSet(eSwSta_Off);
//DcOutNegSet(eSwSta_Off);
DehumidifierSet(eSwSta_Off);
DrainResistSet(eSwSta_Off);
LockSet(eSwSta_Off);
......@@ -233,10 +233,10 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
IdleLedSet(eSwSta_On);
break;
case BtnFactoryTestTwo_DcOutNegOff:
DcOutNegSet(eSwSta_Off);
//DcOutNegSet(eSwSta_Off);
break;
case BtnFactoryTestTwo_DcOutNegOn:
DcOutNegSet(eSwSta_On);
//DcOutNegSet(eSwSta_On);
break;
case BtnFactoryTestTwo_DehOff:
DehumidifierSet(eSwSta_Off);
......@@ -270,7 +270,7 @@ void LcdProFactoryTestTwo(StructLcdCtrl *pLcdCtrl)
if(eLcdPro_FactoryTestTwo != pLcdCtrl->CurScreen)
{
IdleLedSet(eSwSta_Off);
DcOutNegSet(eSwSta_Off);
//DcOutNegSet(eSwSta_Off);
DehumidifierSet(eSwSta_Off);
LockSet(eSwSta_Off);
return;
......
......@@ -673,8 +673,8 @@ void Thd_Mult(void const *parameter)
}
else if((3 == DoorChkCnt) && (0 != UserParam.ChgFun.Value.Door))
{
//PillarError_B.Value.Door = 1; //0504 test
//PillarError.Value.Door = 1;
PillarError_B.Value.Door = 1; //0504 test
PillarError.Value.Door = 1;
}
/*防雷器故障检测*/
if(eSwSta_Off == SPDGet())
......@@ -761,11 +761,13 @@ void Thd_Mult(void const *parameter)
;// PillarError_B.Value.NoDcmod = 1;
else
PillarError_B.Value.NoDcmod = 0;
#if 0
/*B枪位电能表通讯故障判断*/
if(eMeterSta_Unavail == MeterComm.Status_B)
;//PillarError_B.Value.Meter = 1; //0505 屏蔽B枪电表错误
PillarError_B.Value.Meter = 1; //0505 屏蔽B枪电表错误
else
PillarError_B.Value.Meter = 0;
#endif
/*B枪位绝缘错误判断*/
if(0 != ChargeError_B.Value.IsolateError)
PillarError_B.Value.Insulation = 1;
......@@ -807,7 +809,7 @@ void Thd_Mult(void const *parameter)
{
PillarError_B.Value.EleLock = 1;
}
/*B枪位接触器故障判断*/
#if 0 /*B枪位接触器故障判断*/
if(((0 == UserParam.ChgFun.Value.NegContactor) && (DcOutPosSta_B == DcOutPosGet_B()))\
||((0 != UserParam.ChgFun.Value.NegContactor) && (DcOutPosSta_B == DcOutPosGet_B()) && (DcOutNegSta_B == DcOutNegGet_B())))
{
......@@ -839,6 +841,8 @@ void Thd_Mult(void const *parameter)
{
//PillarError_B.Value.Contactor = 1;
}
#endif
//交流接触器
if((PillarError.Value.Emergency == 0) && (ACContactorSta != ACContactorGet()))
{
if(ACContactorChkCnt < 20)
......@@ -879,11 +883,13 @@ void Thd_Mult(void const *parameter)
;// PillarError.Value.NoDcmod = 1;
else
PillarError.Value.NoDcmod = 0;
#if 0 //屏蔽电能表错误
/*电能表通讯故障判断*/
if(eMeterSta_Unavail == MeterComm.Status)
PillarError.Value.Meter = 0;//1; 0504 屏蔽电表错误
PillarError.Value.Meter = 1;
else
PillarError.Value.Meter = 0;
#endif
/*绝缘错误判断*/
if(0 != ChargeError.Value.IsolateError)
PillarError.Value.Insulation = 1;
......@@ -925,6 +931,7 @@ void Thd_Mult(void const *parameter)
{
PillarError.Value.EleLock = 1;
}
#if 0 ////不再检测直流接触器
/*接触器故障判断*/
if(((0 == UserParam.ChgFun.Value.NegContactor) && (DcOutPosSta == DcOutPosGet()))\
||((0 != UserParam.ChgFun.Value.NegContactor) && (DcOutPosSta == DcOutPosGet()) && (DcOutNegSta == DcOutNegGet())))//两个接触器
......@@ -955,9 +962,10 @@ void Thd_Mult(void const *parameter)
}
else if(20 == ContactorChkCnt)
{
PillarError.Value.Contactor = 0;//1; 0504 test
PillarError.Value.Contactor = 0;//1; 0504 test
}
#endif
#if 0 //不再检测联级接触器
/*联级接触器故障判断*/
if(((0 == UserParam.ChgFun.Value.SigUniChg))\
||((DcOutPosSta_Uni == DcOutPosGet_Uni()) && (DcOutNegSta_Uni == DcOutNegGet_Uni())))//两个接触器
......@@ -992,7 +1000,7 @@ void Thd_Mult(void const *parameter)
// PillarError.Value.UniContactor = 1;
// PillarError_B.Value.UniContactor = 1;
}
#endif
/*绝缘检测通讯故障判断*/
if((GetSystemTick() - ImdCheckTcik) >= 600)
{
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论