根据时间段查询单点历史记录com_ar_query_raw_records

Navigation:  功能明细 > 数据接口 > COM接口 > VB 接口 >

根据时间段查询单点历史记录com_ar_query_raw_records

Previous pageReturn to chapter overviewNext page

函数

STDMETHOD(com_ar_query_raw_records)(

LONGnTagID,

LONGnStartSec,

LONGnStartMSec,

LONGnEndSec,

LONGnEndMSec,

VARIANT* pRecNum,

VARIANT* nSec,

VARIANT* nMsec,

VARIANT* nQuality,

VARIANT* nTagType,

VARIANT* bsValue,

LONG* nRetErr

);

 

参数

[in]LONG nTagID,TagID

[in]LONG nStartSec,查询的起始时间戳,秒。

[in]LONG nStartMSec, 查询的起始时间戳,毫秒。

[in]LONG nEndSec, 查询的结束时间戳,秒。

[in]LONG nEndMSec,  查询的结束时间戳,毫秒。

[in, out]VARIANT* pRecNum, in:待查的记录数量。out:实际返回的记录的数量,若小于要查询的记录数量,则表示该时间段的记录全部查完;若等于要查询的数量,则表示在该时间段内还有记录没有查完,用户可以根据返回的最后一条记录的时间来重新设置结束时间,然后再次调用该接口来查询剩下的记录。记录个数不能超过65535。必须是LONG类型。

[out]VARIANT* nSec, 时间戳的秒数组,nSec->vt = VT_ARRAY | VT_VARIANT

[out]VARIANT* nMsec, 时间戳的毫秒数组,必须是LONG类型,nMsec->vt = VT_ARRAY | VT_VARIANT

[out]VARIANT* nQuality,记录的数据质量数组,nQuality->vt = VT_ARRAY | VT_VARIANT

[out]VARIANT* nTagType, 记录的Tag类型数组,nTagType->vt = VT_ARRAY | VT_VARIANT

[out]VARIANT* bsValue, 记录的值数组,bsValue->vt = VVT_ARRAY | VT_VARIANT

[out,retval]LONG* nRetErr,返回值

 

返回值

成功,返回RD_SUCCESS。失败返回其它错误码,见error_code.h

 

说明

1.查询一个Tag在一个时间段内的记录,该接口支持所有的数据类型。

2.该接口的时间戳精确到秒。例如:开始时间为“2001-1-1 08:08:08. 111”,结束时间是为“2001-1-2 08:08:08. 222”,查询到的记录是“2001-1-1 08:08:08. 000”到“2001-1-2 08:08:08. 000”范围内的原始记录。

 

举例

 

 

Set objArray= CreateObject("hdCOMInterface.hdCOMClass.1")

 

Dim ip,port,bakip,bakport,timeout

ip= "127.0.0.1"

port= 5678

bakip = "1.2.3.4"

bakport = 1234

timeout= 3

 

Dim ret

objArray.com_nt_connect ip,port,bakip,bakport,timeout

 

Dim id,recnum

id=14

recnum=CLng(3)

 

Dim nStartSec,nStartMsec,nEndSec,nEndMsec

nStartSec = CLng(1379310469)

nStartMsec = CLng(0)

nEndSec = CLng(1379310969)

nEndMsec = CLng(0)

 

Dim nsec,nmsec,nquality,ntype,nvalue,result

 

result = CLng(objArray.com_ar_query_raw_records (id,nStartSec,nStartMsec,nEndSec,nEndMsec,recnum,nsec,nmsec,nquality,ntype,nvalue))

 

Msgbox "com_ar_query_raw_records错误码是:" &result

 

if result=0 then

 

Dim x0,shownum

shownum = "调用后RecNum:" &recnum

MsgBox shownum

 

Dim x1,showsec

showsec = "调用后sec:"

for x1= LBound(nsec) to UBound(nsec)

showsec = showsec & nsec(x1) &  ";  "

next

MsgBox showsec

 

Dim x2,showmsec

showmsec = "调用后msec:"

for x2= LBound(nmsec) to UBound(nmsec)

showmsec = showmsec & nmsec(x2) &  ";  "

next

MsgBox showmsec

 

Dim x3,showquality

showquality = "调用后quality:"

for x3= LBound(nquality) to UBound(nquality)

showquality = showquality & nquality(x3) &  ";  "

next

MsgBox showquality

 

Dim x4,showtype

showtype = "调用后type:"

for x4= LBound(ntype) to UBound(ntype)

showtype = showtype & ntype(x4) &  ";  "

next

MsgBox showtype

 

Dim x5,showvalue

showvalue = "调用后Value:"

for x5= LBound(nvalue) to UBound(nvalue)

showvalue = showvalue & nvalue(x5) &  ";  "

next

MsgBox showvalue

 

end if

objArray.com_nt_disconnect

 

Set objArray= nothing

 

©2015. All Rights Reserved.