以不同插值算法,查询Tag点的历史插值记录,查询结果按时间正序返回

Navigation:  Java > 记录查询接口 >

以不同插值算法,查询Tag点的历史插值记录,查询结果按时间正序返回

Previous pageReturn to chapter overviewNext page

 

函数:

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

 

参数:

参数名称

数据类型

参数说明

默认值

tagId

int

tag点id

 

startTime

Date

起始时间

 

endTime

Date

终止时间

 

intervalInMs

long

插值时间间隔,单位毫秒

 

mode

HDInterpolationMode

插值方式,参考HDInterpolationMode

可选值:

HDInterpolationMode.FORWARD 前向插值方式(当前时刻有值,则取当前时刻的值,当前时刻无值,则取前一个时刻的值)

HDInterpolationMode.INVALID 无效插值方式

HDInterpolationMode.LINEAR 线性插值方式(当前时刻有值,则取当前时刻的值,当前时刻无值,则根据前一个时刻的值和后一个时刻的值计算线性值)

 

errcode

HDErrcode

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

 

 

返回值:

返回值类型

返回值说明

List<ImmutablePair<HDRecord,Integer>>

返回查询到的记录和对应的错误码

 

异常:

当参数出现错误时,向上抛出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.queryTagHisInterRecordsByModeAscending(1, startTime, endTime, 1000, HDInterpolationMode.FORWARD, errCode);

           dataConn.dispose();

       } catch (HDSdkException e) {

           e.printStackTrace();

       } catch (ParseException e) {

           throw new RuntimeException(e);

       }

   }

}