fast/Plugin/Plc/CommDataDef.h

302 lines
6.9 KiB
C
Raw Normal View History

2025-01-20 10:30:01 +08:00
#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 ()