包括所有统计计算的总接口

Navigation:  Java > 统计分析接口 >

包括所有统计计算的总接口

Previous pageReturn to chapter overviewNext page

 

函数:

public double getTagStats(int tagID, HDStatsType statsType, Date startTime, Date endTime,HDSampleType sampleType, int samplePeriod, int sampleOffset,double extParam1, double extParam2, String szFilterExpr, int nFilterFailMode) throws HDSdkException

 

参数:

参数名称

数据类型

参数说明

默认值

tagID

int

所要计算的TagID

 

statsType

HDStatsType

统计类型

 

startTime

Date

开始时间,闭区间

 

endTime

Date

结束时间,开区间

 

sampleType

HDSampleType

采样类型: 原始记录,线性插值,前向插值。

 

samplePeriod

int

采样周期:

采样类型为插值时,插值点的间隔为nPeriod, 单位为秒。

采样类型不是插值时,该参数可设为0。

 

sampleOffset

int

采样偏移量:

采样模式为插值时,插值点为startTime+nOffset,startTime+nOffset+nPeriod, 单位为秒。

不使用偏移量时,该参数可设为0。

采样类型不是插值时,该参数可设为0。

 

extParam1

double

参数一:

计数和计时的参数, 值变化的参数,区间变化的第一个参数,在区间不在区间的第一个参数。

统计类型不是计时或者计数时,该参数可设为0。

 

extParam2

double

参数二:

计数和计时的参数,区间变化的第二个参数,在区间不在区间的第二个参数。

统计类型不是计时或者计数时,该参数可设为0。

 

szFilterExpr

String

数据过滤表达式。不使用过滤表达式时,该参数可设为空字符串。

 

nFilterFailMode

int

过滤失败时对采样数据的处理,0为过滤采样数据,1为不过滤采样数据。不使用过滤表达式时,该参数可设为0。

 

useBadValue

boolean

是否使用bad value

 

 

返回值

返回值类型

返回值说明

double

统计结果

 

异常:

当参数出现错误时,向上抛出IllegalArgumentException异常

当后台查询出错时,向上抛出HDSdkException异常

 

说明:

该接口用于所有统计计算操作。

可能需要先进行登录操作,请参考HDDataConnection类

 

示例代码:

注: 标记为红色的代码行为当前接口的调用

import com.baosight.hdsdk.HDConnectionFactory;

import com.baosight.hdsdk.HDDataAnalysis;

import com.baosight.hdsdk.HDServerFactory;

import com.baosight.hdsdk.common.HDSampleType;

import com.baosight.hdsdk.common.HDStatsType;

import com.baosight.hdsdk.domain.data.HDDataConnection;

import com.baosight.hdsdk.domain.data.HDDataServer;

import com.baosight.hdsdk.exception.HDSdkException;

 

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

 

public class Calculate {

   public static void main(String[] args) {

       // 设置服务器信息

       String serverIP = "168.2.237.1";

       String bakIp = "168.2.237.2";

       HDDataServer server = HDServerFactory.getHDDataServer(serverIP,5673,bakIp,5673);

       HDDataConnection dataConn = null;

       try {

           dataConn = HDConnectionFactory.getHDDataConnection(server);

           dataConn.loginToServer("admin", "admin");

           HDDataAnalysis da = new HDDataAnalysis(dataConn);

          int tagID = 1;

           SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

           Date startTime = dateFormat.parse("2025-01-01 12:00:00");

           Date endTime = dateFormat.parse("2025-01-01 13:00:00");

           int samplePeriod = 10;

           int sampleOffset = 10;

           double extParam1 = 0.0;

           double extParam2 = 0.0;

           String szFilterExpr = "";

           int nFilterFailMode = 0;

           boolean useBadValue = true;

           double result = da.getTagStats(tagID, HDStatsType.HD_STATS_TYPE_MAX, startTime, endTime, HDSampleType.HD_STATS_SAMPLE_TYPE_RAW, samplePeriod, sampleOffset, extParam1, extParam2, szFilterExpr, nFilterFailMode, useBadValue);

           dataConn.dispose();

       } catch (HDSdkException | ParseException e) {

           e.printStackTrace();

       }

   }

}