rdbapi 5.1.1.9
实时数据库C接口 for windows/Linux
 
载入中...
搜索中...
未找到
数据读取相关相关接口

函数

int rdb_valgetsection (int h, long long ltime, int nflag, rec_tagval vals[], int nsize)
 读取值标签历史断面数据
 
int rdb_valquery (int h, const char *sname, const char *sexp, long long lts, long long lte, long long lds, int lflag, rdbcb_OnReadVals pfun, void *pParam)
 查询值标签历史数据记录
 
int rdb_objgetsnapshot (int h, rec_tagobj pobjs[], int nsize)
 读取对象标签快照数据(读对象标签实时数据)
 
int rdb_objget (int h, const char *stagname, long long lts, long long lte, rdbcb_OnReadObjs pfun, void *pParam)
 读取对象标签历史数据
 
int rdb_countvalue (int h, const char *sname, const char *sexp, long long lts, long long lte, rec_val *pMin, rec_val *pMax, double *pavg, double *psum, int *plrecs)
 值标签数据记录统计
 
int rbd_countstatuschang (int h, const char *sname, long long lts, long long lte, int nlowval, int nhighval, int *pnl2h, int *pnh2l)
 值标签状态改变统计
 
int rdb_countvaltime (int h, const char *sname, const char *sexp, long long lts, long long lte, long long *pltime, int *plrecs)
 值标签数据c持续时间统计
 
int rdb_getsnapshot (int h, const char *tagnames[], int nsize, void(*funval)(const rec_tagval vals[], size_t valsize, void *param), void *param_val, void(*funobj)(const rec_tagobj objs[], size_t objsize, void *param), void *param_obj)
 读取快照,不分值标签还是对象标签
 
int rdb_callmsg (int h, const char *request, int requestsize, void(*fun)(const char *response, int sizeresponse, void *app_param), void *app_param)
 向实时库请求消息;
 
int rdb_soequery_ex (int h, const char *station, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *puserparam)
 查询SOE事件高级版,支持通过中心站从子站查询
 
int rdb_liststation (int h, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param)
 从中心站查询当前在线子站列表和概要信息
 

详细描述

快照数据,历史数据,统计数据的读取和查询相关接口函数。

函数说明

◆ rbd_countstatuschang()

int rbd_countstatuschang ( int h,
const char * sname,
long long lts,
long long lte,
int nlowval,
int nhighval,
int * pnl2h,
int * pnh2l )

值标签状态改变统计

参数
h[in] rdb_create创建的句柄.
sname[in] 标签名
lts[in] 开始时标,参见T_TIME
lte[in] 结束时标,参见T_TIME
nlowval[in] 低电平值或者断开状态值
nhighval[in] 高电平值或者闭合状态值
pnl2h[out] 断开到闭合的改变次数
pnh2l[out] 闭合到断开的改变次数
返回
返回 0 表示成功,其余值为失败错误码。
备注
常用于统计开关或断路器动作次数,此函数PRESET标签不反回数据。

◆ rdb_callmsg()

int rdb_callmsg ( int h,
const char * request,
int requestsize,
void(*)(const char *response, int sizeresponse, void *app_param) fun,
void * app_param )

向实时库请求消息;

参数
h[in] rdb_create创建的句柄.
request[in] 请求的消息,JSON字符串,utf8编码
requestsize[in] request的长度,字节数
fun[in] 接收消息回调函数。
app_param[in] 应用层传递的参数, fun函数的最后一个参数.
返回
0: success; 其他为错误码
备注
返回消息通过回调函数返回,response为JSON应答字符串,sizeresponse为应答字符串的长度(字节数)。这个函数可以用于调用以后增加的消息。

◆ rdb_countvaltime()

int rdb_countvaltime ( int h,
const char * sname,
const char * sexp,
long long lts,
long long lte,
long long * pltime,
int * plrecs )

值标签数据c持续时间统计

参数
h[in] rdb_create创建的句柄.
sname[in] 标签名
sexp[in] 表达式
lts[in] 开始时标,参见T_TIME
lte[in] 结束时标,参见T_TIME
pltime[out] 满足表达式条件的数据持续时间
plrecs[out] 满足表达式条件的数据样本值记录数
返回
返回 0 表示成功,其余值为失败错误码。
备注
常用于统计数据合格率,此函数PRESET标签不反回数据。

◆ rdb_countvalue()

int rdb_countvalue ( int h,
const char * sname,
const char * sexp,
long long lts,
long long lte,
rec_val * pMin,
rec_val * pMax,
double * pavg,
double * psum,
int * plrecs )

值标签数据记录统计

参数
h[in] rdb_create创建的句柄.
sname[in] 标签名
sexp[in] 表达式
lts[in] 开始时标,参见T_TIME
lte[in] 结束时标,参见T_TIME
pMin[out] 最小值出现处的记录
pMax[out] 最大值出现处的记录
pavg[out] 平均值
psum[out] 累计值
plrecs[out] 记录数
返回
返回 0 表示成功,其余值为失败错误码。
备注
此函数PRESET标签不反回数据。

◆ rdb_getsnapshot()

int rdb_getsnapshot ( int h,
const char * tagnames[],
int nsize,
void(*)(const rec_tagval vals[], size_t valsize, void *param) funval,
void * param_val,
void(*)(const rec_tagobj objs[], size_t objsize, void *param) funobj,
void * param_obj )

读取快照,不分值标签还是对象标签

参数
h[in] rdb_create创建的句柄.
tagnames[in] 标签名字符串数组
nsize[in] 标签个数
funval[in] 值数据回调函数
param_val[in] funval的最后一个参数。
funobj[in] 对像数据回调函数
param_obj[in] funobj的最后一个参数。
返回
0表示成功, 其余值为失败错误码。
备注
每个回调函数可能被多次回调. rdbapi fileversion 5.0.7.2新增

◆ rdb_liststation()

int rdb_liststation ( int h,
void(*)(const char *jsresp, int sizeresp, void *app_param) fun,
void * app_param )

从中心站查询当前在线子站列表和概要信息

参数
h[in] rdb_create创建的句柄.
fun[in] 接收消息回调函数。
app_param[in] 应用层传递的参数, fun函数的最后一个参数.
返回
0: success; 其他为错误码
备注
返回消息通过回调函数返回,jsresp为JSON应答字符串,sizeresp为应答字符串的长度(字节数)。返回的JSON对象定义参见协议文档《rdb_data_exchange_protocol.pdf》8.1。

◆ rdb_objget()

int rdb_objget ( int h,
const char * stagname,
long long lts,
long long lte,
rdbcb_OnReadObjs pfun,
void * pParam )

读取对象标签历史数据

参数
h[in] rdb_create创建的句柄.
stagname[in] 标签名
lts[in] 开始时标,参见T_TIME
lte[in] 结束时标,参见T_TIME,-1表示直到读取完
pfun[in] 数据到达回调函数,参见rdbcb_OnReadObjs
pParam[in] 回调函数的参数
返回
返回 0 表示成功,其余值为失败错误码。
备注
直到数据查询完成或者回调函数返回0表示结束查询,调用者可以随时通过回调函数返回0结束查询。整个查询过程中,回调函数可能被调用多次.

◆ rdb_objgetsnapshot()

int rdb_objgetsnapshot ( int h,
rec_tagobj pobjs[],
int nsize )

读取对象标签快照数据(读对象标签实时数据)

参数
h[in] rdb_create创建的句柄.
pobjs[in/out] 对象标签数据记录数组,调用前填写每个记录结构体中的标签名sname字段
nsize[in] pobjs中的记录数.
返回
返回 0 表示成功,其余值为失败错误码。调用成功后,还需判断每个记录的pobjs[i].var.cerr错误码,cerr为0表示有效,否则可能是标签不存在或者没有数据.

◆ rdb_soequery_ex()

int rdb_soequery_ex ( int h,
const char * station,
long long lts,
unsigned int autokey,
long long lte,
const char * sexp,
rdbcb_OnReadSoes pfun,
void * puserparam )

查询SOE事件高级版,支持通过中心站从子站查询

参数
h[in] rdb_create创建的句柄.
station[in] 子站名,null表示从目前连接的站查询(和rdb_soequery功能同)。
lts[in] 开始时标,参见T_TIME
autokey[in] 开始时标处的autokey
lte[in] 结束时标,参见T_TIME,-1表示查询到数据结束
sexp[in] 查询表达式
pfun[in] 查询结果记录回调函数
puserparam[in]回调参数
返回
返回 0 表示成功,其余值为失败错误码。
备注
直到查询完成或者回调函数返回0表示结束查询,调用者可以随时通过回调函数返回0结束查询。整个查询过程中,回调函数可能被调用多次.

◆ rdb_valgetsection()

int rdb_valgetsection ( int h,
long long ltime,
int nflag,
rec_tagval vals[],
int nsize )

读取值标签历史断面数据

参数
h[in] rdb_create创建的句柄.
ltime[in] 断面时标,见T_TIME定义
vals[in/out] 标签值记录数组,调用前填写每个记录结构体中的标签名sname字段
nflag[in] 断面处理标识,0:插值; -1:时标小于等于ltime的样本值记录; 1:时标大于等于ltime的样本值记录;
nsize[in] vals中的记录数.
返回
返回 0 表示成功,其余值为失败错误码。调用成功后,还需判断每个记录的vals[i].val.cerr错误码,cerr为0表示有效,否则可能是标签不存在或者没有数据.
备注
此函数PRESET标签不反回数据。

◆ rdb_valquery()

int rdb_valquery ( int h,
const char * sname,
const char * sexp,
long long lts,
long long lte,
long long lds,
int lflag,
rdbcb_OnReadVals pfun,
void * pParam )

查询值标签历史数据记录

参数
h[in] rdb_create创建的句柄.
sname[in] 标签名
sexp[in] 查询表达式
lts[in] 开始时标,参见T_TIME定义
lte[in] 结束时标,参见T_TIME定义,-1表示直到读完
lds[in] 插值间隔时间,单位为100毫秒数,0表示读取样本值
lflag[in] 读取标识
0: 默认模式,QA = 1的shutdown的时间段数据不插值。
1: 绘图数据,插值包含样本值,因此插值出来的记录数据多余预计的记录数,QA = 1的shutdown的时间段数据不插值
2: 全数据插值,不管数据质量
3: 全数据绘图数据,不管数据质量,插值包含样本值,因此插值出来的记录数据多余预计的记录数
4: 读取区间最小值,内部版本5114及以后支持。
5: 读取区间最大值,内部版本5114及以后支持。
6: 读取区间最小值,不管数据质量,内部版本5114及以后支持。
7: 读取区间最大值,不管数据质量,内部版本5114及以后支持。
注1)4,5,6,7模式dt 必须 > 0表示区间(等于0会返回样本值),表达式sexp参数被忽略。当区间内无样本值记录时,会采用插值方式补齐,插值模式根据标签属性中的定义决定使用梯形还是线性插值。4,5模式QA = 1的shutdown的时间段数据不插值;6,7模式则不关心QA的值。
注2)1,3模式绘图数据从内部版本5114开始,表达式sexp参数被忽略;lds为0表示服务器通过time_begin和time_end值自动计算间隔;
pfun[in] 数据记录到达回掉函数,参见rdbcb_OnReadVals
pParam[in] pfun使用的参数
返回
返回 0 表示成功,其余值为失败错误码。
备注
直到数据查询完成或者回调函数返回0表示结束查询,调用者可以随时通过回调函数返回0结束查询。整个查询过程中,回调函数可能被调用多次.