AlarmDefine.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #pragma once
  2. //| 枚举值 | 说明 | 颜色|
  3. //|:---- - | : ---- - | ----|
  4. //|0 | 默认(未安装) | 白色|
  5. //|1 | 正常 | 绿色|
  6. //|2 | 离线 | 灰色|
  7. //|3 | 预警 | 橙色|
  8. //|4 | 报警 | 红色 |
  9. #define INVLID_VAL 100000
  10. //采集信息类型码
  11. enum class AcqTypeCode : uint16_t
  12. {
  13. eAcqTypeCode_0x101 = 0x101, //定位测力值
  14. eAcqTypeCode_0x102 = 0x102, //反位测力值
  15. eAcqTypeCode_0x103 = 0x103, //转换阻力测力值
  16. eAcqTypeCode_0x104 = 0x104, //温度
  17. eAcqTypeCode_0x105 = 0x105, //湿度
  18. };
  19. //曲线类型码
  20. enum class CurveTypeCode : uint16_t
  21. {
  22. eCurveTypeCode_0x1010 = 0x1010, //定位测力曲线
  23. eCurveTypeCode_0x1020 = 0x1020, //反位测力曲线
  24. eCurveTypeCode_0x1030 = 0x1030, //转换阻力曲线
  25. eCurveTypeCode_0x1040 = 0x1040, //温度
  26. eCurveTypeCode_0x1050 = 0x1050, //湿度
  27. };
  28. enum class eZL_MP_STAT : uint8_t
  29. {
  30. MP_STAT_UNINSTALL_WHITE = 0x00,
  31. MP_STAT_NORMAL_GREEN = 0x01,
  32. MP_STAT_OFFLINE_GRAY = 0x02,
  33. MP_STAT_WARN_ORANGE = 0x03,
  34. MP_STAT_ALARM_RED = 0x04,
  35. MP_STAT_UNKNOW = 0xff,
  36. };
  37. enum class eZL_ALARMTYPE : uint8_t
  38. {
  39. MAX_OVER_LIMIT = 0x01, //最大值超限
  40. FRICTION_OVER_LIMIT = 0x02, //摩擦力超限
  41. SUOBI_LOCK_LIMIT = 0x04, //锁闭力超限
  42. CONVERT_LIMIT = 0x05, //转换阻力超限
  43. RETENSION_FORCE = 0x06, //保持力异常告警
  44. //设备类报警
  45. EQUIP_OFFLINE = 0x20, //设备离线
  46. SENSOR_ABNORMAL = 0x21, //传感器异常
  47. };
  48. enum class eRecord_Module : int
  49. {
  50. RM_INVALID = 0x00, //无效
  51. RM_REAL = 0x01, //实时数据
  52. RM_HIST = 0x02, //历史数据
  53. RM_HIST_TEMP = 0x03, //历史温湿度曲线
  54. RM_CURVE = 0x04, //曲线分析
  55. RM_TABLE = 0x05, //报表分析
  56. RM_ALARM = 0x06, //报警数据
  57. RM_REFER = 0x07, //参考曲线
  58. };
  59. enum class eRocord_Opt : int
  60. {
  61. RO_INVALID = 0x00, //无效
  62. RO_RECORD = 0x01, //浏览
  63. RO_CONFIG = 0x02, //配置
  64. RO_OPT = 0x03, //操作
  65. RO_LOGININ = 0x04, //登陆
  66. RO_LOGINOUT = 0x05, //退出
  67. };
  68. //锁闭力预报警位置, 与前端约定
  69. enum class eSuoBiPosi : uint8_t
  70. {
  71. SB_ZERO = 0,
  72. SB_FIX = 100,
  73. SB_INVERT = 101,
  74. SB_UNKNOWN = 255,
  75. };
  76. enum class eLowHigh : uint8_t
  77. {
  78. LH_UNKNOWN = 0x00,
  79. LH_LOW = 0x01,
  80. LH_HIGH = 0x02,
  81. };
  82. #define UINT8_WARN 1
  83. #define UINT8_ALARM 2
  84. enum class eDaoChaPosi : uint8_t
  85. {
  86. DCP_UNKNOWN = 0,
  87. DCP_FIX,
  88. DCP_INVERT,
  89. DCP_FIX2INVERT,
  90. DCP_INVERT2FIX,
  91. };
  92. //力的类型
  93. enum class ePowerName : uint8_t
  94. {
  95. PN_UNKNOWN = 0,//未知
  96. PN_RESIST,//锁闭力
  97. PN_RETENTION,//保持力
  98. PN_MOVE,//转换力
  99. PN_FRICTION,//摩擦力 ->稳态值
  100. };
  101. enum class eUpOrDownInfo : uint8_t
  102. {
  103. UOD_UNKNOWN = 0x00,
  104. UOD_UP = 0x01,
  105. UOD_DOWN = 0x02,
  106. };
  107. typedef struct tagSecondStatInfo
  108. {
  109. time_t max_time = 0;
  110. int max_val = INT_MIN;
  111. time_t min_time = 0;
  112. int min_val = INT_MAX;
  113. uint32_t dif_val = 0; //最大值和最小值的差值
  114. int first_val = INT_MIN; //每秒起始值
  115. int end_val = INT_MIN; //每秒末尾值
  116. int64_t sum_val = 0;
  117. int cout = 0;
  118. }SECOND_STAT_INFO;
  119. //#define INVALID_RESIST SHORT_MIN