PrtModbus.h
上传用户:asikq0571
上传日期:2014-07-12
资源大小:528k
文件大小:2k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. // PrtModbus.h: interface for the CPrtModbus class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_PRTMODBUS_H__4F9A6C80_2319_4E42_AB70_A41AB536D794__INCLUDED_)
  5. #define AFX_PRTMODBUS_H__4F9A6C80_2319_4E42_AB70_A41AB536D794__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "PrtObj.h"
  10. class CPrtModbus : public CPrtObj
  11. {
  12. public:
  13. CPrtModbus();
  14. virtual ~CPrtModbus();
  15. public:     //虚函数,各规约函数使用时覆盖,实现各自功能
  16. virtual void SlaveSend();                //从站发送
  17. virtual void SlaveRec(BYTE recByte);     //从站接收
  18. virtual void MasterRec(BYTE recByte);    //主站接收
  19. virtual void MasterSend(UINT nIDEvent);  //主站发送
  20. virtual void CloseTimer();               //关闭定时召唤流程
  21. virtual void StartTimer();               //启动定时召唤流程
  22.     virtual void InitPrt();                  
  23. public:     //规约解包/打包函数
  24. void MPackYC();
  25. void MPackYX();
  26.     void MasterUnPack();
  27.     void MUnPackYC();
  28. void MUnPackYX();
  29.     void SPackYC();
  30. void SPackYX();
  31. public:  
  32.  char m_Addr;
  33.  char m_YXFunc;
  34.  char m_YCFunc;
  35.  char m_YCSize;
  36.  int  m_CallIntv;
  37.      int  m_CallTimerID;
  38.  BOOL m_bIsTimerStar;
  39.  BOOL m_CallYXFlag;
  40.  BYTE m_CallYXByte[8];   //主站召唤遥信报文  
  41.      BYTE m_CallYCByte[8];   //主站召唤遥测报文
  42.      BYTE m_MRecByte[260];   //主站接收包含信息体的报文 最大字节数为260 (3+255+2)
  43.      BYTE m_SSendByte[260];  //子站发送包含信息体的报文 最大字节数为260 (3+255+2)
  44.  BYTE m_SRecByte[8];     //子站接收主站召唤的报文
  45.  enum MasterReading {AddrCode,FuncCode,NumCode,InfoCode,CRCHiCode,CRCLoCode,Finished} m_MReadState;
  46.      enum SlaveReading  {AddrByte,FuncByte,AddrHiByte,AddrLoByte,NumHiByte,NumLoByte,CRCHiByte,CRCLoByte} m_SReadState;
  47.  int  m_MInfoIndex;      //主站读信息体索引
  48.  
  49. };
  50. #endif // !defined(AFX_PRTMODBUS_H__4F9A6C80_2319_4E42_AB70_A41AB536D794__INCLUDED_)