52 lines
1.4 KiB
C++
52 lines
1.4 KiB
C++
#pragma once
|
|
#include "ClientSocket.h"
|
|
#include "CommDataDef.h"
|
|
// CClientSocketThread
|
|
class CModbusClient : public CWinThread
|
|
{
|
|
DECLARE_DYNCREATE(CModbusClient)
|
|
|
|
public:
|
|
CModbusClient(CString strIp, int nPort, HWND hWnd); // protected constructor used by dynamic creation
|
|
CModbusClient(); // protected constructor used by dynamic creation
|
|
virtual ~CModbusClient();
|
|
|
|
public:
|
|
virtual BOOL InitInstance();
|
|
virtual int ExitInstance();
|
|
|
|
void AnalysisRecvData(); //数据解析接口,供外部调用
|
|
void DealFrameData(BYTE* pData);
|
|
int WriteMultipleRegisters(int nRegAddr, int nRegCnt, short * pWriteData);
|
|
int ReadMultipleRegisters(int nRegAddr, int nRegCnt, short * pReadData);
|
|
|
|
public:
|
|
|
|
HWND m_hWnd;
|
|
CString m_strSerIP;
|
|
BYTE m_bDevID;
|
|
WORD m_wTcpID;
|
|
CClientSocket m_socket;
|
|
BOOL m_bConnected;
|
|
HANDLE m_ReadEventHandle; //读寄存器同步内核对象
|
|
HANDLE m_WriteEventHandle; //写寄存器同步内核对象
|
|
|
|
ST_MODBUS_SERVER_RSPREAD_FRAME m_stReadRspFrm;
|
|
ST_MODBUS_SERVER_RSPWRT_FRAME m_stWrtRspFrm;
|
|
ST_MODBUS_SERVER_RSPERR_FRAME m_stRspErrFrm;
|
|
|
|
BYTE* m_pRecvDataBuffer; //数据接收缓冲区指针
|
|
BYTE* m_pDealBuf; //数据处理缓冲区指针
|
|
int m_iWritePos;
|
|
int m_iReadPos;
|
|
__int64 m_llDataTotalLen;
|
|
__int64 m_llReadTotal;
|
|
|
|
|
|
protected:
|
|
DECLARE_MESSAGE_MAP()
|
|
afx_msg void OnCustomMsg(WPARAM wParam,LPARAM lParam);
|
|
};
|
|
|
|
|