提交 72b47ca6 作者: wysheng

修正电子锁控制,功率调节

上级 2c72f8cf
......@@ -2122,9 +2122,9 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
else if (PillarError.Value.EleLock == 1)
TCUCommuStatus.ElectLockVaildValue = 07; //电子锁故障
else
TCUCommuStatus.ServiceContralVaildValue = 0;
TCUCommuStatus.ElectLockVaildValue = 0;
if ((TCUCommuStatus.ServiceContralVaildValue == 0) || (TCUCommuStatus.ServiceContralVaildValue == 0x07))
if ((TCUCommuStatus.ElectLockVaildValue == 0) || (TCUCommuStatus.ElectLockVaildValue == 0x07))
{
if (TCUCommuStatus.ElectLockSetValue == 01)
LockSet(eSwSta_On);
......@@ -2152,9 +2152,9 @@ void ElectControlAnalysis(StructTCUSend * pPgnRecv)
else if (PillarError_B.Value.EleLock == 1)
TCUCommuStatus_B.ElectLockVaildValue = 07; //电子锁故障
else
TCUCommuStatus_B.ServiceContralVaildValue = 0;
TCUCommuStatus_B.ElectLockVaildValue = 0;
if ((TCUCommuStatus_B.ServiceContralVaildValue == 0) || (TCUCommuStatus_B.ServiceContralVaildValue == 0x07))
if ((TCUCommuStatus_B.ElectLockVaildValue == 0) || (TCUCommuStatus_B.ElectLockVaildValue == 0x07))
{
if (TCUCommuStatus_B.ElectLockSetValue == 01)
LockSet_B(eSwSta_On);
......@@ -2176,21 +2176,22 @@ void ElectControlAck(u8 ChgNum)
if (ChgNum == 1)
{
Data[0] = 0;
Data[1] = TCUCommuStatus.ElectLockSetValue;
Data[1] = 1;//当前需要操作电子锁序号,从 1 开始。
Data[2] = TCUCommuStatus.ElectLockSetValue;
if (PillarError.Value.EleLock == 1)
TCUCommuStatus.ServiceContralVaildValue = 0x07;
TCUCommuStatus.ElectLockVaildValue = 0x07;
if (TCUCommuStatus.ElectLockVaildValue == 0)
{
Data[2] = 00; //成功
Data[3] = 00; //成功
Data[4] = 00; //成功
}
else
{
Data[2] = 01; //失败
Data[3] = TCUCommuStatus.ServiceContralVaildValue; //失败
Data[3] = 01; //失败
Data[4] = TCUCommuStatus.ElectLockVaildValue; //失败
}
TCUSinglePackSendMsg(Data, 8, eCmd_GunAck, 4, ChargerCont1939Addr);
......@@ -2198,21 +2199,22 @@ void ElectControlAck(u8 ChgNum)
else if (ChgNum == 2)
{
Data[0] = 0;
Data[1] = TCUCommuStatus_B.ElectLockSetValue;
Data[1] = 1;//当前需要操作电子锁序号,从 1 开始。
Data[2] = TCUCommuStatus_B.ElectLockSetValue;
if (PillarError_B.Value.EleLock == 1)
TCUCommuStatus_B.ServiceContralVaildValue = 0x07;
TCUCommuStatus_B.ElectLockVaildValue = 0x07;
if (TCUCommuStatus_B.ElectLockVaildValue == 0)
{
Data[2] = 00; //成功
Data[3] = 00; //成功
Data[4] = 00; //成功
}
else
{
Data[2] = 01; //失败
Data[3] = TCUCommuStatus_B.ServiceContralVaildValue; //失败
Data[3] = 01; //失败
Data[4] = TCUCommuStatus_B.ElectLockVaildValue; //失败
}
TCUSinglePackSendMsg(Data, 8, eCmd_GunAck, 4, ChargerCont1939Addr_B);
......@@ -2230,15 +2232,14 @@ void PowerControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus.PowerControltype = pPgnRecv->Data[1];
TCUCommuStatus.PowerControlParam = pPgnRecv->Data[2] + ((u16) pPgnRecv->Data[3]) << 8;
if (((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02)) || ((pPgnRecv->Data[2] != 0x01) &&
(pPgnRecv->Data[2] != 0x02)))
if (((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02)))
TCUCommuStatus.PowerControlVaildValue = 1; //数据合法性校验失败
else
{
TCUCommuStatus.PowerControlVaildValue = 0; //数据合法性校验成功
TCUControlInfo.PowerControl_A.ControlType = pPgnRecv->Data[1];
memset(&TCUControlInfo.PowerControl_A, 0 sizeof(StructPowerControl));
if (pPgnRecv->Data[1] == 01)
{
TCUControlInfo.PowerControl_A.Kwh = ((u16) pPgnRecv->Data[3] << 8) +pPgnRecv->Data[2] -1000;
......@@ -2258,13 +2259,12 @@ void PowerControlAnalysis(StructTCUSend * pPgnRecv)
TCUCommuStatus_B.PowerControltype = pPgnRecv->Data[1];
TCUCommuStatus_B.PowerControlParam = pPgnRecv->Data[2] + ((u16) pPgnRecv->Data[3]) << 8;
if (((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02)) || ((pPgnRecv->Data[2] != 0x01) &&
(pPgnRecv->Data[2] != 0x02)))
if (((pPgnRecv->Data[1] != 0x01) && (pPgnRecv->Data[1] != 0x02)))
TCUCommuStatus_B.PowerControlVaildValue = 1; //数据合法性校验失败
else
{
TCUCommuStatus_B.PowerControlVaildValue = 0; //数据合法性校验成功
memset(&TCUControlInfo.PowerControl_B, 0 sizeof(StructPowerControl));
TCUControlInfo.PowerControl_B.ControlType = pPgnRecv->Data[1];
if (pPgnRecv->Data[1] == 01)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论