|
|
@ -124,6 +124,14 @@ void CTrackWorkFlow::WorkFlowCtrl()
|
|
|
|
Sleep(200);
|
|
|
|
Sleep(200);
|
|
|
|
if (m_CurWorkStep == m_OldWorkStep)//无变化
|
|
|
|
if (m_CurWorkStep == m_OldWorkStep)//无变化
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//进入下料函数,设置 步骤为_ETrack_Step_Unload时,不执行
|
|
|
|
|
|
|
|
if (m_OldWorkStep == _ETrack_Step_Throw_Edge_End&&m_CurWorkStep == _ETrack_Step_Unload)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
m_OldWorkStep = m_CurWorkStep;//记录当前步骤
|
|
|
|
|
|
|
|
continue;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (m_OldWorkStep == _ETrack_Step_Unload)//unload 结束步骤时
|
|
|
|
if (m_OldWorkStep == _ETrack_Step_Unload)//unload 结束步骤时
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//取消下料请求
|
|
|
|
//取消下料请求
|
|
|
@ -132,7 +140,7 @@ void CTrackWorkFlow::WorkFlowCtrl()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
m_OldWorkStep = m_CurWorkStep;//记录当前步骤
|
|
|
|
m_OldWorkStep = m_CurWorkStep;//记录当前步骤
|
|
|
|
//在新线程中执行
|
|
|
|
//在新线程中执行
|
|
|
|
AfxBeginThread(ExecuteStepThread, this);
|
|
|
|
m_pthread=AfxBeginThread(ExecuteStepThread, this);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//执行当前步骤
|
|
|
|
//执行当前步骤
|
|
|
@ -711,10 +719,12 @@ bool CTrackWorkFlow::PushJigOut()
|
|
|
|
PlcCmd = _ETrack_PlcCmd_Push_Jig_Out;
|
|
|
|
PlcCmd = _ETrack_PlcCmd_Push_Jig_Out;
|
|
|
|
m_bPushJigOut = false;
|
|
|
|
m_bPushJigOut = false;
|
|
|
|
SendMsgToPlc(PlcCmd, false);
|
|
|
|
SendMsgToPlc(PlcCmd, false);
|
|
|
|
//强制等待10秒再检测是否推出完成
|
|
|
|
|
|
|
|
|
|
|
|
/*//强制等待10秒再检测是否推出完成
|
|
|
|
Sleep(10000);
|
|
|
|
Sleep(10000);
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
int MaxCheckTimes = 300;
|
|
|
|
int MaxCheckTimes = 150;
|
|
|
|
int cnt = 0;
|
|
|
|
int cnt = 0;
|
|
|
|
while ((!m_bPushJigOut) && (cnt < MaxCheckTimes));
|
|
|
|
while ((!m_bPushJigOut) && (cnt < MaxCheckTimes));
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -845,6 +855,13 @@ bool CTrackWorkFlow::IsTrackIdle()
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (m_CurWorkStep != _ETrack_Step_Catch_mark)&&(m_CurWorkStep != _ETrack_Step_Marking);
|
|
|
|
return (m_CurWorkStep != _ETrack_Step_Catch_mark)&&(m_CurWorkStep != _ETrack_Step_Marking);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void CTrackWorkFlow::KillCurWorkThread()
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (m_pthread)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
TerminateThread(m_pthread->m_hThread, 0);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
//上料
|
|
|
|
//上料
|
|
|
|
void CTrackWorkFlow::Load()
|
|
|
|
void CTrackWorkFlow::Load()
|
|
|
|
{
|
|
|
|
{
|
|
|
|