302 lines
6.9 KiB
C
302 lines
6.9 KiB
C
|
|
|||
|
#pragma once
|
|||
|
#pragma pack (1)
|
|||
|
|
|||
|
//<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
#define WM_THREAD_RECV WM_USER + 1000
|
|||
|
#define WM_SERTHREAD_RECV WM_USER + 2000
|
|||
|
|
|||
|
#define WP_WPARA_RECV 1001
|
|||
|
#define WP_WPARA_CLOSE 1002 //socket<65>ر<EFBFBD>
|
|||
|
#define WP_WPARA_THREAD_QUIT 1005 //<2F>̹߳ر<CCB9>
|
|||
|
|
|||
|
#define WP_WPARA_SERVER_RECV 2001
|
|||
|
#define WP_WPARA_SERVER_CLOSE 2002 //socket<65>ر<EFBFBD>
|
|||
|
#define WP_WPARA_SERTHREAD_QUIT 2005 //<2F>̹߳ر<CCB9>
|
|||
|
|
|||
|
//<2F>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
|
|||
|
#define DUSTDEV_REGNUM 14 //<2F>ɼ<EFBFBD><C9BC>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܸ<EFBFBD><DCB8><EFBFBD>
|
|||
|
|
|||
|
//<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct __dustDevPara{
|
|||
|
double fDCVolt;
|
|||
|
double fDCCurr;
|
|||
|
double fPSVolt;
|
|||
|
double fPSCurr;
|
|||
|
WORD wPsFreq;
|
|||
|
double fEnvTempr;
|
|||
|
double fEnvHumity;
|
|||
|
double fDcIgbtTemp;
|
|||
|
double fPulseIgbtTemp;
|
|||
|
__dustDevPara(){
|
|||
|
fDCVolt =0.0;
|
|||
|
fDCCurr =0.0;
|
|||
|
fPSVolt =0.0;
|
|||
|
fPSCurr =0.0;
|
|||
|
wPsFreq =0;
|
|||
|
fEnvTempr =0.0;
|
|||
|
fEnvHumity =0.0;
|
|||
|
fDcIgbtTemp =0.0;
|
|||
|
fPulseIgbtTemp =0.0;
|
|||
|
}
|
|||
|
}ST_DUSTDEV_WOORKPARA;
|
|||
|
|
|||
|
//Modbus<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>ֵ
|
|||
|
typedef enum __enumFuncCode{
|
|||
|
EN_MODBUS_READ_SINGLECOIL =0x01, //<2F><><EFBFBD><EFBFBD>Ȧ
|
|||
|
EN_MODBUS_READ_PERSISREG =0x03, //<2F><><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
EN_MODBUS_WRITE_SINGLECOIL =0x05, //д<><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ
|
|||
|
EN_MODBUS_WRITE_SINGLEREG =0x06, //д<><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
|
|||
|
EN_MODBUS_WRITE_MULTIREG =0x10,
|
|||
|
|
|||
|
EN_MODBUS_READ_SINGLECOIL_RSPERR =0x81,
|
|||
|
EN_MODBUS_READ_PERSISREG_RSPERR =0x83,
|
|||
|
EN_MODBUS_WRITE_SINGLECOIL_RSPERR =0x85,
|
|||
|
EN_MODBUS_WRITE_SINGLEREG_RSPERR =0x86,
|
|||
|
EN_MODBUS_WRITE_MULTIREG_RSPERR =0x90
|
|||
|
}EN_NUM_MODBUS_FUNCCODE;
|
|||
|
|
|||
|
//<2F>Ĵ<EFBFBD><C4B4><EFBFBD>ö<EFBFBD><C3B6>ֵ(*10<31><30>ʾ<EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>ֵΪʵ<CEAA><CAB5>ֵ<EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>)
|
|||
|
typedef enum __enumRegAddr{
|
|||
|
EN_REGADDR_DCVOLTH =0x0000, //ֱ<><D6B1><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
EN_REGADDR_DCVOLTL =0x0001, //ֱ<><D6B1><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
EN_REGADDR_DCCURR =0x0002, //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *10.0
|
|||
|
EN_REGADDR_PULSEVOLTH =0x0003, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
EN_REGADDR_PULSEVOLTL =0x0004, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9>
|
|||
|
EN_REGADDR_PULSECURR =0x0005, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *10.0
|
|||
|
EN_REGADDR_PULSEFREQ =0x0006, //<2F><><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5> *10.0
|
|||
|
EN_REGADDR_ENVTEMP =0x0007, //<2F><><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD> *10.0
|
|||
|
EN_REGADDR_ENVHUMITY =0x0008, //<2F><><EFBFBD><EFBFBD>ʪ<EFBFBD><CAAA> *10.0
|
|||
|
EN_REGADDR_SUPPLYVOLT =0x0009, //<2F>е<EFBFBD><D0B5><EFBFBD>ѹ *10.0
|
|||
|
EN_REGADDR_SUPPLYCURR =0x000A, //<2F>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD> *10.0
|
|||
|
EN_REGADDR_ACTODCVOLT =0x000B, //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ѹ *10.0
|
|||
|
EN_REGADDR_DCIGBTTEMP =0x000C, //ֱ<><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IGBT<42><54><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD> *10.0
|
|||
|
EN_REGADDR_PULSEIGBTTEMP=0x000D //<2F><><EFBFBD>岿<EFBFBD><E5B2BF>IGBT<42><54><EFBFBD><EFBFBD><EFBFBD>¶<EFBFBD> *10.0
|
|||
|
}EN_NUM_REGADDR;
|
|||
|
|
|||
|
//MBAP<41><50><EFBFBD><EFBFBD>ͷ
|
|||
|
typedef struct __modbusMbapHeader{
|
|||
|
WORD wTransFlag;
|
|||
|
WORD wProtocolFlag;
|
|||
|
WORD wLen;
|
|||
|
BYTE bUnitFlag;
|
|||
|
__modbusMbapHeader(){
|
|||
|
wTransFlag =0;
|
|||
|
wProtocolFlag =0;
|
|||
|
wLen =0;
|
|||
|
bUnitFlag =0;
|
|||
|
}
|
|||
|
}ST_MODBUS_MBAP_HEADER;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ/<2F><><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---Cient<6E><74>
|
|||
|
typedef struct __clientRqtReadFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
WORD wStartAddr;
|
|||
|
WORD wRegNum;
|
|||
|
__clientRqtReadFrame()
|
|||
|
{
|
|||
|
bFuncConde =0x0;
|
|||
|
wStartAddr =0;
|
|||
|
wRegNum =0;
|
|||
|
}
|
|||
|
}ST_MODBUS_CLIENT_RQTREAD_FRAME;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ<EFBFBD><C8A6><EFBFBD><EFBFBD>---Cient<6E><74>
|
|||
|
typedef struct __clientRqtWrtCoilFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
WORD wAddr;
|
|||
|
WORD wOutVal;
|
|||
|
__clientRqtWrtCoilFrame()
|
|||
|
{
|
|||
|
bFuncConde =0x05;
|
|||
|
wAddr =0;
|
|||
|
wOutVal =0;
|
|||
|
}
|
|||
|
}ST_MODBUS_CLIENT_RQTWRTCOIL_FRAME;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct __serverRqtWrtRegFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
WORD wAddr;
|
|||
|
WORD wOutVal;
|
|||
|
__serverRqtWrtRegFrame()
|
|||
|
{
|
|||
|
bFuncConde =0x06;
|
|||
|
wAddr =0;
|
|||
|
wOutVal =0;
|
|||
|
}
|
|||
|
}ST_MODBUS_SERVER_RQTWRTREG_FRAME;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>---Cient<6E><74>
|
|||
|
typedef struct __clientRqtWrtMultiRegFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
WORD wStartAddr;
|
|||
|
WORD wRegNum;
|
|||
|
BYTE bLen;
|
|||
|
BYTE bRegVal[255];
|
|||
|
__clientRqtWrtMultiRegFrame()
|
|||
|
{
|
|||
|
bFuncConde =0x10;
|
|||
|
wStartAddr =0;
|
|||
|
wRegNum =0;
|
|||
|
bLen =0;
|
|||
|
memset(bRegVal,0,255);
|
|||
|
}
|
|||
|
}ST_MODBUS_CLIENT_RQTWRTMULTIREG_FRAME;
|
|||
|
|
|||
|
//<2F><>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּĴ<D6BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--Server <20><>
|
|||
|
typedef struct __serveRspReadFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
BYTE bLen;
|
|||
|
BYTE bRtnData[255];
|
|||
|
}ST_MODBUS_SERVER_RSPREAD_FRAME;
|
|||
|
|
|||
|
//<2F><>Ӧд<D3A6><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȧ/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּĴ<D6BC><C4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--Server <20><>
|
|||
|
typedef struct __serveRspWrtFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
WORD wStartAddr;
|
|||
|
WORD wRegNum;
|
|||
|
}ST_MODBUS_SERVER_RSPWRT_FRAME;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ֡
|
|||
|
typedef struct __serverRspErrFrame{
|
|||
|
ST_MODBUS_MBAP_HEADER stMbapHeader;
|
|||
|
BYTE bFuncConde;
|
|||
|
BYTE bErrCode;
|
|||
|
}ST_MODBUS_SERVER_RSPERR_FRAME;
|
|||
|
|
|||
|
////===========================================================================================================
|
|||
|
//------------<2D><><EFBFBD>¶<EFBFBD><C2B6><EFBFBD><EFBFBD><EFBFBD>PCͨ<43><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ö<EFBFBD><C3B6>
|
|||
|
typedef enum __enumpcCommFuncCode{
|
|||
|
EN_PCCOMM_TRANSDATA =0x51, //HMI--->PC
|
|||
|
EN_PCCOMM_WORKPARASET =0x52, //PC---->HMI
|
|||
|
EN_PCCOMM_SAMPLEPARASET =0x53, //PC---->HMI
|
|||
|
EN_PCCOMM_DEVSTARTSTOP =0x54, //PC---->HMI
|
|||
|
EN_PCCOMM_HISTORYDATARQT =0x55, //PC---->HMI
|
|||
|
|
|||
|
EN_PCCOMM_TRANSDATA_RSP =0x61, //PC---->HMI
|
|||
|
EN_PCCOMM_WORKPARASET_RSP =0x62, //HMI--->PC
|
|||
|
EN_PCCOMM_SAMPLEPARASET_RSP =0x63, //HMI--->PC
|
|||
|
EN_PCCOMM_DEVSTARTSTOP_RSP =0x64 //HMI--->PC
|
|||
|
|
|||
|
}EN_NUM_PCCOMM_FUNCCODE;
|
|||
|
|
|||
|
|
|||
|
//<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD>ݽṹ<DDBD><E1B9B9>
|
|||
|
typedef struct __devSampleData{
|
|||
|
int iDevID;
|
|||
|
DWORD dwIPAddr;
|
|||
|
WORD wPulseFreq;
|
|||
|
float fDcVolt;
|
|||
|
float fDcCurr;
|
|||
|
float fPulseVolt;
|
|||
|
float fPulseCurr;
|
|||
|
float fEnvTemprature;
|
|||
|
float fEnvHumidity;
|
|||
|
float fSupplyVolt;
|
|||
|
float fSupplyCurr;
|
|||
|
float fRectiferDC;
|
|||
|
float fDcIgbtTemp;
|
|||
|
float fPsIgbtTemp;
|
|||
|
BYTE bSampleTime[6];
|
|||
|
__devSampleData(){
|
|||
|
iDevID =0;
|
|||
|
dwIPAddr =0;
|
|||
|
wPulseFreq =0;
|
|||
|
fDcVolt =0;
|
|||
|
fDcCurr =0;
|
|||
|
fPulseVolt =0;
|
|||
|
fPulseCurr =0;
|
|||
|
fEnvHumidity=0;
|
|||
|
fEnvTemprature =0;
|
|||
|
fSupplyVolt =0;
|
|||
|
fSupplyCurr =0;
|
|||
|
fRectiferDC =0;
|
|||
|
fDcIgbtTemp =0;
|
|||
|
fPsIgbtTemp =0;
|
|||
|
memset(bSampleTime,0,6);
|
|||
|
}
|
|||
|
}ST_DEVSAMPLE_DATA;
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct __devWorkParaFromPC{
|
|||
|
int iDevID;
|
|||
|
DWORD dwIPAddr;
|
|||
|
WORD wPulseFreq;
|
|||
|
float fDcVolt;
|
|||
|
float fDcCurr;
|
|||
|
float fPulseVolt;
|
|||
|
float fPulseCurr;
|
|||
|
char szDevName[32];
|
|||
|
char szDevIPAddr[32];
|
|||
|
__devWorkParaFromPC(){
|
|||
|
iDevID =0;
|
|||
|
dwIPAddr =0;
|
|||
|
wPulseFreq =0;
|
|||
|
fDcVolt =0;
|
|||
|
fDcCurr =0;
|
|||
|
fPulseVolt =0;
|
|||
|
fPulseCurr =0;
|
|||
|
szDevName[0] ='\0';
|
|||
|
szDevIPAddr[0] ='\0';
|
|||
|
}
|
|||
|
__devWorkParaFromPC& operator=(const __devWorkParaFromPC &rhs)
|
|||
|
{
|
|||
|
this->iDevID = rhs.iDevID;
|
|||
|
this->dwIPAddr = rhs.dwIPAddr;
|
|||
|
this->wPulseFreq= rhs.wPulseFreq;
|
|||
|
this->fDcVolt = rhs.fDcVolt;
|
|||
|
this->fDcCurr = rhs.fDcCurr;
|
|||
|
this->fPulseVolt= rhs.fPulseVolt;
|
|||
|
this->fPulseCurr= rhs.fPulseCurr;
|
|||
|
strcpy(this->szDevName,rhs.szDevName);
|
|||
|
strcpy(this->szDevIPAddr,rhs.szDevIPAddr);
|
|||
|
|
|||
|
return (*this);
|
|||
|
}
|
|||
|
}ST_DEVWORKPARA_FROMPC,*PST_DEVWORKPARA_FROMPC;
|
|||
|
|
|||
|
//<2F>ɼ<EFBFBD><C9BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct __devSampleParaFromPC{
|
|||
|
WORD wSampleIntver;
|
|||
|
BYTE bIsSavePcOnline;
|
|||
|
__devSampleParaFromPC(){
|
|||
|
wSampleIntver =0;
|
|||
|
bIsSavePcOnline =0;
|
|||
|
}
|
|||
|
}ST_SAMPLEPARA_FROMPC;
|
|||
|
|
|||
|
//<2F>豸<EFBFBD><E8B1B8>ͣ
|
|||
|
typedef struct __devStartStopFromPC{
|
|||
|
int iDevID;
|
|||
|
DWORD dwIPAddr;
|
|||
|
BYTE bIsStart;
|
|||
|
__devStartStopFromPC(){
|
|||
|
iDevID =0;
|
|||
|
dwIPAddr =0;
|
|||
|
bIsStart =0;
|
|||
|
}
|
|||
|
}ST_DEVSTARTSTOP_FROMPC;
|
|||
|
|
|||
|
//<2F><>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
typedef struct __historyRqtFromPC{
|
|||
|
int iDevID;
|
|||
|
DWORD dwIPAddr;
|
|||
|
BYTE bStartTime[6];
|
|||
|
BYTE bStopTime[6];
|
|||
|
__historyRqtFromPC(){
|
|||
|
iDevID =0;
|
|||
|
dwIPAddr =0;
|
|||
|
memset(bStartTime,0,6);
|
|||
|
memset(bStopTime,0,6);
|
|||
|
}
|
|||
|
}ST_HISTORYRQT_FROMPC;
|
|||
|
|
|||
|
#pragma pack ()
|