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结束查询。整个查询过程中，回调函数可能被调用多次.