| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -260,6 +260,11 @@ void CTrackWorkFlow::StopAutoWork()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						SetCurTrackWorkStep(_ETrack_Step_Stop);
 | 
					 | 
					 | 
					 | 
						SetCurTrackWorkStep(_ETrack_Step_Stop);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						//取消下料请求
 | 
					 | 
					 | 
					 | 
						//取消下料请求
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						CancelUnloadRequest();
 | 
					 | 
					 | 
					 | 
						CancelUnloadRequest();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if ((!gTrackWorkFlow1.m_bAutoWorking)&&(!gTrackWorkFlow2.m_bAutoWorking))
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							SendMsgToPlc(_ETrack_PlcCmd_Auto_End, false);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -325,9 +330,9 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (buf[k] == '#')
 | 
					 | 
					 | 
					 | 
							if (buf[k] == '#')
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								IdxEnd = k;
 | 
					 | 
					 | 
					 | 
								IdxEnd = k;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								CString s;
 | 
					 | 
					 | 
					 | 
								/*CString s;
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								s.Format(_T("Idx # = %d"), IdxEnd);
 | 
					 | 
					 | 
					 | 
								s.Format(_T("Idx # = %d"), IdxEnd);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(s);
 | 
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(s);*/
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								break;
 | 
					 | 
					 | 
					 | 
								break;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -338,7 +343,7 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							buf[IdxEnd + 1] = '\0';
 | 
					 | 
					 | 
					 | 
							buf[IdxEnd + 1] = '\0';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						CString PlcMsg(buf);
 | 
					 | 
					 | 
					 | 
						CString PlcMsg(buf);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						gLogMgr->WriteDebugLog("ReadPlcMsg--->" + PlcMsg);
 | 
					 | 
					 | 
					 | 
						//gLogMgr->WriteDebugLog("ReadPlcMsg==>" + PlcMsg);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						int IdxK = -1;//第一个K 的位置
 | 
					 | 
					 | 
					 | 
						int IdxK = -1;//第一个K 的位置
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						for (int k = 0; k < IdxEnd; k++)
 | 
					 | 
					 | 
					 | 
						for (int k = 0; k < IdxEnd; k++)
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -351,63 +356,135 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (IdxK < 0)
 | 
					 | 
					 | 
					 | 
						if (IdxK < 0)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return;
 | 
					 | 
					 | 
					 | 
							return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						CString logstrH = "ReadPlcMsg:" + PlcMsg + " ==>";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						CString logstrT = "未解析的指令!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						/*
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ3D1)#") != -1 || PlcMsg.Find("$(KQ4D1)#") != -1)//下料完成
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								logstrT = "轨道下料完成!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								if (m_CurWorkStep == _ETrack_Step_Unload)//只有下料状态才响应下料完成信号
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									if (m_bCircleStop)//当前循环停止
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										m_bCircleStop = false;//只停止一次
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										GetFrame()->m_DlgSW_XL_Flow.ResetCircleStopCheck(m_TrackType);//自动恢复check 状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										CString Log = m_TrackName + " 停止自动运行!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										gLogMgr->WriteDebugLog(Log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										StopAutoWork();//停止自动运行
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
										SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ3D1)#") != -1 || PlcMsg.Find("$(KQ4D1)#") != -1)//下料完成
 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ3E)#") != -1 || PlcMsg.Find("$(KQ4E)#") != -1)//下料错误
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								logstrT = "轨道下料错误!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog("ReadPlcMsg==>_ETrack_Step_Unload_Err");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						*/
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						///-------------------------轨道1-------------------------------------///
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (gTrackWorkFlow1.m_CurWorkStep == _ETrack_Step_Unload)//只有下料状态才响应下料完成信号
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg--->_ETrack_Step_Unload_End");
 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ3D1)#") != -1)//下料完成
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_CurWorkStep == _ETrack_Step_Unload)//只有下料状态才响应下料完成信号
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (m_bCircleStop)//当前循环停止
 | 
					 | 
					 | 
					 | 
								logstrT = "轨道1下料完成!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								if (gTrackWorkFlow1.m_bCircleStop)//当前循环停止
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									m_bCircleStop = false;//只停止一次
 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow1.m_bCircleStop = false;//只停止一次
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									GetFrame()->m_DlgSW_XL_Flow.ResetCircleStopCheck(m_TrackType);//自动恢复check 状态
 | 
					 | 
					 | 
					 | 
									GetFrame()->m_DlgSW_XL_Flow.ResetCircleStopCheck(m_TrackType);//自动恢复check 状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									CString Log = m_TrackName + " Circle Stop";
 | 
					 | 
					 | 
					 | 
									CString Log = "轨道1 停止自动运行!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									gLogMgr->WriteDebugLog(Log);
 | 
					 | 
					 | 
					 | 
									gLogMgr->WriteDebugLog(Log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									StopAutoWork();//停止自动运行
 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow1.StopAutoWork();//停止自动运行
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								else
 | 
					 | 
					 | 
					 | 
								else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ3E)#") != -1)//下料错误
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								logstrT = "轨道1下料错误!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								gTrackWorkFlow1.SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ3E)#") != -1 || PlcMsg.Find("$(KQ4E)#") != -1)//下料错误
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ5D1)#") != -1)//推出治具完成
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg--->_ETrack_Step_Unload_Err");
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						///------------------------轨道1-------------------------------------
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ5D1)#") != -1)//治具未到位
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bPushJigOut = true;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bPushJigOut = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ5D1)#] --->轨道1推出治具完成");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道1推出治具完成!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ5D1)#] ==>轨道1推出治具完成");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ5E)#") != -1)//治具未到位
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ5E)#") != -1)//治具未到位
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bJigOK = false;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bJigOK = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ5E)#] --->轨道1治具未到位");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道1治具未到位!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ5E)#] ==>轨道1治具未到位");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ7D1)#") != -1)//治具到位
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ7D1)#") != -1)//治具到位
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bJigOK = true;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow1.m_bJigOK = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ7D1)#]--->轨道1治具到位");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道1治具到位!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ7D1)#]==>轨道1治具到位");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						///------------------------轨道2-------------------------------------///
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (gTrackWorkFlow2.m_CurWorkStep == _ETrack_Step_Unload)//只有下料状态才响应下料完成信号
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ4D1)#") != -1)//下料完成
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								logstrT = "轨道2下料完成!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								if (gTrackWorkFlow2.m_bCircleStop)//当前循环停止
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow2.m_bCircleStop = false;//只停止一次
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									GetFrame()->m_DlgSW_XL_Flow.ResetCircleStopCheck(m_TrackType);//自动恢复check 状态
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									CString Log = "轨道2 停止自动运行!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									gLogMgr->WriteDebugLog(Log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow2.StopAutoWork();//停止自动运行
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
									gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (PlcMsg.Find("$(KQ4E)#") != -1)//下料错误
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								logstrT = "轨道2下料错误!";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								gTrackWorkFlow2.SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						///------------------------轨道2-------------------------------------
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ6D1)#") != -1)//治具未到位
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ6D1)#") != -1)//推出治具完成
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bPushJigOut = true;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bPushJigOut = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ6D1)#] --->轨道2推出治具完成");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道2推出治具完成!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ6D1)#] ==>轨道2推出治具完成");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ6E)#") != -1)//治具未到位
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ6E)#") != -1)//治具未到位
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bJigOK = false;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bJigOK = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ6E)#] --->轨道2治具未到位");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道2治具未到位!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ6E)#] ==>轨道2治具未到位");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ8D1)#") != -1)//治具到位
 | 
					 | 
					 | 
					 | 
						if (PlcMsg.Find("$(KQ8D1)#") != -1)//治具到位
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bJigOK = true;
 | 
					 | 
					 | 
					 | 
							gTrackWorkFlow2.m_bJigOK = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ8D1)#]--->轨道2治具到位");
 | 
					 | 
					 | 
					 | 
							logstrT = "轨道2治具到位!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("ReadPlcMsg	[$(KQ8D1)#]==>轨道2治具到位");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						gLogMgr->WriteDebugLog(logstrH + logstrT);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#endif
 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -422,12 +499,12 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "G";
 | 
					 | 
					 | 
					 | 
								msg += "G";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 打开载盘";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQG)# ==>轨道1 打开载盘";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "I";
 | 
					 | 
					 | 
					 | 
								msg += "I";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 打开载盘";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQI)# ==>轨道2 打开载盘";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Close_Product)//夹紧载盘
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Close_Product)//夹紧载盘
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -435,12 +512,12 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "F";
 | 
					 | 
					 | 
					 | 
								msg += "F";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 夹紧载盘";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQF)# ==> 轨道1 夹紧载盘";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "H";
 | 
					 | 
					 | 
					 | 
								msg += "H";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 夹紧载盘";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQH)# ==>轨道2 夹紧载盘";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Vac_Sorb_On)//真空吸附开
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Vac_Sorb_On)//真空吸附开
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -448,12 +525,12 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "9";
 | 
					 | 
					 | 
					 | 
								msg += "9";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 真空吸附开";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQ9)# ==>轨道1 真空吸附开";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "B";
 | 
					 | 
					 | 
					 | 
								msg += "B";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 真空吸附开";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQB)# ==>轨道2 真空吸附开";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Vac_Sorb_Off)//真空吸附关
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Vac_Sorb_Off)//真空吸附关
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -461,35 +538,35 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "A";
 | 
					 | 
					 | 
					 | 
								msg += "A";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 真空吸附关";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQA)# ==>轨道1 真空吸附关";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "C";
 | 
					 | 
					 | 
					 | 
								msg += "C";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 真空吸附关";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQC)# ==>轨道2 真空吸附关";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Auto_Start)//自动开始(绿灯)
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Auto_Start)//自动开始(绿灯)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							msg += "5";
 | 
					 | 
					 | 
					 | 
							msg += "5";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							log = "SendPlcMsg: 自动开始";
 | 
					 | 
					 | 
					 | 
							log = "SendPlcMsg: $(KQ5)# ==>自动开始";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Auto_End)//自动结束(黄灯)
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Auto_End)//自动结束(黄灯)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							msg += "6";
 | 
					 | 
					 | 
					 | 
							msg += "6";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							log = "SendPlcMsg: 自动结束";
 | 
					 | 
					 | 
					 | 
							log = "SendPlcMsg: $(KQ6)# ==> 自动结束";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Unload)//下料
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Unload)//下料
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "3";
 | 
					 | 
					 | 
					 | 
								msg += "3";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 下料";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQ3)# ==>轨道1 下料";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "4";
 | 
					 | 
					 | 
					 | 
								msg += "4";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 下料";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQ4)# ==>轨道1 下料";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Push_Jig_Out)//推治具
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Push_Jig_Out)//推治具
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -497,12 +574,12 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "J";
 | 
					 | 
					 | 
					 | 
								msg += "J";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1  推出治具";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQJ)# ==>轨道1  推出治具";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "K";
 | 
					 | 
					 | 
					 | 
								msg += "K";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 推出治具";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQK)# ==>轨道2 推出治具";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -511,12 +588,12 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "L";
 | 
					 | 
					 | 
					 | 
								msg += "L";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1  检测治具";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQL)# ==>轨道1  检测治具";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "M";
 | 
					 | 
					 | 
					 | 
								msg += "M";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 检测治具";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQM)# ==>轨道2 检测治具";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -525,23 +602,23 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
					 | 
					 | 
					 | 
							if (m_TrackType == _ETrackType_Track_1)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "D";
 | 
					 | 
					 | 
					 | 
								msg += "D";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_1 取消请求下料";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQD)# ==>轨道1 取消请求下料";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else
 | 
					 | 
					 | 
					 | 
							else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								msg += "E";
 | 
					 | 
					 | 
					 | 
								msg += "E";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								log = "SendPlcMsg: Track_2 取消请求下料";
 | 
					 | 
					 | 
					 | 
								log = "SendPlcMsg: $(KQE)# ==>轨道2 取消请求下料";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Red_Alam_On)//红灯蜂鸣器开
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Red_Alam_On)//红灯蜂鸣器开
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							msg += "1";
 | 
					 | 
					 | 
					 | 
							msg += "1";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							log = "SendPlcMsg: 红灯蜂鸣器开";
 | 
					 | 
					 | 
					 | 
							log = "SendPlcMsg: $(KQ1)# ==>红灯蜂鸣器开";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Red_Alam_Off)//红灯蜂鸣器开
 | 
					 | 
					 | 
					 | 
						if (PlcCmd == _ETrack_PlcCmd_Red_Alam_Off)//红灯蜂鸣器开
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							msg += "2";
 | 
					 | 
					 | 
					 | 
							msg += "2";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							log = "SendPlcMsg: 红灯蜂鸣器关";
 | 
					 | 
					 | 
					 | 
							log = "SendPlcMsg: $(KQ2)# ==>红灯蜂鸣器关";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						gLogMgr->WriteDebugLog(log);
 | 
					 | 
					 | 
					 | 
						gLogMgr->WriteDebugLog(log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						msg += ")#\r\n";
 | 
					 | 
					 | 
					 | 
						msg += ")#\r\n";
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -562,7 +639,7 @@ bool CTrackWorkFlow::SendMsgToPlc(ETrackPlcCmd PlcCmd, bool bStopReadMsg)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							char * buf = Msg.GetBuffer();
 | 
					 | 
					 | 
					 | 
							char * buf = Msg.GetBuffer();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							int len = Msg.GetLength();
 | 
					 | 
					 | 
					 | 
							int len = Msg.GetLength();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							m_TrackCOM.WriteBuf(buf, len);//发送
 | 
					 | 
					 | 
					 | 
							m_TrackCOM.WriteBuf(buf, len);//发送
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gLogMgr->WriteDebugLog("SendMsgToPlc--->" + Msg);
 | 
					 | 
					 | 
					 | 
							//gLogMgr->WriteDebugLog("SendMsgToPlc==>" + Msg);
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						else
 | 
					 | 
					 | 
					 | 
						else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -604,10 +681,10 @@ void CTrackWorkFlow::VacSorbOnOff(bool bOn)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					bool CTrackWorkFlow::PushJigOut()
 | 
					 | 
					 | 
					 | 
					bool CTrackWorkFlow::PushJigOut()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (gLogMgr->IsDebuging())
 | 
					 | 
					 | 
					 | 
						/*if (gLogMgr->IsDebuging())
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return true;
 | 
					 | 
					 | 
					 | 
							return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}*/
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						ETrackPlcCmd PlcCmd;
 | 
					 | 
					 | 
					 | 
						ETrackPlcCmd PlcCmd;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						PlcCmd = _ETrack_PlcCmd_Push_Jig_Out;
 | 
					 | 
					 | 
					 | 
						PlcCmd = _ETrack_PlcCmd_Push_Jig_Out;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						SendMsgToPlc(PlcCmd, false);
 | 
					 | 
					 | 
					 | 
						SendMsgToPlc(PlcCmd, false);
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -633,6 +710,7 @@ bool CTrackWorkFlow::IsJigOK()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return true;
 | 
					 | 
					 | 
					 | 
							return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						return true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						ETrackPlcCmd PlcCmd;
 | 
					 | 
					 | 
					 | 
						ETrackPlcCmd PlcCmd;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						PlcCmd = _ETrack_PlcCmd_Check_Jig_In;
 | 
					 | 
					 | 
					 | 
						PlcCmd = _ETrack_PlcCmd_Check_Jig_In;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -835,12 +913,12 @@ void CTrackWorkFlow::ChangePlatXYGroupIdx()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void CTrackWorkFlow::CatchMark()
 | 
					 | 
					 | 
					 | 
					void CTrackWorkFlow::CatchMark()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					{
 | 
					 | 
					 | 
					 | 
					{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						/*if (!gObjComponentMgr->GetTwoMarkPt(Dbxy(), Dbxy()))//获取定位点
 | 
					 | 
					 | 
					 | 
						if (!gObjComponentMgr->GetTwoMarkPt(Dbxy(), Dbxy()))//获取定位点
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							CMsgBox MsgBox;
 | 
					 | 
					 | 
					 | 
							CMsgBox MsgBox;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							MsgBox.Show("没有加工图形!");
 | 
					 | 
					 | 
					 | 
							MsgBox.Show("没有加工图形!");
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							return ;
 | 
					 | 
					 | 
					 | 
							return;
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}*/
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						//只有无锁定状态才能CatchMark
 | 
					 | 
					 | 
					 | 
						//只有无锁定状态才能CatchMark
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (gCurLockTrackType != _ETrackType_NULL)
 | 
					 | 
					 | 
					 | 
						if (gCurLockTrackType != _ETrackType_NULL)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1208,70 +1286,9 @@ void CTrackWorkFlow::UnLoad()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						if (m_bAutoWorking)//自动运行中
 | 
					 | 
					 | 
					 | 
						auto FunctionUnload = [&]() 
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (gProgram_SZ_XL->IsbAutoWorkMode())//自动模式
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								//通知下料机到下料 接载具位
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								m_bPushJigReady = false;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_Unload, true) == false)
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									Log = m_TrackName + " unload Err";
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									gLogMgr->WriteDebugLog(Log);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									return;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								//等待下料机到可推出载具位
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								CString str = "轨道1";
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (m_TrackType == _ETrackType_Track_2)
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									str = "轨道2";
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								CString logstr;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								logstr.Format("等待[下料机] 运动至[%s]下载具位.", str);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(logstr);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								int cnt = 0;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								while ((!m_bPushJigReady) && cnt < 400)
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									Sleep(300);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									cnt++;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (cnt == 400)
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									Log = m_TrackName + " [下料机] 运动至下载具位 超时!";
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									gLogMgr->WriteDebugLog(Log);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									gTrackWorkFlow1.RadAlamOnOff(true);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									AfxMessageBox(m_TrackName + " [下料机] 运动至下载具位超时!请手动下料!");
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									gTrackWorkFlow1.RadAlamOnOff(false);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									return;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								if (!PushJigOut())//推出治具
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
									return;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								Sleep(3000);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								//平台移动到 送回空治具的位置
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								MoveToPos(_ETrack_Step_WaitBack);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_WaitBack, true);//告诉下料机,我已到可回治具位
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								m_bLoadProduct = false;//轨道上是否load 了产品
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							else//手动模式直接跳过下料步骤
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						else
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						{
 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (AfxMessageBox("确认手动下料?", MB_YESNO) != IDYES)
 | 
					 | 
					 | 
					 | 
							//通知下料机到下料 接载具位
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_NULL);
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return;
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							//通知下料机下料
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							m_bPushJigReady = false;
 | 
					 | 
					 | 
					 | 
							m_bPushJigReady = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_Unload, true) == false)
 | 
					 | 
					 | 
					 | 
							if (gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_Unload, true) == false)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -1297,10 +1314,10 @@ void CTrackWorkFlow::UnLoad()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							if (cnt == 400)
 | 
					 | 
					 | 
					 | 
							if (cnt == 400)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							{
 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								Log = m_TrackName + "  [下料机] 运动至下载具位 超时!";
 | 
					 | 
					 | 
					 | 
								Log = m_TrackName + " [下料机] 运动至下载具位 超时!";
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(Log);
 | 
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(Log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gTrackWorkFlow1.RadAlamOnOff(true);
 | 
					 | 
					 | 
					 | 
								gTrackWorkFlow1.RadAlamOnOff(true);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								AfxMessageBox(m_TrackName + "[下料机] 运动至下载具位超时!请手动下料!");
 | 
					 | 
					 | 
					 | 
								AfxMessageBox(m_TrackName + " [下料机] 运动至下载具位超时!请手动下料!");
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								gTrackWorkFlow1.RadAlamOnOff(false);
 | 
					 | 
					 | 
					 | 
								gTrackWorkFlow1.RadAlamOnOff(false);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return;
 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -1311,12 +1328,41 @@ void CTrackWorkFlow::UnLoad()
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
								return;
 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							}
 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
							Sleep(500);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							Sleep(3000);
 | 
					 | 
					 | 
					 | 
							if (gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_PushOut_Finished, true) == false)
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								Log = m_TrackName + " unload Err";
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								gLogMgr->WriteDebugLog(Log);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							Sleep(500);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							//平台移动到 送回空治具的位置
 | 
					 | 
					 | 
					 | 
							//平台移动到 送回空治具的位置
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							MoveToPos(_ETrack_Step_WaitBack);
 | 
					 | 
					 | 
					 | 
							MoveToPos(_ETrack_Step_WaitBack);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_WaitBack, true);//告诉下料机,我已到可回治具位
 | 
					 | 
					 | 
					 | 
							gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_WaitBack, true);//告诉下料机,我已到可回治具位
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
							m_bLoadProduct = false;//轨道上是否load 了产品
 | 
					 | 
					 | 
					 | 
							m_bLoadProduct = false;//轨道上是否load 了产品
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						};
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						if (m_bAutoWorking)//自动运行中
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (gProgram_SZ_XL->IsbAutoWorkMode())//自动模式
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								FunctionUnload();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							else//手动模式直接跳过下料步骤
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_Unload_End);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						else
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
						{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							if (AfxMessageBox("确认手动下料?", MB_YESNO) != IDYES)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							{
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								SetCurTrackWorkStep(_ETrack_Step_NULL);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
								return;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
							FunctionUnload();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
						}
 | 
					 | 
					 | 
					 | 
						}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//移动Y 轴到安全区域
 | 
					 | 
					 | 
					 | 
					//移动Y 轴到安全区域
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |