From 16781171a92cebdbca70f304de597bc47bce2aa7 Mon Sep 17 00:00:00 2001 From: Byons Date: Thu, 20 Aug 2026 11:27:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E6=B0=94=E6=AD=A5?= =?UTF-8?q?=E9=AA=A4=EF=BC=8C=E7=8E=B0=E5=9C=A8=E7=9B=B4=E6=8E=A5=E6=89=93?= =?UTF-8?q?=E5=BC=80=E5=BE=AA=E7=8E=AF=E9=98=804=E7=A7=92=E5=B0=B1?= =?UTF-8?q?=E7=AE=97=E6=8E=92=E6=B0=94=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SysPara.cpp | 6 + SysPara.h | 3 +- SystemSetting.cpp | 5 + mainwidget.cpp | 86 +--- systemsetting.ui | 1079 +++++++++++++++++++++++---------------------- 5 files changed, 587 insertions(+), 592 deletions(-) diff --git a/SysPara.cpp b/SysPara.cpp index 080370e..85e442d 100644 --- a/SysPara.cpp +++ b/SysPara.cpp @@ -30,11 +30,16 @@ SysPara::SysPara(void): memset(¶,0,sizeof(para)); memset(&status,0,sizeof(status)); //qDebug("start to loadParaFromFile."); + + para.airPushDurationSec = 4; + loadParaFromFile(); //qDebug("loadParaFromFile ok."); loadParaToPrintInit(); //para.HVFaultCloseEn= 0; + qDebug() << "para.airPushDurationSec: " << para.airPushDurationSec; + if(para.ReadFileErrorCnt<10) para.ReadFileErrorCnt++; if(para.PowerOnErrorCnt<10) para.PowerOnErrorCnt++; // PowerOnErrorCnt @@ -183,6 +188,7 @@ void SysPara::loadDefaultPara(){ para.gearPumpSpeedAlarm = 1500; para.canvasHeight = 32; + para.airPushDurationSec = 4; } void SysPara::saveParaToFile(){ diff --git a/SysPara.h b/SysPara.h index 2e7e37a..cec50dd 100644 --- a/SysPara.h +++ b/SysPara.h @@ -811,7 +811,8 @@ typedef struct { bool enbSyncAndTimeTriggerLimit; // 同步和时喷打印次数限制功能使能 unsigned int syncAndTimeTriggerLimit; // 同步和时喷打印次数限制值 - + + int airPushDurationSec; // 排气时间,单位 秒 /* */ // 1108Bytes }sysPara_t; diff --git a/SystemSetting.cpp b/SystemSetting.cpp index 67d52d0..59ba150 100644 --- a/SystemSetting.cpp +++ b/SystemSetting.cpp @@ -183,6 +183,8 @@ void SystemSetting::updateSysParaToUI(){ ui->checkBoxSuspendAfterPhaseFault->setChecked(sysPara->para.suspendAfterPhaseFault); ui->checkHVFaultCloseEn->setChecked(sysPara->para.HVFaultCloseEn); + ui->spinBoxAirPushDuration->setValue(sysPara->para.airPushDurationSec); + if(sysPara->para.EditMode>SCENE) sysPara->para.EditMode=TXTFILE; } @@ -224,6 +226,9 @@ void SystemSetting::applyUIPara(){ sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value(); quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1); sysPara->para.diaphramOffset = diaphramOffset; + + sysPara->para.airPushDurationSec = ui->spinBoxAirPushDuration->value(); + //sysPara->para.mixValveisNewVersion = ui->radioButtonMixValveNewVersion->isChecked(); if(sysPara->devOp->writeFpgaPrintPara(true) != -1){ QMessageBox::information(this,tr("提示"),tr("应用成功")); diff --git a/mainwidget.cpp b/mainwidget.cpp index ca3d959..72f152b 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -1139,7 +1139,6 @@ void MainWidget::airPushingProcess() { if(sysPara){ if (sysPara->status.airPushing) { - // 执行排气 7 秒 QString labelTxt = tr("正在排气..."); setRunStatus(labelTxt); @@ -1147,73 +1146,34 @@ void MainWidget::airPushingProcess() setReclaimOpenBtnStatus(false); setReclaimCloseBtnStatus(false); - ++sysPara->status.airPushingOnTime; - if(sysPara->status.airPushingOnTime >= 50) { - static int delayCount = 0; - ++delayCount; - m_2sFlag = true; - //sysPara->devOp->controlInkValve(false); //关供墨阀 - if(delayCount >= 40) - { - m_2sFlag = false; - } + //qDebug()<< "start airPushingProcess "<status.airPushingOnTime; + // 执行排气 4 秒 + sysPara->status.airPushingOnTime += 100; + + if(sysPara->para.airPushDurationSec <= 0 || sysPara->para.airPushDurationSec > 30) { + sysPara->para.airPushDurationSec = 4; + sysPara->saveParaToFile(); + } - if(delayCount >= 60) - { - delayCount = 0; - airPushTimer->stop(); - sysPara->devOp->controlViscosityPump(false); - reclaimTanOpen(); - //qDebug()<< "start stop"; - sysPara->status.airPushingDone = 1; - sysPara->status.airPushing = 0; - sysPara->status.airPushingOnTime = 0; - } + // 延迟 半秒后才开回收槽,正式结束排气阶段 + if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 500){ + //qDebug()<< "start stop"; + reclaimTanOpen(); + sysPara->status.airPushingDone = 1; + sysPara->status.airPushing = 0; + sysPara->status.airPushingOnTime = 0; + airPushTimer->stop(); return; } - if (sysPara->status.airPushingOnTime%10 >= 5) { - sysPara->devOp->controlCycleValve(true); - } - else { + if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000){ + sysPara->devOp->controlViscosityPump(false); sysPara->devOp->controlCycleValve(false); - } - if (mainInkPumpCtrlStatus == 0) { - if(++mainInkPumpCtrlCnt > 15) { //100ms 为单位, 时间到关闭 - sysPara->devOp->controlMainInkPump(false); - sysPara->devOp->mainInkCtrl(); - mainInkPumpCtrlStatus = 1; - mainInkPumpCtrlCnt = 0; - } - } - else if (mainInkPumpCtrlStatus == 1) { //100ms 为单位, 时间到开启 - sysPara->devOp->controlMainInkPump(true); - sysPara->devOp->mainInkCtrl(); - mainInkPumpCtrlStatus = 2; - } - else if (mainInkPumpCtrlStatus == 2) { - if(++mainInkPumpCtrlCnt>7) { - sysPara->devOp->controlMainInkPump(false); - sysPara->devOp->mainInkCtrl(); - mainInkPumpCtrlStatus = 3; - mainInkPumpCtrlCnt = 0; - } - } - else if (mainInkPumpCtrlStatus == 3) { - if(++mainInkPumpCtrlCnt>8) { - sysPara->devOp->controlMainInkPump(true); - sysPara->devOp->mainInkCtrl(); - mainInkPumpCtrlStatus = 4; - mainInkPumpCtrlCnt = 0; - } - } - else if (mainInkPumpCtrlStatus == 4) { - if(++mainInkPumpCtrlCnt>8) { - sysPara->devOp->controlMainInkPump(false); - sysPara->devOp->mainInkCtrl(); - mainInkPumpCtrlStatus = 3; - mainInkPumpCtrlCnt = 0; - } + + if(!sysPara->devOp->isReclaimPumpOpen()) + sysPara->devOp->controlReclaimPump(true, false); + + return; } } } diff --git a/systemsetting.ui b/systemsetting.ui index 77e8bbd..0b1e26b 100644 --- a/systemsetting.ui +++ b/systemsetting.ui @@ -57,9 +57,9 @@ 0 - 0 + -11 749 - 582 + 662 @@ -78,13 +78,522 @@ 50 - - + + + + + 0 + 31 + + + + 高压故障关闭回收槽 + + + + + + + + + + + + + + + + Hz + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 粘度泵动作间隔(秒): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + true + + + + 0 + 0 + + + + 0 + + + 70 + + + + + + + 喷嘴直径: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + + + 0 + 0 + + + + + 0 + 31 + + + + 启用回收泵算法 + + + + + + + + + + + + + + + + + + + + + 晶振电压(%): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 50 (UM) + + + + + 60 (UM) + + + + + 70 (UM) + + + + + + + + + 0 + 31 + + + + 相位故障不打印 + + + + + + + + 0 + 0 + + + + + 64K + + + + + 83K + + + + + 96K + + + + + 128K + + + + + 新晶振 + + + + + + + + + 0 + 0 + + + + 5000 + + + + + + + 喷头温度: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 粘度校正(%): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 隔膜位置偏移: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 31 + + + + 检测回收槽 + + + + + + + + 0 + 0 + + + + + 0 + 37 + + + + + 16777215 + 37 + + + + 1 + + + 59 + + + + + + + 电机电流: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 压力: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 37 + + + + + 16777215 + 37 + + + + 80 + + + 750 + + + 10 + + + 300 + + + + + + + + 0 + 0 + + + + 500 + + + 3800 + + + + + + + 墨水温度: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 回收槽开关时间: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + + + + + 高压包容差: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + + 0 + 37 + + + + + 16777215 + 37 + + + + 5 + + + 300 + + + 5 + + + 50 + + + + + + + 回收泵力度(%): + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 0 + 0 + + + + -80000 + + + 80000 + + + 0 + + + + + + + 脉冲计数器: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + 隔膜位置: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + + °C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + @@ -113,25 +622,6 @@ - - - - true - - - - 0 - 0 - - - - 0 - - - 70 - - - @@ -209,84 +699,16 @@ - - - - 电机电流: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - 500 - - - 3800 - - - - - - - - - - - - - - 隔膜位置偏移: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 压力: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - + + 0 37 - - - 16777215 - 37 - - - - 1 - - 59 + 60 @@ -337,33 +759,6 @@ - - - - - - - - - - - 回收泵力度(%): - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 喷嘴直径: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - @@ -374,18 +769,28 @@ - - + + - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 0 + 31 + + + + 不检测喷头盖 - - + + 0 @@ -405,16 +810,20 @@ - 80 + 30 - 750 + 59 - - 10 + + + + + + 频率修正: - - 300 + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -449,139 +858,16 @@ - - + + - 晶振电压(%): + 粘度: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - 粘度泵动作间隔(秒): - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - - - - 0 - 0 - - - - 5000 - - - - - - - - 0 - 0 - - - - - 0 - 31 - - - - 启用回收泵算法 - - - - - - - °C - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 频率修正: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 0 - - - - - 0 - 31 - - - - 检测回收槽 - - - - - - - - 0 - 0 - - - - - 50 (UM) - - - - - 60 (UM) - - - - - 70 (UM) - - - - - - - - - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - @@ -601,120 +887,6 @@ - - - - 粘度校正(%): - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - - - - 0 - 0 - - - - - 64K - - - - - 83K - - - - - 96K - - - - - 128K - - - - - 新晶振 - - - - - - - - - 0 - 0 - - - - - 0 - 37 - - - - - 16777215 - 37 - - - - 30 - - - 59 - - - - - - - 隔膜位置: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - °C - - - - - - - - - - - - - - Hz - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - @@ -728,166 +900,17 @@ - - + + - 喷头温度: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + °C - - + + - 墨水温度: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 高压包容差: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - 粘度: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - 0 - 31 - - - - 相位故障不打印 - - - - - - - - 0 - 0 - - - - - 0 - 37 - - - - - 16777215 - 37 - - - - 5 - - - 300 - - - 5 - - - 50 - - - - - - - - 0 - 31 - - - - 不检测喷头盖 - - - - - - - - - - - - - - - 0 - 0 - - - - -80000 - - - 80000 - - - 0 - - - - - - - 脉冲计数器: - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - - - - - - - 0 - 31 - - - - 高压故障关闭回收槽 - - - - - - - 回收槽开关时间: + 排气时间(秒): Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter