同步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(&status,0,sizeof(status));
para.airPushDurationSec = 4;
//qDebug("start to loadParaFromFile.");
loadParaFromFile();
//qDebug("loadParaFromFile ok.");
@@ -174,6 +177,8 @@ void SysPara::loadDefaultPara(){
para.enableChargeFullTime = 1;//充电占空百分比
para.mixValveisNewVersion = 1;//混和阀是否是新管路
para.airPushDurationSec = 4;
}
void SysPara::saveParaToFile(){
+2
View File
@@ -815,6 +815,8 @@ typedef struct {
unsigned short moduleSelection;
bool flagOfAdjustVoltage;
unsigned short currSelectVolPara;
int airPushDurationSec; // 排气时间,单位 秒
/* */
// 1108Bytes
}sysPara_t;
+5
View File
@@ -132,6 +132,8 @@ void SystemSetting::updateSysParaToUI(){
ui->comboBoxDiameter->setCurrentIndex(sysPara->para.diameter);
ui->comboBoxDiaphramOffset->setCurrentIndex(sysPara->para.diaphramOffset/5-1);
ui->spinBoxAirPushDuration->setValue(sysPara->para.airPushDurationSec);
if(sysPara->para.EditMode>SCENE)
sysPara->para.EditMode=TXTFILE;
ui->comboBoxEditMode->setCurrentIndex(sysPara->para.EditMode);
@@ -171,6 +173,9 @@ void SystemSetting::applyUIPara(){
sysPara->para.septalPostion = ui->spinBoxSeptalPostion->value();
quint16 diaphramOffset = 5*(ui->comboBoxDiaphramOffset->currentIndex()+1);
sysPara->para.diaphramOffset = diaphramOffset;
sysPara->para.airPushDurationSec = ui->spinBoxAirPushDuration->value();
//sysPara->para.mixValveisNewVersion = ui->radioButtonMixValveNewVersion->isChecked();
if(sysPara->devOp->writeFpgaPrintPara() != -1){
QMessageBox::information(this,tr("提示"),tr("应用成功"));
+24 -65
View File
@@ -2049,78 +2049,37 @@ void MainWindow::airPushingProcess()
{
if(sysPara){
if (sysPara->status.airPushing) {
//qDebug()<< "start airPushingProcess "<<sysPara->status.airPushingOnTime;
// 执行排气 7 秒
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;
}
if (sysPara->status.airPushingOnTime%10 >= 5) {
sysPara->devOp->controlCycleValve(true);
}
else {
if(sysPara->status.airPushingOnTime >= sysPara->para.airPushDurationSec * 1000){
sysPara->devOp->controlViscosityPump(false);
sysPara->devOp->controlCycleValve(false);
}
if (mainInkPumpCtrlStatus == 0) {
if(++mainInkPumpCtrlCnt > 15) { //100ms 为单位, 时间到关闭
sysPara->devOp->controlMainInkPump(false);
sysPara->devOp->mainInkCtrl();
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;
}
if(!sysPara->devOp->isReclaimPumpOpen())
sysPara->devOp->controlReclaimPump(true, false);
return;
}
}
}
@@ -2188,7 +2147,7 @@ void MainWindow::on_pushButtonReclaimTanOpen_pressed()
sysPara->status.isPumpValveControledByHand = true;
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlCycleValve(true);
sysPara->devOp->controlViscosityPump(false);//关粘度泵
sysPara->devOp->controlViscosityPump(true);//关粘度泵
sysPara->devOp->controlMainInkPump(true);//主墨泵敞开
sysPara->devOp->mainInkCtrl();
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
+32
View File
@@ -828,6 +828,38 @@
</property>
</widget>
</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>
</item>
<item>