函数
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.