修改排气流程

This commit is contained in:
2026-08-27 10:28:31 +08:00
parent c2ecabffc9
commit a99094c58a
13 changed files with 344 additions and 151 deletions
+24 -81
View File
@@ -225,7 +225,7 @@ MainWindow::MainWindow(QWidget *parent) :
qDebug()<<"edit geometry x:"<<ui->stackedWidgetText->geometry().x();
qDebug()<<"edit geometry y:"<<ui->stackedWidgetText->mapToGlobal(ui->stackedWidgetText->pos());
#endif
m_2sFlag = false;
moveToThread(&ShowThead);
//connect(&ShowThead, SIGNAL(started()), this, SLOT(onShowAndHideItem()),Qt::QueuedConnection);
ShowThead.start();
@@ -292,18 +292,7 @@ void MainWindow::displayTime()
preCleanUP=CleanUPEn;
//static int delayCount2 = 0;
if(m_2sFlag)
{
//++delayCount2;
//if(delayCount2 %10 ==5)
{
sysPara->devOp->controlInkValve(!sysPara->devOp->isInkValveOpen()); //控制供墨阀开关
sysPara->devOp->controlInkValvePWM(!sysPara->devOp->isInkValveOpen1()); //控制供墨阀开关
//setRunStatus(tr("我已关闭供墨阀"));
}
}
if(sysPara->status.boardTemp >= sysPara->para.FanTemperature)
{
@@ -2448,84 +2437,38 @@ void MainWindow::enablePrintButton(bool enable){
}
static int mainInkPumpCtrlStatus = 0;
static int mainInkPumpCtrlCnt = 0;
//100ms 为单位
// airPushing now uses ms unit (timer 100ms -> +=100)
void MainWindow::airPushingProcess()
{
if(sysPara){
if (sysPara->status.airPushing) {
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 7 秒
setRunStatus(tr("正在排气 ..............."));
++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;
}
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;
}
sysPara->status.airPushingOnTime += 100;
if(sysPara->para.airPushDurationSec <= 0 || sysPara->para.airPushDurationSec > 30) {
sysPara->para.airPushDurationSec = 4;
sysPara->saveParaToFile();
}
// 延迟 500ms 后才开回收槽,正式结束排气阶段
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 500){
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;
}
}
}
@@ -2576,7 +2519,7 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
// 粘度泵跟随循环阀动作
sysPara->devOp->controlViscosityPump(true);
#else
sysPara->devOp->controlViscosityPump(false);//关粘度泵
sysPara->devOp->controlViscosityPump(true);//开粘度泵
#endif
sysPara->devOp->controlMainInkPump(true);//主墨泵敞开
sysPara->devOp->mainInkCtrl();