提交 d4f17265 作者: wysheng

增加判断防止输出过流

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