12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // ProtocolPMC916.h: interface for the CProtocolModbus class.
- //
- //////////////////////////////////////////////////////////////////////
- #if !defined(AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_)
- #define AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- #define DEBUG_PROTOCOL 1
- #include "Protocol.h"
- class CProtocolModbus : public CProtocol
- {
- public:
- virtual BOOL InitParam(PPORTPARAM pPortParam, CCommAsyn *pComm);
- virtual int WorkMain(
- int nAddr, //设备地址
- BYTE Start,//起始位
- BYTE StartAddr[2],//起始地址
- int nRegNum,//读取的寄存器个数
- BYTE FuncCode[2],
- int nDataLen,
- BYTE byWithAddrFlag,
- char chMsg[80]);
- virtual int WriteCommand(char DataBuffer[80], int nDataLen);
- CProtocolModbus();
- virtual ~CProtocolModbus();
- protected:
- HANDLE m_hSemComm;
- RESPONSE_STRUCT m_structResponse;
- protected:
- virtual int RequestStatus(
- int nAddr, //设备地址
- BYTE Start, //起始位
- BYTE StartAddr[2], //起始地址
- int nRegNum, //读取的寄存器个数
- BYTE FuncCode[2]);
- virtual int ResponseStatus(int nDataLen, BYTE byWithAddrFlag, char chMsg[80]);
- virtual int RequestWrStatus( char DataBuffer[80], int nDataLen);
- virtual int ResponseWrStatus(char DataBuffer[80], int nDataLen);
- };
- //BYTE GetCheckCode(const char * pSendBuf, int nEnd);//获得校验码
- char ByteToAscii(BYTE btSrc);
- WORD AsciiToBYTE(BYTE btSrc);
- static unsigned char LRC(unsigned char *auchMsg, unsigned short usDataLen);
- #endif // !defined(AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_)
|