查询Tag点的历史插值记录

Navigation:  Java > 记录查询接口 >

查询Tag点的历史插值记录

Previous pageReturn to chapter overviewNext page

 

函数:

public List<ImmutablePair<HDRecord,Integer>> queryTagHisInterRecords(int tagID, Date startTime, Date endTime, long intervalInMs, HDErrcode errCode) throws HDSdkException

 

参数:

参数名称

数据类型

参数说明

默认值

tagId

int

tag点id

 

startTime

Date

起始时间

 

endTime

Date

终止时间

 

intervalInMs

long

插值时间间隔,单位毫秒

 

errcode

HDErrcode

查询结果的总体错误码,可以根据本参数判断是否为部分成功

 

 

返回值:

返回值类型

返回值说明

List<ImmutablePair<HDRecord,Integer>>

返回查询到的记录列表和对应的错误码,按照时间倒序排列(endTime的序列索引值较小)

 

异常:

参数为空或者开始时间大于结束时间或者取值间隔小于等于0;如果数据记录个数超过65535,向上抛出IllegalArgumentException异常

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

 

说明:

该接口用于查询Tag点的历史插值记录,默认调用后台的线性插值算法。

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

 

示例代码:

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

import com.baosight.hdsdk.HDConnectionFactory;

import com.baosight.hdsdk.HDDataProvider;

import com.baosight.hdsdk.HDServerFactory;

import com.baosight.hdsdk.common.HDInterpolationMode;

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

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

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

import com.baosight.hdsdk.exception.HDSdkException;

import org.apache.commons.lang3.tuple.ImmutablePair;

import com.baosight.hdjni.HDErrcode;

 

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.List;

 

public class IhdJavaSdkQueryTagVal {

   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");

           HDDataProvider dp = new HDDataProvider(dataConn);

          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");

           HDErrcode errCode = new HDErrcode();

           List<ImmutablePair<HDRecord, Integer>> interRecordsList = dp.queryTagHisInterRecords(1, startTime, endTime, 1000, errCode);

           dataConn.dispose();

       } catch (HDSdkException e) {

           e.printStackTrace();

       } catch (ParseException e) {

           throw new RuntimeException(e);

       }

   }

}