hlp:更新翻译,开机报警不可以开回收槽,运行中报警缺少3h后自动收 喷嘴;新增粘度阈值设置界面,提醒粘度异常情况,严重越界自动收喷嘴

This commit is contained in:
kite_lucs
2026-09-24 10:19:15 +08:00
parent 7ec427097e
commit a126db221b
24 changed files with 2328 additions and 1072 deletions
+89 -33
View File
@@ -144,9 +144,7 @@ void InkJetPrinter::init()
connect(m_CounterVarSet,&CounterVarSet::sig_updateSelectedCounter,this,&InkJetPrinter::slt_counterVarUpdate);
connect(m_MainInstruction,&MainInstruction::newFileBtnClick,m_TestPrintWidget,&TestPrintWidget::on_newfileButton_pressed);
connect(m_MainInstruction, &MainInstruction::superJmAccepted, this, &InkJetPrinter::resetRFIDStatus);
// connect(myInputMethod,&MyInputMethod::sendEnterClickedSignal,&TestPrintWidget::onEditItemDone);
// connect(myInputMethod,SIGNAL(sendEnterClickedSignal()),m_TestPrintWidget,SLOT(onEditItemDone()));
connect(m_DateVarSet,SIGNAL(backSpaceBtn()),myInputMethod,SLOT(backSapceButtonDel()));
@@ -956,9 +954,7 @@ void InkJetPrinter::timerHandler(void){
if(gearPumpRunFlag || sysPara->para.gearPumpEnable == 0)
{
if(!sysPara->status.selfCheckDone && sysPara->status.isPrinting){
// sysPara->status.selfCheckDone = true;
m_MainWidget->updatePrintDisplayLabel();
// sysPara->status.flagOfAbnormalStatus = true;
qDebug()<<"打印过程中死机了!!!";
m_MainWidget->on_m_StopBtn_clicked();
@@ -978,7 +974,6 @@ void InkJetPrinter::timerHandler(void){
m_MainWidget->setReclaimOpenBtnStatus(false);
m_MainWidget->setReclaimCloseBtnStatus(false);
// m_MainWidget->enablePrintButton(false);
sysPara->devOp->mainInkCtrl();
sysPara->para.TrunOnPowerCnt++;// 20151218 开机次数加1
sysPara->saveParaToFile(); // 保存开机次数值
@@ -999,6 +994,7 @@ void InkJetPrinter::timerHandler(void){
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT)
#endif
{
// 自检完成 selfCheckDone=true
// 通过状态管理器发送事件,在 onStateChanged 中更新 sysPara
if (m_stateManager && m_stateManager->isState(PrinterState::IDLE)) {
m_stateManager->requestTransition(PrinterEvent::PowerOn);
@@ -1113,8 +1109,7 @@ void InkJetPrinter::timerHandler(void){
// cnt1GroupCheck();//分段计米
#endif
//reserved
QWidget *widget = m_StackedWidget->currentWidget();
static bool read_flag = false;
QWidget *widget = m_StackedWidget->currentWidget();
if((widget == m_MainWidget || widget == m_LogInfo) && pulse_100ms) {
m_MainWidget->updateSysStatusToUI();
m_MainWidget->updateGeneralState(m_MainWidget->alarmStatus);
@@ -1124,11 +1119,6 @@ void InkJetPrinter::timerHandler(void){
else if(widget == m_PrintSetting)
{
m_PrintSetting->updateSysStatusToUI();
// if(!read_flag)
// {
// emit sendPicScene(ui->tabMainWindow->getPicScene());
// }
read_flag = true;
}
else if(widget == m_SystemSetting){
@@ -1146,10 +1136,6 @@ void InkJetPrinter::timerHandler(void){
// ui->tabNetworkManager->updateSysStatusToUI();
// }
// }
if(widget != m_PrintSetting)
{
read_flag = false;
}
// 20140306
static int last_lesslen_warn=0,lesslen_cnt=0;
@@ -1207,7 +1193,6 @@ void InkJetPrinter::timerHandler(void){
// if(sysPara->status.needMaintenanceRemind){
// warningHandler(3);
// }
// LogInfo::setRunStatusText(tr("处理警告:%1").arg(QDateTime::currentDateTime()));
handleWarnInk(); // 处理墨水警告
handleWarnSolvent(); // 处理溶剂警告
@@ -1814,6 +1799,7 @@ void InkJetPrinter::initStateManager()
connect(m_stateManager, &PrinterStateManager::sig_infoMsg,
this, [=](QString msg){m_MainWidget->setRunStatus(msg);});
// ============ 开机时重置状态 ============
m_stateManager->initFromSysPara();
sysPara->status.selfCheckDone = false; // 自检是否完成
@@ -1937,6 +1923,11 @@ void InkJetPrinter::slt_enableCloseTank(bool able)
m_MainWidget->setReclaimCloseBtnStatus(able);
}
void InkJetPrinter::slt_infoBox(QString msg)
{
QMessageBox::information(this, tr("提示"), msg);
}
/*************************FPGA通过串口读取状态赋值给status-start******************************************/
void InkJetPrinter::saveFPGAVersionNum(unsigned int data){
sysPara->status.fpgaVersionNum=data;
@@ -3212,12 +3203,6 @@ void InkJetPrinter::initRFIDManager()
connect(manager_rfid,SIGNAL(sig_maintenanceShow()),
m_MainInstruction,SLOT(maintenanceDialogShow()));
auto checkReclaimOpenBtn = [this]() {
// if(sysPara->status.selfCheckDone && (sysPara->status.reclaimTankstatus == 2 || sysPara->status.reclaimTankstatus == 6)) {
// m_MainWidget->setReclaimOpenBtnStatus(true);
// }
};
connect(manager_rfid, &RFIDManager::sig_inkCardProgressFinished, this, [this](){
sysPara->RFIDPara.needInkCard = false;
sysPara->saveRFIDPara();
@@ -3245,7 +3230,8 @@ void InkJetPrinter::initRFIDManager()
#define MAX_WARNING_TIME_HOUR 48
#define WARNING_INTERVAL_SEC 3600
//#define WARNING_INTERVAL_SEC 3600
#define WARNING_INTERVAL_SEC 10
#ifdef BNS_DEBUG
@@ -3281,6 +3267,39 @@ void InkJetPrinter::resetRFIDStatus()
QMessageBox::information(this, "", "RFID progress has been cleaned.", QMessageBox::Ok);
}
void InkJetPrinter::slt_close(bool height)
{
QString str = "";
if (height) {
str = tr("粘度过高,即将关闭喷嘴");
} else {
str = tr("粘度过低,即将关闭喷嘴");
}
if (sysPara && sysPara->status.selfCheckDone) {
QMessageBox::warning(this, tr("警告"), str);
if (sysPara->status.reclainTankReachEnd || sysPara->status.reclaimTankstatus == 1) {
// 关闭喷嘴
m_MainWidget->on_m_LeftBtn_clicked();
}
}
return;
}
void InkJetPrinter::slt_alert(bool height)
{
QString str = "";
if (height) {
str = tr("粘度较高,请注意调整粘度");
} else {
str = tr("粘度较低,请注意调整粘度");
}
if (sysPara && sysPara->status.selfCheckDone)
QMessageBox::information(this, tr("提示"), str);
return;
}
/**
* @brief 处理墨水警告
* 如果发生墨水警告,则进入 加墨水&刷卡 流程。
@@ -3315,11 +3334,16 @@ void InkJetPrinter::handleWarnInk()
if(sysPara->RFIDPara.needInkCard) {
slt_showMsg(tr("请及时使用墨水盒附带的IC卡激活墨水盒"));
}
m_MainWidget->powerOnWarn = false;
}
}
// 墨水盒空,进入 刷卡&加墨水 流程
if(sysPara->status.inkWarningCnt >= DETECT_WARNING_TIME && sysPara->RFIDPara.inInkAndRFIDProgress == 0) {
// 只处理自检期间出现的问题
if (!sysPara->status.selfCheckDone) {
m_MainWidget->powerOnWarn = true;
}
sysPara->RFIDPara.addedInk = false;
sysPara->RFIDPara.needInkCard = true;
@@ -3386,10 +3410,23 @@ void InkJetPrinter::handleWarnInk()
// 理论上differHours只会比 sysPara->status.showInkWarningNumber 大 1, 如果大于1,说明系统时间被被往后修改过或者关过机。
if(differHours > MAX_WARNING_TIME_HOUR)
slt_showMsg(tr("墨水液位报警超过%1小时,机器无法正常打印,请先添加原厂墨水再刷墨水卡,以恢复喷码机的正常工作!").arg(MAX_WARNING_TIME_HOUR));
else
slt_showMsg(tr("请刷墨水卡,请使用原厂墨水耗材,否则机器将在%1小时后禁止使用!").arg(MAX_WARNING_TIME_HOUR - differHours));
if(differHours > MAX_WARNING_TIME_HOUR) {
slt_showMsg(tr("墨水液位报警超过%1小时,机器无法正常打印,请添加墨水并刷卡.").arg(MAX_WARNING_TIME_HOUR));
}
else {
// 累计 3 小时未补充,自动关喷嘴
if ((differHours > 0 && differHours % 3 == 0)
&& differHours < MAX_WARNING_TIME_HOUR
&& (sysPara->status.statWarn & WARN_STATUS_INK_WARN)) {
slt_showMsg(tr("墨水告警已累计3小时,自动关喷嘴。"));
if (sysPara->status.isPrinting)
m_MainWidget->on_m_StopBtn_clicked();
if (sysPara->status.reclaimTankstatus != 2)
m_MainWidget->on_m_LeftBtn_clicked();
} else {
slt_showMsg(tr("请刷墨水卡,请使用原厂墨水耗材,否则机器将在%1小时后禁止使用!").arg(MAX_WARNING_TIME_HOUR - differHours));
}
}
sysPara->status.showInkWarningNumber = differHours;
sysPara->saveRFIDPara();
@@ -3442,11 +3479,17 @@ void InkJetPrinter::handleWarnSolvent()
if(sysPara->RFIDPara.needSolventCard) {
slt_showMsg(tr("请及时使用溶剂盒附带的IC卡激活溶剂盒"));
}
m_MainWidget->powerOnWarn = false;
}
}
// 溶剂盒空,进入 刷卡&加溶剂 流程
if(sysPara->status.solventWarningCnt >= DETECT_WARNING_TIME && sysPara->RFIDPara.inSolventAndRFIDProgress == 0) {
// 只处理自检期间出现的问题
if (!sysPara->status.selfCheckDone) {
m_MainWidget->powerOnWarn = true;
}
QDateTime curDateTime = QDateTime::currentDateTime();
QString strCurDateTime = curDateTime.toString("yyMMddhhmmss");
LogInfo::setRunStatusText("Solvent warning.");
@@ -3505,10 +3548,22 @@ void InkJetPrinter::handleWarnSolvent()
}
if(differHours > sysPara->status.showSolventWarningNumber) {
if(differHours > MAX_WARNING_TIME_HOUR)
slt_showMsg(tr("溶剂液位报警超过%1小时,机器无法正常打印,请先添加溶剂再刷溶剂卡以恢复喷码机的正常工作!").arg(MAX_WARNING_TIME_HOUR));
else
slt_showMsg(tr("请刷溶剂卡,请使用原厂溶剂耗材,否则机器将在%1小时后禁止使用!").arg(MAX_WARNING_TIME_HOUR - differHours));
if(differHours > MAX_WARNING_TIME_HOUR) {
slt_showMsg(tr("溶剂液位报警超过%1小时,机器无法正常打印,请添加溶剂并刷卡.").arg(MAX_WARNING_TIME_HOUR));
}else {
// 累计 3 小时未补充,自动关喷嘴
if ((differHours > 0 && differHours % 3 == 0)
&& differHours < MAX_WARNING_TIME_HOUR
&& (sysPara->status.statWarn & WARN_STATUS_SOLV_WARN)) {
slt_showMsg(tr("溶剂告警已累计3小时,自动关喷嘴。"));
if (sysPara->status.isPrinting)
m_MainWidget->on_m_StopBtn_clicked();
if (sysPara->status.reclaimTankstatus != 2)
m_MainWidget->on_m_LeftBtn_clicked();
} else {
slt_showMsg(tr("请刷溶剂卡,请使用原厂溶剂耗材,否则机器将在%1小时后禁止使用!").arg(MAX_WARNING_TIME_HOUR - differHours));
}
}
sysPara->status.showSolventWarningNumber = differHours;
sysPara->saveRFIDPara();
@@ -3522,7 +3577,8 @@ void InkJetPrinter::handleWarnSolvent()
}
// 如果用户已经刷了溶剂卡,并且加了溶剂,则清除 刷卡&加溶剂 流程
if(sysPara->RFIDPara.addedSolvent && !sysPara->RFIDPara.needSolventCard && sysPara->RFIDPara.inSolventAndRFIDProgress != 0) {
if(sysPara->RFIDPara.addedSolvent && !sysPara->RFIDPara.needSolventCard
&& sysPara->RFIDPara.inSolventAndRFIDProgress != 0) {
sysPara->status.showSolventWarningNumber = 0;
sysPara->RFIDPara.inSolventAndRFIDProgress = 0;
sysPara->RFIDPara.solventCardTimeOut = false;