代码暂存 参数调整及微泄漏优化

This commit is contained in:
常正强 2025-05-30 13:10:21 +08:00
parent 6032d61ead
commit 7603947fd1
1 changed files with 23 additions and 24 deletions

View File

@ -722,12 +722,12 @@ BMP390_ProcessEvent(uint8_t task_id, uint16_t events)
void VALVE_SetInfo()
{
ValveInfo.over_press = 6200;
ValveInfo.low_press = 800;
ValveInfo.low_press = 680;
ValveInfo.over_temp = 65;
ValveInfo.over_flow_press_diff_1kpa = 500;
ValveInfo.over_flow_press_diff_2kpa = 500;
ValveInfo.over_flow_press_diff_3kpa = 500;
ValveInfo.over_flow_press_diff_1kpa = 650;
ValveInfo.over_flow_press_diff_2kpa = 650;
ValveInfo.over_flow_press_diff_3kpa = 650;
}
void BSP_PRESS_Init(void)
@ -957,16 +957,16 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
stopAutoCloseTimer();
}
// 欠压检测
// else if (ValveRawData.in_press <= ValveInfo.low_press)
// {
// BSP_VALVE_Close(kValveCmdUnderPressure); // 使用欠压关阀原因
else if (ValveRawData.in_press <= ValveInfo.low_press)
{
BSP_VALVE_Close(kValveCmdUnderPressure); // 使用欠压关阀原因
// fault_state = 2;
// // 欠压关阀时停止延时关阀功能
// stopAutoCloseTimer();
// logError("******************************");
// logError("欠压关阀");
// }
fault_state = 2;
// 欠压关阀时停止延时关阀功能
stopAutoCloseTimer();
logError("******************************");
logError("欠压关阀");
}
#if 1
// 1、过流自动关闭
// 进气端压力2kpa时额定流量调到0.9
@ -985,7 +985,7 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
{
logDebug("keydown_time !%d", keydown_time);
keydown_time++;
if (keydown_time > 25)
if (keydown_time > 30)
{
keydown_time = 0;
keydown_flag = 0;
@ -1177,28 +1177,27 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
// 微泄漏检测事件处理
if (events & MICRO_LEAK_CHECK_EVT)
{
// 只在阀门开启状态下检测微泄漏
if (gValveData.switch_status == kOpened && !fault_state)
// 只在阀门关闭状态下检测微泄漏
if (gValveData.switch_status == kClosed)
{
logDebug("微泄漏趋检测!!!!");
// 记录当前压差值
static int last_press_diff = 0;
static int last_press = 0;
// 比较当前值与上次值
if (ValveRawData.in_out_press_diff > last_press_diff &&
ValveRawData.in_out_press_diff > SAFETY_MICRO_LEAK_PRESS_DIFF)
if (ValveRawData.out_press < last_press)
{
// 压差逐渐增大,可能是微泄漏
// 出口压力逐渐增小,可能是微泄漏
valve_safety.micro_leak_count++;
logDebug("微泄漏检测: 压差增大 %d -> %d (第%d次/共需%d次)",
last_press_diff, ValveRawData.in_out_press_diff,
logError("微泄漏检测: 出口压力减小 %d -> %d (第%d次/共需%d次)",
last_press, ValveRawData.out_press,
valve_safety.micro_leak_count, MICRO_LEAK_CHECK_COUNT);
// 连续6次检测到压差增大判定为微泄漏
if (valve_safety.micro_leak_count >= MICRO_LEAK_CHECK_COUNT)
{
logError("******************************");
logError("检测到微泄漏,自动关闭阀门");
logError("检测到微泄漏");
BSP_VALVE_Close(kValveCmdMicroLeak); // 使用微泄漏关阀原因
valve_safety.micro_leak_count = 0; // 重置计数器
@ -1218,7 +1217,7 @@ uint16_t Check_ProcessEvent(uint8_t task_id, uint16_t events)
}
// 更新上次压差值
last_press_diff = ValveRawData.in_out_press_diff;
last_press = ValveRawData.out_press;
}
else
{