提交 8ff8ec45 作者: wysheng

新版绝缘模块

上级 9d9d03a5
...@@ -211,7 +211,7 @@ int ImdReadRecv(u8 *pRespBuff, u16 MaxRespLen, u32 TimeOut) ...@@ -211,7 +211,7 @@ int ImdReadRecv(u8 *pRespBuff, u16 MaxRespLen, u32 TimeOut)
RecvCnt++; RecvCnt++;
if(RecvCnt >= MaxRespLen) if(RecvCnt >= MaxRespLen)
{ {
if((ImdRtuAddr == pRespBuff[0]) && (0x03 == pRespBuff[1]) if((ImdRtuAddr == pRespBuff[0]) && ((0x03 == pRespBuff[1])||(0x10 == pRespBuff[1]))
&& ((MaxRespLen - 5) == pRespBuff[2]) && (0 == (pRespBuff[2] & 0x01))) && ((MaxRespLen - 5) == pRespBuff[2]) && (0 == (pRespBuff[2] & 0x01)))
{ {
CheckSum = ImdCrc16(pRespBuff, MaxRespLen-2); CheckSum = ImdCrc16(pRespBuff, MaxRespLen-2);
...@@ -230,6 +230,7 @@ int ImdReadRecv(u8 *pRespBuff, u16 MaxRespLen, u32 TimeOut) ...@@ -230,6 +230,7 @@ int ImdReadRecv(u8 *pRespBuff, u16 MaxRespLen, u32 TimeOut)
return -4; return -4;
} }
void ImdSendCmd(u8 *pData, u16 Len) void ImdSendCmd(u8 *pData, u16 Len)
{ {
ImdSendEnable(); ImdSendEnable();
...@@ -279,6 +280,14 @@ int ImdRead(StructImdValue *pImdValue) ...@@ -279,6 +280,14 @@ int ImdRead(StructImdValue *pImdValue)
pImdValue->NegatResist = (Buff[13]<<8) | Buff[14]; pImdValue->NegatResist = (Buff[13]<<8) | Buff[14];
pImdValue->PositWarn = Buff[16]; pImdValue->PositWarn = Buff[16];
pImdValue->NegatWarn = Buff[18]; pImdValue->NegatWarn = Buff[18];
pImdValue->SofVer = (Buff[3]<<8) | Buff[4];
if(pImdValue->SofVer>=0x0020)
{
if(0 == ImdReadRecv(Buff, 7, ImdAckTimeOut))
{
pImdValue->Volt = (Buff[3]<<8) | Buff[4];
}
}
osMutexRelease(ImdMutex); osMutexRelease(ImdMutex);
return 0; return 0;
} }
...@@ -470,6 +479,14 @@ int ImdRead_B(StructImdValue *pImdValue) ...@@ -470,6 +479,14 @@ int ImdRead_B(StructImdValue *pImdValue)
pImdValue->NegatResist = (Buff[13]<<8) | Buff[14]; pImdValue->NegatResist = (Buff[13]<<8) | Buff[14];
pImdValue->PositWarn = Buff[16]; pImdValue->PositWarn = Buff[16];
pImdValue->NegatWarn = Buff[18]; pImdValue->NegatWarn = Buff[18];
pImdValue->SofVer = (Buff[3]<<8) | Buff[4];
if(pImdValue->SofVer>=0x0020)
{
if(0 == ImdReadRecv(Buff, 7, ImdAckTimeOut))
{
pImdValue->Volt = (Buff[3]<<8) | Buff[4];
}
}
osMutexRelease(ImdMutex); osMutexRelease(ImdMutex);
return 0; return 0;
} }
......
...@@ -43,6 +43,8 @@ typedef struct ...@@ -43,6 +43,8 @@ typedef struct
u16 PnVolt; u16 PnVolt;
u16 PositResist; u16 PositResist;
u16 NegatResist; u16 NegatResist;
u16 SofVer;
u16 Volt;
}StructImdValue; }StructImdValue;
extern StructImdValue ImdValue; extern StructImdValue ImdValue;
......
...@@ -342,7 +342,7 @@ void DcModuleCtrlProcess_SmartAllocation(void) ...@@ -342,7 +342,7 @@ void DcModuleCtrlProcess_SmartAllocation(void)
Temp++; Temp++;
} }
else else
Temp = DcModuleManage.SetCurrt; Temp = DcModuleManage.SetCurrt/2;
if (Temp > (DcModuleAbility.MaxCurrt * 100)) if (Temp > (DcModuleAbility.MaxCurrt * 100))
Temp = (DcModuleAbility.MaxCurrt * 100); Temp = (DcModuleAbility.MaxCurrt * 100);
...@@ -403,7 +403,7 @@ void DcModuleCtrlProcess_SmartAllocation(void) ...@@ -403,7 +403,7 @@ void DcModuleCtrlProcess_SmartAllocation(void)
Temp++; Temp++;
} }
else else
Temp = DcModuleManage_B.SetCurrt; Temp = DcModuleManage_B.SetCurrt/2;
if (Temp > (DcModuleAbility.MaxCurrt * 100)) if (Temp > (DcModuleAbility.MaxCurrt * 100))
Temp = (DcModuleAbility.MaxCurrt * 100); Temp = (DcModuleAbility.MaxCurrt * 100);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论