CommAsyn.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // CommAsyn.cpp: implementation of the CCommAsyn class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #include "stdafx.h"
  5. #include "CommAsyn.h"
  6. #include <atlconv.h>
  7. #include "ProtocolModbus.h"
  8. #ifdef _DEBUG
  9. #undef THIS_FILE
  10. static char THIS_FILE[]=__FILE__;
  11. #define new DEBUG_NEW
  12. #endif
  13. //////////////////////////////////////////////////////////////////////
  14. // Construction/Destruction
  15. //////////////////////////////////////////////////////////////////////
  16. CCommAsyn::CCommAsyn()
  17. {
  18. m_pProtocol=NULL;
  19. }
  20. CCommAsyn::~CCommAsyn()
  21. {
  22. if(m_pProtocol)
  23. {
  24. delete m_pProtocol;
  25. m_pProtocol=NULL;
  26. }
  27. }
  28. BOOL CCommAsyn::CloseComm()
  29. {
  30. return this->CloseComm();
  31. }
  32. BOOL CCommAsyn::InitParam(PPORTPARAM pPortParam)
  33. {
  34. if(m_pProtocol)
  35. {
  36. delete m_pProtocol;
  37. m_pProtocol=NULL;
  38. }
  39. m_pProtocol=new CProtocolModbus();
  40. return m_pProtocol->InitParam(pPortParam,this);
  41. }
  42. int CCommAsyn::WorkMain(
  43. int nAddr, //设备地址
  44. BYTE Start, //起始位
  45. BYTE StartAddr[2], //起始地址
  46. int nRegNum, //读取的寄存器个数
  47. BYTE FuncCode[2],
  48. int nDataLen,
  49. BYTE byWithAddrFlag,
  50. char chMsg[80])
  51. {
  52. return m_pProtocol->WorkMain( nAddr, Start, StartAddr, nRegNum, FuncCode, nDataLen, byWithAddrFlag,chMsg);
  53. }
  54. int CCommAsyn::WriteCommand(char DataBuffer[80], int nDataLen)
  55. {
  56. return m_pProtocol->WriteCommand( DataBuffer, nDataLen);
  57. }