Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
D
DC360_1drap3_xiaoju_V1
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
丁雨邯
DC360_1drap3_xiaoju_V1
Commits
0f1b7631
提交
0f1b7631
authored
6月 11, 2020
作者:
wysheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
定值设置与查询
上级
79e35701
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
152 行增加
和
33 行删除
+152
-33
Drv_TCUComm.c
DcPillar/Src/Drivers/Drv_TCUComm.c
+150
-33
Drv_TCUComm.h
DcPillar/Src/Drivers/Drv_TCUComm.h
+2
-0
没有找到文件。
DcPillar/Src/Drivers/Drv_TCUComm.c
浏览文件 @
0f1b7631
...
@@ -642,7 +642,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -642,7 +642,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
if
(
StartMeg_A
.
StarChgType
==
1
)
if
(
StartMeg_A
.
StarChgType
==
1
)
{
{
TCUCurChgRecd
.
VehicleVerification
=
0
;
TCUCurChgRecd
.
VehicleVerification
=
1
;
}
}
}
}
else
else
...
@@ -694,7 +694,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
...
@@ -694,7 +694,7 @@ void StartMeg(StructTCUSend * pPgnRecv)
if
(
StartMeg_B
.
StarChgType
==
1
)
if
(
StartMeg_B
.
StarChgType
==
1
)
{
{
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
TCUCurChgRecd_B
.
VehicleVerification
=
1
;
}
}
}
}
else
else
...
@@ -3144,33 +3144,134 @@ void VehicleVerificationHandle(void)
...
@@ -3144,33 +3144,134 @@ void VehicleVerificationHandle(void)
}
}
/*
void
VehicleVerificationHandle_B
(
void
)
1 设备名称 ASCII码 32Byte
{
2 充电桩设备型号 BIN 2Byte
static
u32
VehicleVerificationTick
=
0
;
3 设备类型 BIN 1Byte
static
u8
VehicleVerificationCount
=
0
;
4 设备序列号 ASCII码 32Byte
if
(
1
==
TCUCurChgRecd_B
.
VehicleVerification
)
5 设备厂商编码 BIN 4Byte
{
6 设备控制器硬件版本 BIN 2Byte
if
(
GetSystemTick
()
-
VehicleVerificationTick
>=
1000
)
7 设备控制器软件版本 BIN 3Byte
{
8 设备控制器软件日期 BIN 4Byte
VehicleVerificationTick
=
GetSystemTick
();
9 设备控制器软件校验码 BIN 16Byte
VehicleVerificationCount
++
;
10 设备运行模式 BIN 1Byte
if
(
VehicleVerificationCount
<=
30
)
11 设备通信地址(充电主控模块与计费控制单元) BIN 1Byte
{
12 设备通信超时时间(充电主控模块与计费控制单元) BIN 1Byte
verification_B
();
13 设备通信协议版本号(充电主控模块与计费控制单元) BIN 2Byte
}
14 设备通信地址(充电主控模块与功率控制模块) BIN 1Byte
else
15 设备通信超时时间(充电主控模块与功率控制模块) BIN 1Byte
{
16 设备通信协议版本号(充电主控模块与功率控制模块) BIN 2Byte
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
17 充电桩额定输出电压 BIN 2Byte
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
18 充电桩额定输出电流 BIN 2Byte
TCUCommuStatus_B
.
ErrData
.
Value
.
verificationAck
=
1
;
19 充电桩最高输出电压 BIN 2Byte
TCUCommuStatus_B
.
ConEMSendFlag
=
1
;
//错误帧发送
20 充电桩最低输出电压 BIN 2Byte
}
21 充电桩最大输出电流 BIN 2Byte
22 充电桩最小输出电流 BIN 2Byte
}
23 BMS协议版本 BIN 1 Byte
24 遥信报文上送周期 BIN 1Byte
}
25 遥测报文上送周期 BIN 1Byte
else
if
(
2
==
TCUCurChgRecd_B
.
VehicleVerification
)
*/
{
if
(
VerificaInfo_B
.
result
)
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
0
;
}
else
{
TCUCurChgRecd_B
.
TCUChargeEnable
=
1
;
}
TCUCurChgRecd_B
.
VehicleVerification
=
0
;
}
else
{
VehicleVerificationTick
=
GetSystemTick
();
VehicleVerificationCount
=
0
;
}
}
#define MAX_TCUVALUE_INDEX 24
typedef
struct
{
u16
value_index
;
//定值序号 2byte
u8
rw
;
//0:只读 1:可写
u8
len
;
//长度
u8
*
data
;
//定值信息
}
StructTCUValue
;
//1 设备名称 ASCII码 32Byte
u8
drive_name
[
32
];
//2 充电桩设备型号 BIN 2Byte
//3 设备类型 BIN 1Byte
u8
drive_type
=
0x02
;
//4 设备序列号 ASCII码 32Byte
u8
drive_sno
[
32
];
//5 设备厂商编码 BIN 4Byte
//6 设备控制器硬件版本 BIN 2Byte
//7 设备控制器软件版本 BIN 3Byte
//8 设备控制器软件日期 BIN 4Byte
//9 设备控制器软件校验码 BIN 16Byte
u8
SoftwareCRC
[
16
];
//10 设备运行模式 BIN 1Byte
u8
runModel
=
0x00
;
//11 设备通信地址(充电主控模块与计费控制单元) BIN 1Byte
u8
drive_addr
=
0xe0
;
//12 设备通信超时时间(充电主控模块与计费控制单元) BIN 1Byte
u8
drive_timeout
=
0x03
;
//13 设备通信协议版本号(充电主控模块与计费控制单元) BIN 2Byte
//14 设备通信地址(充电主控模块与功率控制模块) BIN 1Byte
u8
drive_addr1
=
0xe1
;
//15 设备通信超时时间(充电主控模块与功率控制模块) BIN 1Byte
//16 设备通信协议版本号(充电主控模块与功率控制模块) BIN 2Byte
//17 充电桩额定输出电压 BIN 2Byte
//18 充电桩额定输出电流 BIN 2Byte
//19 充电桩最高输出电压 BIN 2Byte
//20 充电桩最低输出电压 BIN 2Byte
//21 充电桩最大输出电流 BIN 2Byte
//22 充电桩最小输出电流 BIN 2Byte
//23 BMS协议版本 BIN 1 Byte
u8
bmsVersion
=
0x03
;
//24 遥信报文上送周期 BIN 1Byte
u8
remoteSendPeriod
=
1
;
//25 遥测报文上送周期 BIN 1Byte
u8
telemeteringSendPeriod
=
1
;
StructTCUValue
TcuValue
[]
=
{
//定值序号 rw len data
{
1
,
0
,
32
,
drive_name
},
{
2
,
0
,
2
,
TCUControlInfo
.
DeviceModel
},
{
3
,
0
,
1
,
&
drive_type
},
{
4
,
0
,
32
,
drive_sno
},
{
5
,
0
,
4
,
TCUControlInfo
.
ManufacturerCode
},
{
6
,
0
,
2
,
TCUControlInfo
.
HardwareVersion
},
{
7
,
0
,
3
,
TCUControlInfo
.
SoftwareVersion
},
{
8
,
0
,
4
,
TCUControlInfo
.
SoftwareData
},
{
9
,
0
,
16
,
SoftwareCRC
},
{
10
,
1
,
1
,
&
runModel
},
{
11
,
0
,
1
,
&
drive_addr
},
{
12
,
1
,
1
,
&
drive_timeout
},
{
13
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
version
)
},
{
14
,
0
,
1
,
&
drive_addr1
},
{
15
,
1
,
1
,
&
drive_timeout
},
{
16
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
version
)
},
{
17
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMaxVolt
)},
{
18
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMaxCurrt
)},
{
19
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMaxVolt
)},
{
20
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMinVolt
)},
{
21
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMaxCurrt
)},
{
22
,
0
,
2
,
(
u8
*
)(
&
TCUControlInfo
.
DcMinVolt
)},
{
23
,
0
,
1
,
&
bmsVersion
},
{
24
,
1
,
1
,
&
remoteSendPeriod
},
{
25
,
1
,
1
,
&
telemeteringSendPeriod
},
};
void
TCUValueInit
(
void
)
{
memset
(
drive_name
,
0
,
32
);
}
u8
TCUValueSetAddr
=
0
;
u8
TCUValueSetAddr
=
0
;
void
TCUValueSetHandle
(
StructTCUSend
*
pPgnRecv
)
void
TCUValueSetHandle
(
StructTCUSend
*
pPgnRecv
)
{
{
...
@@ -3232,8 +3333,14 @@ u8 setValue(u16 index, u8 *pdate)
...
@@ -3232,8 +3333,14 @@ u8 setValue(u16 index, u8 *pdate)
0x03 --- 写入失败
0x03 --- 写入失败
0x04 --- 给定越限
0x04 --- 给定越限
*/
*/
u8
reason
=
0
;
//u8 reason = 0;
return
reason
;
if
(
index
>
MAX_TCUVALUE_INDEX
)
return
0x01
;
if
(
TcuValue
[
index
-
1
].
rw
==
0
)
return
0x02
;
memcpy
(
TcuValue
[
index
-
1
].
data
,
pdate
,
TcuValue
[
index
-
1
].
len
);
return
0
;
}
}
u8
getValue
(
u16
index
,
u8
*
pdate
)
u8
getValue
(
u16
index
,
u8
*
pdate
)
...
@@ -3244,13 +3351,19 @@ u8 getValue(u16 index, u8 *pdate)
...
@@ -3244,13 +3351,19 @@ u8 getValue(u16 index, u8 *pdate)
0x02 --- 禁止读出
0x02 --- 禁止读出
0x03 --- 读出失败
0x03 --- 读出失败
*/
*/
u8
reason
=
0
;
//u8 reason = 0;
return
reason
;
if
(
index
>
MAX_TCUVALUE_INDEX
)
return
0x01
;
memcpy
(
pdate
,
TcuValue
[
index
-
1
].
data
,
TcuValue
[
index
-
1
].
len
);
return
0
;
}
}
u8
getValueLen
(
u16
index
)
u8
getValueLen
(
u16
index
)
{
{
u8
len
=
0
;
u8
len
=
0
;
if
(
index
>
MAX_TCUVALUE_INDEX
)
return
0x00
;
len
=
TcuValue
[
index
-
1
].
len
;
return
len
;
return
len
;
}
}
...
@@ -3329,6 +3442,8 @@ void TCUValueSetMsg(u8 * date, u8 len)
...
@@ -3329,6 +3442,8 @@ void TCUValueSetMsg(u8 * date, u8 len)
{
{
TCUValueSetDate
.
result
.
resultInfo
.
reason
=
ret
;
TCUValueSetDate
.
result
.
resultInfo
.
reason
=
ret
;
}
}
TCUValueSetAck
();
}
}
void
TCUValueSetAck
(
void
)
void
TCUValueSetAck
(
void
)
...
@@ -3407,6 +3522,8 @@ void TCUValueQueryHandle(StructTCUSend * pPgnRecv)
...
@@ -3407,6 +3522,8 @@ void TCUValueQueryHandle(StructTCUSend * pPgnRecv)
//4 定值序号 2byte
//4 定值序号 2byte
TCUValueQueryMsg
.
value_index
=
pPgnRecv
->
Data
[
4
];
TCUValueQueryMsg
.
value_index
=
pPgnRecv
->
Data
[
4
];
TCUValueQueryMsg
.
value_index
=
(
TCUValueQueryMsg
.
value_index
<<
8
)
+
pPgnRecv
->
Data
[
3
];
TCUValueQueryMsg
.
value_index
=
(
TCUValueQueryMsg
.
value_index
<<
8
)
+
pPgnRecv
->
Data
[
3
];
TCUValueQueryAck
();
}
}
void
TCUValueQueryAck
(
void
)
void
TCUValueQueryAck
(
void
)
...
...
DcPillar/Src/Drivers/Drv_TCUComm.h
浏览文件 @
0f1b7631
...
@@ -461,8 +461,10 @@ extern StructTCUEM TCUChgContralTCUEM_B;
...
@@ -461,8 +461,10 @@ extern StructTCUEM TCUChgContralTCUEM_B;
void
TCUStartDownloadHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUStartDownloadHandle
(
StructTCUSend
*
pPgnRecv
);
void
StartDownloadAck
(
u8
ChgNum
);
void
StartDownloadAck
(
u8
ChgNum
);
void
TCUValueSetHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUValueSetHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUValueSetAck
(
void
);
void
TCUValueSetMsg
(
u8
*
date
,
u8
len
);
void
TCUValueSetMsg
(
u8
*
date
,
u8
len
);
void
TCUValueQueryHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUValueQueryHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUValueQueryAck
(
void
);
void
TCUDebugInfoHandle
(
StructTCUSend
*
pPgnRecv
);
void
TCUDebugInfoHandle
(
StructTCUSend
*
pPgnRecv
);
#endif
#endif
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论