diff --git a/LaiPuLaser/CommonFlowMgr.cpp b/LaiPuLaser/CommonFlowMgr.cpp index 7b4a360..a41646b 100644 --- a/LaiPuLaser/CommonFlowMgr.cpp +++ b/LaiPuLaser/CommonFlowMgr.cpp @@ -228,6 +228,26 @@ CMFCPropertyGridProperty * CCommonFlowMgr::CreatGridProperty() pGroup->AddSubItem(p1); gDevicePropertieMgr.Insert(p1, pPropertie); } + + { + //添加属性变量映射 + Name = _T("m_bCheckJig");//变量名字 + CPropertie *pPropertie = new CPropertie; + pPropertie->SetpVal((void*)&m_bCheckJig); + pPropertie->SetType(_PROP_TYPE_BOOL); + pPropertie->SetpModule(this); + pPropertie->SetPath(Path); + pPropertie->SetName(Name); + pPropertie->WriteRead(true);//读取保存的属性 + //添加属性显示 + PropertyName = _T("检测治具到位"); + Description = _T("是否需要检测治具到位"); + CMFCPropertyGridProperty* p1 = new CMFCPropertyGridProperty(PropertyName, (_variant_t)m_bCheckJig, Description); + pGroup->AddSubItem(p1); + gDevicePropertieMgr.Insert(p1, pPropertie); + } + + } //-------------------------------------------------------------------------------// { diff --git a/LaiPuLaser/CommonFlowMgr.h b/LaiPuLaser/CommonFlowMgr.h index f190272..5bb8a6e 100644 --- a/LaiPuLaser/CommonFlowMgr.h +++ b/LaiPuLaser/CommonFlowMgr.h @@ -73,6 +73,9 @@ private: int m_CurWorkExecTimes;//当前执行次数(用来拷机) bool m_bStartWorkMsg;//加工前提示 bool m_NoMarkCanWork;//没有定位点时也可以加工 +public: + bool m_bCheckJig=true;//是否检测治具到位 +private: bool m_bWorkStop;//工作是否停止 bool m_bVacuum;//是否使用真空吸附(加工前吸附,结束后放开) bool m_bCheckObjDataConsistency;//是否检查数据的一致性(避免obj 数据不相等的情况) diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp index fce1db7..fc67e86 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp @@ -160,6 +160,20 @@ void CTrackWorkFlow::ExecuteCurStep() Load();//上料 break; case _ETrack_Step_Load_Err://下料错误 + { + auto fErr = [&] { + gTrackWorkFlow1.RadAlamOnOff(true); + AfxMessageBox("下料错误,请检查治具!"); + gTrackWorkFlow1.RadAlamOnOff(false); + }; + thread t1(fErr); + t1.detach(); + //解除锁定 + if (m_TrackType == gCurLockTrackType) + gCurLockTrackType = _ETrackType_NULL; + //退出自动状态 + StopAutoWork(); + } case _ETrack_Step_Catch_mark_Err://抓取定位错误 case _ETrack_Step_Mark_Err://切割过程错误 case _ETrack_Step_Unload_Err://下料错误 @@ -707,12 +721,17 @@ bool CTrackWorkFlow::PushJigOut() } return true; } + bool CTrackWorkFlow::IsJigOK() { if (gLogMgr->IsDebuging()) { return true; } + if (!gCommonFlowMgr->m_bCheckJig) + { + return true; + } //return true; ETrackPlcCmd PlcCmd; PlcCmd = _ETrack_PlcCmd_Check_Jig_In;