hlp:修复隐藏功能m显示不全的问题,需要搭配等宽的小数点,空格,数字和字母m使用,修改版本号为GuiLin版本
This commit is contained in:
+348
-337
@@ -26,7 +26,7 @@ InkJetPrinter::InkJetPrinter(QWidget *parent) :
|
|||||||
ui(new Ui::InkJetPrinter)
|
ui(new Ui::InkJetPrinter)
|
||||||
{
|
{
|
||||||
// 隐藏系统任务栏,隐藏后,如果需要激活任务栏,则需要呼出QtUI中的任意弹出式、非全屏窗口,然后使用鼠标将光标移动至屏幕最左侧或最顶部则可以呼出任务栏
|
// 隐藏系统任务栏,隐藏后,如果需要激活任务栏,则需要呼出QtUI中的任意弹出式、非全屏窗口,然后使用鼠标将光标移动至屏幕最左侧或最顶部则可以呼出任务栏
|
||||||
int ret = system("xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2");
|
int ret = system("xfconf-query -c xfce4-panel -p /panels/panel-1/autohide-behavior -s 2");
|
||||||
qInfo() << "Hide system panel ret:" << ret;
|
qInfo() << "Hide system panel ret:" << ret;
|
||||||
|
|
||||||
// system("ifconfig eth1 down");
|
// system("ifconfig eth1 down");
|
||||||
@@ -52,13 +52,14 @@ InkJetPrinter::InkJetPrinter(QWidget *parent) :
|
|||||||
m_serialThreadFPGA = new QThread;
|
m_serialThreadFPGA = new QThread;
|
||||||
serialFPGA = new Serial("/dev/ttyAS5");
|
serialFPGA = new Serial("/dev/ttyAS5");
|
||||||
|
|
||||||
|
connect(m_serialThreadFPGA,&QThread::started,serialFPGA,&Serial::startInitSlot);
|
||||||
|
|
||||||
serialFPGA->moveToThread(m_serialThreadFPGA);
|
serialFPGA->moveToThread(m_serialThreadFPGA);
|
||||||
connect(serialFPGA,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
|
connect(serialFPGA,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
|
||||||
connect(serialFPGA,SIGNAL(resendFPGAData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
|
connect(serialFPGA,SIGNAL(resendFPGAData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendFPGADate(int,int,unsigned char*,int,int)));
|
||||||
connect(sysPara->devOp,SIGNAL(sendSerialDataToFPGA(int,int,unsigned char*,int,int)),serialFPGA,SLOT(sendSerialData(int,int,unsigned char*,int,int)),Qt::QueuedConnection);
|
connect(sysPara->devOp,SIGNAL(sendSerialDataToFPGA(int,int,unsigned char*,int,int)),serialFPGA,SLOT(sendSerialData(int,int,unsigned char*,int,int)),Qt::QueuedConnection);
|
||||||
connect(serialFPGA,SIGNAL(getFPGAVersion(uint)),this,SLOT(saveFPGAVersionNum(uint)));
|
connect(serialFPGA,SIGNAL(getFPGAVersion(uint)),this,SLOT(saveFPGAVersionNum(uint)));
|
||||||
connect(m_serialThreadFPGA,&QThread::started,serialFPGA,&Serial::startInitSlot);
|
|
||||||
connect(serialFPGA,SIGNAL(stopSendData(bool)),this,SLOT(stopSendFPGAData(bool)));
|
connect(serialFPGA,SIGNAL(stopSendData(bool)),this,SLOT(stopSendFPGAData(bool)));
|
||||||
connect(serialFPGA,SIGNAL(getFPGAPhaseDetectHighTm(unsigned char*)),this,SLOT(saveFPGAPhaseDetectHighTm(unsigned char*)));
|
connect(serialFPGA,SIGNAL(getFPGAPhaseDetectHighTm(unsigned char*)),this,SLOT(saveFPGAPhaseDetectHighTm(unsigned char*)));
|
||||||
connect(serialFPGA,SIGNAL(getFPGAStatus(unsigned char*)),this,SLOT(saveFPGAStatus(unsigned char*)));
|
connect(serialFPGA,SIGNAL(getFPGAStatus(unsigned char*)),this,SLOT(saveFPGAStatus(unsigned char*)));
|
||||||
@@ -74,6 +75,9 @@ InkJetPrinter::InkJetPrinter(QWidget *parent) :
|
|||||||
|
|
||||||
m_serialThreadSTM32 = new QThread();
|
m_serialThreadSTM32 = new QThread();
|
||||||
serialSTM32 = new Serial("/dev/ttyAS2");
|
serialSTM32 = new Serial("/dev/ttyAS2");
|
||||||
|
|
||||||
|
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
|
||||||
|
|
||||||
serialSTM32->moveToThread(m_serialThreadSTM32);
|
serialSTM32->moveToThread(m_serialThreadSTM32);
|
||||||
connect(serialSTM32,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendSTM32Date(int,int,unsigned char*,int,int)));
|
connect(serialSTM32,SIGNAL(sendQueueData(int,int,unsigned char*,int,int)),sysPara->devOp,SLOT(resendSTM32Date(int,int,unsigned char*,int,int)));
|
||||||
connect(sysPara->devOp,SIGNAL(sendSerialDataToSTM32(int,int,unsigned char*,int,int)),serialSTM32,SLOT(sendSerialData(int,int,unsigned char*,int,int)));
|
connect(sysPara->devOp,SIGNAL(sendSerialDataToSTM32(int,int,unsigned char*,int,int)),serialSTM32,SLOT(sendSerialData(int,int,unsigned char*,int,int)));
|
||||||
@@ -84,7 +88,7 @@ InkJetPrinter::InkJetPrinter(QWidget *parent) :
|
|||||||
connect(serialSTM32,SIGNAL(getSTM32Time(unsigned char*)),this,SLOT(saveSTM32Time(unsigned char*)));
|
connect(serialSTM32,SIGNAL(getSTM32Time(unsigned char*)),this,SLOT(saveSTM32Time(unsigned char*)));
|
||||||
connect(serialSTM32,SIGNAL(stopSendData(bool)),this,SLOT(stopSendSTM32Data(bool)));
|
connect(serialSTM32,SIGNAL(stopSendData(bool)),this,SLOT(stopSendSTM32Data(bool)));
|
||||||
connect(serialSTM32,SIGNAL(powerOffReady()),ui->tabMainWindow,SLOT(powerOffConfirmed()));
|
connect(serialSTM32,SIGNAL(powerOffReady()),ui->tabMainWindow,SLOT(powerOffConfirmed()));
|
||||||
connect(m_serialThreadSTM32,&QThread::started,serialSTM32,&Serial::startInitSlot);
|
|
||||||
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),ui->tabMainWindow,SLOT(showSTM32queuesize(int)));
|
connect(serialSTM32,SIGNAL(queueSizeSTM32(int)),ui->tabMainWindow,SLOT(showSTM32queuesize(int)));
|
||||||
connect(ui->tabSystemManage,SIGNAL(upgradeSTM32(QString)),serialSTM32,SLOT(upgradeSTM32File(QString)));
|
connect(ui->tabSystemManage,SIGNAL(upgradeSTM32(QString)),serialSTM32,SLOT(upgradeSTM32File(QString)));
|
||||||
connect(ui->tabSystemManage,SIGNAL(enableClick(bool)),this,SLOT(enableInkJetTabClick(bool)));
|
connect(ui->tabSystemManage,SIGNAL(enableClick(bool)),this,SLOT(enableInkJetTabClick(bool)));
|
||||||
@@ -183,9 +187,11 @@ InkJetPrinter::InkJetPrinter(QWidget *parent) :
|
|||||||
connect(ui->tabSystemSetting,SIGNAL(pressureAdjust()),this,SLOT(pressureAdjustForsystemseeting()));
|
connect(ui->tabSystemSetting,SIGNAL(pressureAdjust()),this,SLOT(pressureAdjustForsystemseeting()));
|
||||||
|
|
||||||
#ifdef COUNTER1_BY_GROUP /* 分段计米 */
|
#ifdef COUNTER1_BY_GROUP /* 分段计米 */
|
||||||
connect(this,SIGNAL(updateCnt1GroupDisp(bool)),ui->tabPrintSetting,SLOT(onUpdateCnt1GroupDisp(bool)));
|
connect(this,SIGNAL(updateCnt1GroupDisp(bool)),
|
||||||
|
ui->tabPrintSetting,SLOT(onUpdateCnt1GroupDisp(bool)));
|
||||||
#endif
|
#endif
|
||||||
initCntGroup();
|
initCntGroup();
|
||||||
|
|
||||||
msgtest = new QMessageBox(this);
|
msgtest = new QMessageBox(this);
|
||||||
connect(msgtest, SIGNAL(finished(int)), this, SLOT(OnFinished(int)));
|
connect(msgtest, SIGNAL(finished(int)), this, SLOT(OnFinished(int)));
|
||||||
msgBox1 = new QMessageBox(this);
|
msgBox1 = new QMessageBox(this);
|
||||||
@@ -253,7 +259,7 @@ initCntGroup();
|
|||||||
sysPara->status.FileChangeRestCntFlag=0;
|
sysPara->status.FileChangeRestCntFlag=0;
|
||||||
sysPara->status.HVFaultCloseEn=0;
|
sysPara->status.HVFaultCloseEn=0;
|
||||||
sysPara->devOp->printCtrl( PRINT_CTRL_STOP);
|
sysPara->devOp->printCtrl( PRINT_CTRL_STOP);
|
||||||
sysPara->devOp->writeFpgaCalandar(1);//
|
sysPara->devOp->writeFpgaCalandar(1);
|
||||||
//qDebug()<<sysPara->para.calandar_and_dat.year;
|
//qDebug()<<sysPara->para.calandar_and_dat.year;
|
||||||
sysPara->status.cnt1GroupRunningIndex=0;
|
sysPara->status.cnt1GroupRunningIndex=0;
|
||||||
//sysPara->status.cnt1RepeatCurrent=0;
|
//sysPara->status.cnt1RepeatCurrent=0;
|
||||||
@@ -267,31 +273,31 @@ initCntGroup();
|
|||||||
//JSON data
|
//JSON data
|
||||||
#ifdef MODBUS
|
#ifdef MODBUS
|
||||||
|
|
||||||
modbus = NULL;
|
modbus = NULL;
|
||||||
memset((uint8_t *)&sysPara->modbusParas, 0, sizeof(sysPara->modbusParas));
|
memset((uint8_t *)&sysPara->modbusParas, 0, sizeof(sysPara->modbusParas));
|
||||||
sysPara->modbusStatus.receiveEnbleFlag = 1;
|
sysPara->modbusStatus.receiveEnbleFlag = 1;
|
||||||
snprintf((char *)sysPara->modbusParas.selectFileName, sizeof(sysPara->modbusParas.selectFileName), "%s",QFileInfo(sysPara->para.lastOpenedFileName).fileName().toLatin1().constData());
|
snprintf((char *)sysPara->modbusParas.selectFileName, sizeof(sysPara->modbusParas.selectFileName), "%s",QFileInfo(sysPara->para.lastOpenedFileName).fileName().toLatin1().constData());
|
||||||
modbus = new ModbusTcp(&sysPara->modbusParas, &sysPara->modbusStatus);
|
modbus = new ModbusTcp(&sysPara->modbusParas, &sysPara->modbusStatus);
|
||||||
m_thread = new QThread();
|
m_thread = new QThread();
|
||||||
modbus->moveToThread(m_thread);
|
modbus->moveToThread(m_thread);
|
||||||
connect(m_thread, SIGNAL(started()),modbus,SLOT(pvPollingThread()));
|
connect(m_thread, SIGNAL(started()),modbus,SLOT(pvPollingThread()));
|
||||||
connect(modbus, SIGNAL(updateQRcode()), ui->tabMainWindow, SLOT(modbusUpdateQRCode()), Qt::QueuedConnection);
|
connect(modbus, SIGNAL(updateQRcode()), ui->tabMainWindow, SLOT(modbusUpdateQRCode()), Qt::QueuedConnection);
|
||||||
connect(modbus, SIGNAL(openFile(QString,bool)), ui->tabMainWindow->getTexteditOption(), SLOT(onFileOpen(QString,bool)), Qt::QueuedConnection);
|
connect(modbus, SIGNAL(openFile(QString,bool)), ui->tabMainWindow->getTexteditOption(), SLOT(onFileOpen(QString,bool)), Qt::QueuedConnection);
|
||||||
connect(modbus, SIGNAL(startPrint()), ui->tabMainWindow, SLOT(on_pushButtonStartPrint_pressed()), Qt::QueuedConnection);
|
connect(modbus, SIGNAL(startPrint()), ui->tabMainWindow, SLOT(on_pushButtonStartPrint_pressed()), Qt::QueuedConnection);
|
||||||
connect(modbus, SIGNAL(pausePrint()), ui->tabMainWindow, SLOT(on_pushButtonPausePrint_pressed()), Qt::QueuedConnection);//暂时屏蔽排除问题
|
connect(modbus, SIGNAL(pausePrint()), ui->tabMainWindow, SLOT(on_pushButtonPausePrint_pressed()), Qt::QueuedConnection);//暂时屏蔽排除问题
|
||||||
connect(modbus,SIGNAL(stopPrint()),ui->tabMainWindow,SLOT(on_pushButtonStopPrint_pressed()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(stopPrint()),ui->tabMainWindow,SLOT(on_pushButtonStopPrint_pressed()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar()),this,SLOT(onModbusWriteCalendar()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar()),this,SLOT(onModbusWriteCalendar()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar1()),this,SLOT(onModbusWriteCalendar1CurrValue()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar1()),this,SLOT(onModbusWriteCalendar1CurrValue()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar1EndValue()),this,SLOT(onModbusWriteCalendar1EndValue()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar1EndValue()),this,SLOT(onModbusWriteCalendar1EndValue()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar2EndValue()),this,SLOT(onModbusWriteCalendar2EndValue()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar2EndValue()),this,SLOT(onModbusWriteCalendar2EndValue()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar2RepeatValue()),this,SLOT(onModbusWriteCalendar2RepeatValue()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar2RepeatValue()),this,SLOT(onModbusWriteCalendar2RepeatValue()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(writeCalendar2InitValue()),this,SLOT(onModbusWriteCalendar2InitValue()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(writeCalendar2InitValue()),this,SLOT(onModbusWriteCalendar2InitValue()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(CNTResetNow()),ui->tabMainWindow,SLOT(onModbusCNTResetNowPressed()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(CNTResetNow()),ui->tabMainWindow,SLOT(onModbusCNTResetNowPressed()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(faultResume()),ui->tabMainWindow,SLOT(onLabelFaultRusumePressed()), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(faultResume()),ui->tabMainWindow,SLOT(onLabelFaultRusumePressed()), Qt::QueuedConnection);
|
||||||
connect(modbus,SIGNAL(mbLineAndCharSpace(int, int)),ui->tabMainWindow->getTexteditOption(),SLOT(onMbSetLineAndChar(int, int)), Qt::QueuedConnection);
|
connect(modbus,SIGNAL(mbLineAndCharSpace(int, int)),ui->tabMainWindow->getTexteditOption(),SLOT(onMbSetLineAndChar(int, int)), Qt::QueuedConnection);
|
||||||
connect(this,SIGNAL(updataPara2UI()),ui->tabPrintSetting,SLOT( PrintupdateSysParaToUI() ), Qt::QueuedConnection);
|
connect(this,SIGNAL(updataPara2UI()),ui->tabPrintSetting,SLOT( PrintupdateSysParaToUI() ), Qt::QueuedConnection);
|
||||||
connect(this, SIGNAL(openFile(QString,bool)), ui->tabMainWindow->getTexteditOption(), SLOT(onFileOpen(QString,bool)), Qt::QueuedConnection);
|
connect(this, SIGNAL(openFile(QString,bool)), ui->tabMainWindow->getTexteditOption(), SLOT(onFileOpen(QString,bool)), Qt::QueuedConnection);
|
||||||
connect(this, SIGNAL(startPrint()), ui->tabMainWindow, SLOT(on_pushButtonStartPrint_pressed()), Qt::QueuedConnection);
|
connect(this, SIGNAL(startPrint()), ui->tabMainWindow, SLOT(on_pushButtonStartPrint_pressed()), Qt::QueuedConnection);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
||||||
@@ -704,6 +710,7 @@ void InkJetPrinter::initCntGroup()
|
|||||||
connect(this, &InkJetPrinter::sig_updateDisp,
|
connect(this, &InkJetPrinter::sig_updateDisp,
|
||||||
SectionalManager::instance(), &SectionalManager::sig_updateCntGroupDisp);
|
SectionalManager::instance(), &SectionalManager::sig_updateCntGroupDisp);
|
||||||
}
|
}
|
||||||
|
|
||||||
float PID_realize(float speed);
|
float PID_realize(float speed);
|
||||||
|
|
||||||
struct _pid{
|
struct _pid{
|
||||||
@@ -757,7 +764,7 @@ float PID_realize2(float speed, float act){
|
|||||||
pid.err = pid.SetSpeed - pid.ActualSpeed;
|
pid.err = pid.SetSpeed - pid.ActualSpeed;
|
||||||
|
|
||||||
float delta_u = pid.Kp * (pid.err - pid.err_last)
|
float delta_u = pid.Kp * (pid.err - pid.err_last)
|
||||||
+ pid.Ki * pid.err;
|
+ pid.Ki * pid.err;
|
||||||
|
|
||||||
// 自适应非对称限幅:
|
// 自适应非对称限幅:
|
||||||
// 压力严重偏高(err < -30):允许快速减速,限制慢速加速
|
// 压力严重偏高(err < -30):允许快速减速,限制慢速加速
|
||||||
@@ -836,7 +843,7 @@ void InkJetPrinter::pressureAdj()
|
|||||||
if(m_pumpState != DPUMP_STOPPED) {
|
if(m_pumpState != DPUMP_STOPPED) {
|
||||||
u = 0.0f;
|
u = 0.0f;
|
||||||
sysPara->para.gearPumpValue = 0;
|
sysPara->para.gearPumpValue = 0;
|
||||||
sysPara->devOp->WriteMoterPump();
|
sysPara->devOp->WriteMoterPump();
|
||||||
m_pumpState = DPUMP_STOPPED;
|
m_pumpState = DPUMP_STOPPED;
|
||||||
m_stateChangeCount = 0;
|
m_stateChangeCount = 0;
|
||||||
m_adjSkip = 0;
|
m_adjSkip = 0;
|
||||||
@@ -880,7 +887,7 @@ void InkJetPrinter::handleStoppedState(int err, bool canSwitch)
|
|||||||
|
|
||||||
// 启动爬升状态处理:从低转速逐步提升到工作转速
|
// 启动爬升状态处理:从低转速逐步提升到工作转速
|
||||||
void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
||||||
{
|
{
|
||||||
const int STARTING_TO_RUNNING_RANGE = 30; // 进入目标±50范围转到运行状态
|
const int STARTING_TO_RUNNING_RANGE = 30; // 进入目标±50范围转到运行状态
|
||||||
const float MAX_WORKING_SPEED = 350.0f; // 最大工作转速
|
const float MAX_WORKING_SPEED = 350.0f; // 最大工作转速
|
||||||
const float START_SPEED_STEP_LARGE = 40.0f;
|
const float START_SPEED_STEP_LARGE = 40.0f;
|
||||||
@@ -891,11 +898,11 @@ void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
|||||||
|
|
||||||
// 每800ms调整一次(8个100ms周期)
|
// 每800ms调整一次(8个100ms周期)
|
||||||
if(m_adjSkip < 8) {
|
if(m_adjSkip < 8) {
|
||||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||||
sysPara->devOp->WriteMoterPump();
|
sysPara->devOp->WriteMoterPump();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m_adjSkip = 0;
|
m_adjSkip = 0;
|
||||||
|
|
||||||
// 判断是否进入运行状态
|
// 判断是否进入运行状态
|
||||||
int absErr = (err >= 0) ? err : -err;
|
int absErr = (err >= 0) ? err : -err;
|
||||||
@@ -908,15 +915,15 @@ void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
|||||||
m_lastActualPressure = actual;
|
m_lastActualPressure = actual;
|
||||||
m_stateChangeCount = 0; // 重置计数器
|
m_stateChangeCount = 0; // 重置计数器
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 继续爬升:根据误差自适应增速
|
// 继续爬升:根据误差自适应增速
|
||||||
float step;
|
float step;
|
||||||
if(err > 100) step = START_SPEED_STEP_LARGE;
|
if(err > 100) step = START_SPEED_STEP_LARGE;
|
||||||
else if(err > 50) step = START_SPEED_STEP_MED;
|
else if(err > 50) step = START_SPEED_STEP_MED;
|
||||||
else step = START_SPEED_STEP_SMALL;
|
else step = START_SPEED_STEP_SMALL;
|
||||||
|
|
||||||
u += step;
|
u += step;
|
||||||
if(u > MAX_WORKING_SPEED) u = MAX_WORKING_SPEED;
|
if(u > MAX_WORKING_SPEED) u = MAX_WORKING_SPEED;
|
||||||
|
|
||||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||||
@@ -926,7 +933,7 @@ void InkJetPrinter::handleStartingState(int err, int actual, int target)
|
|||||||
|
|
||||||
// 运行微调状态处理:使用增量式控制算法
|
// 运行微调状态处理:使用增量式控制算法
|
||||||
void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
||||||
{
|
{
|
||||||
const int RUN_TO_STOP_THRESHOLD = 5; // 压力高于目标10准备停泵(扩大滞环)
|
const int RUN_TO_STOP_THRESHOLD = 5; // 压力高于目标10准备停泵(扩大滞环)
|
||||||
const int EMERGENCY_STOP_THRESHOLD = 10; // 压力高于目标20立即停泵(不受800ms限制)
|
const int EMERGENCY_STOP_THRESHOLD = 10; // 压力高于目标20立即停泵(不受800ms限制)
|
||||||
|
|
||||||
@@ -950,7 +957,7 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
|||||||
m_stateChangeCount = 0;
|
m_stateChangeCount = 0;
|
||||||
m_adjSkip = 0;
|
m_adjSkip = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// === 增量式微调控制(每200ms调整一次)===
|
// === 增量式微调控制(每200ms调整一次)===
|
||||||
m_adjSkip++;
|
m_adjSkip++;
|
||||||
@@ -968,10 +975,10 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
|||||||
// 死区:误差≤0.5不调整
|
// 死区:误差≤0.5不调整
|
||||||
if(absErr < 0.5f) {
|
if(absErr < 0.5f) {
|
||||||
m_lastActualPressure = actual;
|
m_lastActualPressure = actual;
|
||||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||||
sysPara->devOp->WriteMoterPump();
|
sysPara->devOp->WriteMoterPump();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算压力变化率(微分项)
|
// 计算压力变化率(微分项)
|
||||||
int pressureChange = actual - m_lastActualPressure;
|
int pressureChange = actual - m_lastActualPressure;
|
||||||
@@ -1002,7 +1009,7 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
|||||||
if(delta_u < -maxDelta) delta_u = -maxDelta;
|
if(delta_u < -maxDelta) delta_u = -maxDelta;
|
||||||
|
|
||||||
// 更新控制量
|
// 更新控制量
|
||||||
u += delta_u;
|
u += delta_u;
|
||||||
|
|
||||||
// 限制范围
|
// 限制范围
|
||||||
const float MIN_RUNNING_SPEED = 30.0f; // 最低运行转速(低于此值泵不转)
|
const float MIN_RUNNING_SPEED = 30.0f; // 最低运行转速(低于此值泵不转)
|
||||||
@@ -1012,7 +1019,7 @@ void InkJetPrinter::handleRunningState(int err, bool canSwitch)
|
|||||||
if(u > MAX_WORKING_SPEED) u = MAX_WORKING_SPEED;
|
if(u > MAX_WORKING_SPEED) u = MAX_WORKING_SPEED;
|
||||||
|
|
||||||
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
sysPara->para.gearPumpValue = (unsigned short)(int)u;
|
||||||
sysPara->devOp->WriteMoterPump();
|
sysPara->devOp->WriteMoterPump();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1223,10 +1230,6 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
static float gearPumpRunNormalValue = 0.0;
|
static float gearPumpRunNormalValue = 0.0;
|
||||||
if(sysPara){
|
if(sysPara){
|
||||||
xxxm=1;
|
xxxm=1;
|
||||||
if(sysPara->para.flagOfModuleDecimal || sysPara->para.flagOfModuleHide){
|
|
||||||
sysPara->para.flagOfModuleDecimal = 0;
|
|
||||||
sysPara->para.flagOfModuleHide = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
sysPara->para.ReadFileErrorCnt=0; // 正常打开文件
|
sysPara->para.ReadFileErrorCnt=0; // 正常打开文件
|
||||||
|
|
||||||
@@ -1552,47 +1555,57 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(gearPumpRunFlag || sysPara->para.gearPumpEnable == 0)
|
if(gearPumpRunFlag || sysPara->para.gearPumpEnable == 0)
|
||||||
{
|
{
|
||||||
if(!sysPara->status.selfCheckDone && sysPara->status.isPrinting){
|
if(!sysPara->status.selfCheckDone && sysPara->status.isPrinting){
|
||||||
sysPara->status.selfCheckDone = true;
|
sysPara->status.selfCheckDone = true;
|
||||||
ui->tabMainWindow->updatePrintDisplayLabel();
|
ui->tabMainWindow->updatePrintDisplayLabel();
|
||||||
sysPara->status.flagOfAbnormalStatus = true;
|
sysPara->status.flagOfAbnormalStatus = true;
|
||||||
|
|
||||||
|
static bool onceLog = true;
|
||||||
|
if(onceLog) {
|
||||||
LogInfo::setRunStatusText(tr("打印过程中死机了!!!"));
|
LogInfo::setRunStatusText(tr("打印过程中死机了!!!"));
|
||||||
qDebug()<<"打印过程中死机了!!!";
|
qDebug()<<"打印过程中死机了!!!";
|
||||||
|
onceLog = false;
|
||||||
|
|
||||||
|
ui->tabMainWindow->updatePrintDisplayLabel();
|
||||||
}
|
}
|
||||||
if(!sysPara->status.selfCheckDone)
|
|
||||||
|
ui->tabMainWindow->on_pushButtonStopPrint_pressed();
|
||||||
|
|
||||||
|
}
|
||||||
|
if(!sysPara->status.selfCheckDone)
|
||||||
|
{
|
||||||
|
/*开机自检*/
|
||||||
|
autoControlValvePump();
|
||||||
|
if(pulse_100ms){
|
||||||
|
pressureAdj();
|
||||||
|
}
|
||||||
|
/*-----------------------------------------------------*/
|
||||||
|
if(!sysPara->status.selfCheckCnt) {
|
||||||
|
LogInfo::setRunStatusText(tr("开始自检,请等待60秒..............."));
|
||||||
|
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
||||||
|
ui->tabMainWindow->enablePrintButton(false);
|
||||||
|
sysPara->devOp->mainInkCtrl();
|
||||||
|
sysPara->para.TrunOnPowerCnt++;// 20151218 开机次数加1
|
||||||
|
sysPara->saveParaToFile(); // 保存开机次数值
|
||||||
|
|
||||||
|
sysPara->status.lastProductCnt = sysPara->status.productCnt ; //这会让产品计数显示出来
|
||||||
|
|
||||||
|
ui->tabMainWindow->updateTotalCnt(0);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
if((++sysPara->status.selfCheckCnt % 100) == 0){
|
||||||
|
ui->tabMainWindow->setRunStatus(tr("开始自检,请等待%1秒...............").arg((MAX_SELF_CHECK_CNT - sysPara->status.selfCheckCnt)/100));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT)
|
||||||
{
|
{
|
||||||
/*开机自检*/
|
sysPara->status.selfCheckDone = 1;
|
||||||
autoControlValvePump();
|
u = (float)sysPara->para.gearPumpValue;
|
||||||
if(pulse_100ms){
|
|
||||||
pressureAdj();
|
|
||||||
}
|
|
||||||
/*-----------------------------------------------------*/
|
|
||||||
if(!sysPara->status.selfCheckCnt) {
|
|
||||||
LogInfo::setRunStatusText(tr("开始自检,请等待60秒..............."));
|
|
||||||
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
|
||||||
ui->tabMainWindow->enablePrintButton(false);
|
|
||||||
sysPara->devOp->mainInkCtrl();
|
|
||||||
sysPara->para.TrunOnPowerCnt++;// 20151218 开机次数加1
|
|
||||||
sysPara->saveParaToFile(); // 保存开机次数值
|
|
||||||
|
|
||||||
sysPara->status.lastProductCnt = sysPara->status.productCnt ; //这会让产品计数显示出来
|
|
||||||
|
|
||||||
ui->tabMainWindow->updateTotalCnt(0);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
if((++sysPara->status.selfCheckCnt % 100) == 0){
|
|
||||||
ui->tabMainWindow->setRunStatus(tr("开始自检,请等待%1秒...............").arg((MAX_SELF_CHECK_CNT - sysPara->status.selfCheckCnt)/100));
|
|
||||||
}
|
|
||||||
|
|
||||||
if(sysPara->status.selfCheckCnt >= MAX_SELF_CHECK_CNT)
|
|
||||||
{
|
|
||||||
sysPara->status.selfCheckDone = 1;
|
|
||||||
u = (float)sysPara->para.gearPumpValue;
|
|
||||||
// 自检完成后管道恢复正常阻力,重置状态机让压力重新平稳收敛
|
// 自检完成后管道恢复正常阻力,重置状态机让压力重新平稳收敛
|
||||||
// 不清零 u,从当前控制字开始,避免突变
|
// 不清零 u,从当前控制字开始,避免突变
|
||||||
if(u > 40.0f) {
|
if(u > 40.0f) {
|
||||||
m_pumpState = DPUMP_RUNNING; // 如果当前有转速,进入运行状态
|
m_pumpState = DPUMP_RUNNING; // 如果当前有转速,进入运行状态
|
||||||
} else {
|
} else {
|
||||||
@@ -1602,68 +1615,68 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
m_adjSkip = 0;
|
m_adjSkip = 0;
|
||||||
m_lastActualPressure = 0;
|
m_lastActualPressure = 0;
|
||||||
m_bufValidCount = 0;
|
m_bufValidCount = 0;
|
||||||
for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0;
|
for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0;
|
||||||
m_bufIdx = 0;
|
m_bufIdx = 0;
|
||||||
LogInfo::setRunStatusText(tr("自检完成!!!"));
|
LogInfo::setRunStatusText(tr("自检完成!!!"));
|
||||||
ui->tabMainWindow->setRunStatus(tr("自检完成!!!"));
|
ui->tabMainWindow->setRunStatus(tr("自检完成!!!"));
|
||||||
qDebug()<<"自检完成!!!";
|
qDebug()<<"自检完成!!!";
|
||||||
ui->tabPrintSetting->PrintSettingLog();
|
ui->tabPrintSetting->PrintSettingLog();
|
||||||
ui->tabMainWindow->enableReclaimCtrlButton(true);
|
ui->tabMainWindow->enableReclaimCtrlButton(true);
|
||||||
sysPara->devOp->mainInkCtrl();
|
sysPara->devOp->mainInkCtrl();
|
||||||
sysPara->status.canRunAirPushing = true;
|
sysPara->status.canRunAirPushing = true;
|
||||||
|
|
||||||
if(sysPara->para.Reciclar)
|
|
||||||
test_flag = 1;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if((sysPara->status.selfCheckCnt % 200) == 0)
|
|
||||||
// sysPara->devOp->controlReclaimTankOpen(false);
|
|
||||||
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if(sysPara->para.Reciclar)
|
||||||
|
test_flag = 1;
|
||||||
}
|
}
|
||||||
else{
|
else {
|
||||||
// 开机自检完成的前提下
|
if((sysPara->status.selfCheckCnt % 200) == 0)
|
||||||
if (!sysPara->status.airPushing || ui->tabMainWindow->m_2sFlag) {
|
// sysPara->devOp->controlReclaimTankOpen(false);
|
||||||
autoControlValvePump();
|
ui->tabMainWindow->enableReclaimCtrlButton(false);
|
||||||
}
|
}
|
||||||
// 检测回收泵模式切换,切换时重置泄漏保护学习状态和软启动状态
|
|
||||||
if(m_lastReclaimMode != sysPara->para.flagOfReclaimPumEnable)
|
}
|
||||||
{
|
else{
|
||||||
m_lastReclaimMode = sysPara->para.flagOfReclaimPumEnable;
|
// 开机自检完成的前提下
|
||||||
gearPumpRunNormalFlag = false; // 泄漏保护重新学习
|
if (!sysPara->status.airPushing || ui->tabMainWindow->m_2sFlag) {
|
||||||
gearPumpRunNormalValue = 0.0f;
|
autoControlValvePump();
|
||||||
|
}
|
||||||
|
// 检测回收泵模式切换,切换时重置泄漏保护学习状态和软启动状态
|
||||||
|
if(m_lastReclaimMode != sysPara->para.flagOfReclaimPumEnable)
|
||||||
|
{
|
||||||
|
m_lastReclaimMode = sysPara->para.flagOfReclaimPumEnable;
|
||||||
|
gearPumpRunNormalFlag = false; // 泄漏保护重新学习
|
||||||
|
gearPumpRunNormalValue = 0.0f;
|
||||||
// 重置隔膜泵状态机,适应新模式
|
// 重置隔膜泵状态机,适应新模式
|
||||||
m_pumpState = DPUMP_STOPPED;
|
m_pumpState = DPUMP_STOPPED;
|
||||||
m_stateChangeCount = 0;
|
m_stateChangeCount = 0;
|
||||||
m_adjSkip = 0;
|
m_adjSkip = 0;
|
||||||
m_lastActualPressure = 0;
|
m_lastActualPressure = 0;
|
||||||
m_bufValidCount = 0;
|
m_bufValidCount = 0;
|
||||||
for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0;
|
for(int i = 0; i < 10; i++) m_pressureBuf[i] = 0;
|
||||||
m_bufIdx = 0;
|
m_bufIdx = 0;
|
||||||
}
|
}
|
||||||
if(pulse_100ms && sysPara->para.gearPumpEnable && !sysPara->status.isPumpValveControledByHand && ControledSwitchFlag ) {
|
if(pulse_100ms && sysPara->para.gearPumpEnable && !sysPara->status.isPumpValveControledByHand && ControledSwitchFlag ) {
|
||||||
pressureAdj();
|
pressureAdj();
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else{
|
}
|
||||||
static bool flag = 1;
|
else{
|
||||||
if(delay3s){
|
static bool flag = 1;
|
||||||
if(flag){
|
if(delay3s){
|
||||||
flag = 0;
|
if(flag){
|
||||||
LogInfo::setRunStatusText(tr("缺少墨水,喷码机不能正常工作!"));
|
flag = 0;
|
||||||
qDebug()<<"缺少墨水,喷码机不能正常工作!";
|
LogInfo::setRunStatusText(tr("缺少墨水,喷码机不能正常工作!"));
|
||||||
}
|
qDebug()<<"缺少墨水,喷码机不能正常工作!";
|
||||||
ui->tabMainWindow->setRunStatus(tr("缺少墨水,喷码机不能正常工作!"));
|
|
||||||
}
|
}
|
||||||
|
ui->tabMainWindow->setRunStatus(tr("缺少墨水,喷码机不能正常工作!"));
|
||||||
}
|
}
|
||||||
/*----------------------------控制温度--------------------------------------*/
|
}
|
||||||
if(pulse_300ms){
|
/*----------------------------控制温度--------------------------------------*/
|
||||||
autoControlHeater();
|
if(pulse_300ms){
|
||||||
sysPara->devOp->readSyncCounterAtZero();
|
autoControlHeater();
|
||||||
}
|
sysPara->devOp->readSyncCounterAtZero();
|
||||||
|
}
|
||||||
|
|
||||||
sysPara->status.lostCommuFlag = lostCommuFlag; //务必放在后面
|
sysPara->status.lostCommuFlag = lostCommuFlag; //务必放在后面
|
||||||
static unsigned int lastProductCnt =0;
|
static unsigned int lastProductCnt =0;
|
||||||
@@ -1697,18 +1710,17 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
if(pulse_300ms){
|
if(pulse_300ms){
|
||||||
if (manager_rfid)
|
if (manager_rfid)
|
||||||
manager_rfid->handleCheck(addr);
|
manager_rfid->handleCheck(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
if(pulse_300ms){
|
if(pulse_300ms){
|
||||||
sysPara->devOp->readCalandarDat(); //务必读一下此数据
|
sysPara->devOp->readCalandarDat(); //务必读一下此数据
|
||||||
if(sysPara->status.RandomNum>0)
|
if(sysPara->status.RandomNum>0)
|
||||||
sysPara->devOp->Read_RanddomFromFpga();
|
sysPara->devOp->Read_RanddomFromFpga();
|
||||||
#ifdef COUNTER1_BY_GROUP /* 分段计米 */
|
#ifdef COUNTER1_BY_GROUP /* 分段计米 */
|
||||||
// cnt1GroupCheck();//分段计米
|
cnt1GroupCheck();//分段计米
|
||||||
cntGroupCheck();//分段计米
|
|
||||||
#endif
|
#endif
|
||||||
|
cntGroupCheck();//分段计米
|
||||||
|
|
||||||
QWidget *widget = this->currentWidget();
|
QWidget *widget = this->currentWidget();
|
||||||
static bool read_flag = false;
|
static bool read_flag = false;
|
||||||
@@ -1775,12 +1787,12 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
|
|
||||||
if(sysPara->para.speedoverPaushPrint) {
|
if(sysPara->para.speedoverPaushPrint) {
|
||||||
ui->tabMainWindow->on_pushButtonPausePrint_pressed();// 2014-03-19
|
ui->tabMainWindow->on_pushButtonPausePrint_pressed();// 2014-03-19
|
||||||
// emit OnSpeedOver(2);//QMessageBox::warning(NULL,tr("警告"),tr("喷印速度过快!无法喷印完全,自动暂停喷印!!!"));
|
// emit OnSpeedOver(2);//QMessageBox::warning(NULL,tr("警告"),tr("喷印速度过快!无法喷印完全,自动暂停喷印!!!"));
|
||||||
ui->tabMainWindow->setRunStatus(tr("喷印速度过快!无法喷印完全,自动暂停喷印!!!"));
|
ui->tabMainWindow->setRunStatus(tr("喷印速度过快!无法喷印完全,自动暂停喷印!!!"));
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// emit OnSpeedOver(1);//QMessageBox::warning(NULL,tr("警告"),tr("喷印速度过快!无法喷印完全!!!"));
|
// emit OnSpeedOver(1);//QMessageBox::warning(NULL,tr("警告"),tr("喷印速度过快!无法喷印完全!!!"));
|
||||||
ui->tabMainWindow->setRunStatus(tr("喷印速度过快!无法喷印完全!!!"));
|
ui->tabMainWindow->setRunStatus(tr("喷印速度过快!无法喷印完全!!!"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1814,14 +1826,14 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __RFID_CARD
|
#ifdef __RFID_CARD
|
||||||
/*****************墨水刷卡控制start**********************************************/
|
/*****************墨水刷卡控制start**********************************************/
|
||||||
/*墨水刷卡新的控制逻辑*/
|
/*墨水刷卡新的控制逻辑*/
|
||||||
/* 1.任何时候,打印墨点数达到2.3billion之后,提示24小时内刷卡,否则禁止使用机器*/
|
/* 1.任何时候,打印墨点数达到2.3billion之后,提示24小时内刷卡,否则禁止使用机器*/
|
||||||
/*2.当墨水液位后,持续提示刷卡,24小时后如果还没有刷卡,禁止使用机器*/
|
/*2.当墨水液位后,持续提示刷卡,24小时后如果还没有刷卡,禁止使用机器*/
|
||||||
static bool logFlag4 = 1;
|
static bool logFlag4 = 1;
|
||||||
static int warnNum1 = 0;
|
static int warnNum1 = 0;
|
||||||
if(!(sysPara->status.statWarn & WARN_STATUS_INK_WARN))
|
if(!(sysPara->status.statWarn & WARN_STATUS_INK_WARN))
|
||||||
warnNum1 = 0;
|
warnNum1 = 0;
|
||||||
if((sysPara->status.statWarn & WARN_STATUS_INK_WARN) || sysPara->para.RFIDInkWarn){
|
if((sysPara->status.statWarn & WARN_STATUS_INK_WARN) || sysPara->para.RFIDInkWarn){
|
||||||
if(!sysPara->para.RFIDInkWarn){
|
if(!sysPara->para.RFIDInkWarn){
|
||||||
if(++warnNum1 >6){
|
if(++warnNum1 >6){
|
||||||
@@ -1861,28 +1873,28 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS || sysPara->para.RFIDInkWarn){
|
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS || sysPara->para.RFIDInkWarn){
|
||||||
sysPara->status.flagOfNeedInkCard = true;
|
sysPara->status.flagOfNeedInkCard = true;
|
||||||
if(sysPara->RFIDPara.InkRFIDCnt == 0){
|
if(sysPara->RFIDPara.InkRFIDCnt == 0){
|
||||||
msgtest->setText(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
msgtest->setText(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
||||||
msgtest->show();
|
msgtest->show();
|
||||||
ui->tabMainWindow->setRunStatus(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
ui->tabMainWindow->setRunStatus(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
||||||
LogInfo::setRunStatusText(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
LogInfo::setRunStatusText(tr("请使用原厂墨水,然后刷墨水卡,否则机器将在24小时后禁止使用!"));
|
||||||
}
|
}
|
||||||
int timeRemain = (MAX_INK_RFIDTIME - sysPara->RFIDPara.InkRFIDCnt)/60;
|
int timeRemain = (MAX_INK_RFIDTIME - sysPara->RFIDPara.InkRFIDCnt)/60;
|
||||||
if(timeRemain > 60){
|
if(timeRemain > 60){
|
||||||
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS)
|
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS)
|
||||||
ui->tabMainWindow->setRunStatus(tr("1.请使用原厂墨水,然后刷墨水卡,否则机器将在%1小时后禁止使用!").arg(timeRemain/60));
|
ui->tabMainWindow->setRunStatus(tr("1.请使用原厂墨水,然后刷墨水卡,否则机器将在%1小时后禁止使用!").arg(timeRemain/60));
|
||||||
else
|
else
|
||||||
ui->tabMainWindow->setRunStatus(tr("2.请使用原厂墨水,然后刷墨水卡,否则机器将在%1小时后禁止使用!").arg(timeRemain/60));
|
ui->tabMainWindow->setRunStatus(tr("2.请使用原厂墨水,然后刷墨水卡,否则机器将在%1小时后禁止使用!").arg(timeRemain/60));
|
||||||
}
|
}
|
||||||
else if(timeRemain > 0){
|
else if(timeRemain > 0){
|
||||||
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS)
|
if(sysPara->RFIDPara.PrintInkDots >= MAX_INK_DOTS)
|
||||||
ui->tabMainWindow->setRunStatus(tr("1.请使用原厂墨水,然后刷墨水卡,否则机器将在%1分钟后禁止使用!").arg(timeRemain));
|
ui->tabMainWindow->setRunStatus(tr("1.请使用原厂墨水,然后刷墨水卡,否则机器将在%1分钟后禁止使用!").arg(timeRemain));
|
||||||
else
|
else
|
||||||
ui->tabMainWindow->setRunStatus(tr("2.请使用原厂墨水,然后刷墨水卡,否则机器将在%1分钟后禁止使用!").arg(timeRemain));
|
ui->tabMainWindow->setRunStatus(tr("2.请使用原厂墨水,然后刷墨水卡,否则机器将在%1分钟后禁止使用!").arg(timeRemain));
|
||||||
}
|
}
|
||||||
if(sysPara->RFIDPara.InkRFIDCnt % 300 == 0)
|
if(sysPara->RFIDPara.InkRFIDCnt % 300 == 0)
|
||||||
sysPara->saveRFIDPara();
|
sysPara->saveRFIDPara();
|
||||||
if(++sysPara->RFIDPara.InkRFIDCnt >= MAX_INK_RFIDTIME)
|
if(++sysPara->RFIDPara.InkRFIDCnt >= MAX_INK_RFIDTIME)
|
||||||
sysPara->status.flagOfInkMaxDot = true;
|
sysPara->status.flagOfInkMaxDot = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sysPara->status.flagOfInkMaxDot){
|
if(sysPara->status.flagOfInkMaxDot){
|
||||||
@@ -1914,7 +1926,7 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
|
|
||||||
/*****************溶剂刷卡控制start**********************************************/
|
/*****************溶剂刷卡控制start**********************************************/
|
||||||
/*溶剂刷卡新的控制逻辑*/
|
/*溶剂刷卡新的控制逻辑*/
|
||||||
/* 1.任何时候,混合阀打开次数达到360次,提示2小时关机,必须刷卡才能恢复*/
|
/* 1.任何时候,混合阀打开次数达到360次,提示2小时关机,必须刷卡才能恢复*/
|
||||||
/*2.溶剂液位报警后,提示刷卡,允许有10次的混合阀打开次数,必须刷卡才能恢复*/
|
/*2.溶剂液位报警后,提示刷卡,允许有10次的混合阀打开次数,必须刷卡才能恢复*/
|
||||||
if(sysPara->RFIDPara.solventNumber >= MAX_SOLV_OPENNUM){ //混合阀打开次数达到360次
|
if(sysPara->RFIDPara.solventNumber >= MAX_SOLV_OPENNUM){ //混合阀打开次数达到360次
|
||||||
sysPara->status.flagOfNeedSolventCard = true;
|
sysPara->status.flagOfNeedSolventCard = true;
|
||||||
@@ -1935,7 +1947,7 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
static bool logFlag5 = 1;
|
static bool logFlag5 = 1;
|
||||||
static int warnNum2 = 0;
|
static int warnNum2 = 0;
|
||||||
if(!(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN))
|
if(!(sysPara->status.statWarn & WARN_STATUS_SOLV_WARN))
|
||||||
warnNum2 = 0;
|
warnNum2 = 0;
|
||||||
if((sysPara->status.statWarn & WARN_STATUS_SOLV_WARN) || sysPara->para.RFIDSolventWarn){
|
if((sysPara->status.statWarn & WARN_STATUS_SOLV_WARN) || sysPara->para.RFIDSolventWarn){
|
||||||
if(!sysPara->para.RFIDSolventWarn){
|
if(!sysPara->para.RFIDSolventWarn){
|
||||||
if(++warnNum2 > 6){
|
if(++warnNum2 > 6){
|
||||||
@@ -1983,7 +1995,7 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
ui->tabMainWindow->on_pushButtonStopPrint_pressed();
|
ui->tabMainWindow->on_pushButtonStopPrint_pressed();
|
||||||
static bool logFlag3 = true;
|
static bool logFlag3 = true;
|
||||||
if(sysPara->para.RFIDSolventWarnMixCnt>=10){
|
if(sysPara->para.RFIDSolventWarnMixCnt>=10){
|
||||||
ui->tabMainWindow->setRunStatus(tr("请刷溶剂卡以恢复机器的正常功能"));
|
ui->tabMainWindow->setRunStatus(tr("请刷溶剂卡以恢复机器的正常功能"));
|
||||||
if(logFlag3){
|
if(logFlag3){
|
||||||
logFlag3 = false;
|
logFlag3 = false;
|
||||||
msgtest->setText(tr("请刷溶剂卡以恢复机器的正常功能!"));
|
msgtest->setText(tr("请刷溶剂卡以恢复机器的正常功能!"));
|
||||||
@@ -2101,7 +2113,7 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
if(pulse_100ms)
|
if(pulse_100ms)
|
||||||
{
|
{
|
||||||
if(pre_hvcurrent>150 && ( sysPara->status.HV_DETOUT> pre_hvcurrent+20) && (sysPara->status.waitHightVolOn==8 || sysPara->status.waitHightVolOff==1) && sysPara->status.isPrinting )
|
if(pre_hvcurrent>150 && ( sysPara->status.HV_DETOUT> pre_hvcurrent+20) && (sysPara->status.waitHightVolOn==8 || sysPara->status.waitHightVolOff==1) && sysPara->status.isPrinting )
|
||||||
pre_hvcurrent = sysPara->status.HV_DETOUT;
|
pre_hvcurrent = sysPara->status.HV_DETOUT;
|
||||||
|
|
||||||
if(sysPara->status.waitHightVolOn<8)sysPara->status.waitHightVolOn++;
|
if(sysPara->status.waitHightVolOn<8)sysPara->status.waitHightVolOn++;
|
||||||
if(sysPara->status.isPrinting==0) sysPara->status.waitHightVolOn=0;
|
if(sysPara->status.isPrinting==0) sysPara->status.waitHightVolOn=0;
|
||||||
@@ -2125,16 +2137,16 @@ void InkJetPrinter::timerHandler(void){
|
|||||||
else{
|
else{
|
||||||
pulse_30s++;
|
pulse_30s++;
|
||||||
if(pulse_30s >= 30){
|
if(pulse_30s >= 30){
|
||||||
sysPara->status.flagOfSpeedAlarm = true;
|
sysPara->status.flagOfSpeedAlarm = true;
|
||||||
sysPara->devOp->color_flag = 2;
|
sysPara->devOp->color_flag = 2;
|
||||||
if(pulse_30s % 500 == 0){
|
if(pulse_30s % 500 == 0){
|
||||||
LogInfo::setRunStatusText(tr("泵转速异常过高,请立即停机并联系供应商!"));
|
LogInfo::setRunStatusText(tr("泵转速异常过高,请立即停机并联系供应商!"));
|
||||||
qDebug()<<"泵转速异常过高,请立即停机并联系供应商!";
|
qDebug()<<"泵转速异常过高,请立即停机并联系供应商!";
|
||||||
}
|
}
|
||||||
ui->tabMainWindow->setRunStatus(tr("泵转速异常过高,请立即停机并联系供应商!"));
|
ui->tabMainWindow->setRunStatus(tr("泵转速异常过高,请立即停机并联系供应商!"));
|
||||||
sysPara->devOp->controlRedLight(true);
|
sysPara->devOp->controlRedLight(true);
|
||||||
if(sysPara->status.isPrinting)
|
if(sysPara->status.isPrinting)
|
||||||
ui->tabMainWindow->on_pushButtonStopPrint_pressed();
|
ui->tabMainWindow->on_pushButtonStopPrint_pressed();
|
||||||
}
|
}
|
||||||
if(pulse_30s % 10 == 0)
|
if(pulse_30s % 10 == 0)
|
||||||
qDebug()<<"粘度: "<<QString::number(sysPara->status.viscosity);
|
qDebug()<<"粘度: "<<QString::number(sysPara->status.viscosity);
|
||||||
@@ -2352,34 +2364,34 @@ void InkJetPrinter::autoControlValvePump(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*-----------------------------------主墨泵------------------------------------------*/
|
/*-----------------------------------主墨泵------------------------------------------*/
|
||||||
if(sysPara->status.SEPTAL_POSITION < (sysPara->para.septalPostion - DIFF_SEPTAL_POSITION))
|
if(sysPara->status.SEPTAL_POSITION < (sysPara->para.septalPostion - DIFF_SEPTAL_POSITION))
|
||||||
sysPara->status.septalPositionOverFlowCnt ++;
|
sysPara->status.septalPositionOverFlowCnt ++;
|
||||||
else
|
else
|
||||||
sysPara->status.septalPositionOverFlowCnt = 0;
|
sysPara->status.septalPositionOverFlowCnt = 0;
|
||||||
if(sysPara->status.septalPositionOverFlowCnt > 2 && !sysPara->status.mainInkPumpError){ //主墨泵
|
if(sysPara->status.septalPositionOverFlowCnt > 2 && !sysPara->status.mainInkPumpError){ //主墨泵
|
||||||
if(!sysPara->devOp->isMainInkPumpOpen()){
|
if(!sysPara->devOp->isMainInkPumpOpen()){
|
||||||
sysPara->devOp->controlMainInkPump(true);
|
sysPara->devOp->controlMainInkPump(true);
|
||||||
sysPara->status.mainInkPumpRunTmCnt = 0;
|
sysPara->status.mainInkPumpRunTmCnt = 0;
|
||||||
|
}
|
||||||
|
else if(sysPara->status.selfCheckDone){
|
||||||
|
if(sysPara->status.mainInkPumpRunTmCnt < MAX_MAIN_INK_PUMP_RUN_TIME){ //
|
||||||
|
sysPara->status.mainInkPumpRunTmCnt ++;
|
||||||
}
|
}
|
||||||
else if(sysPara->status.selfCheckDone){
|
else {
|
||||||
if(sysPara->status.mainInkPumpRunTmCnt < MAX_MAIN_INK_PUMP_RUN_TIME){ //
|
if(!sysPara->para.gearPumpEnable)
|
||||||
sysPara->status.mainInkPumpRunTmCnt ++;
|
{
|
||||||
}
|
sysPara->status.mainInkPumpError = true;
|
||||||
else {
|
sysPara->devOp->controlMainInkPump(false);
|
||||||
if(!sysPara->para.gearPumpEnable)
|
LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!主墨泵故障"));
|
||||||
{
|
ui->tabMainWindow->setRunStatus(tr("主墨泵故障!!!"));
|
||||||
sysPara->status.mainInkPumpError = true;
|
|
||||||
sysPara->devOp->controlMainInkPump(false);
|
|
||||||
LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!主墨泵故障"));
|
|
||||||
ui->tabMainWindow->setRunStatus(tr("主墨泵故障!!!"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(sysPara->status.SEPTAL_POSITION > sysPara->para.septalPostion){
|
}
|
||||||
if(sysPara->devOp->isMainInkPumpOpen())
|
else if(sysPara->status.SEPTAL_POSITION > sysPara->para.septalPostion){
|
||||||
sysPara->devOp->controlMainInkPump(false);
|
if(sysPara->devOp->isMainInkPumpOpen())
|
||||||
}
|
sysPara->devOp->controlMainInkPump(false);
|
||||||
|
}
|
||||||
/*-----------------------------------压缩机------------------------------------------*/
|
/*-----------------------------------压缩机------------------------------------------*/
|
||||||
|
|
||||||
if((sysPara->para.pressure - sysPara->status.PRESSURE > MAX_PRESSURE_DIFF) && !sysPara->status.compressPumpError){ //压缩机
|
if((sysPara->para.pressure - sysPara->status.PRESSURE > MAX_PRESSURE_DIFF) && !sysPara->status.compressPumpError){ //压缩机
|
||||||
@@ -2411,130 +2423,130 @@ void InkJetPrinter::autoControlValvePump(void)
|
|||||||
/*------------------------------------粘度泵,混合阀-----------------------------------------*/
|
/*------------------------------------粘度泵,混合阀-----------------------------------------*/
|
||||||
|
|
||||||
/*-----------------------------每30s打开一次粘度泵以及相关处理--------------------------------------*/
|
/*-----------------------------每30s打开一次粘度泵以及相关处理--------------------------------------*/
|
||||||
static bool hasDetectedBellow = false; // 检测到下位灯
|
static bool hasDetectedBellow = false; // 检测到下位灯
|
||||||
static bool hasDetectedTop = false; // 检测到上位灯
|
static bool hasDetectedTop = false; // 检测到上位灯
|
||||||
static int viscosity_low = 0; //统计粘度连续偏低10%次数
|
static int viscosity_low = 0; //统计粘度连续偏低10%次数
|
||||||
static unsigned char Mixing_valve_open = 0; //统计粘度连续偏高5%次数
|
static unsigned char Mixing_valve_open = 0; //统计粘度连续偏高5%次数
|
||||||
static unsigned char viscosity_faulty_num = 0; //统计粘度连续偏高13%次数
|
static unsigned char viscosity_faulty_num = 0; //统计粘度连续偏高13%次数
|
||||||
static bool flag = 0;
|
static bool flag = 0;
|
||||||
|
|
||||||
if(sysPara->status.cycleValveOpenCntAfterSWintOff) { //关闭墨线的时候要提前开粘度泵
|
if(sysPara->status.cycleValveOpenCntAfterSWintOff) { //关闭墨线的时候要提前开粘度泵
|
||||||
sysPara->status.viscosityDelayCnt = sysPara->para.viscosityPumpInterval*100 + 100;
|
sysPara->status.viscosityDelayCnt = sysPara->para.viscosityPumpInterval*100 + 100;
|
||||||
}
|
}
|
||||||
++sysPara->status.viscosityDelayCnt;
|
++sysPara->status.viscosityDelayCnt;
|
||||||
int mixer_open_threshold = (105*sysPara->para.viscosity)/100;
|
int mixer_open_threshold = (105*sysPara->para.viscosity)/100;
|
||||||
int viscosity_faulty_threshold =(113*sysPara->para.viscosity)/100;
|
int viscosity_faulty_threshold =(113*sysPara->para.viscosity)/100;
|
||||||
if(sysPara->status.viscosityDelayCnt >= sysPara->para.viscosityPumpInterval*100 && flag == 0)
|
if(sysPara->status.viscosityDelayCnt >= sysPara->para.viscosityPumpInterval*100 && flag == 0)
|
||||||
|
{
|
||||||
|
flag=1;
|
||||||
|
if (!sysPara->devOp->isViscosityPumpOpen())
|
||||||
{
|
{
|
||||||
flag=1;
|
sysPara->devOp->controlViscosityPump(true);
|
||||||
if (!sysPara->devOp->isViscosityPumpOpen())
|
viscosity_timer->start(10000);
|
||||||
{
|
qDebug()<<"粘度: "<<QString::number(sysPara->status.viscosity);
|
||||||
sysPara->devOp->controlViscosityPump(true);
|
|
||||||
viscosity_timer->start(10000);
|
|
||||||
qDebug()<<"粘度: "<<QString::number(sysPara->status.viscosity);
|
|
||||||
}
|
|
||||||
if((sysPara->status.viscosity >= 90*sysPara->para.viscosity/100) && (sysPara->status.viscosity <= mixer_open_threshold))
|
|
||||||
{
|
|
||||||
sysPara->status.viscosityFault = 0;
|
|
||||||
viscosity_low=0;
|
|
||||||
Mixing_valve_open = 0;
|
|
||||||
viscosity_faulty_num = 0;
|
|
||||||
}
|
|
||||||
if(sysPara->status.viscosity < 90*sysPara->para.viscosity/100)
|
|
||||||
{
|
|
||||||
viscosity_low++;
|
|
||||||
viscosity_faulty_num = 0;
|
|
||||||
Mixing_valve_open = 0;
|
|
||||||
}
|
|
||||||
if(sysPara->status.viscosity > mixer_open_threshold && sysPara->status.viscosity <= viscosity_faulty_threshold)
|
|
||||||
{
|
|
||||||
Mixing_valve_open++;
|
|
||||||
viscosity_low = 0;
|
|
||||||
viscosity_faulty_num = 0;
|
|
||||||
}
|
|
||||||
if(sysPara->status.viscosity > viscosity_faulty_threshold){
|
|
||||||
Mixing_valve_open++;
|
|
||||||
viscosity_faulty_num++;
|
|
||||||
viscosity_low = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
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));
|
|
||||||
qDebug()<<"添加溶剂";
|
|
||||||
}
|
|
||||||
|
|
||||||
if(viscosity_low >= 60)
|
|
||||||
{
|
|
||||||
LogInfo::setRunStatusText(tr("警告!!!!!!!!!!!粘度值偏低")+QString::number(sysPara->status.viscosity));
|
|
||||||
qDebug()<<"粘度值偏低";
|
|
||||||
sysPara->status.viscosityFault = 2;
|
|
||||||
if(sysPara->devOp->isMixValveOpen()) {
|
|
||||||
sysPara->devOp->controlMixValve(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(viscosity_faulty_num >= 5)
|
|
||||||
{
|
|
||||||
LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!粘度偏大故障")+QString::number(sysPara->status.viscosity));
|
|
||||||
qDebug()<<"粘度偏大故障";
|
|
||||||
sysPara->status.viscosityFault = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if((sysPara->status.viscosityDelayCnt >= (sysPara->para.viscosityPumpInterval*100+120)) && flag==1)
|
if((sysPara->status.viscosity >= 90*sysPara->para.viscosity/100) && (sysPara->status.viscosity <= mixer_open_threshold))
|
||||||
{
|
{
|
||||||
|
sysPara->status.viscosityFault = 0;
|
||||||
|
viscosity_low=0;
|
||||||
|
Mixing_valve_open = 0;
|
||||||
|
viscosity_faulty_num = 0;
|
||||||
|
}
|
||||||
|
if(sysPara->status.viscosity < 90*sysPara->para.viscosity/100)
|
||||||
|
{
|
||||||
|
viscosity_low++;
|
||||||
|
viscosity_faulty_num = 0;
|
||||||
|
Mixing_valve_open = 0;
|
||||||
|
}
|
||||||
|
if(sysPara->status.viscosity > mixer_open_threshold && sysPara->status.viscosity <= viscosity_faulty_threshold)
|
||||||
|
{
|
||||||
|
Mixing_valve_open++;
|
||||||
|
viscosity_low = 0;
|
||||||
|
viscosity_faulty_num = 0;
|
||||||
|
}
|
||||||
|
if(sysPara->status.viscosity > viscosity_faulty_threshold){
|
||||||
|
Mixing_valve_open++;
|
||||||
|
viscosity_faulty_num++;
|
||||||
|
viscosity_low = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
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));
|
||||||
|
qDebug()<<"添加溶剂";
|
||||||
|
}
|
||||||
|
|
||||||
|
if(viscosity_low >= 60)
|
||||||
|
{
|
||||||
|
LogInfo::setRunStatusText(tr("警告!!!!!!!!!!!粘度值偏低")+QString::number(sysPara->status.viscosity));
|
||||||
|
qDebug()<<"粘度值偏低";
|
||||||
|
sysPara->status.viscosityFault = 2;
|
||||||
if(sysPara->devOp->isMixValveOpen()) {
|
if(sysPara->devOp->isMixValveOpen()) {
|
||||||
sysPara->devOp->controlMixValve(false);
|
sysPara->devOp->controlMixValve(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(viscosity_faulty_num >= 5)
|
||||||
if((sysPara->status.viscosityDelayCnt >= (sysPara->para.viscosityPumpInterval*100+130)) && flag==1)
|
|
||||||
{
|
{
|
||||||
if (sysPara->devOp->isViscosityPumpOpen()) {
|
LogInfo::setRunStatusText(tr("错误!!!!!!!!!!!粘度偏大故障")+QString::number(sysPara->status.viscosity));
|
||||||
sysPara->devOp->controlViscosityPump(false);
|
qDebug()<<"粘度偏大故障";
|
||||||
}
|
sysPara->status.viscosityFault = 1;
|
||||||
sysPara->status.viscosityDelayCnt = 0;
|
|
||||||
flag=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sysPara->status.statWarn & WARN_STATUS_VISCOTITY_MEASURE_READY){ //上位灯检测标志位
|
}
|
||||||
viscosity_timer->stop();
|
if((sysPara->status.viscosityDelayCnt >= (sysPara->para.viscosityPumpInterval*100+120)) && flag==1)
|
||||||
|
{
|
||||||
|
if(sysPara->devOp->isMixValveOpen()) {
|
||||||
|
sysPara->devOp->controlMixValve(false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(sysPara->status.viscosityDelayCnt < sysPara->para.viscosityPumpInterval*100) {
|
if((sysPara->status.viscosityDelayCnt >= (sysPara->para.viscosityPumpInterval*100+130)) && flag==1)
|
||||||
static int detectBelow = 0;
|
{
|
||||||
if (++detectBelow%400 == 0) {
|
if (sysPara->devOp->isViscosityPumpOpen()) {
|
||||||
if(sysPara->status.statWarn & WARN_STATUS_VISCOTITY_MEASURE_READY)
|
sysPara->devOp->controlViscosityPump(false);
|
||||||
{
|
}
|
||||||
if(sysPara->status.rWarnViscoReady>=15){
|
sysPara->status.viscosityDelayCnt = 0;
|
||||||
sysPara->status.viscosityFault = 1;
|
flag=0;
|
||||||
sysPara->status.viscosity=0;
|
}
|
||||||
if(!firstTime)
|
|
||||||
qDebug()<<"错误!粘度计下位灯故障."+QString::number(sysPara->status.viscosity);
|
if(sysPara->status.statWarn & WARN_STATUS_VISCOTITY_MEASURE_READY){ //上位灯检测标志位
|
||||||
// LogInfo::setRunStatusText(tr("错误!粘度计下位灯故障.")+QString::number(sysPara->status.viscosity));
|
viscosity_timer->stop();
|
||||||
hasDetectedBellow = true;
|
}
|
||||||
}
|
|
||||||
else sysPara->status.rWarnViscoReady++;
|
if(sysPara->status.viscosityDelayCnt < sysPara->para.viscosityPumpInterval*100) {
|
||||||
}
|
static int detectBelow = 0;
|
||||||
else {
|
if (++detectBelow%400 == 0) {
|
||||||
sysPara->status.rWarnViscoReady = 0;
|
if(sysPara->status.statWarn & WARN_STATUS_VISCOTITY_MEASURE_READY)
|
||||||
sysPara->status.viscosityFault = 0;
|
{
|
||||||
|
if(sysPara->status.rWarnViscoReady>=15){
|
||||||
|
sysPara->status.viscosityFault = 1;
|
||||||
|
sysPara->status.viscosity=0;
|
||||||
|
if(!firstTime)
|
||||||
|
qDebug()<<"错误!粘度计下位灯故障."+QString::number(sysPara->status.viscosity);
|
||||||
|
// LogInfo::setRunStatusText(tr("错误!粘度计下位灯故障.")+QString::number(sysPara->status.viscosity));
|
||||||
|
hasDetectedBellow = true;
|
||||||
}
|
}
|
||||||
|
else sysPara->status.rWarnViscoReady++;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sysPara->status.rWarnViscoReady = 0;
|
||||||
|
sysPara->status.viscosityFault = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(hasDetectedBellow && hasDetectedTop)
|
}
|
||||||
{
|
if(hasDetectedBellow && hasDetectedTop)
|
||||||
if(sysPara->devOp->isMixValveOpen()) { //
|
{
|
||||||
sysPara->devOp->controlMixValve(false); //如果检测不到上下位灯就关掉混合阀
|
if(sysPara->devOp->isMixValveOpen()) { //
|
||||||
}
|
sysPara->devOp->controlMixValve(false); //如果检测不到上下位灯就关掉混合阀
|
||||||
}
|
}
|
||||||
if(sysPara->status.viscosityFault==0)
|
}
|
||||||
{
|
if(sysPara->status.viscosityFault==0)
|
||||||
hasDetectedBellow = false;
|
{
|
||||||
hasDetectedTop = false;
|
hasDetectedBellow = false;
|
||||||
}
|
hasDetectedTop = false;
|
||||||
// }
|
}
|
||||||
|
// }
|
||||||
/*-----------------------------------回收泵------------------------------------------*/
|
/*-----------------------------------回收泵------------------------------------------*/
|
||||||
|
|
||||||
if(!sysPara->status.autoCtlReclaimAfterSWintOff)
|
if(!sysPara->status.autoCtlReclaimAfterSWintOff)
|
||||||
@@ -2650,10 +2662,10 @@ void InkJetPrinter::detectAndcontrolReclaimTank(){
|
|||||||
sysPara->status.currReclaimTankPos =10*sysPara->status.curr_reclaimTankTime;
|
sysPara->status.currReclaimTankPos =10*sysPara->status.curr_reclaimTankTime;
|
||||||
sysPara->status.reclaimTankBlockedAppending =0;
|
sysPara->status.reclaimTankBlockedAppending =0;
|
||||||
//qDebug()<<sysPara->status.reclaimTankstatus;
|
//qDebug()<<sysPara->status.reclaimTankstatus;
|
||||||
// if(sysPara->status.currReclaimTankPos == 0)
|
// if(sysPara->status.currReclaimTankPos == 0)
|
||||||
// ui->tabMainWindow->setReBootQtUIEnable(false);
|
// ui->tabMainWindow->setReBootQtUIEnable(false);
|
||||||
// else
|
// else
|
||||||
// ui->tabMainWindow->setReBootQtUIEnable(true);
|
// ui->tabMainWindow->setReBootQtUIEnable(true);
|
||||||
|
|
||||||
if(sysPara->status.reclaimTankstatus == 0x10) //7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
if(sysPara->status.reclaimTankstatus == 0x10) //7 故障,6 关完成,5开完成,4 保持, 3 停止, 2 关, 1 开,0-无操作
|
||||||
{
|
{
|
||||||
@@ -3038,7 +3050,7 @@ bool InkJetPrinter::eventFilter(QObject *watched, QEvent *event)
|
|||||||
{
|
{
|
||||||
|
|
||||||
if(sysPara->status.flagOfKeyBoardType)
|
if(sysPara->status.flagOfKeyBoardType)
|
||||||
return QTabWidget::eventFilter(watched,event);
|
return QTabWidget::eventFilter(watched,event);
|
||||||
|
|
||||||
QSpinBox *qsb=dynamic_cast<QSpinBox*>(watched);
|
QSpinBox *qsb=dynamic_cast<QSpinBox*>(watched);
|
||||||
QLineEdit *qle=dynamic_cast<QLineEdit*>(watched);
|
QLineEdit *qle=dynamic_cast<QLineEdit*>(watched);
|
||||||
@@ -3069,19 +3081,19 @@ void InkJetPrinter::sendDataManual(QString cmdstr,QString addrstr,QString datast
|
|||||||
QByteArray data;
|
QByteArray data;
|
||||||
data.resize(datastr.length() / 2);
|
data.resize(datastr.length() / 2);
|
||||||
|
|
||||||
for (int i = 0; i < datastr.length(); i += 2) {
|
for (int i = 0; i < datastr.length(); i += 2) {
|
||||||
// 提取每两个字符
|
// 提取每两个字符
|
||||||
QString byteString = datastr.mid(i, 2);
|
QString byteString = datastr.mid(i, 2);
|
||||||
// 将16进制字符串转换为unsigned char
|
// 将16进制字符串转换为unsigned char
|
||||||
bool ok;
|
bool ok;
|
||||||
unsigned char byte = static_cast<unsigned char>(byteString.toUInt(&ok, 16));
|
unsigned char byte = static_cast<unsigned char>(byteString.toUInt(&ok, 16));
|
||||||
data[i / 2] = byte;
|
data[i / 2] = byte;
|
||||||
}
|
}
|
||||||
// quint16 data1[] = {68, 90, 108, 125, 141, 156, 170, 170, 180, 193, 204, 214};
|
// quint16 data1[] = {68, 90, 108, 125, 141, 156, 170, 170, 180, 193, 204, 214};
|
||||||
const char* charData = data.constData();
|
const char* charData = data.constData();
|
||||||
|
|
||||||
// 转换为 unsigned char 指针
|
// 转换为 unsigned char 指针
|
||||||
const unsigned char* unsignedCharData = reinterpret_cast<const unsigned char*>(charData);
|
const unsigned char* unsignedCharData = reinterpret_cast<const unsigned char*>(charData);
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::slt_showMsg(QString msg)
|
void InkJetPrinter::slt_showMsg(QString msg)
|
||||||
@@ -3293,14 +3305,14 @@ void InkJetPrinter::checkPressureControl(){ //1s
|
|||||||
highPressureCnt = 0;
|
highPressureCnt = 0;
|
||||||
|
|
||||||
if(highPressureCnt >= 4 && sysPara->status.PRESSURE > 1000){
|
if(highPressureCnt >= 4 && sysPara->status.PRESSURE > 1000){
|
||||||
QString str = tr("压力过高,请检查管路是否堵塞,然后点击故障恢复按钮");
|
QString str = tr("压力过高,请检查管路是否堵塞,然后点击故障恢复按钮");
|
||||||
showMessage(str);
|
showMessage(str);
|
||||||
sysPara->para.gearPumpValue = 0;
|
sysPara->para.gearPumpValue = 0;
|
||||||
sysPara->devOp->WriteMoterPump();
|
sysPara->devOp->WriteMoterPump();
|
||||||
sysPara->status.isPumpValveControledByHand = true;
|
sysPara->status.isPumpValveControledByHand = true;
|
||||||
sysPara->devOp->mainInkCtrl();
|
sysPara->devOp->mainInkCtrl();
|
||||||
sysPara->status.flagOfPressureFault = true;
|
sysPara->status.flagOfPressureFault = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void InkJetPrinter::showMessage(QString str){
|
void InkJetPrinter::showMessage(QString str){
|
||||||
@@ -3392,4 +3404,3 @@ void InkJetPrinter::restartSerialPort(){
|
|||||||
|
|
||||||
flagOfSerialThreadStratEn = true;
|
flagOfSerialThreadStratEn = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -417,13 +417,13 @@ void PrintSetting::showMachInfo(QString Mac)
|
|||||||
{
|
{
|
||||||
QString VernonBach;
|
QString VernonBach;
|
||||||
VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||||
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER;
|
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_"+SUB_VER;
|
||||||
}
|
}
|
||||||
void PrintSetting::showRemoteControl(QString SuperNodeIP,QString EdgeIP)
|
void PrintSetting::showRemoteControl(QString SuperNodeIP,QString EdgeIP)
|
||||||
{
|
{
|
||||||
QString VernonBach;
|
QString VernonBach;
|
||||||
VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||||
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_";//+UP_PRINTER_STAGE_VER;
|
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_"+SUB_VER;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintSetting::applyUIPara(){
|
void PrintSetting::applyUIPara(){
|
||||||
|
|||||||
@@ -434,6 +434,11 @@ void SectionalWid::on_Cnt3AddRowBtn_2_clicked()
|
|||||||
}
|
}
|
||||||
ui->tableWidget_2->setRowCount(rowCnt+1);
|
ui->tableWidget_2->setRowCount(rowCnt+1);
|
||||||
rowWidgetCreate2(rowCnt);
|
rowWidgetCreate2(rowCnt);
|
||||||
|
// 获取新行第2列(索引为1)的 QSpinBox,设置值为 1
|
||||||
|
QSpinBox *spinBox = qobject_cast<QSpinBox*>(ui->tableWidget_2->cellWidget(rowCnt, 1));
|
||||||
|
if (spinBox) {
|
||||||
|
spinBox->setValue(1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SectionalWid::on_Cnt3InsertRowBtn_2_clicked()
|
void SectionalWid::on_Cnt3InsertRowBtn_2_clicked()
|
||||||
|
|||||||
+6
-4
@@ -648,10 +648,8 @@ bool TextEditOption::maybeSave(){
|
|||||||
SectionalManager::instance()->emitCancelSection();
|
SectionalManager::instance()->emitCancelSection();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -666,12 +664,13 @@ void TextEditOption::on_bottonNew_pressed()
|
|||||||
textEdit->clear();
|
textEdit->clear();
|
||||||
fileName = "";
|
fileName = "";
|
||||||
sysPara->sysFile = "";
|
sysPara->sysFile = "";
|
||||||
QFile file(fileName);
|
QFile file(fileName);
|
||||||
emit fileNameChanged(QFileInfo(fileName).fileName());
|
emit fileNameChanged(QFileInfo(fileName).fileName());
|
||||||
}
|
}
|
||||||
#ifdef VARCOLOR
|
#ifdef VARCOLOR
|
||||||
textEdit->insertHtml(QString("<span style='background:#ffffff;color=#000000;'> <span />"));
|
textEdit->insertHtml(QString("<span style='background:#ffffff;color=#000000;'> <span />"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextEditOption::onOpenNewFile()
|
void TextEditOption::onOpenNewFile()
|
||||||
@@ -756,6 +755,9 @@ void TextEditOption::on_buttonInsertVari_pressed()
|
|||||||
|
|
||||||
unsigned char splitMode = sysPara->para.ExpirySplitMode;
|
unsigned char splitMode = sysPara->para.ExpirySplitMode;
|
||||||
dialogInsertVari->getValue(&varType,&digitalNum,&splitMode);
|
dialogInsertVari->getValue(&varType,&digitalNum,&splitMode);
|
||||||
|
if(sysPara->para.flagOfModuleDecimal || sysPara->para.flagOfModuleHide){
|
||||||
|
digitalNum += 1;
|
||||||
|
}
|
||||||
|
|
||||||
fmt = textEdit->currentCharFormat();
|
fmt = textEdit->currentCharFormat();
|
||||||
|
|
||||||
|
|||||||
+4
-8
@@ -2,12 +2,13 @@
|
|||||||
#define VERBVERSION_H
|
#define VERBVERSION_H
|
||||||
#include "myinclude.h"
|
#include "myinclude.h"
|
||||||
/*
|
/*
|
||||||
VX5.D.0826.0100-C
|
VX5.D.0826.0100_Std(-C)
|
||||||
MACHINAE_VER.PUMP_VER.MMdd.SUB_VER+SUB_RFID
|
MACHINAE_VER.PUMP_VER.MMdd.SUB_VER+SUB_RFID
|
||||||
*/
|
*/
|
||||||
#define MACHINAE_VER "VX5"
|
#define MACHINAE_VER "VX5"
|
||||||
#define PUMP_VER "D"
|
#define PUMP_VER "D"
|
||||||
#define SUB_VER "0100"
|
//#define SUB_VER "0100"
|
||||||
|
#define SUB_VER "GuiLin"
|
||||||
|
|
||||||
#ifdef __RFID_OLD
|
#ifdef __RFID_OLD
|
||||||
#define SUB_RFID "_RO"
|
#define SUB_RFID "_RO"
|
||||||
@@ -17,14 +18,9 @@
|
|||||||
|
|
||||||
#ifdef __RFID_CARD
|
#ifdef __RFID_CARD
|
||||||
#undef SUB_RFID
|
#undef SUB_RFID
|
||||||
#define SUB_RFID "_RFID"
|
#define SUB_RFID "-C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//#define UP_PRINTER_STAGE_VER "Std"
|
|
||||||
//#define UP_PRINTER_STAGE_VER "Beta"
|
|
||||||
//#define UP_PRINTER_STAGE_VER "RC"
|
|
||||||
//#define UP_PRINTER_STAGE_VER "Release"
|
|
||||||
|
|
||||||
|
|
||||||
#define VERNONBACH_VERSION(a,b,c) (((a)<<16) + ((b)<<8) + (c))
|
#define VERNONBACH_VERSION(a,b,c) (((a)<<16) + ((b)<<8) + (c))
|
||||||
|
|
||||||
|
|||||||
+3
-7
@@ -2046,16 +2046,11 @@ void MainWindow::enablePrintButton(bool enable){
|
|||||||
ui->pushButtonStopPrint->setEnabled(enable);
|
ui->pushButtonStopPrint->setEnabled(enable);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mainInkPumpCtrlStatus = 0;
|
|
||||||
static int mainInkPumpCtrlCnt = 0;
|
|
||||||
//100ms 为单位
|
|
||||||
void MainWindow::airPushingProcess()
|
void MainWindow::airPushingProcess()
|
||||||
{
|
{
|
||||||
if(sysPara){
|
if(sysPara){
|
||||||
if (sysPara->status.airPushing) {
|
if (sysPara->status.airPushing) {
|
||||||
|
|
||||||
setRunStatus(tr("正在排气 ..............."));
|
setRunStatus(tr("正在排气 ..............."));
|
||||||
|
|
||||||
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
|
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
|
||||||
// 执行排气 4 秒
|
// 执行排气 4 秒
|
||||||
sysPara->status.airPushingOnTime += 100;
|
sysPara->status.airPushingOnTime += 100;
|
||||||
@@ -4590,8 +4585,9 @@ void MainWindow::UpdateUIVersion(){
|
|||||||
QString STM32Ver = QString("S:%1.%2.%3_B%4").arg((sysPara->status.stm32Verion>>16)&0x7F)
|
QString STM32Ver = QString("S:%1.%2.%3_B%4").arg((sysPara->status.stm32Verion>>16)&0x7F)
|
||||||
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF).arg(baudRateValue);
|
.arg((sysPara->status.stm32Verion>>8) & 0xFF).arg(sysPara->status.stm32Verion&0xFF).arg(baudRateValue);
|
||||||
|
|
||||||
QString VernonBach = SUB_RFID;
|
QString VernonBach;
|
||||||
// VernonBach.sprintf("A%d.%d.%02d%s%s", UP_PRINTER_MAJOR_VER, UP_PRINTER_MINOR_VER,UP_PRINTER_RIVISION_VER,SUB_VERSION,SUB_RFID);
|
VernonBach.sprintf("%s.%s.", MACHINAE_VER, PUMP_VER);
|
||||||
|
VernonBach = VernonBach + (QString) Public::DateToString(__DATE__)+"_"+SUB_VER;
|
||||||
|
|
||||||
QString Mac = QString::number(sysPara->status.machineMac);
|
QString Mac = QString::number(sysPara->status.machineMac);
|
||||||
LogInfo::showVerionInformation(Mac,VernonBach,fpgaVersion,STM32Ver,sysPara->status.flagOfPowerOnMode);
|
LogInfo::showVerionInformation(Mac,VernonBach,fpgaVersion,STM32Ver,sysPara->status.flagOfPowerOnMode);
|
||||||
|
|||||||
Reference in New Issue
Block a user