Files
coco df489d5640 a
2026-07-03 16:05:30 +08:00

88 lines
2.5 KiB
C++

#if !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_)
#define AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialTimerTaskMeasu.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialTimerTaskMeasu dialog
class CDialTimerTaskMeasu : public CDialog
{
// Construction
public:
CDialTimerTaskMeasu(CWnd* pParent = NULL); // standard constructor
static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd);
void SetDevID(UINT32 uiDevID){m_uiDevID = uiDevID;}
// Dialog Data
//{{AFX_DATA(CDialTimerTaskMeasu)
enum { IDD = IDD_DIALOG_TIMER_MEASU };
CListCtrl m_listMeasuData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTimerTaskMeasu)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTimerTaskMeasu)
afx_msg void OnButtonTimerMeasu();
afx_msg void OnButtonMrasuSuspend();
virtual BOOL OnInitDialog();
virtual void OnCancel();
afx_msg void OnButtonTimerCfg();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen);
void ThreadJoin();
void StopMeasuDataInfo(bool bIsNormalExit=true);
void ClearRecvBuffer();
bool StartTimerTask(const STTimerTask* pTimerTask);
bool ProcRcvMeasuData();
bool GetCfgTaskData(DWORD dwTdID,char* pData, int& iLen, int iMaxLen);
bool GetRollCallData(char* pData, int& iLen, int iMaxLen);
bool OperPLC(BYTE ucCmd, CString strPlcID, bool bIsShowErrSyn=true);
void SetBtnStatus(BYTE ucStatus);
static UINT StartMeasuData(LPVOID pInfo);
int CompareTdTimer(const SYSTEMTIME &curTime, CString strTdTimer);
protected:
bool m_bIsSigMeasuring;
CTaskDataOper m_TaskdDBOper;
int m_iRepeatSndCnt;
std::vector<STSigSndDataInfo> m_vtMeasureData;
bool m_bIsRunning;
CWinThread* m_pThread;
bool m_bIsThreadFinshed;
bool m_bIsOpenTbData;
BYTE m_ucCmd;
BYTE m_ucProcStep;
BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区
int m_iRecvDataLen;
bool m_bIsSuspend;
UINT32 m_uiDevID;
STQueryTaskBasicInfo m_stQueryTdInfo;
// bool m_bIsThreadFinshed;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_)