添加自检粘度计测试、弃用状态机、修改电眼设置默认最小值
This commit is contained in:
+72
-29
@@ -1026,17 +1026,17 @@ void InkJetPrinter::timerHandler(void){
|
||||
m_MainWidget->setRunStatus(tr("开始自检,请等待%1秒...").
|
||||
arg((MAX_SELF_CHECK_CNT - sysPara->status.selfCheckCnt)/100));
|
||||
}
|
||||
#ifdef QT_DEBUG
|
||||
if(sysPara->status.selfCheckCnt >= 500) // 测试自检改为15s
|
||||
#ifdef BNS_DEBUG
|
||||
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT) // 测试自检改为15s
|
||||
#else
|
||||
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT)
|
||||
#endif
|
||||
{
|
||||
// sysPara->status.selfCheckDone = true;
|
||||
sysPara->status.selfCheckDone = true;
|
||||
// 通过状态管理器发送事件,在 onStateChanged 中更新 sysPara
|
||||
if (m_stateManager && m_stateManager->isState(PrinterState::SELF_CHECK)) {
|
||||
m_stateManager->requestTransition(PrinterEvent::SelfCheckDone);
|
||||
}
|
||||
// if (m_stateManager && m_stateManager->isState(PrinterState::SELF_CHECK)) {
|
||||
// m_stateManager->requestTransition(PrinterEvent::SelfCheckDone);
|
||||
// }
|
||||
|
||||
// 自检完成后管道恢复正常阻力,重置软启动让压力重新平稳收敛
|
||||
// 不清零 u,从当前控制字开始,避免突变
|
||||
@@ -1833,8 +1833,8 @@ void InkJetPrinter::initStateManager()
|
||||
m_stateManager = PrinterStateManager::instance();
|
||||
|
||||
// 连接状态变化信号 DirectConnection:确保相关状态实时更新
|
||||
connect(m_stateManager, &PrinterStateManager::sig_stateChanged,
|
||||
this, &InkJetPrinter::slt_stateChanged, Qt::DirectConnection);
|
||||
// connect(m_stateManager, &PrinterStateManager::sig_stateChanged,
|
||||
// this, &InkJetPrinter::slt_stateChanged, Qt::DirectConnection);
|
||||
|
||||
// ============ 开机时重置状态 ============
|
||||
m_stateManager->initFromSysPara();
|
||||
@@ -1880,8 +1880,6 @@ void InkJetPrinter::handleReady()
|
||||
|
||||
void InkJetPrinter::handleStartPrint()
|
||||
{
|
||||
|
||||
|
||||
sysPara->status.isPrinting = true;
|
||||
sysPara->devOp->highVoltageCtrl(1);
|
||||
sysPara->devOp->setHighVoltageAmplitudetoSTM32();
|
||||
@@ -2453,7 +2451,38 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
|
||||
/*------------------------------------粘度泵,混合阀-----------------------------------------*/
|
||||
|
||||
if(sysPara->status.selfCheckDone)
|
||||
autoControlViscosityPump();
|
||||
else
|
||||
autoControlViscosityPumpForSelfCheck(sysPara->status.selfCheckCnt);
|
||||
|
||||
/*-----------------------------每30s打开一次粘度泵以及相关处理--------------------------------------*/
|
||||
|
||||
// }
|
||||
/*-----------------------------------回收泵------------------------------------------*/
|
||||
|
||||
if(!sysPara->status.autoCtlReclaimAfterSWintOff)
|
||||
{
|
||||
if(!sysPara->devOp->isReclaimPumpOpen() ){ //回收泵
|
||||
// ui->tabMainWindow->setRunStatus(tr("全速回收泵!!!"));
|
||||
sysPara->status.reclaimPumpFullSpeedCnt = 0;
|
||||
sysPara->devOp->controlReclaimPump(true,true); //先全速,后降速
|
||||
}
|
||||
else if(sysPara->status.reclaimPumpFullSpeedCnt <= RECLAIM_PUMP_FULL_SPEED_CNT){
|
||||
sysPara->status.reclaimPumpFullSpeedCnt ++;
|
||||
if(sysPara->status.reclaimPumpFullSpeedCnt == RECLAIM_PUMP_FULL_SPEED_CNT){ //降速
|
||||
// ui->tabMainWindow->setRunStatus(tr("降速回收泵!!!"));
|
||||
sysPara->devOp->controlReclaimPump(true,false);
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::autoControlViscosityPump()
|
||||
{
|
||||
static bool hasDetectedBellow = false; // 检测到下位灯
|
||||
static bool hasDetectedTop = false; // 检测到上位灯
|
||||
static int viscosity_low = 0; //统计粘度连续偏低10%次数
|
||||
@@ -2504,13 +2533,13 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
if((!sysPara->devOp->isMixValveOpen()) && (((Mixing_valve_open > 1) && (!sysPara->para.gearPumpEnable)) || ((Mixing_valve_open > 4) && sysPara->para.gearPumpEnable))) { //
|
||||
sysPara->devOp->controlMixValve(true);
|
||||
Mixing_valve_open = 0;
|
||||
// LogInfo::setRunStatusText(tr("添加溶剂:")+QString::number(sysPara->status.viscosity));
|
||||
// LogInfo::setRunStatusText(tr("添加溶剂:")+QString::number(sysPara->status.viscosity));
|
||||
qDebug()<<"添加溶剂";
|
||||
}
|
||||
|
||||
if(viscosity_low >= 60)
|
||||
{
|
||||
// LogInfo::setRunStatusText(tr("警告!!!!!!!!!!!粘度值偏低")+QString::number(sysPara->status.viscosity));
|
||||
// LogInfo::setRunStatusText(tr("警告!!!!!!!!!!!粘度值偏低")+QString::number(sysPara->status.viscosity));
|
||||
qDebug()<<"粘度值偏低";
|
||||
sysPara->status.viscosityFault = 2;
|
||||
if(sysPara->devOp->isMixValveOpen()) {
|
||||
@@ -2519,7 +2548,7 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
}
|
||||
if(viscosity_faulty_num >= 5)
|
||||
{
|
||||
// LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!粘度偏大故障")+QString::number(sysPara->status.viscosity));
|
||||
// LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!粘度偏大故障")+QString::number(sysPara->status.viscosity));
|
||||
qDebug()<<"粘度偏大故障";
|
||||
sysPara->status.viscosityFault = 1;
|
||||
}
|
||||
@@ -2577,25 +2606,39 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
hasDetectedBellow = false;
|
||||
hasDetectedTop = false;
|
||||
}
|
||||
// }
|
||||
/*-----------------------------------回收泵------------------------------------------*/
|
||||
}
|
||||
|
||||
if(!sysPara->status.autoCtlReclaimAfterSWintOff)
|
||||
{
|
||||
if(!sysPara->devOp->isReclaimPumpOpen() ){ //回收泵
|
||||
// ui->tabMainWindow->setRunStatus(tr("全速回收泵!!!"));
|
||||
sysPara->status.reclaimPumpFullSpeedCnt = 0;
|
||||
sysPara->devOp->controlReclaimPump(true,true); //先全速,后降速
|
||||
void InkJetPrinter::autoControlViscosityPumpForSelfCheck(int selfCheckCnt)
|
||||
{
|
||||
if(sysPara->devOp->isCycleValveOpen()) {
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
}
|
||||
else if(sysPara->status.reclaimPumpFullSpeedCnt <= RECLAIM_PUMP_FULL_SPEED_CNT){
|
||||
sysPara->status.reclaimPumpFullSpeedCnt ++;
|
||||
if(sysPara->status.reclaimPumpFullSpeedCnt == RECLAIM_PUMP_FULL_SPEED_CNT){ //降速
|
||||
// ui->tabMainWindow->setRunStatus(tr("降速回收泵!!!"));
|
||||
sysPara->devOp->controlReclaimPump(true,false);
|
||||
|
||||
if(sysPara->devOp->isMixValveOpen()) {
|
||||
sysPara->devOp->controlMixValve(false);
|
||||
}
|
||||
|
||||
if(selfCheckCnt >= MAX_SELF_CHECK_CNT) {
|
||||
|
||||
if(sysPara->devOp->isViscosityPumpOpen())
|
||||
sysPara->devOp->controlViscosityPump(false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int stageCnt = selfCheckCnt % 1000;
|
||||
|
||||
if(stageCnt >= 0 && stageCnt < 150) {
|
||||
if(!sysPara->devOp->isViscosityPumpOpen()) {
|
||||
sysPara->devOp->controlViscosityPump(true);
|
||||
qDebug() << "Start test viscosity pump.";
|
||||
}
|
||||
}
|
||||
}
|
||||
/*-----------------------------------------------------------------------------*/
|
||||
|
||||
if(stageCnt >= 150) {
|
||||
if(sysPara->devOp->isViscosityPumpOpen()) {
|
||||
sysPara->devOp->controlViscosityPump(false);
|
||||
qDebug() << "Stop test viscosity pump.";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2750,7 +2793,7 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
|
||||
if(sysPara->status.reclaimTankstatus != 2 && rate != 0) {
|
||||
m_MainWidget->setReclaimStatus(sysPara->status.reclaimTankstatus == 1, rate);
|
||||
|
||||
#ifdef QT_DEBUG
|
||||
#ifdef BNS_DEBUG
|
||||
if(rate == 100) {
|
||||
m_MainWidget->enablePrintButton(true);
|
||||
m_MainWidget->stopFlashReclaimOpenBtn();
|
||||
|
||||
@@ -115,6 +115,10 @@ private:
|
||||
|
||||
void autoControlCycleValve();
|
||||
|
||||
void autoControlViscosityPump();
|
||||
|
||||
void autoControlViscosityPumpForSelfCheck(int selfCheckCnt);
|
||||
|
||||
void pressureAdj();
|
||||
void autoControlHeater();
|
||||
void cycleValveRunForSelfCheck();
|
||||
|
||||
+9
-6
@@ -26,7 +26,7 @@
|
||||
<enum>Qt::StrongFocus</enum>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
@@ -428,7 +428,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>0</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>2147483647</number>
|
||||
@@ -491,13 +491,13 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>65535</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -541,14 +541,17 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<number>1</number>
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>65535</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<property name="singleStep">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>0</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
+13
-7
@@ -951,8 +951,8 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
if (!checkTriggerMode()) return;
|
||||
|
||||
// 打印状态交给状态机修改
|
||||
// sysPara->status.isPrinting=false;
|
||||
auto mgr = PrinterStateManager::instance();
|
||||
sysPara->status.isPrinting=false;
|
||||
// auto mgr = PrinterStateManager::instance();
|
||||
#if !defined(FPGA_TEST) && !defined(QT_DEBUG)
|
||||
// if (mgr && mgr->canStopPrint()) {
|
||||
// mgr->requestTransition(PrinterEvent::StopPrint);
|
||||
@@ -970,6 +970,10 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
setReclaimOpenBtnStatus(false);
|
||||
|
||||
updatePrintDisplayLabel();
|
||||
|
||||
sysPara->devOp->highVoltageCtrl(1);
|
||||
sysPara->devOp->setHighVoltageAmplitudetoSTM32();
|
||||
|
||||
// 20170717 移动此,以观察条形码打印异常问题。
|
||||
if(!startPrintingFlag)
|
||||
{
|
||||
@@ -979,9 +983,11 @@ void MainWidget::on_m_StartBtn_clicked()
|
||||
|
||||
startPrintingFlag = true;
|
||||
// sysPara->status.isPrinting=true;
|
||||
if (mgr->canStartPrint() || mgr->isState(PrinterState::PRINTING)) {
|
||||
mgr->requestTransition(PrinterEvent::StartPrint);
|
||||
}
|
||||
// if (mgr->canStartPrint() || mgr->isState(PrinterState::PRINTING)) {
|
||||
// mgr->requestTransition(PrinterEvent::StartPrint);
|
||||
// }
|
||||
sysPara->status.isPrinting = true;
|
||||
sysPara->status.waitHightVolOff = 0;
|
||||
|
||||
// 高亮切换
|
||||
changeHighLight(true);
|
||||
@@ -994,8 +1000,8 @@ void MainWidget::on_m_StopBtn_clicked()
|
||||
if (!sysPara->status.reclainTankReachEnd && !SIMULATE_PRINTING_MODE) {
|
||||
return;
|
||||
}
|
||||
// sysPara->status.isPrinting=false;// 打印状态交给状态机修改
|
||||
auto mgr = PrinterStateManager::instance();
|
||||
sysPara->status.isPrinting=false;// 打印状态交给状态机修改
|
||||
// auto mgr = PrinterStateManager::instance();
|
||||
#if !defined(FPGA_TEST) && !defined(QT_DEBUG)
|
||||
// if (mgr && mgr->canStopPrint()) {
|
||||
// mgr->requestTransition(PrinterEvent::StopPrint);
|
||||
|
||||
Reference in New Issue
Block a user