1089 lines
37 KiB
C
1089 lines
37 KiB
C
#ifndef RD_CONST_H_FILE
|
||
#define RD_CONST_H_FILE
|
||
|
||
#include "data_types.h"
|
||
|
||
#ifdef AIX
|
||
#include <stdlib.h>
|
||
#endif//AIX
|
||
|
||
#ifndef _HDHANDLE
|
||
typedef void* HDHANDLE;
|
||
#define _HDHANDLE
|
||
#endif
|
||
|
||
#ifndef WIN32
|
||
#ifndef SOCKET
|
||
#define SOCKET int
|
||
#endif
|
||
#else
|
||
#ifndef SOCKET
|
||
//#include <winsock2.h>
|
||
//#include <windows.h>
|
||
#if defined(_WIN64)
|
||
typedef __int64 INT_PTR, *PINT_PTR;
|
||
typedef unsigned __int64 UINT_PTR, *PUINT_PTR;
|
||
#else
|
||
typedef _W64 int INT_PTR, *PINT_PTR;
|
||
typedef _W64 unsigned int UINT_PTR, *PUINT_PTR;
|
||
#endif
|
||
typedef UINT_PTR SOCKET;
|
||
#endif
|
||
#endif
|
||
|
||
|
||
#define HD_INVALID_HANDLE (HDHANDLE)0
|
||
|
||
|
||
// 页大小
|
||
#define RD_PAGE_SIZE 4096
|
||
|
||
#define HD_EPSILON 0.00001
|
||
|
||
#define DATA_QUALITY_VALUE_HALT -1 /*停机记录,正常的数据质量不能用这个值*/
|
||
#define DATA_QUALITY_VALUE_IO_TIMEOUT 65534 // 无法连接设备
|
||
|
||
// 采集器状态点质量
|
||
#define DATA_QUALITY_VALUE_CT_MAX 65533
|
||
#define DATA_QUALITY_VALUE_CT_BOOTTING 65533
|
||
#define DATA_QUALITY_VALUE_CT_ACTIVE 65532
|
||
#define DATA_QUALITY_VALUE_CT_SHUTDOWN 65531
|
||
#define DATA_QUALITY_VALUE_CT_TIMEOUT 65530
|
||
#define DATA_QUALITY_VALUE_CT_MIN 65530
|
||
// 设备状态点质量
|
||
#define DATA_QUALITY_VALUE_DEVICE_MAX 65529
|
||
#define DATA_QUALITY_VALUE_DEVICE_CONN 65529
|
||
#define DATA_QUALITY_VALUE_DEVICE_DISCONN 65528
|
||
#define DATA_QUALITY_VALUE_DEVICE_MIN 65528
|
||
|
||
// 表达式过滤
|
||
#define DATA_QUALITY_VALUE_EXPR_FILTER 65527
|
||
|
||
#define DATA_QUALITY_VALUE_HALT_SHOW "No Data"
|
||
#define DATA_QUALITY_VALUE_IO_TIMEOUT_SHOW "I/O Timeout"
|
||
|
||
#define DATA_QUALITY_GOOD 0xC0 //一个典型的Good值, 192
|
||
#define DATA_QUALITY_BAD 0xFF3F //质量为Bad
|
||
#define DATA_QUALITY_BAD_STATS_NO_GOOD_REC 0xFF3E //统计记录用这个值来表示统计区域没有一条Good的原始记录,质量为bad
|
||
|
||
// license status
|
||
#define LICENSE_INVALID 0 //许可证无效,一般是2小时试用版过期
|
||
#define LICENSE_VALID 1 //有效许可证
|
||
#define LICENSE_VALID_TEMP 2 //临时许可证,2小时试用版
|
||
|
||
//tag点类型定义
|
||
#define TAG_TYPE_MIN 0
|
||
#define TAG_TYPE_INT8 0
|
||
#define TAG_TYPE_INT16 1
|
||
#define TAG_TYPE_INT32 2
|
||
#define TAG_TYPE_FLOAT32 3
|
||
#define TAG_TYPE_FLOAT64 4
|
||
#define TAG_TYPE_DIGITAL 5
|
||
#define TAG_TYPE_STRING 6
|
||
#define TAG_TYPE_BLOB 7
|
||
#define TAG_TYPE_MAX 7
|
||
|
||
//变更类型
|
||
#define CHANGE_TYPE_ADD 0
|
||
#define CHANGE_TYPE_MODIFY 1
|
||
#define CHANGE_TYPE_DELETE 2
|
||
#define CHANGE_TYPE_MAX 2
|
||
|
||
//变更的模块类型
|
||
#define CHANGE_MODULE_TYPE_COLLECTOR 0
|
||
#define CHANGE_MODULE_TYPE_CALC 1
|
||
|
||
// 通知对象类型
|
||
#define HD_NOTIFY_OBJ_TYPE_NORMAL_TAG 0
|
||
#define HD_NOTIFY_OBJ_TYPE_ALARM_TAG 1
|
||
#define HD_NOTIFY_OBJ_TYPE_STAT_TAG 2
|
||
#define HD_NOTIFY_OBJ_TYPE_EXPCALC_TAG 3
|
||
#define HD_NOTIFY_OBJ_TYPE_COLLECTOR 4
|
||
#define HD_NOTIFY_OBJ_TYPE_SCAN_GROUP 5
|
||
#define HD_NOTIFY_OBJ_TYPE_DEVICE 6
|
||
#define HD_NOTIFY_OBJ_TYPE_ALARM_GROUP 7
|
||
#define HD_NOTIFY_OBJ_TYPE_DIGITAL_SET 8
|
||
#define HD_NOTIFY_OBJ_TYPE_MAX 8
|
||
|
||
/*配置变更通知对象的掩码*/
|
||
#define HD_NOTIFY_OBJ_MASK_ALL 0XFFFFFFFFFFFFFFFFLL
|
||
#define HD_NOTIFY_OBJ_MASK_NORMAL_TAG (1 << HD_NOTIFY_OBJ_TYPE_NORMAL_TAG)
|
||
#define HD_NOTIFY_OBJ_MASK_ALARM_TAG (1 << HD_NOTIFY_OBJ_TYPE_ALARM_TAG)
|
||
#define HD_NOTIFY_OBJ_MASK_STAT_TAG (1 << HD_NOTIFY_OBJ_TYPE_STAT_TAG)
|
||
#define HD_NOTIFY_OBJ_MASK_EXPCALC_TAG (1 << HD_NOTIFY_OBJ_TYPE_EXPCALC_TAG)
|
||
#define HD_NOTIFY_OBJ_MASK_COLLECTOR (1 << HD_NOTIFY_OBJ_TYPE_COLLECTOR)
|
||
#define HD_NOTIFY_OBJ_MASK_SCAN_GROUP (1 << HD_NOTIFY_OBJ_TYPE_SCAN_GROUP)
|
||
#define HD_NOTIFY_OBJ_MASK_DEVICE (1 << HD_NOTIFY_OBJ_TYPE_DEVICE)
|
||
#define HD_NOTIFY_OBJ_MASK_ALARM_GROUP (1 << HD_NOTIFY_OBJ_TYPE_ALARM_GROUP)
|
||
#define HD_NOTIFY_OBJ_MASK_DIGITAL_SET (1 << HD_NOTIFY_OBJ_TYPE_DIGITAL_SET)
|
||
|
||
//采集器相关变更实体的类别
|
||
#define CHANGE_ENTRY_COLLECTOR 0
|
||
#define CHANGE_ENTRY_DEVICE 1
|
||
#define CHANGE_ENTRY_SCAN_GROUP 2
|
||
#define CHANGE_ENTRY_TAG 3
|
||
|
||
//报警变更类型
|
||
#define CHANGE_NEW_ALARM 0
|
||
#define CHANGE_ACK_ALARM 1
|
||
#define CHANGE_RESTORE_ALARM 2
|
||
#define CHANGE_COMMENT_ALARM 3
|
||
|
||
//扫描组类型
|
||
#define HD_CT_SCAN_TYPE_POLL 0 //轮询模式
|
||
#define HD_CT_SCAN_TYPE_ADVISE 1 //通知模式
|
||
|
||
//压缩类型定义
|
||
#define COMP_TYPE_MIN 0
|
||
#define COMP_TYPE_NO 0
|
||
#define COMP_TYPE_SDT 1
|
||
#define COMP_TYPE_MAX 1
|
||
|
||
//报警自动确认定义
|
||
#define ALARM_AUTO_ACK_MIN 0
|
||
#define ALARM_AUTO_ACK_NO 0
|
||
#define ALARM_AUTO_ACK_YES 1
|
||
#define ALARM_AUTO_ACK_MAX 1
|
||
|
||
//监视点的类型
|
||
#define MONITOR_TAG_TYPE_MIN 0
|
||
#define MONITOR_TAG_TYPE_ALARM 1
|
||
#define MONITOR_TAG_TYPE_MAX 1
|
||
|
||
//数据类型长度定义
|
||
#define DATA_LENGTH_INT8 1
|
||
#define DATA_LENGTH_INT16 2
|
||
#define DATA_LENGTH_INT32 4
|
||
#define DATA_LENGTH_FLOAT32 4
|
||
#define DATA_LENGTH_FLOAT64 8
|
||
#define DATA_LENGTH_DIGITAL 1
|
||
|
||
//数据块内部结构长度定义
|
||
#define LENGTH_TIME_STAMP 6
|
||
#define LENGTH_DATA_QUALITY 2
|
||
|
||
/*string blob类型相关长度定义*/
|
||
#define LENGTH_VAR_TYPE_VALUE 1000
|
||
#define LENGTH_VAR_TYPE_RECORD (LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY + sizeof(uint16) + LENGTH_VAR_TYPE_VALUE)
|
||
|
||
|
||
//各数据类型记录长度定义
|
||
#define REC_LENGTH_MIN REC_LENGTH_INT8
|
||
#define REC_LENGTH_INT8 (DATA_LENGTH_INT8 + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_INT16 (DATA_LENGTH_INT16 + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_INT32 (DATA_LENGTH_INT32 + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_FLOAT32 (DATA_LENGTH_FLOAT32 + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_FLOAT64 (DATA_LENGTH_FLOAT64 + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_DIGITAL (DATA_LENGTH_DIGITAL + LENGTH_TIME_STAMP + LENGTH_DATA_QUALITY)
|
||
#define REC_LENGTH_MAX (LENGTH_VAR_TYPE_RECORD)
|
||
|
||
#define HD_MAX_LEN_TAG_PROP 1024
|
||
#define HD_LEN_TAG_NAME 128 /* including '\0' */
|
||
#define HD_LEN_TAG_TYPE 16 /* including '\0' */
|
||
#define HD_LEN_TAG_DESC 1024 /* including '\0' */
|
||
#define HD_LEN_USER_NAME 32 /* including '\0' */
|
||
#define HD_LEN_ENG_UNITS 32 /* including '\0' */
|
||
#define HD_LEN_INSTURMENT_POINT_VERSION_0 64 /* including '\0' */ //API版本为0时的设备点长度,版本1修改为256
|
||
#define HD_LEN_INSTURMENT_POINT 256 /* including '\0' */ //modify by yangqi; 长度从64修改为256
|
||
#define HD_LEN_INTERFACE_NAME 64 /* including '\0' */
|
||
#define HD_LEN_IP_ADDR 16
|
||
#define HD_LEN_IPHOST_ADDR 256
|
||
|
||
#define HD_LEN_DIGITAL_SET_NAME 32 /* including '\0' */
|
||
#define HD_LEN_DIGITAL_SET_STATE_NAME 32 /* including '\0' */
|
||
#define HD_LEN_ALARM_TEST 128 //报警点Test属性长度,包括szTest1,szTest2,szTest3,szTest4
|
||
#define HD_LEN_ALARM_ACTION 128 //报警点ACTION属性长度,包括szAction1,szAction2,szAction3,szAction4
|
||
#define HD_LEN_ALARM_GROUP_NAME 128 //报警点组名长度
|
||
#define HD_LEN_ALARM_GROUP_DESC 128 //报警点组描述长度
|
||
#define HD_LEN_ALARM_COMMENT 256
|
||
#define LENGTH_QUERY_ITEM_VALUE 32
|
||
#define HD_LEN_QUERY_ALARM_REC_ITEM_VALUE 32 //报警记录查询的记录项的长度
|
||
#define HD_LEN_COLLECTOR_NAME 64
|
||
#define HD_LEN_COLLECTOR_DESCRIPTION 128
|
||
#define HD_LEN_COLLECTOR_EXT_PARAM 512
|
||
|
||
#define HD_LEN_DEVICE_NAME 64
|
||
#define HD_LEN_DEVICE_ADDRESS 32
|
||
#define HD_LEN_DEVICE_DESCRIPTION 128
|
||
#define HD_LEN_DEVICE_EXT_PARAM 512
|
||
|
||
#define HD_LEN_SCANGROUP_NAME 64
|
||
#define HD_LEN_SCANGROUP_DESCRIPTION 128
|
||
#define HD_LEN_SCANGROUP_EXT_PARAM 512
|
||
|
||
#define HD_LEN_FILTER_EXPR 128//过滤表达式长度
|
||
#define HD_LEN_CALC_EXPR 256//计算表达式的长度
|
||
#define HD_LEN_HD_SRV_NAME 64//iHyperDB数据源名称长度
|
||
|
||
|
||
#define MAC_ADDRESS_LEN 32
|
||
|
||
/* 权限管理约束 */
|
||
#define HD_LEN_SEC_PASSWORD 64
|
||
#define HD_LEN_SEC_GROUP_NAME 32
|
||
#define HD_LEN_SEC_TRUST_NAME 64
|
||
#define HD_LEN_SEC_USER_DESC 64
|
||
#define HD_LEN_SEC_GROUP_DESC 64
|
||
#define HD_LEN_SEC_IP_ADDRESS 16
|
||
#define HD_LEN_SEC_AUTH_ITEM_NAME 32
|
||
#define HD_LEN_SEC_AUTH_ITEM_DESC 64
|
||
|
||
#define HD_SEC_AUTH_TYPE_DEFAUT_VALUE 1
|
||
|
||
/*普通点,报警点,统计点, 计算点,SPC报警点类型*/
|
||
#define HD_TAG_CLASS_BASIC 0
|
||
#define HD_TAG_CLASS_ALARM 1
|
||
#define HD_TAG_CLASS_STATS 2
|
||
#define HD_TAG_CLASS_CALC 3
|
||
#define HD_TAG_CLASS_SPC 4
|
||
#define HD_TAG_CLASS_SYS 5
|
||
|
||
//Tag类别掩码
|
||
#define HD_TAG_CLASS_MASK_NORMAL_TAG 1
|
||
#define HD_TAG_CLASS_MASK_ALARM_TAG ((int64)1 << 1)
|
||
#define HD_TAG_CLASS_MASK_STATS_TAG ((int64)1 << 2)
|
||
#define HD_TAG_CLASS_MASK_CALC_TAG ((int64)1 << 3)
|
||
#define HD_TAG_CLASS_MASK_SPC_TAG ((int64)1 << 4)
|
||
|
||
#define HD_TAG_CLASS_MASK_ALL 0XFFFFFFFFFFFFFFFFLL
|
||
|
||
#define TAG_COL_TAGID 0
|
||
#define TAG_COL_REC_OWNER 1
|
||
#define TAG_COL_REC_GROUP 2
|
||
#define TAG_COL_TAG_NAME 3
|
||
#define TAG_COL_ARCHIVING 4
|
||
#define TAG_COL_COMP_DEV 5
|
||
#define TAG_COL_COMP_MAX 6
|
||
#define TAG_COL_COMP_TYPE 7
|
||
#define TAG_COL_REC_ACCESS 8
|
||
#define TAG_COL_SCAN 9
|
||
#define TAG_COL_SPAN 10
|
||
#define TAG_COL_MIN_VALUE 11
|
||
#define TAG_COL_TAG_TYPE 12
|
||
#define TAG_COL_TAG_CLASS 13
|
||
#define TAG_COL_DELETE 14
|
||
#define TAG_COL_VERSION 15
|
||
#define TAG_COL_MAX 15
|
||
//报警点特有的属性列
|
||
#define TAG_COL_TEST1 16
|
||
#define TAG_COL_TEST2 17
|
||
#define TAG_COL_TEST3 18
|
||
#define TAG_COL_TEST4 19
|
||
#define TAG_COL_ACTION1 20
|
||
#define TAG_COL_ACTION2 21
|
||
#define TAG_COL_ACTION3 22
|
||
#define TAG_COL_ACTION4 23
|
||
#define TAG_COL_SOURCE_TAG 24
|
||
#define TAG_COL_ALARM_GROUP_ID 25
|
||
#define TAG_COL_AUTOACK 26
|
||
#define TAG_COL_TIME_DEADBAND 27
|
||
#define TAG_COL_VALUE_DEADBAND 28
|
||
|
||
#define ALARM_TAG_COL_MAX 28
|
||
//统计点特有的属性列
|
||
#define TAG_COL_STATS_SOURCE_TAG_NAME 16
|
||
#define TAG_COL_STATS_TYPE 17
|
||
#define TAG_COL_STATS_SAMPLE_START_DATE 18
|
||
#define TAG_COL_STATS_SAMPLE_MODE 19
|
||
#define TAG_COL_STATS_SAMPLE_INTERVAL 20
|
||
#define TAG_COL_STATS_SAMPLE_BEGIN_OFFSET 21
|
||
#define TAG_COL_STATS_SAMPLE_END_OFFSET 22
|
||
#define TAG_COL_STATS_SAMPLE_MONTH_BEGIN_DAY 23
|
||
#define TAG_COL_STATS_SAMPLE_MONTH_END_DAY 24
|
||
#define TAG_COL_STATS_BEGIN_TIME_STAMP 25
|
||
#define TAG_COL_STATS_TIME_STAMP_OFFSET 26
|
||
#define TAG_COL_STATS_PERIOD 27
|
||
#define TAG_COL_STATS_PCT_GOOD 28
|
||
#define TAG_COL_STATS_FILTER_EXPR 29
|
||
#define TAG_COL_STATS_DROP_BAD_MODE 30
|
||
#define TAG_COL_STATS_COUNT_PARAM1 31
|
||
#define TAG_COL_STATS_COUNT_PARAM2 32
|
||
|
||
//V2
|
||
#define TAG_COL_STATS_SAMPLE_TYPE 33
|
||
#define TAG_COL_STATS_INTERP_OFFSET 34
|
||
#define TAG_COL_STATS_INTERP_PERIOD 35
|
||
#define TAG_COL_STATS_CONVER_TYPE 36
|
||
#define TAG_COL_STATS_CONVERSION 37
|
||
#define TAG_COL_STATS_FILTER_FAIL_MODE 38
|
||
#define TAG_COL_STATS_CALC_PERIOD 39
|
||
#define TAG_COL_STATS_RESET 40
|
||
#define TAG_COL_STATS_USE_BAD_VALUE 41
|
||
|
||
#define STATS_TAG_COL_MAX 41
|
||
|
||
/*计算点特有的属性列*/
|
||
#define TAG_COL_CALC_MODE 16
|
||
#define TAG_COL_CALC_PERIOD 17
|
||
#define TAG_COL_CALC_EXPR 18
|
||
#define TAG_COL_CALC_CALCHISTORY 19
|
||
#define TAG_COL_CALC_STARTDATE 20
|
||
#define TAG_COL_CALC_HAVRENDDATE 21
|
||
#define TAG_COL_CALC_ENDDATE 22
|
||
#define TAG_COL_CALC_SOURCETAGNAME 23
|
||
|
||
#define CALC_TAG_COL_MAX 23
|
||
|
||
/*SPC报警点特有的属性列*/
|
||
#define TAG_COL_SPC_SOURCE_TAG_NAME 16
|
||
#define TAG_COL_SPC_ALARM_GROUP_ID 17
|
||
#define TAG_COL_SPC_CTRL_CHART_TYPE 18
|
||
#define TAG_COL_SPC_TRIGGLE_MODE 19
|
||
#define TAG_COL_SPC_SAMPLE_SIZE 20
|
||
#define TAG_COL_SPC_SAMPLE_INTERVAL 21
|
||
#define TAG_COL_SPC_AUTO_ACK 22
|
||
#define TAG_COL_SPC_RULE 23
|
||
|
||
#define SPC_TAG_COL_MAX 23
|
||
|
||
#define TAG_PROP_ITEM_COUNT 24 //外部可见的TagProp item个数
|
||
|
||
#define TAG_PROP_ALL 0XFFFFFFFFFFFFFFFFLL //tag点属性的取值,表示Tag点的所有属性
|
||
//基本的Tag属性
|
||
#define TAG_PROP_TAG_NAME 1
|
||
#define TAG_PROP_ARCHIVING ((int64)1 << TAG_COL_ARCHIVING)
|
||
#define TAG_PROP_COMP_DEV ((int64)1 << TAG_COL_COMP_DEV)
|
||
#define TAG_PROP_COMP_MAX ((int64)1 << TAG_COL_COMP_MAX)
|
||
#define TAG_PROP_COMP_TYPE ((int64)1 << TAG_COL_COMP_TYPE)
|
||
#define TAG_PROP_MIN_VALUE ((int64)1 << TAG_COL_MIN_VALUE)
|
||
#define TAG_PROP_REC_ACCESS ((int64)1 << TAG_COL_REC_ACCESS)
|
||
#define TAG_PROP_REC_GROUP ((int64)1 << TAG_COL_REC_GROUP)
|
||
#define TAG_PROP_REC_OWNER ((int64)1 << TAG_COL_REC_OWNER)
|
||
#define TAG_PROP_SCAN ((int64)1 << TAG_COL_SCAN)
|
||
#define TAG_PROP_SPAN ((int64)1 << TAG_COL_SPAN)
|
||
#define TAG_PROP_TAGID ((int64)1 << TAG_COL_TAGID)
|
||
#define TAG_PROP_TAG_TYPE ((int64)1 << TAG_COL_TAG_TYPE)
|
||
#define TAG_PROP_TAG_CLASS ((int64)1 << TAG_COL_TAG_CLASS)
|
||
#define TAG_PROP_DELETE ((int64)1 << TAG_COL_DELETE)
|
||
|
||
//报警点特有的属性
|
||
#define TAG_PROP_TEST1 ((int64)1 << TAG_COL_TEST1)
|
||
#define TAG_PROP_TEST2 ((int64)1 << TAG_COL_TEST2)
|
||
#define TAG_PROP_TEST3 ((int64)1 << TAG_COL_TEST3)
|
||
#define TAG_PROP_TEST4 ((int64)1 << TAG_COL_TEST4)
|
||
#define TAG_PROP_ACTION1 ((int64)1 << TAG_COL_ACTION1)
|
||
#define TAG_PROP_ACTION2 ((int64)1 << TAG_COL_ACTION2)
|
||
#define TAG_PROP_ACTION3 ((int64)1 << TAG_COL_ACTION3)
|
||
#define TAG_PROP_ACTION4 ((int64)1 << TAG_COL_ACTION4)
|
||
#define TAG_PROP_SOURCE_TAG ((int64)1 << TAG_COL_SOURCE_TAG)
|
||
#define TAG_PROP_ALARM_GROUP_ID ((int64)1 << TAG_COL_ALARM_GROUP_ID)
|
||
#define TAG_PROP_AUTOACK ((int64)1 << TAG_COL_AUTOACK)
|
||
#define TAG_PROP_TIME_DEADBAND ((int64)1 << TAG_COL_TIME_DEADBAND)
|
||
#define TAG_PROP_VALUE_DEADBAND ((int64)1 << TAG_COL_VALUE_DEADBAND)
|
||
|
||
//统计点特有属性
|
||
#define TAG_PROP_STATS_SOURCE_TAG_NAME ((int64)1 << TAG_COL_STATS_SOURCE_TAG_NAME)
|
||
#define TAG_PROP_STATS_TYPE ((int64)1 << TAG_COL_STATS_TYPE)
|
||
#define TAG_PROP_STATS_SAMPLE_START_DATE ((int64)1 << TAG_COL_STATS_SAMPLE_START_DATE)
|
||
#define TAG_PROP_STATS_SAMPLE_MODE ((int64)1 << TAG_COL_STATS_SAMPLE_MODE)
|
||
#define TAG_PROP_STATS_SAMPLE_INTERVAL ((int64)1 << TAG_COL_STATS_SAMPLE_INTERVAL)
|
||
#define TAG_PROP_STATS_SAMPLE_BEGIN_OFFSET ((int64)1 << TAG_COL_STATS_SAMPLE_BEGIN_OFFSET)
|
||
#define TAG_PROP_STATS_SAMPLE_END_OFFSET ((int64)1 << TAG_COL_STATS_SAMPLE_END_OFFSET)
|
||
#define TAG_PROP_STATS_SAMPLE_MONTH_BEGIN_DAY ((int64)1 << TAG_COL_STATS_SAMPLE_MONTH_BEGIN_DAY)
|
||
#define TAG_PROP_STATS_SAMPLE_MONTH_END_DAY ((int64)1 << TAG_COL_STATS_SAMPLE_MONTH_END_DAY)
|
||
#define TAG_PROP_STATS_BEGIN_TIME_STAMP ((int64)1 << TAG_COL_STATS_BEGIN_TIME_STAMP)
|
||
#define TAG_PROP_STATS_TIME_STAMP_OFFSET ((int64)1 << TAG_COL_STATS_TIME_STAMP_OFFSET)
|
||
#define TAG_PROP_STATS_SCAN_PERIOD ((int64)1 << TAG_COL_STATS_PERIOD)
|
||
#define TAG_PROP_STATS_PCT_GOOD ((int64)1 << TAG_COL_STATS_PCT_GOOD)
|
||
#define TAG_PROP_STATS_FILTER_EXPR ((int64)1 << TAG_COL_STATS_FILTER_EXPR)
|
||
#define TAG_PROP_STATS_DROP_BAD_MODE ((int64)1 << TAG_COL_STATS_DROP_BAD_MODE)
|
||
#define TAG_PROP_STATS_COUNT_PARAM1 ((int64)1 << TAG_COL_STATS_COUNT_PARAM1)
|
||
#define TAG_PROP_STATS_COUNT_PARAM2 ((int64)1 << TAG_COL_STATS_COUNT_PARAM2)
|
||
#define TAG_PROP_STATS_SAMPLE_TYPE ((int64)1 << TAG_COL_STATS_SAMPLE_TYPE)
|
||
#define TAG_PROP_STATS_INTERP_OFFSET ((int64)1 << TAG_COL_STATS_INTERP_OFFSET)
|
||
#define TAG_PROP_STATS_INTERP_PERIOD ((int64)1 << TAG_COL_STATS_INTERP_PERIOD)
|
||
#define TAG_PROP_STATS_CONVER_TYPE ((int64)1 << TAG_COL_STATS_CONVER_TYPE)
|
||
#define TAG_PROP_STATS_CONVERSION ((int64)1 << TAG_COL_STATS_CONVERSION)
|
||
#define TAG_PROP_STATS_FILTER_FAIL_MODE ((int64)1 << TAG_COL_STATS_FILTER_FAIL_MODE)
|
||
#define TAG_PROP_STATS_CALC_PERIOD ((int64)1 << TAG_COL_STATS_CALC_PERIOD)
|
||
#define TAG_PROP_STATS_RESET ((int64)1 << TAG_COL_STATS_RESET)
|
||
#define TAG_PROP_STATS_USE_BAD_VALUE ((int64)1 << TAG_COL_STATS_USE_BAD_VALUE)
|
||
|
||
|
||
/*计算点特有的属性*/
|
||
#define TAG_PROP_CALC_MODE ((int64)1 << TAG_COL_CALC_MODE)
|
||
#define TAG_PROP_CALC_PERIOD ((int64)1 << TAG_COL_CALC_PERIOD)
|
||
#define TAG_PROP_CALC_EXPR ((int64)1 << TAG_COL_CALC_EXPR)
|
||
#define TAG_PROP_CALC_STARTDATE ((int64)1 << TAG_COL_CALC_STARTDATE)
|
||
#define TAG_PROP_CALC_ENDDATE ((int64)1 << TAG_COL_CALC_ENDDATE)
|
||
#define TAG_PROP_CALC_CALCHISTORY ((int64)1 << TAG_COL_CALC_CALCHISTORY)
|
||
#define TAG_PROP_CALC_HAVEENDTIME ((int64)1 << TAG_COL_CALC_HAVRENDDATE)
|
||
#define TAG_PROP_CALC_SOURCE_TAG_NAME ((int64)1 << TAG_COL_CALC_SOURCETAGNAME)
|
||
|
||
/*SPC点特有的属性*/
|
||
#define TAG_PROP_SPC_SOURCE_TAG_NAME ((int64)1 << TAG_COL_SPC_SOURCE_TAG_NAME)
|
||
#define TAG_PROP_SPC_ALARM_GROUP_ID ((int64)1 << TAG_COL_SPC_ALARM_GROUP_ID)
|
||
#define TAG_PROP_SPC_CTRL_CHART_TYPE ((int64)1 << TAG_COL_SPC_CTRL_CHART_TYPE)
|
||
#define TAG_PROP_SPC_TRIGGLE_MODE ((int64)1 << TAG_COL_SPC_TRIGGLE_MODE)
|
||
#define TAG_PROP_SPC_SAMPLE_SIZE ((int64)1 << TAG_COL_SPC_SAMPLE_SIZE)
|
||
#define TAG_PROP_SPC_SAMPLE_INTERVAL ((int64)1 << TAG_COL_SPC_SAMPLE_INTERVAL)
|
||
#define TAG_PROP_SPC_AUTO_ACK ((int64)1 << TAG_COL_SPC_AUTO_ACK)
|
||
#define TAG_PROP_SPC_RULE ((int64)1 << TAG_COL_SPC_RULE)
|
||
|
||
#define SPC_RULE(NUM)\
|
||
uint32 nUCLTagID;\
|
||
uint32 nCLTagID;\
|
||
uint32 nLCLTagID;\
|
||
uint32 nUSLTagID;\
|
||
uint32 nLSLTagID;\
|
||
uint32 nResetTagID;\
|
||
float64 dUCLDefaultValue;\
|
||
float64 dCLDefaultVaule;\
|
||
float64 dLCLDefaultValue;\
|
||
bool bRule1;\
|
||
bool bRule2;\
|
||
bool bRule3;\
|
||
bool bRule4;\
|
||
bool bRule5;\
|
||
bool bRule6;\
|
||
bool bRule7;\
|
||
bool bRule8;\
|
||
uint32 nRule1M;\
|
||
uint32 nRule2M;\
|
||
uint32 nRule3M;\
|
||
uint32 nRule4M;\
|
||
uint32 nRule5M;\
|
||
uint32 nRule6M;\
|
||
uint32 nRule7M;\
|
||
uint32 nRule8M;\
|
||
uint32 nRule5N;\
|
||
uint32 nRule6N;\
|
||
bool bJudgeContinuous
|
||
|
||
|
||
//删除分布式版本不需要的属性
|
||
#define TAG_BASE_PROP(NUM) \
|
||
char szTagName[HD_LEN_TAG_NAME * NUM]; \
|
||
bool bArchiving; \
|
||
float fCompDev; \
|
||
int32 nCompMaxTime; \
|
||
uint8 nCompType; \
|
||
uint8 nRecAccess; \
|
||
uint32 nRecNormalGroupID; \
|
||
uint32 nRecOwnerGroupID; \
|
||
uint32 nTagID; \
|
||
uint8 nTagType; \
|
||
bool bScan; \
|
||
float fSpan; \
|
||
float fMinValue; \
|
||
uint8 nTagClass; \
|
||
bool bDelete
|
||
|
||
|
||
#define TAG_EXT_PROP(NUM) \
|
||
char szInstrumentPoint[HD_LEN_INSTURMENT_POINT * NUM]; \
|
||
uint8 nInstrumentPointType; \
|
||
char szCollectorName[HD_LEN_COLLECTOR_NAME * NUM]; \
|
||
int32 nCollectorID; \
|
||
char szDeviceName[HD_LEN_DEVICE_NAME * NUM]; \
|
||
int32 nDeviceID; \
|
||
char szScanGroupName[HD_LEN_SCANGROUP_NAME * NUM]; \
|
||
int32 nScanGroupID; \
|
||
uint8 nParam1; \
|
||
uint8 nParam2; \
|
||
uint8 nParam3; \
|
||
uint8 nParam4; \
|
||
uint8 nParam5
|
||
|
||
#define ALARM_TAG_EXT_PROP(NUM) \
|
||
char szTest1[HD_LEN_ALARM_TEST * NUM]; \
|
||
char szTest2[HD_LEN_ALARM_TEST * NUM]; \
|
||
char szTest3[HD_LEN_ALARM_TEST * NUM]; \
|
||
char szTest4[HD_LEN_ALARM_TEST * NUM]; \
|
||
char szAction1[HD_LEN_ALARM_ACTION * NUM]; \
|
||
char szAction2[HD_LEN_ALARM_ACTION * NUM]; \
|
||
char szAction3[HD_LEN_ALARM_ACTION * NUM]; \
|
||
char szAction4[HD_LEN_ALARM_ACTION * NUM]; \
|
||
uint32 nSourceTagID; \
|
||
uint32 nAlarmGroupID; \
|
||
uint8 nAutoAck ; \
|
||
int32 nTimeDeadBand; \
|
||
float fValueDeadBand
|
||
|
||
#define STATS_TAG_EXT_PROP(NUM) \
|
||
char szSourceTagName[HD_LEN_TAG_NAME * NUM]; \
|
||
uint8 nStatsType; \
|
||
int32 nSampleStartDate; \
|
||
uint8 nSampleMode; \
|
||
int32 nSampleInerval; \
|
||
int32 nSampleBeginOffset; \
|
||
int32 nSampleEndOffset; \
|
||
uint8 nSampleMonthBeginDay; \
|
||
uint8 nSampleMonthEndDay; \
|
||
bool bBeginTimeStamp; \
|
||
int32 nTimeStampOffset; \
|
||
int32 nScanPeriod; \
|
||
float fPctGood; \
|
||
char szFilterExpr[HD_LEN_FILTER_EXPR * NUM]; \
|
||
uint8 nDropBadMode; \
|
||
double dCountParam1; \
|
||
double dCountParam2
|
||
|
||
|
||
#define STATS_TAG_EXT_PROP_V2(NUM) \
|
||
uint8 nSampleType; \
|
||
int32 nInterpOffset; \
|
||
int32 nInterpPeriod; \
|
||
uint8 nConverType; \
|
||
double dConversion; \
|
||
uint8 nFilterFailMode; \
|
||
int32 nCalcPeriod; \
|
||
bool bReset; \
|
||
bool bUseBadValue
|
||
|
||
#define Calc_TAG_EXT_PROP(NUM) \
|
||
uint8 nCalcMode; \
|
||
int32 nCalcPeriod; \
|
||
char szCalcExpr[HD_LEN_CALC_EXPR * NUM]; \
|
||
bool bCalcHistory; \
|
||
int32 nCalcStartDate; \
|
||
int32 nCalcEndDate; \
|
||
bool bHaveEndTime; \
|
||
char szSourceTagName[HD_LEN_TAG_NAME * NUM]
|
||
|
||
#define SPC_TAG_EXT_PROP(NUM) \
|
||
uint32 nSourceTagID; \
|
||
uint32 nAlarmGroupID; \
|
||
uint8 nCtrlChartType; \
|
||
uint8 nTriggleMode; \
|
||
int32 nSampleSize; \
|
||
int32 nSampleInerval; \
|
||
bool bAutoAck; \
|
||
SPC_RULE(NUM)
|
||
|
||
|
||
|
||
/*点属性结构 */
|
||
typedef struct _TagBaseProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
}TagBaseProp;
|
||
|
||
typedef struct _TagProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
}TagProp;
|
||
|
||
typedef struct _AlarmTagProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
ALARM_TAG_EXT_PROP(1);
|
||
}AlarmTagProp;
|
||
|
||
typedef struct _SPCAlarmTagProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
SPC_TAG_EXT_PROP(1);
|
||
}SPCAlarmTagProp;
|
||
|
||
typedef struct _StatsTagProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
STATS_TAG_EXT_PROP(1);
|
||
}StatsTagProp;
|
||
|
||
typedef struct _StatsTagPropV2
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
STATS_TAG_EXT_PROP(1);
|
||
STATS_TAG_EXT_PROP_V2(1);
|
||
}StatsTagPropV2;
|
||
|
||
typedef struct _CalcTagProp
|
||
{
|
||
TAG_BASE_PROP(1);
|
||
Calc_TAG_EXT_PROP(1);
|
||
}CalcTagProp;
|
||
|
||
typedef struct _QueryTagPropItem
|
||
{
|
||
uint8 nPropItemID;
|
||
uint8 nRelation;
|
||
char szValue[LENGTH_QUERY_ITEM_VALUE];
|
||
}QueryTagPropItem;
|
||
|
||
|
||
//条件查询报警记录时的查询项ID
|
||
#define ALARM_REC_QUERY_ITEM_MIN 0
|
||
#define ALARM_REC_QUERY_ITEM_PRIORITY 0 //优先级
|
||
#define ALARM_REC_QUERY_ITEM_ACK 1 //确认状态
|
||
#define ALARM_REC_QUERY_ITEM_ALARM_TYPE 2 //报警类型
|
||
#define ALARM_REC_QUERY_ITEM_NORMAL 3 //是否查询正常的报警记录
|
||
#define ALARM_REC_QUERY_ITEM_MAX 3
|
||
typedef struct _QueryAlarmRecItem
|
||
{
|
||
uint8 nItemID;
|
||
uint8 nRelation;
|
||
char szValue[HD_LEN_QUERY_ALARM_REC_ITEM_VALUE];
|
||
}QueryAlarmRecItem;
|
||
|
||
/*用于历史报警记录查询,表明选中所有的可选项*/
|
||
#define MASK_ALARM_ALL 0XFF
|
||
|
||
/*报警记录的确认状态*/
|
||
#define ALARM_STATE_UNACK 0
|
||
#define ALARM_STATE_ACK 1
|
||
|
||
/*报警确认状态掩码,用于历史报警查询接口*/
|
||
#define MASK_ALARM_STATE_ACK (1 << ALARM_STATE_ACK)
|
||
#define MASK_ALARM_STATE_UNACK (1 << ALARM_STATE_UNACK)
|
||
|
||
|
||
/*恢复状态*/
|
||
#define ALARM_STATE_UNRESTORE 0
|
||
#define ALARM_STATE_RESTORE 1
|
||
/*掩码*/
|
||
#define MASK_ALARM_STATE_RESTORE (1 << ALARM_STATE_RESTORE)
|
||
#define MASK_ALARM_STATE_UNRESTORE (1 << ALARM_STATE_UNRESTORE)
|
||
|
||
|
||
/*注释状态*/
|
||
#define ALARM_STATE_UNCOMMENT 0
|
||
#define ALARM_STATE_COMMENT 1
|
||
/*掩码*/
|
||
#define MASK_ALARM_STATE_COMMENT (1 << ALARM_STATE_COMMENT)
|
||
#define MASK_ALARM_STATE_UNCOMMENT (1 << ALARM_STATE_UNCOMMENT)
|
||
|
||
|
||
/*报警记录的优先级,0为最低*/
|
||
#define ALARM_PRI_FIRST 1
|
||
#define ALARM_PRI_SECOND 2
|
||
#define ALARM_PRI_THIRD 3
|
||
#define ALARM_PRI_FORTH 4
|
||
#define ALARM_PRI_COUNT 4
|
||
|
||
/*报警优先级掩码,用于历史报警查询接口*/
|
||
#define MASK_ALARM_PRIORITY_LOW (1 << ALARM_PRI_FIRST)
|
||
#define MASK_ALARM_PRIORITY_MID (1 << ALARM_PRI_SECOND)
|
||
#define MASK_ALARM_PRIORITY_HIGH (1 << ALARM_PRI_THIRD)
|
||
#define MASK_ALARM_PRIORITY_EMER (1 << ALARM_PRI_FORTH)
|
||
|
||
/*报警记录的报警类型*/
|
||
#define ALARM_TYPE_LOLO 1
|
||
#define ALARM_TYPE_LOW 2
|
||
#define ALARM_TYPE_HIHI 3
|
||
#define ALARM_TYPE_HIGH 4
|
||
#define ALARM_TYPE_CHANGE 5
|
||
#define ALARM_TYPE_COUNT 5
|
||
|
||
/*报警类型的掩码,用于历史报警查询接口*/
|
||
#define MASK_ALARM_TYPE_LOLO (1 << ALARM_TYPE_LOLO)
|
||
#define MASK_ALARM_TYPE_LOW (1 << ALARM_TYPE_LOW)
|
||
#define MASK_ALARM_TYPE_HIHI (1 << ALARM_TYPE_HIHI)
|
||
#define MASK_ALARM_TYPE_HIGH (1 << ALARM_TYPE_HIGH)
|
||
#define MASK_ALARM_TYPE_CHANGE (1 << ALARM_TYPE_CHANGE)
|
||
|
||
//报警记录属性掩码
|
||
#define ALARM_REC_PROP_ALARM_TAG_ID 1
|
||
#define ALARM_REC_PROP_START_TIME ((int64)1 << 1)
|
||
#define ALARM_REC_PROP_END_TIME ((int64)1 << 2)
|
||
#define ALARM_REC_PROP_ACK_TIME ((int64)1 << 3)
|
||
#define ALARM_REC_PROP_COMMENT_TIME ((int64)1 << 4)
|
||
#define ALARM_REC_PROP_ACKED ((int64)1 << 5)
|
||
#define ALARM_REC_PROP_RESTORED ((int64)1 << 6)
|
||
#define ALARM_REC_PROP_PRIORITY ((int64)1 << 7)
|
||
#define ALARM_REC_PROP_ACK_TYPE ((int64)1 << 8)
|
||
#define ALARM_REC_PROP_ALARM_TYPE ((int64)1 << 9)
|
||
#define ALARM_REC_PROP_SRC_VALUE ((int64)1 << 10)
|
||
#define ALARM_REC_PROP_TEST ((int64)1 << 11)
|
||
#define ALARM_REC_PROP_COMMENT ((int64)1 << 12)
|
||
#define ALARM_REC_PROP_ACKER ((int64)1 << 13)
|
||
#define ALARM_REC_PROP_COMMENTOR ((int64)1 << 14)
|
||
#define ALARM_REC_PROP_COMMENTED ((int64)1 << 15)
|
||
|
||
#define ALARM_REC_PROP_ALL 0xFFFF
|
||
|
||
#define ALARM_ACK_TYPE_MANUAL 1
|
||
#define ALARM_ACK_TYPE_AUTO 2
|
||
#define ALARM_ACK_TYPE_COUNT 2
|
||
|
||
#define ALARM_TAG_PROP_NUM_EXCEL_MAX 24
|
||
|
||
|
||
|
||
//条件查询记录时的查询项ID
|
||
#define REC_QUERY_ITEM_MIN 0
|
||
#define REC_QUERY_ITEM_QUALITY 0 //质量
|
||
#define REC_QUERY_ITEM_VALUE 1 //值
|
||
#define REC_QUERY_ITEM_MAX 1
|
||
|
||
typedef struct _QueryRecItem
|
||
{
|
||
uint8 nItemID;
|
||
uint8 nRelation;
|
||
uint8 nItemValueLen;
|
||
char* pItemValue;
|
||
}QueryRecItem;
|
||
|
||
#define RELATION_MIN 0
|
||
#define RELATION_EQUAL 0
|
||
#define RELATION_NON_EQUAL 1
|
||
#define RELATION_GREAT 2
|
||
#define RELATION_LESS 3
|
||
#define RELATION_GREAT_AND_EQUAL 4
|
||
#define RELATION_LESS_AND_EQUAL 5
|
||
#define RELATION_LIKE 6
|
||
#define RELATION_MAX 6
|
||
|
||
|
||
|
||
/** 时间从1970年1月0日00:00:01到2038年1月19日3:14:06 */
|
||
typedef struct _HDTimeStamp{
|
||
int32 month; /**< 1-12 */
|
||
int32 year; /**< four digit */
|
||
int32 day; /**< 1-31 */
|
||
int32 hour; /**< 0-23 */
|
||
int32 minute; /**< 0-59 */
|
||
int32 second; /**< 0-59*/
|
||
int32 mSecond; /**< 0-999*/
|
||
int32 timezone; /**< -12~12*/
|
||
}HDTimeStamp;
|
||
|
||
typedef struct
|
||
{
|
||
int32 nSec;
|
||
int16 nMsec;
|
||
}HDTime;
|
||
|
||
typedef struct _HDTimeRegion
|
||
{
|
||
HDTime left; //左区间
|
||
HDTime right; //右区间
|
||
bool bLeftClosed; //左区间开或是闭
|
||
bool bRightClosed; //右区间开或是闭
|
||
}HDTimeRegion;
|
||
|
||
|
||
|
||
#define API_CLIENT_MAX_SOCKET_NUM 100
|
||
typedef struct _HDClientConnInfo
|
||
{
|
||
uint32 nClientIp;
|
||
char szMac[32];
|
||
int32 nSocketNum;
|
||
SOCKET nSocket[API_CLIENT_MAX_SOCKET_NUM];
|
||
}HDClientConnInfo;
|
||
|
||
typedef struct _HDSocketNetInfo
|
||
{
|
||
SOCKET nSocket;
|
||
int32 nConnectTime;
|
||
int32 nPackageRecvNum;
|
||
int32 nPackageRecvTime;
|
||
char szUserName[HD_LEN_USER_NAME*2];
|
||
}HDSocketNetInfo;
|
||
|
||
#define HD_LEN_HD_VERSION 128
|
||
// 节点配置信息
|
||
typedef struct _HDServerCfg{
|
||
int32 nPort; //网络端口号
|
||
int32 nArchFileSizeMB; //单个归档文件的大小
|
||
int32 nArchFileNum; //归档文件个数
|
||
int32 nSeqFileSizeMB; //单个序列缓存文件的大小
|
||
int32 nSeqCacheFlushPeriodSec; // 序列缓存刷新频率
|
||
bool bAutoDisconn; //是否自动断开无数据交互的连接
|
||
int32 nAutoDisconnPeriodSec; //自动无数据交互连接的超时时间
|
||
bool bSysInfoCollect; //是否采集系统信息
|
||
int32 nSysInfoCollectPeriodSec; //系统信息采集间隔
|
||
bool bDiscardFutureData; //是否丢弃超过服务器时间戳的未来数据
|
||
int32 nDiscardFutureDataTimeDelterSec; //超过服务器时间戳的时间偏差
|
||
int64 nMachineTimeMs; //服务端的相对时间(毫秒)
|
||
int32 nEnableExportBigData;
|
||
int32 nEnableRyBigData;
|
||
char szHDVersion[HD_LEN_HD_VERSION];
|
||
}HDServerCfg;
|
||
|
||
// rest配置信息
|
||
//paramBody.put("name", dsName);
|
||
// paramBody.put("hostip", hostip);
|
||
// paramBody.put("port", port);
|
||
// paramBody.put("user", user);
|
||
// paramBody.put("password", pwd);
|
||
// paramBody.put("hostname", "/");
|
||
// paramBody.put("exchange", "v6-direct-exchange");
|
||
// paramBody.put("routingrtalms", "CR_AL_00");
|
||
// paramBody.put("routingclearalm", "CR_AL_01");
|
||
// paramBody.put("routingrtrec", "CR_RT_00");
|
||
// paramBody.put("routingcrs", "CR_RS_00");
|
||
// */
|
||
#define HD_LEN_REST_CONFIG_COMMON 64
|
||
typedef struct _HDRestCfg{
|
||
char szDsName[HD_LEN_REST_CONFIG_COMMON];
|
||
char szHostIP[HD_LEN_REST_CONFIG_COMMON];
|
||
char szPort[HD_LEN_REST_CONFIG_COMMON];
|
||
char szPassword[HD_LEN_REST_CONFIG_COMMON];
|
||
char szMaxTotal[HD_LEN_REST_CONFIG_COMMON];
|
||
char szMaxWait[HD_LEN_REST_CONFIG_COMMON];
|
||
char szMasterName[HD_LEN_REST_CONFIG_COMMON];
|
||
char szRoutingrtalms[HD_LEN_REST_CONFIG_COMMON];
|
||
char szRoutingclearalm[HD_LEN_REST_CONFIG_COMMON];
|
||
char szRoutingrtrec[HD_LEN_REST_CONFIG_COMMON];
|
||
char szRoutingcrs[HD_LEN_REST_CONFIG_COMMON];
|
||
char szUser[HD_LEN_REST_CONFIG_COMMON];
|
||
char szHostName[HD_LEN_REST_CONFIG_COMMON];
|
||
char szExChange[HD_LEN_REST_CONFIG_COMMON];
|
||
char szExtend1[HD_LEN_REST_CONFIG_COMMON];
|
||
char szExtend2[HD_LEN_REST_CONFIG_COMMON];
|
||
char szExtend3[HD_LEN_REST_CONFIG_COMMON];
|
||
char szExtend4[HD_LEN_REST_CONFIG_COMMON];
|
||
}HDRestCfg;
|
||
|
||
/** iHyperDB 注册信息ID+域 */
|
||
typedef struct _HDRegInfo
|
||
{
|
||
uint32 nTagID; /**< TAG点ID*/
|
||
uint32 nFieldID; /**< 域ID*/
|
||
} HDRegInfo;
|
||
|
||
typedef struct
|
||
{
|
||
int32 nSec;
|
||
int16 nMsec;
|
||
uint16 nQuality;
|
||
uint8 nTagType;
|
||
struct
|
||
{
|
||
int8 nInt8;
|
||
int16 nInt16;
|
||
int32 nInt32;
|
||
float32 fFloat32;
|
||
float64 fFloat64;
|
||
int8 nDigital;
|
||
struct
|
||
{
|
||
char* pBuf;
|
||
uint16 nLenBuf;
|
||
}strBlob;
|
||
}value;
|
||
}HDRecord;
|
||
|
||
|
||
// Driver types
|
||
#define DRIVER_TYPE_OPC 1
|
||
#define DRIVER_TYPE_TCPMODBUS 2
|
||
|
||
//统计类型
|
||
#define HD_STATS_TYPE_MAX 0 //最大值
|
||
#define HD_STATS_TYPE_MIN 1 //最小值
|
||
#define HD_STATS_TYPE_SUM 2 //求和
|
||
#define HD_STATS_TYPE_LAST 3 //最新值
|
||
#define HD_STATS_TYPE_PCT_GOOD 4 //可信度
|
||
#define HD_STATS_TYPE_ARITH_MEAN 5 //算术平均值
|
||
#define HD_STATS_TYPE_TIME_WEIGHTED_MEAN 6 //时间加权平均值
|
||
#define HD_STATS_TYPE_INTEGRAL 7 //积分
|
||
#define HD_STATS_TYPE_COUNT_CHG_VALUE 8 //值变化
|
||
#define HD_STATS_TYPE_COUNT_CHG_FROM_LESS_TO_GREAT 9 //区间变化,从<=到>=
|
||
#define HD_STATS_TYPE_COUNT_CHG_FROM_GREAT_TO_LESS 10 //区间变化,从>=到<=
|
||
#define HD_STATS_TYPE_DIFF 11 //差值统计
|
||
#define HD_STATS_TYPE_COUNT_IN_RANGE 12 //值在区间
|
||
#define HD_STATS_TYPE_COUNT_NOT_IN_RANGE 13 //值不在区间
|
||
#define HD_STATS_TYPE_RANGE 14 //极差
|
||
#define HD_STATS_TYPE_STANDARD_DEVIATION 15 //标准差
|
||
#define HD_STATS_TYPE_TIME_GT 16 //大于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_GE 17 //大于等于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_EQ 18 //等于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_NE 19 //不等于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_LT 20 //小于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_LE 21 //小于等于某个值的时间
|
||
#define HD_STATS_TYPE_TIME_IN_RANGE 22 //在某个值区间的时间
|
||
#define HD_STATS_TYPE_TIME_NOT_IN_RANGE 23 //不在某个值区间的时间
|
||
#define HD_STATS_TYPE_LIMIT_MAX 23 //统计类型值的最大值, 做校验用
|
||
|
||
//统计点采样模式
|
||
#define HD_STATS_SAMPLE_MODE_INTERVAL 0 //统计等间隔采样
|
||
#define HD_STATS_SAMPLE_MODE_EVERY_DAY 1 //统计每天同时段采样
|
||
#define HD_STATS_SAMPLE_MODE_EVERY_MONTH 2 //统计每月同时段采样
|
||
#define HD_STATS_SAMPLE_MODE_TIME_MOVING 3 //时间移动采样
|
||
#define HD_STATS_SAMPLE_MODE_FOREVER 4 //时间移动采样
|
||
#define HD_STATS_SAMPLE_MODE_MAX 5
|
||
|
||
//统计转换类型
|
||
#define HD_STATS_CONVERSION_TYPE_AMPLIFICATION 0 //统计值放大
|
||
#define HD_STATS_CONVERSION_TYPE_MINIFICATION 1 //统计值缩小
|
||
|
||
#define HD_STATS_CONVERSION_TYPE_MAX 1//最大值,做校验
|
||
|
||
//统计点采样类型
|
||
#define HD_STATS_SAMPLE_TYPE_RAW 0 //采样点都是原始值
|
||
#define HD_STATS_SAMPLE_TYPE_LINER_INTERP 1 //采样点都是线性插值
|
||
#define HD_STATS_SAMPLE_TYPE_PREV_INTERP 2 //采样点都是前向插值
|
||
#define HD_STATS_SAMPLE_TYPE_MAX 2 //最大采样类型值
|
||
|
||
//统计点弃坏点模式
|
||
#define HD_STATS_DROP_BAD_MODE_REC 0 //弃坏点模式——弃bad记录
|
||
#define HD_STATS_DROP_BAD_MODE_AREA 1 //弃坏点模式——弃bad记录相邻的区域
|
||
#define HD_STATS_DROP_BAD_MODE_MAX 1
|
||
|
||
// 求均值模式
|
||
#define HD_STATS_TIMED_WEIGHT_MODE 1 //以时间为权值
|
||
#define HD_STATS_RECORD_WEIGHT_MODE 2 // 无权值
|
||
|
||
|
||
// count计算模式,值变化模式和区间变化模式
|
||
#define HD_STATS_COUNT_MODE_CHANGE_VALUE 1
|
||
#define HD_STATS_COUNT_MODE_GREATER_CHANGE_TO_LESS 2
|
||
#define HD_STATS_COUNT_MODE_LESS_CHANGE_TO_GREATER 3
|
||
#define HD_STATS_COUNT_MODE_IN_RANGE 4
|
||
#define HD_STATS_COUNT_MODE_NOT_IN_RANGE 5
|
||
|
||
// 过滤表达式计算失败是否需过滤
|
||
#define HD_STATS_FILTER_FAIL_MODE_FIL 0
|
||
#define HD_STATS_FILTER_FAIL_MODE_NO_FIL 1
|
||
#define HD_STATS_FILTER_FAIL_MODE_LIMIT_MAX 1
|
||
|
||
/*计算点模式*/
|
||
#define HD_CALC_MODE_POLL 0 //计算模式——轮询
|
||
#define HD_CALC_MODE_NOTIFY 1 //计算模式——通知
|
||
|
||
#define HD_CALC_MODE_MAX 1 //计算模式的最大值,用来校验
|
||
|
||
//tag分组下载
|
||
#define RES_TAG_NAME_SERVER_IP "服务器IP"
|
||
#define RES_TAG_NAME_SERVER_PORT "端口号"
|
||
#define RES_TAG_NAME_TAGID "TagID"
|
||
#define RES_TAG_NAME_TAGNAME "Tag名称"
|
||
#define RES_TAG_NAME_TAGTYPE "Tag类别"
|
||
#define RES_TAG_NAME_TAG_DISC "Tag描述"
|
||
#define RES_TAG_NAME_NODENAME "节点名称"
|
||
#define RES_TAG_NAME_NODEID "节点ID"
|
||
#define RES_TAG_NAME_GROUPPATH "分组路径"
|
||
|
||
//采集器类型
|
||
enum
|
||
{
|
||
COLLECTOR_TYPE_INVALID = -1,
|
||
COLLECTOR_TYPE_OPC,
|
||
COLLECTOR_TYPE_MODBUS,
|
||
COLLECTOR_TYPE_RDB,
|
||
COLLECTOR_TYPE_IHD,
|
||
COLLECTOR_TYPE_MAX
|
||
};
|
||
|
||
//记录的插值查询模式
|
||
#define HD_REC_INTERP_QUERY_MODE_LINEAR 0 //线性插值
|
||
#define HD_REC_INTERP_QUERY_MODE_PREV 1 //前向插值
|
||
#define HD_REC_INTERP_QUERY_MODE_MAX 1 //最大值,用来校验
|
||
|
||
// 数据量状态集
|
||
#define HD_DIGITAL_SET_MAX_STATE_NUM 256
|
||
#define HD_DIGITAL_SET_MAX_STATE_VAL 127
|
||
#define HD_DIGITAL_SET_MIN_STATE_VAL -128
|
||
|
||
// 采集器状态点类型
|
||
#define HD_CT_STATUS_TAG_TYPE_COLLECTOR 1
|
||
#define HD_CT_STATUS_TAG_TYPE_DEVICE 2
|
||
|
||
//SPC报警控制图类型对应于SPCBasicDef.h中的枚举类型 SPCChartType
|
||
#define HD_SPC_CTRL_CHART_TYPE_MIN 13 //控制图类型的最小值,用来做参数校验
|
||
#define HD_SPC_CTRL_CHART_TYPE_XBAR 13 //XBar类型
|
||
#define HD_SPC_CTRL_CHART_TYPE_R 14 //R图
|
||
#define HD_SPC_CTRL_CHART_TYPE_S 15 //S图
|
||
#define HD_SPC_CTRL_CHART_TYPE_MAX 15 //控制图类型的最大值,用来做参数校验
|
||
|
||
//SPC报警触发模式
|
||
#define HD_SPC_TRIGGLE_MODE_TRIGGLE 0
|
||
#define HD_SPC_TRIGGLE_MODE_MAX 0
|
||
|
||
//SPC报警记录属性掩码
|
||
#define SPC_ALARM_REC_PROP_SPC_TAG_ID 1
|
||
#define SPC_ALARM_REC_PROP_START_TIME ((int64)1 << 1)
|
||
#define SPC_ALARM_REC_PROP_END_TIME ((int64)1 << 2)
|
||
#define SPC_ALARM_REC_PROP_ACK_TIME ((int64)1 << 3)
|
||
#define SPC_ALARM_REC_PROP_COMMENT_TIME ((int64)1 << 4)
|
||
#define SPC_ALARM_REC_PROP_ACKED ((int64)1 << 5)
|
||
#define SPC_ALARM_REC_PROP_ACK_TYPE ((int64)1 << 6)
|
||
#define SPC_ALARM_REC_PROP_RESTORED ((int64)1 << 7)
|
||
#define SPC_ALARM_REC_PROP_COMMENTED ((int64)1 << 8)
|
||
#define SPC_ALARM_REC_PROP_ALARM_VALUE ((int64)1 << 9)
|
||
#define SPC_ALARM_REC_PROP_RULE ((int64)1 << 10)
|
||
#define SPC_ALARM_REC_PROP_SRC_VALUE ((int64)1 << 11)
|
||
#define SPC_ALARM_REC_PROP_COMMENT ((int64)1 << 12)
|
||
#define SPC_ALARM_REC_PROP_ACKER ((int64)1 << 13)
|
||
#define SPC_ALARM_REC_PROP_COMMENTOR ((int64)1 << 14)
|
||
|
||
#define SPC_ALARM_REC_PROP_ALL 0xFFFF
|
||
|
||
//SPC报警规则M,N值的最大值和最小值
|
||
#define SPC_ALARM_RULE_M_N_VALUE_MIN 1
|
||
#define SPC_ALARM_RULE_M_N_VALUE_MAX 99
|
||
|
||
//SPC报警值掩码
|
||
#define SPC_ALARM_VALUE_MASK_RULE1 1
|
||
#define SPC_ALARM_VALUE_MASK_RULE2 ((int8)1 << 1)
|
||
#define SPC_ALARM_VALUE_MASK_RULE3 ((int8)1 << 2)
|
||
#define SPC_ALARM_VALUE_MASK_RULE4 ((int8)1 << 3)
|
||
#define SPC_ALARM_VALUE_MASK_RULE5 ((int8)1 << 4)
|
||
#define SPC_ALARM_VALUE_MASK_RULE6 ((int8)1 << 5)
|
||
#define SPC_ALARM_VALUE_MASK_RULE7 ((int8)1 << 6)
|
||
#define SPC_ALARM_VALUE_MASK_RULE8 ((int8)1 << 7)
|
||
|
||
// 系统点前缀
|
||
#define HD_SYS_TAG_PREFIX "hdsys"
|
||
|
||
//OPC发布状态
|
||
#define HD_TAG_OPC_STATE_UNRELEASE 0
|
||
#define HD_TAG_OPC_STATE_RELEASE 1
|
||
|
||
#define LICENSE_OEM_VCODE_MAXLEN 4
|
||
|
||
// API版本
|
||
#define HD_API_VER_0 0
|
||
#define HD_API_VER_1 1
|
||
|
||
//授权项的权限类型
|
||
#define HD_SEC_AUTH_READ_DISABLE 0
|
||
#define HD_SEC_AUTH_READ_ENABLE 1
|
||
|
||
#define HD_SEC_AUTH_MAX 1//用来校验
|
||
|
||
#define HD_INS_POINT_TYPE_BASE 1
|
||
//modbus data point type
|
||
#define HD_INS_POINT_TYPE_INT8 (HD_INS_POINT_TYPE_BASE + 0)
|
||
#define HD_INS_POINT_TYPE_UINT8 (HD_INS_POINT_TYPE_BASE + 1)
|
||
#define HD_INS_POINT_TYPE_INT16 (HD_INS_POINT_TYPE_BASE + 2)
|
||
#define HD_INS_POINT_TYPE_UINT16 (HD_INS_POINT_TYPE_BASE + 3)
|
||
#define HD_INS_POINT_TYPE_INT32 (HD_INS_POINT_TYPE_BASE + 4)
|
||
#define HD_INS_POINT_TYPE_UINT32 (HD_INS_POINT_TYPE_BASE + 5)
|
||
#define HD_INS_POINT_TYPE_FLOAT (HD_INS_POINT_TYPE_BASE + 6)
|
||
#define HD_INS_POINT_TYPE_DOUBLE (HD_INS_POINT_TYPE_BASE + 7)
|
||
#define HD_INS_POINT_TYPE_STRING (HD_INS_POINT_TYPE_BASE + 8)
|
||
#define HD_INS_POINT_TYPE_BLOB (HD_INS_POINT_TYPE_BASE + 9)
|
||
#define HD_INS_POINT_TYPE_DIGITAL (HD_INS_POINT_TYPE_BASE + 10)
|
||
#define HD_INS_POINT_TYPE_MAX (HD_INS_POINT_TYPE_BASE + 11)
|
||
|
||
|
||
#define HD_MODBUS_DATA_ORDER_BASE 1
|
||
|
||
#define HD_MODBUS_DATA_NO_ORDER (HD_MODBUS_DATA_ORDER_BASE - 1)
|
||
|
||
#define HD_MODBUS_DATA_ORDER_12 (HD_MODBUS_DATA_ORDER_BASE + 0)
|
||
#define HD_MODBUS_DATA_ORDER_21 (HD_MODBUS_DATA_ORDER_BASE + 1)
|
||
#define HD_MODBUS_DATA_ORDER_1234 (HD_MODBUS_DATA_ORDER_BASE + 2)
|
||
#define HD_MODBUS_DATA_ORDER_2143 (HD_MODBUS_DATA_ORDER_BASE + 3)
|
||
#define HD_MODBUS_DATA_ORDER_3412 (HD_MODBUS_DATA_ORDER_BASE + 4)
|
||
#define HD_MODBUS_DATA_ORDER_4321 (HD_MODBUS_DATA_ORDER_BASE + 5)
|
||
#define HD_MODBUS_DATA_ORDER_12345678 (HD_MODBUS_DATA_ORDER_BASE + 6)
|
||
#define HD_MODBUS_DATA_ORDER_21436587 (HD_MODBUS_DATA_ORDER_BASE + 7)
|
||
#define HD_MODBUS_DATA_ORDER_34127856 (HD_MODBUS_DATA_ORDER_BASE + 8)
|
||
#define HD_MODBUS_DATA_ORDER_43218765 (HD_MODBUS_DATA_ORDER_BASE + 9)
|
||
#define HD_MODBUS_DATA_ORDER_56781234 (HD_MODBUS_DATA_ORDER_BASE + 10)
|
||
#define HD_MODBUS_DATA_ORDER_65872143 (HD_MODBUS_DATA_ORDER_BASE + 11)
|
||
#define HD_MODBUS_DATA_ORDER_78563412 (HD_MODBUS_DATA_ORDER_BASE + 12)
|
||
#define HD_MODBUS_DATA_ORDER_87654321 (HD_MODBUS_DATA_ORDER_BASE + 13)
|
||
|
||
#define HD_MODBUS_CONNECT_TYPE_TCP 0
|
||
#define HD_MODBUS_CONNECT_TYPE_RTU 1
|
||
#define HD_MODBUS_CONNECT_TYPE_SERIAL 2
|
||
|
||
#define HD_MODBUS_SERIAL_CHECKPARITY_NONE 0 //不校验
|
||
#define HD_MODBUS_SERIAL_CHECKPARITY_ODD 1 //奇校验
|
||
#define HD_MODBUS_SERIAL_CHECKPARITY_EVEN 2 //偶校验
|
||
|
||
//REST注册点的域值 VTQ
|
||
#define HD_REST_REG_TAG_FIELD_VALUE 0
|
||
#define HD_REST_REG_TAG_FIELD_TIMESTAMP 1
|
||
#define HD_REST_REG_TAG_FIELD_QUALITY 2
|
||
|
||
#endif //#ifndef RD_CONST_H_FILE
|
||
|