hlp:优化开机到排气期间界面状态显示;排气后,开回收槽前延时7秒等待压力升高,避免漏墨

This commit is contained in:
kite_lucs
2026-09-14 15:50:49 +08:00
parent 0fa8ce4b51
commit e358abf461
28 changed files with 4907 additions and 35624 deletions
+17 -7
View File
@@ -1629,9 +1629,14 @@ void InkJetPrinter::timerHandler(void){
m_bufValidCount = 0;
for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0;
m_bufIdx = 0;
LogInfo::setRunStatusText(tr("自检完成!!!"));
ui->tabMainWindow->setRunStatus(tr("自检完成!!!"));
qDebug()<<"自检完成!!!";
if (check_flag) {
LogInfo::setRunStatusText(tr("自检完成!!!"));
ui->tabMainWindow->setRunStatus(tr("自检完成!!!"));
qDebug()<<"自检完成!!!";
check_flag = false;
}
ui->tabPrintSetting->PrintSettingLog();
ui->tabMainWindow->enableReclaimCtrlButton(true);
sysPara->devOp->mainInkCtrl();
@@ -2704,9 +2709,10 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
if(sysPara->devOp->isReclaimTankOpenEnable())
sysPara->devOp->controlReclaimTankOpen(false); //到头,关闭
sysPara->status.reclainTankReachEnd = true;
/*应要求去掉多余到信息 LogInfo::setRunStatusText(tr("回收槽到头"));*/
if(sysPara->status.currReclaimTankPos != 0)
if (sysPara->status.airPushingDone && sysPara->status.currReclaimTankPos != 0) {
// 排气结束并放下回收槽以后才允许显示该信息
ui->tabMainWindow->setRunStatus(tr("回收槽到头"));
}
ui->tabMainWindow->enablePrintButton(true); //仅仅在此时能使能打印按钮
ui->tabMainWindow->resetReclaimCtrlButtonText();
@@ -2735,10 +2741,14 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
}
else if(sysPara->status.reclaimTankstatus == 6 )//7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
{
if (sysPara->status.airPushingDone) {
// 排气结束并放下回收槽以后才允许显示该信息
ui->tabMainWindow->setRunStatus(tr("回收槽到头"));
}
if(sysPara->devOp->isReclaimTankCloseEnable())
sysPara->devOp->controlReclaimTankClose(false); //到头,关闭
/*应要求去掉多余到信息 LogInfo::setRunStatusText(tr("回收槽到头"));*/
ui->tabMainWindow->setRunStatus(tr("回收槽到头"));
//sysPara->status.currReclaimTankPos = 0; //将回收槽的时间置为零
ui->tabMainWindow->resetReclaimCtrlButtonText();
emit reclaimTankCloseDone();
+2
View File
@@ -101,6 +101,8 @@ private:
QTimer* viscosity_timer;
QTimer* timer;
QTime t1;
// 因为原先vx5没有状态管理,容易在刚开机时和排气中互相抢占显示
bool check_flag = true;
// 隔膜泵状态枚举
enum DiaphragmPumpState {
+1 -1
View File
@@ -57,7 +57,7 @@ DEFINES+=WARNING
DEFINES+=TEMPMIMA
DEFINES+=COUNTER1_BY_GROUP #分段计米
DEFINES+=COUNTER2_BY_GROUP #分段计米2
#DEFINES+=COUNTER2_BY_GROUP #分段计米2
DEFINES+=_2DCODE_ #QR二维码
DEFINES+=PICSCENE
#DEFINES+=__2451WIFI__
+1 -1
View File
@@ -8,7 +8,7 @@
#define MACHINAE_VER "VX5"
#define PUMP_VER "D"
//#define SUB_VER "0100"
#define SUB_VER "GuiLin"
#define SUB_VER "IND"
#ifdef __RFID_OLD
#define SUB_RFID "_RO"
+602 -584
View File
File diff suppressed because it is too large Load Diff
-4100
View File
File diff suppressed because it is too large Load Diff
-5362
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+606 -579
View File
File diff suppressed because it is too large Load Diff
-4210
View File
File diff suppressed because it is too large Load Diff
-4223
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-4399
View File
File diff suppressed because it is too large Load Diff
-4223
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+605 -579
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+604 -579
View File
File diff suppressed because it is too large Load Diff
+21 -32
View File
@@ -1704,13 +1704,7 @@ void MainWindow::generateCharRamData(){/* 生成字模数据 */
p_var->original = true;
p_var->currVal = -1; //相当于初始化
ramAddress += rowByteNum * width2;
} else {
qDebug() << "startRowPos:" << p_var->startRowPos
<<" endRowPos:" << p_var->endRowPos
<<" rowDiff:" << rowDiff
<< " 按原逻辑,执行这一步的时候软件就已经崩溃了";
}
}
}
}
@@ -2053,7 +2047,6 @@ void MainWindow::airPushingProcess()
if(sysPara){
if (sysPara->status.airPushing) {
setRunStatus(tr("正在排气 ..............."));
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 4 秒
sysPara->status.airPushingOnTime += 100;
@@ -2062,10 +2055,9 @@ void MainWindow::airPushingProcess()
sysPara->saveParaToFile();
}
// 延迟 半秒后才开回收槽,正式结束排气阶段
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 500){
//qDebug()<< "start stop";
// 延迟 7 秒后才开回收槽,正式结束排气阶段. reclaimTanOpen:会延迟半秒
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 6500){
airPushTimer->stop();
setRunStatus(tr("排气结束, 打开回收槽."));
LogInfo::setRunStatusText(tr("排气结束, 打开回收槽."));
@@ -2073,8 +2065,6 @@ void MainWindow::airPushingProcess()
sysPara->status.airPushingDone = 1;
sysPara->status.airPushing = 0;
sysPara->status.airPushingOnTime = 0;
airPushTimer->stop();
return;
}
@@ -2087,6 +2077,7 @@ void MainWindow::airPushingProcess()
setRunStatus(tr("排气结束, 准备打开回收槽."));
LogInfo::setRunStatusText(tr("排气结束, 准备打开回收槽."));
sysPara->status.isPumpValveControledByHand = false;
return;
}
}
@@ -2095,30 +2086,29 @@ void MainWindow::airPushingProcess()
void MainWindow::reclaimTanOpen()
{
// 还原当前模式
if (sysPara->status.airPushing) {
sysPara->status.isPumpValveControledByHand = sysPara->status.byHandStore;
}
sysPara->status.isPumpValveControledByHand = false;
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
MySleep(1000);
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
ui->pushButtonReclaimTanOpen->setText(sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
ui->pushButtonReclaimTankClose->setText(tr("关"));
enablePrintButton(SIMULATE_PRINTING_MODE);
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
// sysPara->status.reclaimTankstatus = 1;
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
if (!sysPara->para.reclaimTankTime) {
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
}
// 如果是排气流程,则不需要先收
if (sysPara->status.airPushingDone)
sysPara->devOp->controlReclaimTankClose(false);//开回收槽之前先让关回收槽停止
MySleep(500);
sysPara->status.currReclaimOperationCnt = 0;
sysPara->status.reclainTankReachEnd = false;
sysPara->status.reclainOpenAppending = true;
sysPara->status.reclainCloseAppending = false;
sysPara->status.reclaimBlockedCnt = 0;
sysPara->status.canRunAirPushing = false;
sysPara->devOp->controlReclaimTankOpen(!sysPara->devOp->isReclaimTankOpenEnable());
sysPara->devOp->highVoltageCtrl(0); /*回收槽动作的时候务必关高压*/
ui->pushButtonReclaimTanOpen->setText(
sysPara->devOp->isReclaimTankOpenEnable()?tr("停止"):tr("开"));
ui->pushButtonReclaimTankClose->setText(tr("关"));
setRunStatus(sysPara->devOp->isReclaimTankOpenEnable()?tr("正在打开回收槽..."):tr("停止打开"));
if (!sysPara->para.reclaimTankTime) {
LogInfo::setRunStatusText(tr("警告!回收槽开关时间未设置!"));
}
}
void MainWindow::handleCode(int col, int row, int *varLastRow, int type)
@@ -2150,8 +2140,8 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
if(sysPara){
if (!sysPara->status.reclaimTankBlockedAppending) {
if (sysPara->status.canRunAirPushing && (sysPara->status.currReclaimTankPos == 0)) { // 回收槽关闭的情况下才可以执行排气;//2019/10/24 当回收槽未在顶的位置,不需要排气
if (!sysPara->status.airPushing) { // 先执行排气后开回收槽
sysPara->status.byHandStore = sysPara->status.isPumpValveControledByHand;
if (!sysPara->status.airPushing) {
// 先执行排气后开回收槽
sysPara->status.isPumpValveControledByHand = true;
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlCycleValve(true);
@@ -2161,7 +2151,6 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
sysPara->devOp->controlInkValve(true); //墨水阀
sysPara->devOp->controlInkValvePWM(true); //墨水阀
//qDebug()<< "start airpushings";
sysPara->status.airPushing = 1;
sysPara->status.airPushingDone = 0;
+2 -2
View File
@@ -12,8 +12,8 @@
// #define FPGATEST // 给韦工测试时启用,发布版本需要关闭
// #define NETWORKQRCODE //二维码允许tcp客户端修改
// #define __RFID_OLD //旧的加密算法
// #define __RFID_CARD //刷卡功能
#define __RFID_OLD //旧的加密算法
#define __RFID_CARD //刷卡功能
// #define __RFID_IND //允许印度进行二次加密的宏
//#define EnableArabic //界面语言切换为英文生效
//#define EnableBangla //新孟加拉语
BIN
View File
Binary file not shown.
+631 -605
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+605 -579
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+605 -579
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
+605 -579
View File
File diff suppressed because it is too large Load Diff