Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
76c67dd4
提交
76c67dd4
authored
5月 19, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
删除不在使用的泄放电路控制
上级
ec098bd1
隐藏空白字符变更
内嵌
并排
正在显示
41 个修改的文件
包含
548 行增加
和
542 行删除
+548
-542
Drv_BoardIo.c
DcPillar/Src/Drivers/Drv_BoardIo.c
+6
-3
Drv_BoardIo.h
DcPillar/Src/Drivers/Drv_BoardIo.h
+4
-4
SmartAllocation_B_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
+1
-1
SmartAllocation_ChgRun.c
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
+1
-1
ChgPro_ChgBreak.c
DcPillar/Src/Thread/Charge/ChgPro_ChgBreak.c
+2
-2
ChgPro_ChgConfigure.c
DcPillar/Src/Thread/Charge/ChgPro_ChgConfigure.c
+1
-1
ChgPro_ChgIdle.c
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
+1
-1
ChgPro_ChgRecognize.c
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognize.c
+1
-1
ChgPro_ChgRecognizeEx.c
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognizeEx.c
+148
-147
ChgPro_ChgStart.c
DcPillar/Src/Thread/Charge/ChgPro_ChgStart.c
+1
-1
ChgPro_ChgStop.c
DcPillar/Src/Thread/Charge/ChgPro_ChgStop.c
+3
-3
ChgPro_CommBreak.c
DcPillar/Src/Thread/Charge/ChgPro_CommBreak.c
+1
-1
ChgPro_CommError.c
DcPillar/Src/Thread/Charge/ChgPro_CommError.c
+3
-3
ChgPro_ImdCheck.c
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
+9
-9
ChgPro_ShakeHand.c
DcPillar/Src/Thread/Charge/ChgPro_ShakeHand.c
+1
-1
ChgPro_WaitBmsReady.c
DcPillar/Src/Thread/Charge/ChgPro_WaitBmsReady.c
+1
-1
ChgPro_WaitPillarReady.c
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
+1
-1
ChgPro_WaitVoltChgRun.c
DcPillar/Src/Thread/Charge/ChgPro_WaitVoltChgRun.c
+1
-1
ChgPro_B_ChgBreak.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgBreak.c
+163
-162
ChgPro_B_ChgConfigure.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgConfigure.c
+1
-1
ChgPro_B_ChgIdle.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgIdle.c
+1
-1
ChgPro_B_ChgRecognize.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgRecognize.c
+1
-1
ChgPro_B_ChgRecognizeEx.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgRecognizeEx.c
+148
-147
ChgPro_B_ChgStart.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgStart.c
+1
-1
ChgPro_B_ChgStop.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgStop.c
+3
-3
ChgPro_B_CommBreak.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_CommBreak.c
+1
-1
ChgPro_B_CommError.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_CommError.c
+3
-3
ChgPro_B_ImdCheck.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ImdCheck.c
+9
-9
ChgPro_B_ShakeHand.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_ShakeHand.c
+1
-1
ChgPro_B_WaitBmsReady.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitBmsReady.c
+1
-1
ChgPro_B_WaitPillarReady.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitPillarReady.c
+1
-1
ChgPro_B_WaitVoltChgRun.c
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitVoltChgRun.c
+1
-1
LcdPro_B_FactoryChgInfor.c
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryChgInfor.c
+2
-2
LcdPro_B_FactoryChgSet.c
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryChgSet.c
+6
-6
LcdPro_B_FactoryTest.c
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryTest.c
+4
-4
LcdPro_B_FactoryTestTwo.c
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryTestTwo.c
+2
-2
LcdPro_FactoryChgInfor.c
DcPillar/Src/Thread/Lcd/LcdPro_FactoryChgInfor.c
+2
-2
LcdPro_FactoryChgSet.c
DcPillar/Src/Thread/Lcd/LcdPro_FactoryChgSet.c
+5
-5
LcdPro_FactoryTest.c
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTest.c
+4
-4
LcdPro_FactoryTestTwo.c
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTestTwo.c
+1
-1
Thd_Charge_B.c
DcPillar/Src/Thread/Thd_Charge_B.c
+1
-1
没有找到文件。
DcPillar/Src/Drivers/Drv_BoardIo.c
浏览文件 @
76c67dd4
...
...
@@ -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
)
...
...
DcPillar/Src/Drivers/Drv_BoardIo.h
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/SmartAllocation/SmartAllocation_B_ChgRun.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/SmartAllocation/SmartAllocation_ChgRun.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgBreak.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgConfigure.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgIdle.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognize.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgRecognizeEx.c
浏览文件 @
76c67dd4
#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
);
}
}
DcPillar/Src/Thread/Charge/ChgPro_ChgStart.c
浏览文件 @
76c67dd4
...
...
@@ -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
...
...
DcPillar/Src/Thread/Charge/ChgPro_ChgStop.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Charge/ChgPro_CommBreak.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_CommError.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Charge/ChgPro_ImdCheck.c
浏览文件 @
76c67dd4
...
...
@@ -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
();
...
...
DcPillar/Src/Thread/Charge/ChgPro_ShakeHand.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitBmsReady.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitPillarReady.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Charge/ChgPro_WaitVoltChgRun.c
浏览文件 @
76c67dd4
...
...
@@ -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
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgBreak.c
浏览文件 @
76c67dd4
#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
);
}
}
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgConfigure.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgIdle.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgRecognize.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgRecognizeEx.c
浏览文件 @
76c67dd4
#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
);
}
}
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgStart.c
浏览文件 @
76c67dd4
...
...
@@ -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
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ChgStop.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_CommBreak.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_CommError.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ImdCheck.c
浏览文件 @
76c67dd4
...
...
@@ -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
();
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_ShakeHand.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitBmsReady.c
浏览文件 @
76c67dd4
...
...
@@ -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
);
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitPillarReady.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Charge_B/ChgPro_B_WaitVoltChgRun.c
浏览文件 @
76c67dd4
...
...
@@ -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
...
...
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryChgInfor.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryChgSet.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryTest.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Lcd/LcdPro_B_FactoryTestTwo.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Lcd/LcdPro_FactoryChgInfor.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Lcd/LcdPro_FactoryChgSet.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
...
...
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTest.c
浏览文件 @
76c67dd4
...
...
@@ -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
;
}
...
...
DcPillar/Src/Thread/Lcd/LcdPro_FactoryTestTwo.c
浏览文件 @
76c67dd4
...
...
@@ -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
();
...
...
DcPillar/Src/Thread/Thd_Charge_B.c
浏览文件 @
76c67dd4
...
...
@@ -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
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论