Device.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //#pragma once
  2. #ifndef _DEVICE_H_
  3. #define _DEVICE_H_
  4. #include <afxtempl.h>
  5. #include "BaseVar.h"
  6. class CDevice :public CObject
  7. {
  8. public:
  9. CDevice(void);
  10. ~CDevice(void);
  11. CDevice(const CDevice & other);
  12. CDevice & operator =(const CDevice & other);
  13. public:
  14. int m_iID; // -- 设备的ID
  15. CString m_strUid; // -- 设备UID
  16. int m_iPort; // -- 设备串口号
  17. CString m_strDeviceName; // -- 设备名称
  18. int m_iDeviceType; // -- 设备类型
  19. int m_iBaudrate; // -- 波特率
  20. int m_iDatabit; // -- 数据位
  21. int m_iStopbit; // -- 停止位
  22. int m_iParitybit; // -- 奇偶校验位
  23. int m_iRsmode; // -- 串口通信方式,0 - RS232;1 - RS422; 2 - RS485
  24. CString m_strIp; // -- ip地址号
  25. int m_iIpport; // -- ip端口号
  26. int m_iCommmode ; // -- 通信的方式,有 0 - 串口方式;...
  27. int m_iDeviceflag; // -- 该设备是否采集器 ;...63
  28. int m_iDevideaddr; // -- 设备地址
  29. int m_iTimeout; // -- 通讯超时
  30. int m_iIsuse; // -- 是否启用设备1:启用,0:禁用
  31. CString m_strProtocoldllname; // -- 协议DLL名称
  32. int m_bySpecialdevice; // -- Modbus Rtu;Modbus Ascii;Modbus Tcp;Snmp;RS232;
  33. //===============================================
  34. // 新增成员变量 in 2010-04-07
  35. CString m_strIniName; // 配置文件名称
  36. CString m_strReserved1; // 预留1
  37. CString m_strReserved2; // 预留2
  38. CString m_strReserved3; // 预留3
  39. CString m_strReserved4; // 预留4
  40. CString m_strReserved5; // 预留5
  41. CString m_strReserved6; // 预留6
  42. CString m_strReserved7; // 预留7
  43. CString m_strReserved8; // 预留8
  44. CString m_strReserved9; // 预留9
  45. CString m_strReserved10; // 预留10
  46. int m_nReserved1; // 预留1
  47. int m_nReserved2; // 预留2
  48. int m_nReserved3; // 预留3
  49. int m_nReserved4; // 预留4
  50. int m_nReserved5; // 预留5
  51. int m_nReserved6; // 预留6
  52. int m_nReserved7; // 预留7
  53. int m_nReserved8; // 预留8
  54. int m_nReserved9; // 预留9
  55. int m_nReserved10; // 预留10
  56. bool m_bReserved1; // 预留1
  57. bool m_bReserved2; // 预留2
  58. bool m_bReserved3; // 预留3
  59. bool m_bReserved4; // 预留4
  60. bool m_bReserved5; // 预留5
  61. bool m_bReserved6; // 预留6
  62. bool m_bReserved7; // 预留7
  63. bool m_bReserved8; // 预留8
  64. bool m_bReserved9; // 预留9
  65. bool m_bReserved10; // 预留10
  66. //
  67. DWORD m_dwOnlineTick; // 设备在线Tick
  68. BOOL m_bCommStatus; // 串口打开状态,0:关闭,1:打开
  69. CString m_sOnLineVarName; // 保存第一次能读到数据的变量名
  70. int m_nThreadHandleIndex; // 保存线程的字柄索引,用于设置DO时线程暂停与恢复
  71. CVarArrary m_Vars;
  72. HANDLE m_hSemNet;
  73. };
  74. typedef CTypedPtrArray<CObArray, CDevice*> CDeviceArray;
  75. int FindDevice(CString strDevUid);
  76. BOOL FindVar(CString strDevUid, int nVarID, int &nDeviceIndex, int &nVarIndex);
  77. BOOL FindVar(CString strDevUid, CString strVarName, int &nDeviceIndex, int &nVarIndex);
  78. BOOL FindVar(CString &strDevUid, int &iVarID,CString strVarName, int &nDeviceIndex, int &nVarIndex);
  79. CBaseVar* FindVar( CString sDevName,CString sVarName );
  80. BOOL IsExistVar( CString sVarName );//判断变量是否存在
  81. BOOL IsExistDev( CString sDevName );//判断设备是否存在
  82. #endif