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

79 lines
2.2 KiB
C++

// TransferCtrl.h: interface for the CTransferCtrl class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_TRANSFERCTRL_H__46BA1870_8449_4607_98BE_7FFA9DF61523__INCLUDED_)
#define AFX_TRANSFERCTRL_H__46BA1870_8449_4607_98BE_7FFA9DF61523__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "StdAfx.h"
#include "TcpClient.h"
#include <vector>
#include "CtrlProtocolDef.h"
typedef struct ST_TRANS_CTRL_INFO
{
BYTE ucDevType;
BYTE ucCmd;
UINT uiDevID;
// WORD wTsn;
ST_TRANS_CTRL_INFO()
{
ucDevType = 0;
ucCmd = 0;
uiDevID = 0;
// wTsn = 0;
}
}STTransCtrlInfo;
class CTransferCtrl : public CTcpClient
{
public:
CTransferCtrl();
virtual ~CTransferCtrl();
// void SetConnectServerInfo(CString strIP, WORD wPort){m_strIPAddr = strIP; m_wPort = wPort;}
bool Initialize();
// bool GetConnectStatus(){return GetConnectStatus();}
int GetCtrlRspLength(BYTE ucCMd){AfxMessageBox(_T("need implment")); return 0;}
int RecvRspMsg(char* pData, int* pLen,int iMaxLen,int iTimeout);
int RecvCtrlMsg(char* pData, int* pLen, int iMaxLen, int iTimeout);
bool IsCtrlMsg(BYTE ucCMd);
int GetCurrCtrlCmd(){return m_ucCtrlCmd;}
bool InitialClient();
inline bool IsPlcStatusMsg(BYTE ucCmd, BYTE ucSrcType);
UINT32 GetPlcAddr(){return m_uiPlcAddr;}
protected:
void ClearCtrlInfo();
bool IsNeedSendCtrl();
bool SendCtrlInfoToDev(const STTransCtrlInfo * pTransInfo,const char* pData, WORD wDataLen,BYTE ucDataType = 1);
bool SendCtrlInfo(const char*pCtrlHeader, const char* pData, WORD wDataLen, BYTE DataType = 1);
bool RecvEnoughMsg(char* pData, int iLen, int iTimeOut);
int RecvCommRspMsg(char* pRcvData, int* pRcvLen, int iMaxRcvLen,int iRcvTimeout,bool bIsRcvCtrl = false);
protected:
//std::vector<STProCtrlInfo> m_vtProCtrl;
// STCtrlRcvMsgInfo m_stCtrlRcvMsg;
BYTE m_ucCmd;
bool m_bIsNeedSendCtrMsg;
int m_iLastErrNo;
int m_iSeriNo;
int m_iLastSeriNo;
int m_ucDevType;
BYTE m_ucCtrlCmd;
UINT32 m_uiPlcAddr;
};
#endif // !defined(AFX_TRANSFERCTRL_H__46BA1870_8449_4607_98BE_7FFA9DF61523__INCLUDED_)