From a882c30e093cffbd9f851872b3596eb329b1318f Mon Sep 17 00:00:00 2001 From: Byons Date: Mon, 7 Sep 2026 17:30:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=86=E5=B7=A5=E4=BF=AE=E5=A4=8D=E5=9B=9E?= =?UTF-8?q?=E6=94=B6=E6=B3=B5=E6=A8=A1=E5=BC=8F=E5=88=87=E6=8D=A2=E5=90=8E?= =?UTF-8?q?=E5=8E=8B=E5=8A=9B=E5=A4=B1=E6=8E=A7=E9=97=AE=E9=A2=98=E3=80=81?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=BB=E8=BE=91=E5=9C=A8=E9=9A=94=E8=86=9C?= =?UTF-8?q?=E6=B3=B5=E7=89=88=E6=9C=AC=E4=B8=8B=E7=A6=81=E7=94=A8=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E5=9B=9E=E6=94=B6=E6=B3=B5=E5=8B=BE=E9=80=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- InkJetPrinter.cpp | 21 ++++++++++++++------- PrintSetting.cpp | 2 +- SysPara.cpp | 5 +++++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/InkJetPrinter.cpp b/InkJetPrinter.cpp index 76e1306..303ff56 100644 --- a/InkJetPrinter.cpp +++ b/InkJetPrinter.cpp @@ -1417,7 +1417,7 @@ void InkJetPrinter::timerHandler(void){ test_flag = 0; } if(pulse_1s) { - if(sysPara->status.selfCheckDone && sysPara->para.gearPumpEnable && sysPara->para.flagOfReclaimPumEnable) + if(sysPara->status.selfCheckDone && sysPara->para.gearPumpEnable) checkPressureControl(); if((QTime::currentTime()>=QTime(00,00,00))&&(QTime::currentTime()<=QTime(00,00,02))&&sysPara->para.Reciclar){ if(ui->tabMainWindow->getCurrPrintStatus() != 1){ @@ -1679,12 +1679,19 @@ void InkJetPrinter::timerHandler(void){ m_lastReclaimMode = sysPara->para.flagOfReclaimPumEnable; gearPumpRunNormalFlag = false; // 泄漏保护重新学习 gearPumpRunNormalValue = 0.0f; - // 重置隔膜泵状态机,适应新模式 - m_pumpState = DPUMP_STOPPED; - m_stateChangeCount = 0; - m_adjSkip = 0; - m_lastActualPressure = 0; - m_bufValidCount = 0; + // 重置隔膜泵状态机,适应新模式 + u = 0.0f; + pid.integral = 0.0f; + pid.err_last = 0.0f; + sysPara->para.gearPumpValue = 0; + sysPara->devOp->WriteMoterPump(); + if(!sysPara->para.flagOfReclaimPumEnable) + sysPara->devOp->controlReclaimPump(false, false); + m_pumpState = DPUMP_STOPPED; + m_stateChangeCount = 0; + m_adjSkip = 0; + m_lastActualPressure = 0; + m_bufValidCount = 0; for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0; m_bufIdx = 0; } diff --git a/PrintSetting.cpp b/PrintSetting.cpp index 5d394e6..41e65aa 100644 --- a/PrintSetting.cpp +++ b/PrintSetting.cpp @@ -2233,7 +2233,7 @@ void PrintSetting::ModuleDecimalHideDisplay(const bool bEnabled) } void PrintSetting::specailMachineSetting(bool enable){ - ui->checkBox_ReclaimPumpEnable->setEnabled(enable); + ui->checkBox_ReclaimPumpEnable->setEnabled(enable && PUMP_VER == QString("G")); ui->spinBox_gearPumpSpeedAlarm->setEnabled(enable); } diff --git a/SysPara.cpp b/SysPara.cpp index 1d5ce19..9133b64 100644 --- a/SysPara.cpp +++ b/SysPara.cpp @@ -23,6 +23,7 @@ #include #include #include +#include "VerBVersion.h" #define VNLG SysPara::SysPara(void): @@ -60,6 +61,10 @@ SysPara::SysPara(void): //para.HVFaultCloseEn= 1; //开机默认为1,允许高压故障自动关闭回收功能 + // 隔膜泵版本强制开启回收泵模式 + if(PUMP_VER == QString("D")) + para.flagOfReclaimPumEnable = true; + devOp->writeFpgaPrintPara(true); //系统起来的时候,将上次记录的配置写入fpga,比如晶振分频等信息 devOp->writeFpgaVariCtrl(); devOp->resumeFault();