From 7ff79a1d5ce28534558b2426c2ad625c0ddf1c6e Mon Sep 17 00:00:00 2001 From: bestlqiang Date: Thu, 24 Dec 2020 17:07:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=8C=E8=BD=A8=E9=83=BD=E6=B2=A1=E6=8A=93?= =?UTF-8?q?=E5=AE=9A=E4=BD=8D=E4=B8=94=E6=B2=A1=E5=88=87=E5=89=B2=E6=97=B6?= =?UTF-8?q?,=20=E6=A3=80=E6=B5=8B=E4=B8=80=E5=88=86=E9=92=9F=E5=90=8E,?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E9=A3=8E=E6=9C=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LaiPuLaser/DlgSW_XL_Flow.cpp | 11 +++++++++-- LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp | 11 ++++++----- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/LaiPuLaser/DlgSW_XL_Flow.cpp b/LaiPuLaser/DlgSW_XL_Flow.cpp index 45b4e1b..4963d2a 100644 --- a/LaiPuLaser/DlgSW_XL_Flow.cpp +++ b/LaiPuLaser/DlgSW_XL_Flow.cpp @@ -168,16 +168,23 @@ void CDlgSW_XL_Flow::OnTimer(UINT nIDEvent) } static bool bExe = true; + static int Times = 0; if (gTrackWorkFlow1.IsTrackIdle()&&gTrackWorkFlow2.IsTrackIdle()) { if (bExe) { - gTrackWorkFlow1.SendAutoStartFlg(false); - bExe = false; + Times++; + if (Times>300) + { + bExe = false; + Times = 0; + gTrackWorkFlow1.SendAutoStartFlg(false); + } } } else { + Times = 0; bExe = true; } CDialog::OnTimer(nIDEvent); diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp index 81cc01b..762773d 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp @@ -833,7 +833,7 @@ void CTrackWorkFlow::MoveToPos(ETrackWorkStep WorkStep) } bool CTrackWorkFlow::IsTrackIdle() { - return (m_CurWorkStep == _ETrack_Step_NULL) || (m_CurWorkStep == _ETrack_Step_Stop); + return (m_CurWorkStep != _ETrack_Step_Catch_mark)&&(m_CurWorkStep != _ETrack_Step_Marking); } //上料 void CTrackWorkFlow::Load() @@ -951,15 +951,16 @@ void CTrackWorkFlow::CatchMark() m_OldWorkStep = _ETrack_Step_NULL;//强制改变之前的状态 return; } - gCurLockTrackType = m_TrackType;//锁定当前轨道 + SetCurTrackWorkStep(_ETrack_Step_Catch_mark); + gCurLockTrackType = m_TrackType;//锁定当前轨道 //收集未移动前的数据 gClientMgr->SendCmd_CollectData(); //gMarkAreaMgr->CollectOrgWorkData(gProgram_SZ_XL->IsbSelMarkMode()); thread t1(&CMarkAreaMgr::CollectOrgWorkData, gMarkAreaMgr, gProgram_SZ_XL->IsbSelMarkMode()); t1.detach(); - SetCurTrackWorkStep(_ETrack_Step_Catch_mark); + CString Log = m_TrackName + " CatchMark"; gLogMgr->WriteDebugLog(Log); @@ -1308,6 +1309,8 @@ void CTrackWorkFlow::MarkProcess() } gCurLockTrackType = m_TrackType;//锁定 + + CString Log = m_TrackName + " MarkProcess"; gLogMgr->WriteDebugLog(Log); @@ -1336,8 +1339,6 @@ void CTrackWorkFlow::MarkProcess() //XY 组切换 MarkProcessExt(); #endif - //设置当前的工作步骤 - SetCurTrackWorkStep(_ETrack_Step_Marking); //数据移动回默认的位置 gProgramCutMgr->MoveObjData(Dbxy(0, 0)); gMarkAreaMgr->MoveAllAreaToTargetPt(Dbxy(0, 0));