ProtocolModbus.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // ProtocolPMC916.h: interface for the CProtocolModbus class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_)
  5. #define AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "Protocol.h"
  10. #define DEBUG_PROTOCOL 1
  11. class CProtocolModbus : public CProtocol
  12. {
  13. public:
  14. WORD GetCheckSum(BYTE *pBuf, int len);
  15. virtual BOOL InitParam(PPORTPARAM pPortParam, CCommAsyn *pComm);
  16. virtual int WorkMain(SETBASEPARAM SetBasePara, int nDataLen, int iCmdPos, int iCmdLen, char chMsg[10]);
  17. virtual int WriteCommand(char DataBuffer[80], char ResDataBuffer[2]);
  18. CProtocolModbus();
  19. virtual ~CProtocolModbus();
  20. protected:
  21. HANDLE m_hSemComm;
  22. CRITICAL_SECTION m_csReadFinished;
  23. CRITICAL_SECTION m_csWrFinished;
  24. protected:
  25. virtual int RequestStatus( SETBASEPARAM SetBasePara);
  26. virtual int ResponseStatus( int nDataLen, int iCmdPos, int iCmdLen, char chMsg[10]);
  27. virtual int RequestWrStatus( char DataBuffer[80]);
  28. virtual int ResponseWrStatus(char ResDataBuffer[2]);
  29. };
  30. BYTE GetCheckCode(const char * pSendBuf, int nEnd);//»ñµÃУÑéÂë
  31. char ByteToAscii(BYTE btSrc);
  32. WORD AsciiToBYTE(BYTE btSrc);
  33. static unsigned char LRC(unsigned char *auchMsg, unsigned short usDataLen);
  34. #endif // !defined(AFX_PROTOCOLPMC916_H__3A4B4E9B_C165_4415_8EC3_3F5AA66B53C9__INCLUDED_)