加强通信逻辑控制

master
bestlqiang 4 years ago
parent 45b17460db
commit 0b9fc2437c

@ -1089,8 +1089,9 @@ bool CCommonFlowMgr::MultipleAreaMark(CProduct &Product, bool bSel)
gServer->BroadCast("副机收集数据异常!Exception! ");
return false;
}
gServer->m_bLogicErr = false;
CString str = "READY";
gServer->m_bMarkDataReady = true;
CString str = "READY;OK";
gServer->BroadCast(str);
gLogMgr->WriteDebugLog(str);

@ -116,6 +116,7 @@ void CServerMgr::OnReceive(int nErrorCode)
CString RcvStr = (CString)buf;
gLogMgr->WriteDebugLog("Receive: " + RcvStr);
if (RcvStr.Find(ACTION_OPENFILE) != -1)//打开文件
{
@ -165,10 +166,12 @@ void CServerMgr::OnReceive(int nErrorCode)
if (RcvStr.Find(ACTION_TANSPRODUCTINFO) != -1) //传数据.
{
/* CString str = "EXECMD_OK;";
Send(str, str.GetLength());
Receive(&gServer->m_RcvProduct, sizeof(CProduct));*/
if (gServer->m_bMarkDataReady||gServer->m_bProcessing)
{
gLogMgr->WriteDebugLog("逻辑错误!重复收到仿射数据!");
return CSocket::OnReceive(nErrorCode);
}
gServer->m_bProcessing = true;
gLogMgr->WriteDebugLog(ACTION_TANSPRODUCTINFO + "OK");
if (RcvStr.Find(TRACK_1) != -1)
@ -206,7 +209,7 @@ void CServerMgr::OnReceive(int nErrorCode)
gTrackWorkFlow1.MarkProcessExt();
if (!m_bLogicErr )
if (gServer->m_bMarkDataReady )
{
CString str = "EXECMD_OK;";
Send(str, str.GetLength());
@ -218,14 +221,15 @@ void CServerMgr::OnReceive(int nErrorCode)
if (RcvStr.Find(ACTION_COLLECT) != -1) //收集数据.
{
gServer->m_bLogicErr = true;
gServer->m_bProcessing = false;
gServer->m_bMarkDataReady = false;
gMarkAreaMgr->CollectOrgWorkData(gProgram_SZ_XL->IsbSelMarkMode(), gServer->m_RcvProduct);
gLogMgr->WriteDebugLog(ACTION_COLLECT + "OK");
}
if (RcvStr.Find(ACTION_STARTWORK) != -1) //启动加工
{
if (m_bLogicErr)
if (!gServer->m_bMarkDataReady)
return CSocket::OnReceive(nErrorCode);
int sPos = RcvStr.ReverseFind(';');

@ -87,7 +87,8 @@ public:
int m_RcvCurTrackIndex; //接收到的当前加工轨道
int m_curAreaDataCnt = 0; //当前加工区域数据量.
static vector<CServerMgr*> ServerVec;//服务员的容器
bool m_bLogicErr = true;
bool m_bMarkDataReady = false; //全图打标数据就绪
bool m_bProcessing = false; //正在计算全图打标数据
private:
virtual void OnAccept(int nErrorCode);
virtual void OnClose(int nErrorCode);

Loading…
Cancel
Save