同步VX4的排气流程

This commit is contained in:
2026-08-28 17:19:33 +08:00
parent f29fafca9e
commit a20552e8d0
5 changed files with 69 additions and 66 deletions
+5
View File
@@ -30,6 +30,9 @@ SysPara::SysPara(void):
memset(&para,0,sizeof(para)); memset(&para,0,sizeof(para));
memset(&status,0,sizeof(status)); memset(&status,0,sizeof(status));
para.airPushDurationSec = 4;
//qDebug("start to loadParaFromFile."); //qDebug("start to loadParaFromFile.");
loadParaFromFile(); loadParaFromFile();
//qDebug("loadParaFromFile ok."); //qDebug("loadParaFromFile ok.");
@@ -174,6 +177,8 @@ void SysPara::loadDefaultPara(){
para.enableChargeFullTime = 1;//充电占空百分比 para.enableChargeFullTime = 1;//充电占空百分比
para.mixValveisNewVersion = 1;//混和阀是否是新管路 para.mixValveisNewVersion = 1;//混和阀是否是新管路
para.airPushDurationSec = 4;
} }
void SysPara::saveParaToFile(){ void SysPara::saveParaToFile(){
+2
View File
@@ -815,6 +815,8 @@ typedef struct {
unsigned short moduleSelection; unsigned short moduleSelection;
bool flagOfAdjustVoltage; bool flagOfAdjustVoltage;
unsigned short currSelectVolPara; unsigned short currSelectVolPara;
int airPushDurationSec; // 排气时间,单位 秒
/* */ /* */
// 1108Bytes // 1108Bytes
}sysPara_t; }sysPara_t;
+5
View File
@@ -132,6 +132,8 @@ void SystemSetting::updateSysParaToUI(){
ui->comboBoxDiameter->setCurrentIndex(sysPara->para.diameter); ui->comboBoxDiameter->setCurrentIndex(sysPara->para.diameter);
ui->comboBoxDiaphramOffset->setCurrentIndex(sysPara->para.diaphramOffset/5-1); ui->comboBoxDiaphramOffset->setCurrentIndex(sysPara->para.diaphramOffset/5-1);
ui->spinBoxAirPushDuration->setValue(sysPara->para.airPushDurationSec);
if(sysPara->para.EditMode>SCENE) if(sysPara->para.EditMode>SCENE)
sysPara->para.EditMode=TXTFILE; sysPara->para.EditMode=TXTFILE;
ui->comboBoxEditMode->setCurrentIndex(sysPara->para.EditMode); ui->comboBoxEditMode->setCurrentIndex(sysPara->para.EditMode);
@@ -171,6 +173,9 @@ void SystemSetting::applyUIPara(){
sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value(); sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value();
quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1); quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1);
sysPara->para.diaphramOffset = diaphramOffset; sysPara->para.diaphramOffset = diaphramOffset;
sysPara->para.airPushDurationSec = ui->spinBoxAirPushDuration->value();
//sysPara->para.mixValveisNewVersion = ui->radioButtonMixValveNewVersion->isChecked(); //sysPara->para.mixValveisNewVersion = ui->radioButtonMixValveNewVersion->isChecked();
if(sysPara->devOp->writeFpgaPrintPara() != -1){ if(sysPara->devOp->writeFpgaPrintPara() != -1){
QMessageBox::information(this,tr("提示"),tr("应用成功")); QMessageBox::information(this,tr("提示"),tr("应用成功"));
+25 -66
View File
@@ -2049,78 +2049,37 @@ void MainWindow::airPushingProcess()
{ {
if(sysPara){ if(sysPara){
if (sysPara->status.airPushing) { if (sysPara->status.airPushing) {
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 7 秒
setRunStatus(tr("正在排气 ...............")); 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;
}
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 4 秒
sysPara->status.airPushingOnTime += 100;
if(sysPara->para.airPushDurationSec <= 0 || sysPara->para.airPushDurationSec > 30) {
sysPara->para.airPushDurationSec = 4;
sysPara->saveParaToFile();
}
// 延迟 半秒后才开回收槽,正式结束排气阶段
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000 + 500){
//qDebug()<< "start stop";
reclaimTanOpen();
sysPara->status.airPushingDone = 1;
sysPara->status.airPushing = 0;
sysPara->status.airPushingOnTime = 0;
airPushTimer->stop();
return; return;
} }
if (sysPara->status.airPushingOnTime%10 >= 5) { if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000){
sysPara->devOp->controlCycleValve(true); sysPara->devOp->controlViscosityPump(false);
}
else {
sysPara->devOp->controlCycleValve(false); sysPara->devOp->controlCycleValve(false);
}
if (mainInkPumpCtrlStatus == 0) { if(!sysPara->devOp->isReclaimPumpOpen())
if(++mainInkPumpCtrlCnt > 15) { //100ms 为单位, 时间到关闭 sysPara->devOp->controlReclaimPump(true, false);
sysPara->devOp->controlMainInkPump(false);
sysPara->devOp->mainInkCtrl(); return;
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;
}
} }
} }
} }
@@ -2188,7 +2147,7 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
sysPara->status.isPumpValveControledByHand = true; sysPara->status.isPumpValveControledByHand = true;
sysPara->devOp->mainInkCtrl(); sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlCycleValve(true); sysPara->devOp->controlCycleValve(true);
sysPara->devOp->controlViscosityPump(false);//关粘度泵 sysPara->devOp->controlViscosityPump(true);//关粘度泵
sysPara->devOp->controlMainInkPump(true);//主墨泵敞开 sysPara->devOp->controlMainInkPump(true);//主墨泵敞开
sysPara->devOp->mainInkCtrl(); sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开 sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
+32
View File
@@ -828,6 +828,38 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="10" column="1">
<widget class="QLabel" name="label_7">
<property name="text">
<string>排气时间(秒):</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="QSpinBox" name="spinBoxAirPushDuration">
<property name="minimumSize">
<size>
<width>0</width>
<height>37</height>
</size>
</property>
<property name="buttonSymbols">
<enum>QAbstractSpinBox::NoButtons</enum>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>300</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
</layout> </layout>
</item> </item>
<item> <item>