Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
ac8d7b87
提交
ac8d7b87
authored
4月 22, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复TCUCommInit
上级
671a93f6
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
312 行增加
和
243 行删除
+312
-243
Thd_TCU.c
DcPillar/Src/Thread/Thd_TCU.c
+312
-243
没有找到文件。
DcPillar/Src/Thread/Thd_TCU.c
浏览文件 @
ac8d7b87
#include "Thd_TCU.h"
#include "Drv_BoardIo.h"
...
...
@@ -15,125 +16,148 @@
StructTCUCommuStatus
TCUCommuStatus
=
{
.
ChgNum
=
0
,
.
CommStage
=
HeartStage
,
.
ParamVaild
=
0
,
.
CommStage
=
HeartStage
,
.
ParamVaild
=
0
,
0
,
0
};
const
StructTCUCommuParam
TCUCommuParam
=
{
.
HeartPeriod
=
1
,
.
HeartErrCntMax
=
3
,
.
HeartTimeout
=
1
,
.
SignInPeriod
=
60
,
};
//后台通信参数
};
//后台通信参数
void
TCURecvProcess
(
void
)
{
StructTCUSend
pPgnRecv
;
if
(
pdTRUE
!=
xQueueReceive
(
TCUMsg
,
&
pPgnRecv
,
0
))
if
(
pdTRUE
!=
xQueueReceive
(
TCUMsg
,
&
pPgnRecv
,
0
))
return
;
switch
(
pPgnRecv
.
Pgn
)
switch
(
pPgnRecv
.
Pgn
)
{
case
eCmd_start
:
// 充电启动帧
StartMeg
(
&
pPgnRecv
);
//命令解析
case
eCmd_start
:
// 充电启动帧
StartMeg
(
&
pPgnRecv
);
//命令解析
break
;
case
eCmd_stop
:
// 充电停止帧
case
eCmd_stop
:
// 充电停止帧
StopMeg
(
&
pPgnRecv
);
break
;
case
eCmd_time
:
// 对时帧
TCUtimeSet
(
&
pPgnRecv
);
//时间设置
case
eCmd_time
:
// 对时帧
TCUtimeSet
(
&
pPgnRecv
);
//时间设置
break
;
case
eCmd_versi
:
//版本校验帧
case
eCmd_versi
:
//版本校验帧
TCUVersionCheck
(
&
pPgnRecv
);
break
;
case
eCmd_param
:
// 下发充电参数信息帧
case
eCmd_param
:
// 下发充电参数信息帧
TCUParam
(
&
pPgnRecv
);
break
;
case
eCmd_SerCon
:
// 充电服务启停控制帧
case
eCmd_SerCon
:
// 充电服务启停控制帧
SerConAckAnalysis
(
&
pPgnRecv
);
break
;
case
eCmd_Gun
:
// 电子锁可控制帧
case
eCmd_Gun
:
// 电子锁可控制帧
ElectControlAnalysis
(
&
pPgnRecv
);
break
;
case
eCmd_power
:
// 功率调节控制帧
case
eCmd_power
:
// 功率调节控制帧
PowerControlAnalysis
(
&
pPgnRecv
);
break
;
case
eCmd_Query
:
// 充电桩配置信息查询帧
case
eCmd_Query
:
// 充电桩配置信息查询帧
TCUCommuStatus
.
ChgNum
=
pPgnRecv
.
Data
[
0
];
TCUCommuStatus
.
CommStage
=
ChgInfornQueryStage
;
TCUCommuStatus
.
ChgInfornQueryRecvTime
=
GetSystemTick
();
TCUCommuStatus
.
CommStage
=
ChgInfornQueryStage
;
TCUCommuStatus
.
ChgInfornQueryRecvTime
=
GetSystemTick
();
TCUCommuStatus
.
ChgInfornQuerySentTime
=
0
;
break
;
case
eCmd_verificationAck
:
//车辆验证应答帧
case
eCmd_verificationAck
:
//车辆验证应答帧
verificationAck
(
&
pPgnRecv
);
break
;
////////////状态帧/////////////////
case
eCmd_startCompAck
:
//
充电启动完成应答帧
case
eCmd_startCompAck
:
//
充电启动完成应答帧
ACkStartCompMeg
(
&
pPgnRecv
);
break
;
case
eCmd_stopCompAck
:
// 充电停止完成应答帧
case
eCmd_stopCompAck
:
// 充电停止完成应答帧
stopCompAck
(
&
pPgnRecv
);
break
;
///////////数据帧/直流////////////
case
eCmd_DCTCUMeasu
:
// 计费单元遥测帧
case
eCmd_DCTCUMeasu
:
// 计费单元遥测帧
break
;
///////////心跳帧///////////
case
eCmd_TcuHeart
:
// 计费单元心跳
AckTCUHeartBeat
(
&
pPgnRecv
);
//心跳解析
AckTCUHeartBeat
(
&
pPgnRecv
);
//心跳解析
break
;
case
eCmd_TCUErroComm
:
// 计费单元错误帧
case
eCmd_TCUErroComm
:
// 计费单元错误帧
break
;
default:
break
;
}
}
void
InformationReporting
(
void
)
void
InformationReporting
(
void
)
{
if
(
TCUCommuStatus
.
DCConInforSendTime
==
0
)
if
(
TCUCommuStatus
.
DCConInforSendTime
==
0
)
{
InformationReporting_22_A
();
InformationReporting_23_A
();
TCUCommuStatus
.
DCConInforSendTime
=
GetSystemTick
();
TCUCommuStatus
.
DCConInforSendTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
DCConInforSendTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
DCConInforSendTime
>=
500
)
{
InformationReporting_22_A
();
InformationReporting_23_A
();
TCUCommuStatus
.
DCConInforSendTime
=
GetSystemTick
();
TCUCommuStatus
.
DCConInforSendTime
=
GetSystemTick
();
}
if
(
TCUCommuStatus
.
DCConInforSendTime_B
==
0
)
if
(
TCUCommuStatus
.
DCConInforSendTime_B
==
0
)
{
InformationReporting_22_B
();
InformationReporting_23_B
();
TCUCommuStatus
.
DCConInforSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
DCConInforSendTime_B
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
DCConInforSendTime_B
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
DCConInforSendTime_B
>=
500
)
{
InformationReporting_22_B
();
InformationReporting_23_B
();
TCUCommuStatus
.
DCConInforSendTime_B
=
GetSystemTick
();
}
//遥信
TCUCommuStatus
.
DCConInforSendTime_B
=
GetSystemTick
();
}
//遥信
}
void
DCMeasuring_A
(
void
)
{
if
(
0
==
TCUCommuStatus
.
DCMeasuRecvTime
)
//遥测
if
(
0
==
TCUCommuStatus
.
DCMeasuRecvTime
)
//遥测
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime
)
>
1000
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime
)
>
1000
)
{
TCUCommuStatus
.
DCMeasuErrCnt
++
;
if
(
TCUCommuStatus
.
DCMeasuErrCnt
>
5
)
if
(
TCUCommuStatus
.
DCMeasuErrCnt
>
5
)
{
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
//can通讯接口初始化
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
//can通讯接口初始化
}
else
{
...
...
@@ -143,9 +167,9 @@ void DCMeasuring_A(void)
}
}
}
else
//循环发送
else
//循环发送
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime
)
>
1000
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime
)
>
1000
)
{
measuringReporting20_A
();
TCUCommuStatus
.
DCMeasuSendTime
=
GetSystemTick
();
...
...
@@ -153,36 +177,39 @@ void DCMeasuring_A(void)
}
}
}
void
DCMeasuring_B
(
void
)
{
if
(
0
==
TCUCommuStatus
.
DCMeasuRecvTime_B
)
//遥测
if
(
0
==
TCUCommuStatus
.
DCMeasuRecvTime_B
)
//遥测
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime_B
)
>
1000
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime_B
)
>
1000
)
{
TCUCommuStatus
.
DCMeasuErrCnt_B
++
;
if
(
TCUCommuStatus
.
DCMeasuErrCnt_B
>
5
)
if
(
TCUCommuStatus
.
DCMeasuErrCnt_B
>
5
)
{
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
}
else
{
measuringReporting20_B
();
TCUCommuStatus
.
DCMeasuSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
DCMeasuRecvTime_B
=
0
;
TCUCommuStatus
.
DCMeasuSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
DCMeasuRecvTime_B
=
0
;
}
}
}
else
//循环发送
else
//循环发送
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime_B
)
>
1000
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
DCMeasuSendTime_B
)
>
1000
)
{
measuringReporting20_B
();
TCUCommuStatus
.
DCMeasuSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
DCMeasuRecvTime_B
=
0
;
TCUCommuStatus
.
DCMeasuSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
DCMeasuRecvTime_B
=
0
;
}
}
}
...
...
@@ -194,17 +221,18 @@ void ConEMSend(void)
static
u32
ConEMSendEcount
=
0
;
static
u32
ConEMSendTick_B
=
0
;
static
u32
ConEMSendEcount_B
=
0
;
if
(
TCUCommuStatus
.
ConEMSendFlag
==
1
)
if
(
TCUCommuStatus
.
ConEMSendFlag
==
1
)
{
TcuEMMsg
(
TCUCommuStatus
.
ErrData
.
Mult
);
//帧超时
ConEMSendTick
=
GetSystemTick
();
TCUCommuStatus
.
ConEMSendFlag
=
2
;
TcuEMMsg
(
TCUCommuStatus
.
ErrData
.
Mult
);
//帧超时
ConEMSendTick
=
GetSystemTick
();
TCUCommuStatus
.
ConEMSendFlag
=
2
;
}
else
if
(
TCUCommuStatus
.
ConEMSendFlag
==
2
)
else
if
(
TCUCommuStatus
.
ConEMSendFlag
==
2
)
{
if
(
GetSystemTick
()
-
ConEMSendTick
>=
250
)
if
(
GetSystemTick
()
-
ConEMSendTick
>=
250
)
{
if
(
ConEMSendEcount
<
20
)
if
(
ConEMSendEcount
<
20
)
{
ConEMSendEcount
++
;
TcuEMMsg
(
TCUCommuStatus
.
ErrData
.
Mult
);
...
...
@@ -212,81 +240,88 @@ void ConEMSend(void)
else
{
ConEMSendTick
=
0
;
TCUCommuStatus
.
ConEMSendFlag
=
0
;
if
(
TCUCurChgRecd
.
TCUChargeEnable
==
0
)
TCUCommuStatus
.
ConEMSendFlag
=
0
;
if
(
TCUCurChgRecd
.
TCUChargeEnable
==
0
)
TCUCommuStatus
.
ErrData
.
Mult
=
0
;
ConEMSendEcount
=
0
;
}
}
else
{
ConEMSendTick
=
0
;
TCUCommuStatus
.
ConEMSendFlag
=
0
;
TCUCommuStatus
.
ConEMSendFlag
=
0
;
TCUCommuStatus
.
ErrData
.
Mult
=
0
;
ConEMSendEcount
=
0
;
}
}
if
(
TCUCommuStatus
.
ConEMSendFlag_B
==
1
)
if
(
TCUCommuStatus
.
ConEMSendFlag_B
==
1
)
{
TcuEMMsg_B
(
TCUCommuStatus
.
ErrData_B
.
Mult
);
//帧超时
TcuEMMsg_B
(
TCUCommuStatus
.
ErrData_B
.
Mult
);
//帧超时
ConEMSendTick_B
=
GetSystemTick
();
TCUCommuStatus
.
ConEMSendFlag_B
=
2
;
TCUCommuStatus
.
ConEMSendFlag_B
=
2
;
}
else
if
(
TCUCommuStatus
.
ConEMSendFlag_B
==
2
)
else
if
(
TCUCommuStatus
.
ConEMSendFlag_B
==
2
)
{
if
(
GetSystemTick
()
-
ConEMSendTick_B
>=
250
)
if
(
GetSystemTick
()
-
ConEMSendTick_B
>=
250
)
{
if
(
ConEMSendEcount_B
<
20
)
if
(
ConEMSendEcount_B
<
20
)
{
ConEMSendEcount_B
++
;
TcuEMMsg_B
(
TCUCommuStatus
.
ErrData_B
.
Mult
);
}
else
{
ConEMSendTick_B
=
0
;
TCUCommuStatus
.
ConEMSendFlag_B
=
0
;
ConEMSendTick_B
=
0
;
TCUCommuStatus
.
ConEMSendFlag_B
=
0
;
TCUCommuStatus
.
ErrData_B
.
Mult
=
0
;
ConEMSendEcount_B
=
0
;
ConEMSendEcount_B
=
0
;
}
}
}
else
{
ConEMSendTick_B
=
0
;
TCUCommuStatus
.
ConEMSendFlag_B
=
0
;
if
(
TCUCurChgRecd_B
.
TCUChargeEnable
==
0
)
TCUCommuStatus
.
ErrData_B
.
Mult
=
0
;
//主动停机结束帧发送完成或主动TCU停机时置0
ConEMSendEcount_B
=
0
;
ConEMSendTick_B
=
0
;
TCUCommuStatus
.
ConEMSendFlag_B
=
0
;
if
(
TCUCurChgRecd_B
.
TCUChargeEnable
==
0
)
TCUCommuStatus
.
ErrData_B
.
Mult
=
0
;
//主动停机结束帧发送完成或主动TCU停机时置0
ConEMSendEcount_B
=
0
;
}
}
void
CommutionConfigurationStage
(
void
)
{
if
(
TCUCommuStatus
.
CommStage
==
VersionStage
)
if
(
TCUCommuStatus
.
CommStage
==
VersionStage
)
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionRecvTime
<=
2000
)
//2S
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionRecvTime
<=
2000
)
//2S
{
if
(
TCUCommuStatus
.
VersionSentTime
==
0
)
if
(
TCUCommuStatus
.
VersionSentTime
==
0
)
{
TCUVersionCheckSent
();
TCUCommuStatus
.
VersionSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionSentTime
>=
500
)
{
TCUVersionCheckSent
();
TCUCommuStatus
.
VersionSentTime
=
GetSystemTick
();
}
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionRecvTime
>=
5000
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
VersionRecvTime
>=
5000
)
{
if
(
TCUCommuStatus
.
ChgNum
==
2
)
if
(
TCUCommuStatus
.
ChgNum
==
2
)
{
TCUCommuStatus
.
ErrData
.
Value
.
Param
=
1
;
TCUCommuStatus
.
ConEMSendFlag
=
1
;
TCUCommuStatus
.
ErrData
.
Value
.
Param
=
1
;
TCUCommuStatus
.
ConEMSendFlag
=
1
;
}
else
{
TCUCommuStatus
.
ErrData_B
.
Value
.
Param
=
1
;
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
TCUCommuStatus
.
ErrData_B
.
Value
.
Param
=
1
;
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
}
TCUCommuStatus
.
CommStage
=
HeartStage
;
...
...
@@ -294,22 +329,27 @@ void CommutionConfigurationStage(void)
}
}
void
TCUPillarHeartBeat
(
void
)
{
u32
SendTick
;
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
return
;
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime
)
//初始12s一次
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime
)
//初始12s一次
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime
)
>
((
u32
)
TCUCommuParam
.
HeartTimeout
*
1000
))
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime
)
>
((
u32
)
TCUCommuParam
.
HeartTimeout
*
1000
))
{
TCUCommuStatus
.
HeartBeatErrCnt
++
;
if
(
TCUCommuStatus
.
HeartBeatErrCnt
>
TCUCommuParam
.
HeartErrCntMax
)
if
(
TCUCommuStatus
.
HeartBeatErrCnt
>
TCUCommuParam
.
HeartErrCntMax
)
{
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
memset
(
&
TCUCommuStatus
,
0x00
,
sizeof
(
TCUCommuStatus
));
//通讯初始化
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
}
else
...
...
@@ -321,10 +361,10 @@ void TCUPillarHeartBeat(void)
}
}
else
{
//心跳周期
SendTick
=
((
u32
)
TCUCommuParam
.
HeartPeriod
*
1000
);
{
//心跳周期
SendTick
=
((
u32
)
TCUCommuParam
.
HeartPeriod
*
1000
);
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime
)
>
SendTick
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime
)
>
SendTick
)
{
TCUHeartBeat_A
();
TCUCommuStatus
.
HeartBeatSendTime
=
GetSystemTick
();
...
...
@@ -333,21 +373,25 @@ void TCUPillarHeartBeat(void)
}
}
void
TCUPillarHeartBeat_B
(
void
)
{
u32
SendTick
;
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
if
(
TCUCommuStatus
.
HeartBeatVaild
==
0
)
return
;
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime_B
)
//初始12s一次
if
(
0
==
TCUCommuStatus
.
HeartBeatRecvTime_B
)
//初始12s一次
{
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime_B
)
>
((
u32
)
TCUCommuParam
.
HeartTimeout
*
1000
))
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime_B
)
>
((
u32
)
TCUCommuParam
.
HeartTimeout
*
1000
))
{
TCUCommuStatus
.
HeartBeatErrCnt_B
++
;
if
(
TCUCommuStatus
.
HeartBeatErrCnt_B
>
TCUCommuParam
.
HeartErrCntMax
)
if
(
TCUCommuStatus
.
HeartBeatErrCnt_B
>
TCUCommuParam
.
HeartErrCntMax
)
{
TCUCommuStatus
.
ConnectFlag
=
0
;
TCUCommuStatus
.
HeartBeatErrCnt_B
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
TCUCommuStatus
.
HeartBeatErrCnt_B
=
0
;
TCUCommuStatus
.
HeartBeatVaild
=
0
;
//心跳失效
DcModuleCanInit_B
();
}
else
...
...
@@ -359,30 +403,31 @@ void TCUPillarHeartBeat_B(void)
}
}
else
{
//心跳周期
SendTick
=
((
u32
)
TCUCommuParam
.
HeartPeriod
*
1000
);
{
//心跳周期
SendTick
=
((
u32
)
TCUCommuParam
.
HeartPeriod
*
1000
);
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime_B
)
>
SendTick
)
if
((
GetSystemTick
()
-
TCUCommuStatus
.
HeartBeatSendTime_B
)
>
SendTick
)
{
TCUHeartBeat_B
();
TCUCommuStatus
.
HeartBeatSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
HeartBeatRecvTime_B
=
0
;
TCUCommuStatus
.
HeartBeatSendTime_B
=
GetSystemTick
();
TCUCommuStatus
.
HeartBeatRecvTime_B
=
0
;
}
}
}
void
CommutionRunStage
(
void
)
{
if
((
TCUCommuStatus
.
CommStage
==
ChageParamStage
))
if
((
TCUCommuStatus
.
CommStage
==
ChageParamStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ParamRecvTime
<=
2000
)
//2S参数反馈
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ParamRecvTime
<=
2000
)
//2S参数反馈
{
if
(
TCUCommuStatus
.
ParamSentTime
==
0
)
if
(
TCUCommuStatus
.
ParamSentTime
==
0
)
{
TCUParamAck
();
TCUCommuStatus
.
ParamSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ParamSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ParamSentTime
>=
500
)
{
TCUParamAck
();
TCUCommuStatus
.
ParamSentTime
=
GetSystemTick
();
...
...
@@ -390,19 +435,20 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
if
((
TCUCommuStatus
.
CommStage
==
TimeStage
))
if
((
TCUCommuStatus
.
CommStage
==
TimeStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
TimeRecvTime
<=
2000
)
//2S对时
if
(
GetSystemTick
()
-
TCUCommuStatus
.
TimeRecvTime
<=
2000
)
//2S对时
{
if
(
TCUCommuStatus
.
TimeSentTime
==
0
)
if
(
TCUCommuStatus
.
TimeSentTime
==
0
)
{
TCUtimeSetAck
();
TCUCommuStatus
.
TimeSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
TimeSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
TimeSentTime
>=
500
)
{
TCUtimeSetAck
();
TCUCommuStatus
.
TimeSentTime
=
GetSystemTick
();
...
...
@@ -410,19 +456,20 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
if
((
TCUCommuStatus
.
CommStage
==
ServiceContralStage
))
if
((
TCUCommuStatus
.
CommStage
==
ServiceContralStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ServiceContralRecvTime
<=
2000
)
//2S
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ServiceContralRecvTime
<=
2000
)
//2S
{
if
(
TCUCommuStatus
.
ServiceContralSentTime
==
0
)
if
(
TCUCommuStatus
.
ServiceContralSentTime
==
0
)
{
SerConAck
();
TCUCommuStatus
.
ServiceContralSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ServiceContralSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ServiceContralSentTime
>=
500
)
{
SerConAck
();
TCUCommuStatus
.
ServiceContralSentTime
=
GetSystemTick
();
...
...
@@ -430,19 +477,20 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
if
((
TCUCommuStatus
.
CommStage
==
ElectLockStage
))
if
((
TCUCommuStatus
.
CommStage
==
ElectLockStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockRecvTime
<=
2000
)
//2S
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockRecvTime
<=
2000
)
//2S
{
if
(
TCUCommuStatus
.
ElectLockSentTime
==
0
)
if
(
TCUCommuStatus
.
ElectLockSentTime
==
0
)
{
ElectControlAck
();
TCUCommuStatus
.
ElectLockSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockSentTime
>=
500
)
{
ElectControlAck
();
TCUCommuStatus
.
ElectLockSentTime
=
GetSystemTick
();
...
...
@@ -450,19 +498,20 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
if
((
TCUCommuStatus
.
CommStage
==
PowerControlStage
))
if
((
TCUCommuStatus
.
CommStage
==
PowerControlStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockRecvTime
<=
2000
)
//2S
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ElectLockRecvTime
<=
2000
)
//2S
{
if
(
TCUCommuStatus
.
PowerControlSentTime
==
0
)
if
(
TCUCommuStatus
.
PowerControlSentTime
==
0
)
{
PowerControlAck
();
TCUCommuStatus
.
PowerControlSentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
PowerControlSentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
PowerControlSentTime
>=
500
)
{
PowerControlAck
();
TCUCommuStatus
.
PowerControlSentTime
=
GetSystemTick
();
...
...
@@ -470,19 +519,20 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
if
((
TCUCommuStatus
.
CommStage
==
ChgInfornQueryStage
))
if
((
TCUCommuStatus
.
CommStage
==
ChgInfornQueryStage
))
{
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ChgInfornQueryRecvTime
<=
2000
)
//2S
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ChgInfornQueryRecvTime
<=
2000
)
//2S
{
if
(
TCUCommuStatus
.
ChgInfornQuerySentTime
==
0
)
if
(
TCUCommuStatus
.
ChgInfornQuerySentTime
==
0
)
{
ChgInfornQueryAck
();
TCUCommuStatus
.
ChgInfornQuerySentTime
=
GetSystemTick
();
}
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ChgInfornQuerySentTime
>=
500
)
else
if
(
GetSystemTick
()
-
TCUCommuStatus
.
ChgInfornQuerySentTime
>=
500
)
{
ChgInfornQueryAck
();
TCUCommuStatus
.
ChgInfornQuerySentTime
=
GetSystemTick
();
...
...
@@ -490,89 +540,93 @@ void CommutionRunStage(void)
}
else
{
TCUCommuStatus
.
CommStage
=
HeartStage
;
TCUCommuStatus
.
CommStage
=
HeartStage
;
}
}
}
void
TCUCurChgRecordInterface_A
(
void
)
{
static
u32
ChgRecordSendTick
=
0
;
static
u32
ChgRecordSendErr
=
0
;
//停止完成帧
static
u32
ChgRecordSendErr
=
0
;
//停止完成帧
static
u32
ChgStopSendTick
=
0
;
static
u32
ChgStopSendEcount
=
0
;
//停止帧
static
u32
ChgStopSendEcount
=
0
;
//停止帧
static
u32
ChgStartSendTick
=
0
;
static
u32
ChgStartSendEcount
=
0
;
//启动帧
static
u32
ChgStartSendEcount
=
0
;
//启动帧
static
u32
ChgStartCompSendTick
=
0
;
static
u32
ChgStartCompSendEcount
=
0
;
//启动完成帧
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
static
u32
ChgStartCompSendEcount
=
0
;
//启动完成帧
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
{
StartMegAck_A
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStartNotetrl
=
2
;
StartMegAck_A
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStartNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
2
)
else
if
(
TCUCurChgRecd
.
TCUChgStartNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250
)
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250
)
{
if
(
ChgStartSendEcount
<
8
)
//2S
if
(
ChgStartSendEcount
<
8
)
//2S
{
ChgStartSendEcount
++
;
StartMegAck_A
();
//启动帧发送
StartMegAck_A
();
//启动帧发送
}
else
{
ChgStartSendTick
=
0
;
TCUCurChgRecd
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd
.
TCUChgStartNotetrl
=
0
;
//停止发送
ChgStartSendEcount
=
0
;
}
}
}
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
1
)
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
1
)
{
stopCompSend_A
();
ChgStartCompSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
2
)
else
if
(
TCUCurChgRecd
.
TCUChgStarCompNotetrl
==
2
)
{
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250
))
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250
))
{
ChgStartCompSendEcount
++
;
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
startCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
}
else
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
TCUCommuStatus
.
ErrData
.
Value
.
startCompAck
=
1
;
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
3
;
TCUCurChgRecd
.
TCUChgStarCompNotetrl
=
3
;
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//超时停机
ChgStartCompSendEcount
=
0
;
}
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
3
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
3
)
{
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
StarChgType
=
0
;
ChgStartCompSendEcount
=
0
;
ChgStartCompSendEcount
=
0
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
//停止帧逻辑
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
//停止帧逻辑
{
StopMegAck_A
();
//停止帧发送
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStopNotetrl
=
2
;
StopMegAck_A
();
//停止帧发送
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStopNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
2
)
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250
)
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250
)
{
if
(
ChgStopSendEcount
<
8
)
if
(
ChgStopSendEcount
<
8
)
{
ChgStopSendEcount
++
;
StopMegAck_A
();
...
...
@@ -580,46 +634,49 @@ void TCUCurChgRecordInterface_A(void)
else
{
ChgStopSendTick
=
0
;
TCUCurChgRecd
.
TCUChgStopNotetrl
=
0
;
//停止发送
TCUCurChgRecd
.
TCUChgStopNotetrl
=
0
;
//停止发送
ChgStopSendEcount
=
0
;
}
}
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
1
)
//停止完成帧逻辑
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
1
)
//停止完成帧逻辑
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
{
stopCompSend_A
();
ChgRecordSendTick
=
GetSystemTick
();
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
2
;
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
2
)
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
2
)
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
{
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250
))
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250
))
{
ChgRecordSendErr
++
;
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
stopCompSend_A
();
ChgRecordSendTick
=
GetSystemTick
();
}
else
{
//超时大于,保存
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag
=
1
;
TCUCommuStatus
.
ErrData
.
Value
.
stopCompAck
=
1
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
3
;
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
3
;
ChgRecordSendErr
=
0
;
}
}
}
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
3
)
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd
.
TCUChgStopCompNotetrl
==
3
)
&&
(
0
!=
TCUCurChgRecd
.
TCUChargeEnable
))
{
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd
.
TCUChgStopType
=
0
;
ChgRecordSendErr
=
0
;
}
}
void
TCUCurChgRecordInterface_B
(
void
)
{
static
u32
ChgRecordSendTick
=
0
;
...
...
@@ -627,76 +684,78 @@ void TCUCurChgRecordInterface_B(void)
static
u32
ChgStopSendTick
=
0
;
static
u32
ChgStopSendEcount
=
0
;
static
u32
ChgStartSendTick
=
0
;
static
u32
ChgStartSendEcount
=
0
;
//启动帧
static
u32
ChgStartSendEcount
=
0
;
//启动帧
static
u32
ChgStartCompSendTick
=
0
;
static
u32
ChgStartCompSendEcount
=
0
;
//启动完成帧
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
static
u32
ChgStartCompSendEcount
=
0
;
//启动完成帧
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
1
)
//启动帧逻辑
{
StartMegAck_B
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
2
;
StartMegAck_B
();
//启动帧发送
ChgStartSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
2
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStartNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250
)
if
(
GetSystemTick
()
-
ChgStartSendTick
>=
250
)
{
if
(
ChgStartSendEcount
<
8
)
//2S
if
(
ChgStartSendEcount
<
8
)
//2S
{
ChgStartSendEcount
++
;
StartMegAck_B
();
//启动帧发送
StartMegAck_B
();
//启动帧发送
}
else
{
ChgStartSendTick
=
0
;
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
0
;
//停止发送
TCUCurChgRecd_B
.
TCUChgStartNotetrl
=
0
;
//停止发送
ChgStartSendEcount
=
0
;
}
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
1
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
1
)
{
stopCompSend_B
();
ChgStartCompSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
2
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
2
)
{
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250
))
if
((
GetSystemTick
()
-
ChgStartCompSendTick
)
>
(
250
))
{
ChgStartCompSendEcount
++
;
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
startCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
}
else
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
TCUCommuStatus
.
ErrData_B
.
Value
.
startCompAck
=
1
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
3
;
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//超时停机
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
=
3
;
ChgStartCompSendEcount
=
0
;
}
}
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
3
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStarCompNotetrl
==
3
)
{
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
TCUStartCompresult
=
0
;
//
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
StarChgType
=
0
;
ChgStartCompSendEcount
=
0
;
}
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
else
if
(
TCUCurChgRecd
.
TCUChgStopNotetrl
==
1
)
{
StopMegAck_B
();
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
2
;
ChgStopSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
2
;
}
else
if
(
TCUCurChgRecd_B
.
TCUChgStopNotetrl
==
2
)
else
if
(
TCUCurChgRecd_B
.
TCUChgStopNotetrl
==
2
)
{
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250
)
if
(
GetSystemTick
()
-
ChgStopSendTick
>=
250
)
{
if
(
ChgStopSendEcount
<
8
)
if
(
ChgStopSendEcount
<
8
)
{
ChgStopSendEcount
++
;
StopMegAck_B
();
...
...
@@ -704,80 +763,89 @@ void TCUCurChgRecordInterface_B(void)
else
{
ChgStopSendTick
=
0
;
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
0
;
//停止发送
TCUCurChgRecd_B
.
TCUChgStopNotetrl
=
0
;
//停止发送
ChgStopSendEcount
=
0
;
}
}
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
1
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
1
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
{
stopCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
2
;
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
2
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
2
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
{
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250
))
if
((
GetSystemTick
()
-
ChgRecordSendTick
)
>
(
250
))
{
ChgRecordSendErr
++
;
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
if
(
ChgRecordSendErr
<
20
)
//超时5S
{
//超时小于20次
stopCompSend_B
();
ChgRecordSendTick
=
GetSystemTick
();
}
else
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
{
//超时大于,保存
TCUCommuStatus
.
ConEMSendFlag_B
=
1
;
//错误帧发送
TCUCommuStatus
.
ErrData_B
.
Value
.
stopCompAck
=
1
;
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
3
;
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
3
;
ChgRecordSendErr
=
0
;
}
}
}
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
3
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
else
if
((
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
==
3
)
&&
(
0
!=
TCUCurChgRecd_B
.
TCUChargeEnable
))
{
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
TCUChgStopCompNotetrl
=
0
;
//超时触发
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
//归零
TCUCurChgRecd_B
.
TCUChgStopType
=
0
;
ChgRecordSendErr
=
0
;
}
}
void
TCUChgStarStopProcess
(
void
)
//充电流启停程逻辑
void
TCUChgStarStopProcess
(
void
)
//充电流启停程逻辑
{
TCUCurChgRecordInterface_A
();
TCUCurChgRecordInterface_B
();
}
void
TCUWorkProcess
(
void
)
{
if
(
TCUCommuStatus
.
VerChkVaild
==
0
)
//版本检验未完成不发送
if
(
TCUCommuStatus
.
VerChkVaild
==
0
)
//版本检验未完成不发送
return
;
InformationReporting
();
//遥信
DCMeasuring_A
();
//遥测
DCMeasuring_B
();
//遥测
InformationReporting
();
//遥信
DCMeasuring_A
();
//遥测
DCMeasuring_B
();
//遥测
}
void
TCULinkProcess
(
void
)
//心跳帧处理
void
TCULinkProcess
(
void
)
//心跳帧处理
{
TCUPillarHeartBeat
();
//心跳处理
TCUPillarHeartBeat_B
();
//心跳处理
CommutionConfigurationStage
();
//配置阶段
CommutionRunStage
();
//运行阶段
ConEMSend
();
//ab超时发送逻辑
TCUPillarHeartBeat
();
//心跳处理
TCUPillarHeartBeat_B
();
//心跳处理
CommutionConfigurationStage
();
//配置阶段
CommutionRunStage
();
//运行阶段
ConEMSend
();
//ab超时发送逻辑
}
void
TCUComm
(
void
const
*
argument
)
void
TCUComm
(
void
const
*
argument
)
{
DcModuleCanInit_B
();
/**/
osDelay
(
6000
);
for
(;;)
TCUCommInit
();
//DcModuleCanInit_B();
/**/
osDelay
(
6000
);
for
(;
;
)
{
TCURecvProcess
();
//帧接收
TCUWorkProcess
();
//遥测遥信息处理
TCULinkProcess
();
//心跳包处理配置信息
TCUChgStarStopProcess
();
//启停逻辑处理
TCURecvProcess
();
//帧接收
TCUWorkProcess
();
//遥测遥信息处理
TCULinkProcess
();
//心跳包处理配置信息
TCUChgStarStopProcess
();
//启停逻辑处理
// TCUCodeDone();//告警故障处理
// TCUSaveEventDone();
...
...
@@ -785,3 +853,4 @@ void TCUComm(void const *argument)
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论