●函数
▪统计计算接口:
int32 st3_tag_stats_calc(
uint32 nTagID,
const HD3StRelatedParam* pParam,
double* pfValue
);
●参数
▪nTagID
[in]点id
▪pStatsParam
[in]统计参数
▪pValue
[out]统计值
●返回值
成功,返回RD_SUCCESS。失败返回错误码,见error_code.h
●说明
类型 |
属性名 |
说明 |
uint8 |
nStatsType |
统计类型HD3_STATS_TYPE_MAX、HD3_STATS_TYPE_MIN、HD3_STATS_TYPE_SUM、HD3_STATS_TYPE_LAST、HD3_STATS_TYPE_PCT_GOOD、HD3_STATS_TYPE_ARITH_MEAN算术均值、HD3_STATS_TYPE_TIME_WEIGHTED_MEAN、HD3_STATS_TYPE_INTEGRAL、HD3_STATS_TYPE_COUNT_CHG_VALUE 、HD3_STATS_TYPE_COUNT_CHG_FROM_LESS_TO_GREAT、HD3_STATS_TYPE_COUNT_CHG_FROM_GREAT_TO_LESS、HD3_STATS_TYPE_DIFF、HD3_STATS_TYPE_COUNT_IN_RANGE、HD3_STATS_TYPE_COUNT_NOT_IN_RANGE、HD3_STATS_TYPE_RANGE、HD3_STATS_TYPE_STANDARD_DEVIATION、HD3_STATS_TYPE_TIME_GT、HD3_STATS_TYPE_TIME_GE、HD3_STATS_TYPE_TIME_EQ、HD3_STATS_TYPE_TIME_NE、HD3_STATS_TYPE_TIME_LT、HD3_STATS_TYPE_TIME_LE、HD3_STATS_TYPE_TIME_IN_RANGE、HD3_STATS_TYPE_TIME_NOT_IN_RANGE |
int32 |
nTimeRegionNum |
统计时间区间个数>=1 |
HD3TimeRegion* |
pTimeRegions |
统计时间区间,时间区间之间不可以有交集,区间[a,b],a < b |
float |
fPercentGood |
信任度(Good的数据个数百分比大于或等于该比例时认为计算出的结果是可信的),0-100 |
uint8 |
nSampleType |
采样模式,HD_STATS_SAMPLE_TYPE_RAW:原始点,HD_STATS_SAMPLE_TYPE_LINER_INTERP:线性插值, HD_STATS_SAMPLE_TYPE_PREV_INTERP: 前向插值 |
char |
szFilterExpr[HD_LEN_FILTER_EXPR] |
数据过滤表达式, 传入空字符串表示不过滤 |
uint8 |
nFilterFailMode |
过滤失败时对采样数据的处理,0为过滤采样数据,1为不过滤采样数据 |
double |
nExtParam1 |
计数和计时的参数, 值变化的参数,区间变化的第一个参数,在区间不在区间的第一个参数 |
double |
nExtParam2 |
计数和计时的参数,区间变化的第二个参数,在区间不在区间的第二个参数 |
int32 |
nOffset |
采样模式为插值时,插值点为startTime+nOffset,startTime+nOffset+nPeriod, 单位为秒 |
int32 |
nPeriod |
采样模式为插值时,插值点的间隔为nPeriod, 单位为秒 |
●补充说明
▪针对TagA采样数据RecA在某时刻TimeA的采样数据,过滤表达式中的Tag点的数据获取规则是,表达式中的TagA的数据为采样数据RecA,非TagA的点取采样时刻TimeA的线性插值记录。
▪如果过滤表达式执行失败如插值失败,数据质量为bad等,这个采样点是否过滤由过滤失败参数nFilterFailMode决定。
▪只有数据质量为Good的数据才需要过滤,不管过滤结果如何,置信度都是Good个数除以总点数。如10个点3个Good,1个Good被过滤,置信度仍然是3/10.
▪HD_STATS_TYPE_DIFF不支持多个区间
▪计时的时间单位为毫秒
●举例
示例代码参见统计计算接口。
▪st3_query_specify_page_tags_cond
©2015. All Rights Reserved.