串口发送指令前先清理缓冲区

检测治具到位
检测推出完成
同兴达双头-推治具
bestlqiang 4 years ago
parent 65bd511efd
commit 7ad1324d8b

@ -519,7 +519,8 @@ OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | _dwIOMode,NULL);
}
return IsOpen();
}
//ノ靹テエョソレ
public:
//ÉèÖÃ(ÖØÖÃ)´®¿Ú
virtual bool SetupPort()
{
if (!IsOpen())

@ -118,6 +118,10 @@ void CCommPortMgr::WriteBuf(LPVOID Buffer, DWORD dwBufferLength)
//gLogMgr->WriteDebugLog(str);
m_Com.Write(Buffer,dwBufferLength);
}
void CCommPortMgr::ClearCache()
{
m_Com.SetupPort();
}
//关闭串口
void CCommPortMgr::Close()
{

@ -13,6 +13,7 @@ public:
void SetWnd(HWND hWnd);
void Write(const char *szBuffer);
void WriteBuf(LPVOID Buffer, DWORD dwBufferLength);
void ClearCache();//重置读写缓冲区
CString ReadStr();
CString ReadBuf(char *szBuffer,DWORD dwBufferLength);
int Read(LPVOID Buffer, DWORD dwBufferLength);

@ -1769,6 +1769,7 @@ bool CProgram_SZ_XL::SendMsgToLoadDevice(ETrackType TrackType, ETrackWorkStep Wo
{
char Buf[BUF_LEN];
int len = CreatBuf(Buf, StrOn);
m_LoadDeviceCOM.ClearCache();
m_LoadDeviceCOM.WriteBuf(Buf, len);
//gLogMgr->WriteDebugLog("SendMsgToLoadDevice: "+StrOn);
/* Sleep(100);

@ -638,6 +638,7 @@ bool CTrackWorkFlow::SendMsgToPlc(ETrackPlcCmd PlcCmd, bool bStopReadMsg)
{
char * buf = Msg.GetBuffer();
int len = Msg.GetLength();
m_TrackCOM.ClearCache();
m_TrackCOM.WriteBuf(buf, len);//发送
//gLogMgr->WriteDebugLog("SendMsgToPlc==>" + Msg);
}
@ -690,9 +691,9 @@ bool CTrackWorkFlow::PushJigOut()
SendMsgToPlc(PlcCmd, false);
m_bPushJigOut = false;
int cnt = 0;
while (cnt < 50 && (!m_bPushJigOut))
while (cnt < 200 && (!m_bPushJigOut))
{
Sleep(200);
Sleep(100);
cnt++;
}
if (cnt == 200)
@ -710,7 +711,7 @@ bool CTrackWorkFlow::IsJigOK()
{
return true;
}
return true;
//return true;
ETrackPlcCmd PlcCmd;
PlcCmd = _ETrack_PlcCmd_Check_Jig_In;
@ -1305,12 +1306,9 @@ void CTrackWorkFlow::UnLoad()
logstr.Format("等待[下料机] 运动至[%s]下载具位.", str);
gLogMgr->WriteDebugLog(logstr);
//int cnt = 0;
while ((!m_bPushJigReady) )//&& cnt < 400)
while ((!m_bPushJigReady) )
{
Sleep(300);
//cnt++;
}
/*if (cnt == 400)
{
@ -1328,7 +1326,6 @@ void CTrackWorkFlow::UnLoad()
SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
return;
}
Sleep(500);
if (gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_PushOut_Finished, true) == false)
{
SetCurTrackWorkStep(_ETrack_Step_Unload_Err);
@ -1336,7 +1333,6 @@ void CTrackWorkFlow::UnLoad()
gLogMgr->WriteDebugLog(Log);
return;
}
Sleep(500);
//平台移动到 送回空治具的位置
MoveToPos(_ETrack_Step_WaitBack);
gProgram_SZ_XL->SendMsgToLoadDevice(m_TrackType, _ETrack_Step_WaitBack, true);//告诉下料机,我已到可回治具位

Loading…
Cancel
Save