diff --git a/LaiPuLaser/DlgSW_XL_Flow.cpp b/LaiPuLaser/DlgSW_XL_Flow.cpp index 47d05b3..45b4e1b 100644 --- a/LaiPuLaser/DlgSW_XL_Flow.cpp +++ b/LaiPuLaser/DlgSW_XL_Flow.cpp @@ -166,7 +166,20 @@ void CDlgSW_XL_Flow::OnTimer(UINT nIDEvent) UpdateDlgInfo(); //SetTimer(UPDATE_INFO_TIMER,UPDATE_INFO_DELAY,NULL); } - + + static bool bExe = true; + if (gTrackWorkFlow1.IsTrackIdle()&&gTrackWorkFlow2.IsTrackIdle()) + { + if (bExe) + { + gTrackWorkFlow1.SendAutoStartFlg(false); + bExe = false; + } + } + else + { + bExe = true; + } CDialog::OnTimer(nIDEvent); } diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp index fc67e86..81cc01b 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp @@ -120,7 +120,7 @@ void CTrackWorkFlow::WorkFlowCtrl() { if (gExitApp) return; - Sleep(100); + Sleep(200); if (m_CurWorkStep == m_OldWorkStep)//无变化 continue; if (m_OldWorkStep == _ETrack_Step_Unload)//unload 结束步骤时 @@ -831,6 +831,10 @@ void CTrackWorkFlow::MoveToPos(ETrackWorkStep WorkStep) Motor.NotifyObservers(); } +bool CTrackWorkFlow::IsTrackIdle() +{ + return (m_CurWorkStep == _ETrack_Step_NULL) || (m_CurWorkStep == _ETrack_Step_Stop); +} //上料 void CTrackWorkFlow::Load() { @@ -1247,7 +1251,7 @@ void CTrackWorkFlow::CatchMarkNewly() if (Ret == false || m_bAutoWorking == false) { VacSorbOnOff(false);//真空放开 - //解除锁定 + //解除锁定 gCurLockTrackType = _ETrackType_NULL; } } diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.h b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.h index adf7d36..a606451 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.h +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.h @@ -90,6 +90,7 @@ public: void SetbCircleStop(bool b){m_bCircleStop = b;}; bool GetbCircleStop() { return m_bCircleStop ; }; BOOL m_bCarrierOpen = true;//当前气缸是否松开 + bool IsTrackIdle();//是否轨道空闲中 private: void Load(); void MoveToWaitPos();