修改排气流程
This commit is contained in:
+81
-62
@@ -1241,7 +1241,8 @@ void InkJetPrinter::timerHandler(void){
|
||||
xxxm=1;
|
||||
|
||||
#endif
|
||||
|
||||
if(!sysPara->status.isPumpValveControledByHand)
|
||||
++sysPara->status.viscosityDelayCnt;
|
||||
sysPara->para.ReadFileErrorCnt=0; // 正常打开文件
|
||||
|
||||
// /opt/FriendlyARM/mini2440/rootfs_qtopia_qt4/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib
|
||||
@@ -1708,6 +1709,8 @@ void InkJetPrinter::timerHandler(void){
|
||||
autoControlValvePump();
|
||||
sysPara->devOp->mainInkCtrl();
|
||||
sysPara->status.canRunAirPushing = true;
|
||||
// 初始化粘度泵延迟计时,避免首次触发延迟过长
|
||||
sysPara->status.viscosityDelayCnt = sysPara->para.viscosityPumpInterval*100 + 100;
|
||||
if(sysPara->para.Reciclar)
|
||||
test_flag = 1;
|
||||
}
|
||||
@@ -1720,7 +1723,7 @@ void InkJetPrinter::timerHandler(void){
|
||||
}
|
||||
else {
|
||||
// 开机自检完成的前提下
|
||||
if (!sysPara->status.airPushing || ui->tabMainWindow->m_2sFlag) {
|
||||
if (!sysPara->status.airPushing) {
|
||||
autoControlValvePump();
|
||||
}
|
||||
// 检测回收泵模式切换,切换时重置泄漏保护学习状态和软启动状态
|
||||
@@ -2405,68 +2408,17 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
if(!sysPara->status.isPumpValveControledByHand){
|
||||
|
||||
/*---------------------------------供墨阀--------------------------------------------*/
|
||||
bool enableFlag = ((sysPara->status.statWarn & WARN_STATUS_INK_SWINT)
|
||||
|| (sysPara->status.lastRecycleWarn && sysPara->para.RecycleWarnAction) // 2017.8.15版本回收故障关供墨阀问题
|
||||
|| ( sysPara->status.HVFaultCloseEn ) //高压故障关闭墨线
|
||||
)?false:true; //墨线开关
|
||||
// if(enableFlag != sysPara->devOp->isInkValveOpen()){
|
||||
// sysPara->devOp->controlInkValve(enableFlag); //供墨阀
|
||||
// if(enableFlag == false){ //关闭
|
||||
// sysPara->status.cycleValveOpenCntAfterSWintOff = MAX_CYCLEVALVE_OPEN_TIME_AFTER_SWITN_OFF;
|
||||
// }
|
||||
// }
|
||||
|
||||
if(enableFlag != sysPara->devOp->isInkValveOpen()){
|
||||
if(enableFlag == false) { //关闭供墨阀的顺序 先开循环阀后关闭供墨阀
|
||||
//#ifdef __AIR_RELEASE_OLD__ // 旧管路关闭墨线后 开粘度泵和循环阀一段时间
|
||||
if (sysPara->status.cycleValveOpenCntAfterSWintOff == 0) {
|
||||
sysPara->status.cycleValveOpenCntAfterSWintOff = MAX_CYCLEVALVE_OPEN_TIME_AFTER_SWITN_OFF;
|
||||
}
|
||||
if (sysPara->status.cycleValveOpenCntAfterSWintOff < 60) { //在准备关闭循环阀的时候关闭供墨阀
|
||||
sysPara->devOp->controlInkValve(enableFlag); //关供墨
|
||||
sysPara->devOp->controlInkValvePWM(enableFlag); //关供墨
|
||||
}
|
||||
//#else
|
||||
// // 新管路直接关闭墨线
|
||||
// sysPara->devOp->controlInkValve(enableFlag); //关供墨
|
||||
//#endif
|
||||
if(sysPara->status.selfCheckDone) {
|
||||
autoControlInkValve();
|
||||
autoControlCycleValve();
|
||||
}
|
||||
else { //开供墨阀
|
||||
if(!sysPara->devOp->isReclaimPumpOpen()) //开供墨阀之前要判断回收泵有没有开,没开就提前打开
|
||||
{
|
||||
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
|
||||
}
|
||||
if(!ui->tabMainWindow->m_2sFlag)
|
||||
{
|
||||
sysPara->devOp->controlInkValve(enableFlag);
|
||||
sysPara->devOp->controlInkValvePWM(enableFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*----------------------------------循环阀-------------------------------------------*/
|
||||
if(!sysPara->status.selfCheckDone || (sysPara->status.needPowerOffTimerout && sysPara->para.gearPumpEnable)){
|
||||
// if(!sysPara->devOp->isCycleValveOpen()){ //循环阀 //定时开机循环时隔膜泵不开关循环阀
|
||||
// sysPara->devOp->controlCycleValve(true);
|
||||
// }
|
||||
cycleValveRunForSelfCheck();
|
||||
if(sysPara->status.needPowerOffTimerout)
|
||||
{
|
||||
if(sysPara->devOp->isMixValveOpen()) { //
|
||||
sysPara->devOp->controlMixValve(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(sysPara->status.cycleValveOpenCntAfterSWintOff){ // 开循环阀
|
||||
if(!sysPara->devOp->isCycleValveOpen()){
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
}
|
||||
sysPara->status.cycleValveOpenCntAfterSWintOff --;
|
||||
}
|
||||
else if(sysPara->devOp->isCycleValveOpen()){ // 关循环阀
|
||||
// autoControlInkValveForSelfCheck();
|
||||
// autoControlCycleValveForSelfCheck();
|
||||
autoControlInkValve();
|
||||
|
||||
if(sysPara->devOp->isCycleValveOpen())
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
}
|
||||
}
|
||||
|
||||
/*----------------------------------泄压阀-------------------------------------------*/
|
||||
@@ -2614,7 +2566,7 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
if(sysPara->status.cycleValveOpenCntAfterSWintOff) { //关闭墨线的时候要提前开粘度泵
|
||||
sysPara->status.viscosityDelayCnt = sysPara->para.viscosityPumpInterval*100 + 100;
|
||||
}
|
||||
++sysPara->status.viscosityDelayCnt;
|
||||
|
||||
int mixer_open_threshold = (105*sysPara->para.viscosity)/100;
|
||||
int viscosity_faulty_threshold =(113*sysPara->para.viscosity)/100;
|
||||
if(sysPara->status.viscosityDelayCnt >= sysPara->para.viscosityPumpInterval*100 && flag == 0)
|
||||
@@ -2753,6 +2705,73 @@ void InkJetPrinter::autoControlValvePump(void)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::autoControlInkValve()
|
||||
{
|
||||
bool enableFlag = ((sysPara->status.statWarn & WARN_STATUS_INK_SWINT)
|
||||
|| (sysPara->status.lastRecycleWarn && sysPara->para.RecycleWarnAction) // 2017.8.15版本回收故障关供墨阀问题
|
||||
|| ( sysPara->status.HVFaultCloseEn ) //高压故障关闭墨线
|
||||
)?false:true; //墨线开关
|
||||
|
||||
if(enableFlag != sysPara->devOp->isInkValveOpen()){
|
||||
if(enableFlag == false) { //关闭供墨阀的顺序 先开循环阀后关闭供墨阀
|
||||
//#ifdef __AIR_RELEASE_OLD__ // 旧管路关闭墨线后 开粘度泵和循环阀一段时间
|
||||
if (sysPara->status.cycleValveOpenCntAfterSWintOff == 0) {
|
||||
sysPara->status.cycleValveOpenCntAfterSWintOff = MAX_CYCLEVALVE_OPEN_TIME_AFTER_SWITN_OFF;
|
||||
}
|
||||
if (sysPara->status.cycleValveOpenCntAfterSWintOff < 60) { //在准备关闭循环阀的时候关闭供墨阀
|
||||
sysPara->devOp->controlInkValve(enableFlag); //关供墨
|
||||
sysPara->devOp->controlInkValvePWM(enableFlag); //关供墨
|
||||
}
|
||||
}
|
||||
else { //开供墨阀
|
||||
if(!sysPara->devOp->isReclaimPumpOpen()) //开供墨阀之前要判断回收泵有没有开,没开就提前打开
|
||||
{
|
||||
sysPara->devOp->controlReclaimPump(true, false); // 回收泵开
|
||||
}
|
||||
if(!sysPara->status.airPushing)
|
||||
{
|
||||
sysPara->devOp->controlInkValve(enableFlag);
|
||||
sysPara->devOp->controlInkValvePWM(enableFlag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::autoControlCycleValve()
|
||||
{
|
||||
if(!sysPara->status.selfCheckDone || (sysPara->status.needPowerOffTimerout && sysPara->para.gearPumpEnable)){
|
||||
cycleValveRunForSelfCheck();
|
||||
if(sysPara->status.needPowerOffTimerout)
|
||||
{
|
||||
if(sysPara->devOp->isMixValveOpen()) { //
|
||||
sysPara->devOp->controlMixValve(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
if(sysPara->status.cycleValveOpenCntAfterSWintOff){ // 开循环阀
|
||||
if(!sysPara->devOp->isCycleValveOpen()){
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
}
|
||||
sysPara->status.cycleValveOpenCntAfterSWintOff --;
|
||||
}
|
||||
else if(sysPara->devOp->isCycleValveOpen()){ // 关循环阀
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InkJetPrinter::autoControlCycleValveForSelfCheck()
|
||||
{
|
||||
if(sysPara->status.selfCheckCnt < 100 * 10 && !sysPara->devOp->isCycleValveOpen()) {
|
||||
sysPara->devOp->controlCycleValve(true);
|
||||
}
|
||||
else if(sysPara->status.selfCheckCnt >= 100 * 10 && sysPara->devOp->isCycleValveOpen()) {
|
||||
sysPara->devOp->controlCycleValve(false);
|
||||
}
|
||||
}
|
||||
|
||||
//==========================
|
||||
// 放在10ms的定时器运行,但和粘度泵工作周期一致
|
||||
void InkJetPrinter::checkMixValveOpen(){
|
||||
|
||||
Reference in New Issue
Block a user