提交 d4f17265 作者: wysheng

增加判断防止输出过流

上级 9416f001
......@@ -372,6 +372,10 @@ void DcModuleCtrlProcess_SmartAllocation(void)
DcModuleManage.Cmd = 0x55; //开机
//增加判断,防止输出过流
if(DcModuleGroup[i].flag == 1)
SendDataToDcModule(i, DcModuleManage.Cmd, DcModuleManage.SetVolt, DcModuleAbility.MinCurrt * 100);
else
SendDataToDcModule(i, DcModuleManage.Cmd, DcModuleManage.SetVolt, DcModuleManage.SetCurrt);
}
}
......@@ -433,9 +437,10 @@ void DcModuleCtrlProcess_SmartAllocation(void)
continue;
DcModuleManage_B.Cmd = 0x55; //开机
SendDataToDcModule(i, DcModuleManage_B.Cmd, DcModuleManage_B.SetVolt,
DcModuleManage_B.SetCurrt);
if(DcModuleGroup[i].flag == 1)
SendDataToDcModule(i, DcModuleManage_B.Cmd, DcModuleManage_B.SetVolt, DcModuleAbility.MinCurrt * 100);
else
SendDataToDcModule(i, DcModuleManage_B.Cmd, DcModuleManage_B.SetVolt, DcModuleManage_B.SetCurrt);
}
}
......@@ -640,9 +645,6 @@ void SendDataToDcModule_ZhongXing(u8 group_index, u8 cmd, u32 volt, u32 current)
DataSend.Len = 8;
DataSend.Data[0] = (flag<<4) | sendCmd;
DataSend.Data[1] = group_index + 1;
if(((sendCmd==0x01||sendCmd==0x03)&&DcModuleGroup[group_index].modules[0].status.Value.OnOff!=0x02)
||(sendCmd==0x02&&DcModuleGroup[group_index].modules[0].status.Value.OnOff!=0x01))
{
Temp = current/10;
DataSend.Data[4] = (u8) (Temp >> 8);
DataSend.Data[5] = (u8) (Temp >> 0);
......@@ -652,6 +654,9 @@ void SendDataToDcModule_ZhongXing(u8 group_index, u8 cmd, u32 volt, u32 current)
DataSend.Data[6] = (u8) (Temp >> 8);
DataSend.Data[7] = (u8) (Temp >> 0);
if(((sendCmd==0x01||sendCmd==0x03)&&DcModuleGroup[group_index].modules[0].status.Value.OnOff!=0x02)
||(sendCmd==0x02&&DcModuleGroup[group_index].modules[0].status.Value.OnOff!=0x01))
{
//放入队列
if (pdTRUE != xQueueSend(DcModeMsg, &DataSend, 0))
{
......@@ -662,14 +667,6 @@ void SendDataToDcModule_ZhongXing(u8 group_index, u8 cmd, u32 volt, u32 current)
if(DcModuleGroup[group_index].modules[0].status.Value.OnOff == 0x02) //非停止充电,下发修改充电参数
{
DataSend.Data[0] = (flag<<4) | 0x05;
Temp = current/10;
DataSend.Data[4] = (u8) (Temp >> 8);
DataSend.Data[5] = (u8) (Temp >> 0);
Temp = volt/100;
DataSend.Data[2] = (u8) (Temp >> 8);
DataSend.Data[3] = (u8) (Temp >> 0);
DataSend.Data[6] = (u8) (Temp >> 8);
DataSend.Data[7] = (u8) (Temp >> 0);
if (pdTRUE != xQueueSend(DcModeMsg, &DataSend, 0))
{
//osDelay(10);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论