From f1620152edecb9a00affe00df9fdfded9a605a36 Mon Sep 17 00:00:00 2001 From: bestlqiang Date: Sat, 16 Jan 2021 17:23:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97,=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=8E=A8=E6=96=99=E5=8A=A8=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LaiPuLaser/LogMgr.cpp | 29 +++++++++++++++++++++- LaiPuLaser/LogMgr.h | 3 +++ LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp | 8 +++++- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/LaiPuLaser/LogMgr.cpp b/LaiPuLaser/LogMgr.cpp index 0b579f0..17ab51a 100644 --- a/LaiPuLaser/LogMgr.cpp +++ b/LaiPuLaser/LogMgr.cpp @@ -6,7 +6,7 @@ #include "PropertieMgr.h" #include "BitOperation.h" #include "AuthorityMgr.h" - +#include "WorkTime.h" CLogMgr* gLogMgr = new CLogMgr;//日志管理对象 @@ -17,6 +17,14 @@ CLogMgr::CLogMgr(void) m_DebugCmdDelay = 100;//调试指令延时时间 m_LogListMaxLine = 1000;//日志列表最大的行数,超过时清空 m_bWriteToLogList = true;//输出到日志列表 + + //创建记录文本日志的文件夹 + CFileMgr fg; + fg.GetFullFilePath(PlcLogDir, "\\PlcLog"); + if (!PathIsDirectory(PlcLogDir)) + { + CreateDirectory(PlcLogDir,NULL); + } } CLogMgr::~CLogMgr(void) { @@ -287,5 +295,24 @@ void CLogMgr::WriteDebugLogFile(CString str) { m_DebugLogFile<"; + str = LogHead + str + "\n"; + + CStdioFile file; + if (file.Open(path,CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate)) + { + file.SeekToEnd(); + file.WriteString(str); + file.Close(); + } + + } #endif diff --git a/LaiPuLaser/LogMgr.h b/LaiPuLaser/LogMgr.h index f0fe4a5..9f255f9 100644 --- a/LaiPuLaser/LogMgr.h +++ b/LaiPuLaser/LogMgr.h @@ -53,6 +53,8 @@ public: void WriteByte(BYTE bit); void WriteDebugLogFile(CString str); void SetbWriteDebugLog(bool b){m_bWriteDebugLog = b;}; + + void WritePlcTimeLog(CString str);//自动记录时间,输出到文本,日期命名 private: #ifdef __DLG_PANE_CMD__ COutputWnd * m_pOutputCmd;//命令输出 @@ -66,6 +68,7 @@ private: bool m_bDebug;//是否正在调试 int m_DebugCmdDelay;//调试指令延时时间 + CString PlcLogDir;//记录与PLC通信的文本文件 所在的文件夹 public: Dbxy LastTargetCoord; }; diff --git a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp index 7da3493..c3a835d 100644 --- a/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp +++ b/LaiPuLaser/Program_SZ_XL_TrackWorkFlow.cpp @@ -434,6 +434,7 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len) { gTrackWorkFlow1.m_bPushJigOut = true; logstrT = "轨道1推出治具完成!"; + gLogMgr->WritePlcTimeLog(logstrH + logstrT); //gLogMgr->WriteDebugLog("ReadPlcMsg [$(KQ5D1)#] ==>轨道1推出治具完成"); } @@ -482,6 +483,7 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len) { gTrackWorkFlow2.m_bPushJigOut = true; logstrT = "轨道2推出治具完成!"; + gLogMgr->WritePlcTimeLog(logstrH + logstrT); //gLogMgr->WriteDebugLog("ReadPlcMsg [$(KQ6D1)#] ==>轨道2推出治具完成"); } @@ -500,6 +502,7 @@ void CTrackWorkFlow::AnalyzeRecvPlcCmd(char *buf, int len) } gLogMgr->WriteDebugLog(logstrH + logstrT); + } #endif @@ -596,6 +599,7 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd) msg += "K"; log = "SendPlcMsg: $(KQK)# ==>轨道2 推出治具"; } + gLogMgr->WritePlcTimeLog(log); } if (PlcCmd == _ETrack_PlcCmd_Check_Jig_In)//检测轨道治具 @@ -636,6 +640,7 @@ CString CTrackWorkFlow::GetSendPlcMsgStr(ETrackPlcCmd PlcCmd) log = "SendPlcMsg: $(KQ2)# ==>红灯蜂鸣器关"; } gLogMgr->WriteDebugLog(log); + msg += ")#\r\n"; return msg; } @@ -646,7 +651,7 @@ bool CTrackWorkFlow::SendMsgToPlc(ETrackPlcCmd PlcCmd, bool bStopReadMsg) if (bStopReadMsg) { m_bStopReadMsg = true;//暂停读取 - Sleep(300); + Sleep(100); } CString Msg = GetSendPlcMsgStr(PlcCmd); if (m_TrackCOM.IsOpen()) @@ -655,6 +660,7 @@ bool CTrackWorkFlow::SendMsgToPlc(ETrackPlcCmd PlcCmd, bool bStopReadMsg) int len = Msg.GetLength(); m_TrackCOM.ClearCache(); m_TrackCOM.WriteBuf(buf, len);//发送 + //gLogMgr->WriteDebugLog("SendMsgToPlc==>" + Msg); } else