|
rdbapi
5.1.1.4
实时数据库接口API
|
实时库接口API定义 for windows and linux 更多...
#include "rdbdef.h"宏定义 | |
| #define | DBR_SUCCESS 0 |
| #define | SE_ERRHANDLE (-1) |
| #define | SE_OK 0x00 |
| #define | SE_SUCCESS SE_OK |
| #define | SE_FAILED 0x01 |
| #define | SE_TCP_CONNECT 0x02 |
| #define | SE_TCP_PROXY_CONNECT 0x03 |
| #define | SE_TCP_PROXY_AUTH 0x04 |
| #define | SE_TCP_DISCONNECT 0x05 |
| #define | SE_TCP_IO 0x06 |
| #define | SE_TCP_CONSVRFAIL 0x07 |
| #define | SE_TCP_SENDBLOCK 0x08 |
| #define | SE_TCP_ERRPKG 0x0A |
| #define | SE_TCPCALLTIMEOUT 0x0B |
| #define | SE_ERRARGS 0x0C |
| #define | SE_EXP 0x10 |
| #define | SE_EXPVAR 0x11 |
| #define | SE_EXPVAROVER 0x12 |
| #define | SE_BUSY 0x13 |
| #define | SE_NOTCONNECT 0x1F |
| #define | SE_OPT_OK 0 |
| #define | SE_OPT_NOACTOR 0x20 |
| #define | SE_OPT_NOUSER 0x21 |
| #define | SE_OPT_PASSERR 0x22 |
| #define | SE_OPT_NOPOWER 0x23 |
| #define | SE_OPT_USEREXIST 0x24 |
| #define | SE_OPT_ACTOREXIST 0x25 |
| #define | SE_OPT_ACTORUSE 0x26 |
| #define | SE_OPT_NOLOGIN 0x27 |
| #define | SE_OPT_NOTACTIVE 0x28 |
| #define | SE_OPT_OPTFULL 0x29 |
| #define | SE_OPT_ACTFULL 0x2A |
| #define | SE_TG_NOTAG 0x30 |
| #define | SE_TG_TAGFULL 0x31 |
| #define | SE_TG_NOARCHIVE 0x32 |
| #define | SE_DA_TIME 0x40 |
| #define | SE_DA_TYPE 0x41 |
| #define | SE_DA_QA 0x42 |
| #define | SE_DA_NODATA 0x43 |
| #define | SE_CTRLNOROUTE 0x61 |
| #define | SE_CTRLOUTERR 0x62 |
| #define | SE_SRV_FRMNOOD 0xFF |
| #define | SE_SRV_FRMERR 0xFE |
| #define | SE_SRV_DBVER 0xFD |
| #define | SE_SRV_BACKUOPSRV 0XFB |
| #define | SE_SRV_DEMOOVER 0xFC |
| #define | MSGCODE_CONNECT_SUCCESS 60001 |
| 异步连接成功 | |
| #define | MSGCODE_CONNECT_FAILED 60002 |
| 异步连接失败 | |
| #define | MSGCODE_DISCONNECTED 60003 |
| 连接断开,包含接收数据和发送数据时 | |
类型定义 | |
| typedef bool(* | rdbcb_OnReadTags) (rec_tag ptags[], int nitems, void *pParam) |
| 标签查询回调函数,nitems <= 256 return false表示终止查询 | |
| typedef bool(* | rdbcb_OnReadVals) (rec_val pvals[], int nitems, void *pParam) |
| 值记录查询回调函数,nitems <= 2560 return false表示终止查询 | |
| typedef bool(* | rdbcb_OnReadObjs) (rec_obj pobjs[], int nitems, void *pParam) |
| 对象记录查询回调函数,nitems <= 64 return false表示终止查询 | |
| typedef bool(* | rdbcb_OnReadSoes) (rec_soe psoes[], int nitems, void *pParam) |
| SOE记录查询回调函数,nitems <= 128 return false表示终止查询 | |
| typedef void(* | rdbcb_OnSscPutSoes) (rec_soe psoes[], int nitems, void *param) |
| 服务器推送的订阅SOE记录回调函数 | |
| typedef bool(* | ctrl_OnValWriteToDevice) (rec_tagval *pval, void *pParam) |
| 值标签写设备回调函数 更多... | |
| typedef bool(* | ctrl_OnObjWriteToDevice) (rec_tagobj *pobj, void *pParam) |
| 对象标签写设备回调函数 更多... | |
| typedef void(* | rdbcd_onmessage) (int nmsgcode, const char *smsg, void *param) |
| 消息通知回调函数 更多... | |
函数 | |
| int | rdb_create () |
| 创建接口 更多... | |
| int | rdb_curdb (int h) |
| 获取当前连接的实时库 更多... | |
| int | rdb_curdb_inver (int h) |
| 获取当前实时库的内部版本 更多... | |
| int | rdb_setslavedb (int h, const char *sip, unsigned short wport, const char *sUser, const char *sPass) |
| 设置从库 更多... | |
| int | rdb_destory (int h) |
| 删除句柄 更多... | |
| int | rdb_connectex (int h, const char *surl, const char *sUser, const char *sPass, int nTimeOutSec) |
| 高级连接,rdb2020.3版开始增加的接口 更多... | |
| int | rdb_connect (int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass) |
| 连接实时库 更多... | |
| int | rdb_connectasyn (int h, const char *sServerIP, unsigned short wPort, const char *lpszUser, const char *lpszPass) |
| 异步连接实时库 更多... | |
| int | rdb_disconnect (int h) |
| 断开实时库 更多... | |
| bool | rdb_isconnected (int h) |
| 判断连接状态 更多... | |
| int | rdb_actoradd (int h, rec_actor *pa) |
| 添加用户角色 更多... | |
| int | rdb_actordel (int h, const char *sname) |
| 删除用户角色 更多... | |
| int | rdb_actorsget (int h, rec_actor actors[], int nrecbufsize, int *pnacts) |
| 读取角色表 更多... | |
| int | rdb_operatoradd (int h, rec_operator*po) |
| 添加用户账号 更多... | |
| int | rdb_operatordel (int h, const char *sname) |
| 删除用户账号 更多... | |
| int | rdb_operatorsget (int h, rec_operator opts[], int nrecbufsize, int *pnopts) |
| 读取账号表 更多... | |
| int | rdb_operatormodifypass (int h, const char *sname, const char *soldpass, const char *snewpass) |
| 更改自己密码 更多... | |
| int | rdb_taginport (int h, unsigned int dwflag, rec_tag *ptag, int *presult) |
| 导入(添加,更改)标签 更多... | |
| int | rdb_tagget (int h, rec_tag *ptag) |
| 读取标签属性记录 更多... | |
| int | rdb_tagdel (int h, const char *sname) |
| 删除标签 更多... | |
| int | rdb_tagquery (int h, const char *snamefilter, const char *sdesfilter, int ndatatype, int ntagclass, rdbcb_OnReadTags pfun, void *pParam) |
| 查询标签 更多... | |
| int | rdb_valputsnapshot (int h, rec_tagval vals[], int nsize) |
| 写值标签快照(写值标签实时数据) 更多... | |
| int | rdb_valgetsnapshot (int h, rec_tagval vals[], int nsize) |
| 读取值标签快照(读值标签实时数据) 更多... | |
| int | rdb_valinsert (int h, rec_tagval vals[], int nsize) |
| 补录值标签数据(写值标签历史数据) 更多... | |
| 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_objputsnapshot (int h, rec_tagobj pobjs[], int nsize) |
| 写对象标签快照(写对象标签实时数据) 更多... | |
| int | rdb_objgetsnapshot (int h, rec_tagobj pobjs[], int nsize) |
| 读取对象标签快照数据(读对象标签实时数据) 更多... | |
| int | rdb_objinsert (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_soeput (int h, rec_soe psoe[], int nsize) |
| 写入SOE事件 更多... | |
| int | rdb_soequery (int h, long long lts, unsigned int autokey, long long lte, const char *sexp, rdbcb_OnReadSoes pfun, void *pParam) |
| 查询SOE事件 更多... | |
| int | rdb_soeupdate (int h, rec_soe psoe[], int nsize) |
| 更新SOE事件记录 更多... | |
| int | rdb_soesubscription (int h, int flag) |
| 订阅SOE事件 更多... | |
| int | rdb_soesubscription_setfun (int h, rdbcb_OnSscPutSoes fun, void *param) |
| 设置处理订阅的SOE事件处理回调函数 更多... | |
| 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持续时间统计 更多... | |
| long long | rdb_time () |
| 获取当前时间的实时库时标 更多... | |
| long long | rdb_localtime2rdbtime (int nyear, int nmon, int nday, int nhour, int nmin, int nsec, int nmsec) |
| 本地时间合成为实时库时标T_TIME 更多... | |
| bool | rdb_rdbtime2localtime (T_TIME ltime, int *pnyear, int *pnmon, int *pnday, int *pnhour, int *pnmin, int *pnsec, int *pnmsec) |
| 实时库时标T_TIME分解为本地时间 更多... | |
| int | rdb_initwritetodevice (int h, ctrl_OnValWriteToDevice funvalw, void *paramvalw, ctrl_OnObjWriteToDevice funobjw, void *paramobjw) |
| 初始化写设备回调函数 更多... | |
| int | rdb_regctrltag (int h, const char *stagname) |
| 注册控制标签 更多... | |
| int | rdb_writevaltodevice (int h, rec_tagval *pval) |
| 写值标签的值到现场设备 更多... | |
| int | rdb_writeobjtodevice (int h, rec_tagobj *pobj) |
| 写对象标签的值到现场设备 更多... | |
| int | rdb_setmessagenotify (int h, rdbcd_onmessage fun, void *param) |
| 设置消息回掉函数 更多... | |
| int | rdbtime_tostr (int64_t ltime, char *sout, size_t outsize) |
| 实时库时间(从1970-1-1开始的100毫秒数)转换为字符串 更多... | |
| int64_t | rdbtime_fromstr (const char *str, size_t zlen) |
| 本地字符串表达的时间转换为实时库时间 更多... | |
| void | rdb_md5_encode (const void *pdata, int nsize, unsigned char out[16]) |
| 计算md5散列值 更多... | |
| int | rdb_base64_encode (const void *pdata, int nsize, char *sout, int noutsize) |
| base64快速编码 更多... | |
| int | rdb_base64_decode (const char *pdata, int nsize, unsigned char *sout, int noutsize) |
| base64快速解码 更多... | |
| const char * | rdb_geterrmsg (int nerrcode) |
| 根据错误码获取错误描述 更多... | |
| int | rdb_manual_set (int h, rec_tagval *pval) |
| 设置人工置数 更多... | |
| int | rdb_manual_del (int h, const char *stagname) |
| 取消人工置数 更多... | |
| int | rdb_getoutlimit_snaps (int h, const char *station, void(*onread)(rec_tagval pvals[], int nitems, void *param), void *puserparam) |
| 读取当前越限标签快照 更多... | |
| 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_putmsg (int h, const char *jstr, int jstrsize) |
| 向实时库推送消息 更多... | |
| int | rdb_soesubscription_ex (int h, int flag, const char *station) |
| 订阅SOE的高级版,支持通过中心站订阅子站SOE 更多... | |
| 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) |
| 从中心站查询当前在线子站列表和概要信息 更多... | |
| int | rdb_getruninfo (int h, const char *stationid, void(*fun)(const char *jsresp, int sizeresp, void *app_param), void *app_param) |
| 从中心站查询子站运行信息 更多... | |
| int | rdb_tagext_inport (int h, tag_ext *pext, uint32_t umask) |
| 导入标签扩展属性 更多... | |
| int | rdb_tagext_get (int h, tag_ext *ptags, int size) |
| 获取一批标签扩展属性 更多... | |
| int | rdb_tagext_del (int h, const char *tagname) |
| 删除一个标签的扩展属性 更多... | |
实时库接口API定义 for windows and linux
2021-3-1 监控接口和订阅子站SOE接口。 2020-12-6 增加混合读取标签快照接口rdb_getsnapshot。 2020-8-17 增加切换式双库连接。 2020-6-14 增加人工置数接口。 2020-3-22 使用基于WS的协议实现,兼容前面应用。 2008-8-23 增加SOE订阅
| typedef bool(* ctrl_OnObjWriteToDevice) (rec_tagobj *pobj, void *pParam) |
对象标签写设备回调函数
| typedef bool(* ctrl_OnValWriteToDevice) (rec_tagval *pval, void *pParam) |
值标签写设备回调函数
| typedef void(* rdbcd_onmessage) (int nmsgcode, const char *smsg, void *param) |
消息通知回调函数
| nmsgcode,MSGCODE_CONNECT_SUCCESS,MSGCODE_CONNECT_FAILED,MSGCODE_DISCONNECTED之一 |
| 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] 闭合到断开的改变次数 |
| int rdb_actoradd | ( | int | h, |
| rec_actor * | pa | ||
| ) |
添加用户角色
| h | [in] rdb_create创建的句柄. |
| pa | [in] 角色结构体指针 |
| int rdb_actordel | ( | int | h, |
| const char * | sname | ||
| ) |
删除用户角色
| h | [in] rdb_create创建的句柄. |
| sname | [in] 角色名 |
| int rdb_actorsget | ( | int | h, |
| rec_actor | actors[], | ||
| int | nrecbufsize, | ||
| int * | pnacts | ||
| ) |
读取角色表
| h | [in] rdb_create创建的句柄. |
| actors | [out] 用于接收角色记录的结构体数组 |
| nrecbufsize | [in] actors数组大小,能容纳角色记录的个数 |
| pnacts | [out] 实际读取到并存放到actors数组中的记录数 |
| int rdb_base64_decode | ( | const char * | pdata, |
| int | nsize, | ||
| unsigned char * | sout, | ||
| int | noutsize | ||
| ) |
base64快速解码
| pdata | 需要解码的数据 |
| nsize | pdata的长度(字符数) |
| sout | 输出区 |
| noutsize | 输出区长度(字符数) |
| int rdb_base64_encode | ( | const void * | pdata, |
| int | nsize, | ||
| char * | sout, | ||
| int | noutsize | ||
| ) |
base64快速编码
| pdata | 需要编码的数据 |
| nsize | pdata的长度(字符数) |
| sout | 输出区 |
| noutsize | 输出区长度(字符数) |
| 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函数的最后一个参数. |
| int rdb_connect | ( | int | h, |
| const char * | sServerIP, | ||
| unsigned short | wPort, | ||
| const char * | lpszUser, | ||
| const char * | lpszPass | ||
| ) |
连接实时库
| h | [in] rdb_create创建的句柄. |
| sServerIP | [in] 实时库服务器IP地址,点分字符串格式,比如"192.168.1.61". |
| wPort | [in] 实时库TCP服务端口. |
| lpszUser | [in] 用户账号名. |
| lpszPass | [in] 用户账号密码. |
| int rdb_connectasyn | ( | int | h, |
| const char * | sServerIP, | ||
| unsigned short | wPort, | ||
| const char * | lpszUser, | ||
| const char * | lpszPass | ||
| ) |
异步连接实时库
| h | [in] rdb_create创建的句柄. |
| sServerIP | [in] 实时库服务器IP地址,点分字符串格式,比如"192.168.1.61". |
| wPort | [in] 实时库TCP服务端口. |
| lpszUser | [in] 用户账号名. |
| lpszPass | [in] 用户账号密码. |
| int rdb_connectex | ( | int | h, |
| const char * | surl, | ||
| const char * | sUser, | ||
| const char * | sPass, | ||
| int | nTimeOutSec | ||
| ) |
高级连接,rdb2020.3版开始增加的接口
| surl | 连接URL字符串, "wss://192.168.161:921" 或者 "ws://192.168.161:921",或者"wss://kipwa.net" |
| sUser | 账号 |
| sPass | 密码 |
| nTimeOutSec | 0表示异步连接,立即返回,大于0表示同步方式,等待超时秒数 |
| 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] 满足表达式条件的数据样本值记录数 |
| 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] 记录数 |
| int rdb_create | ( | ) |
创建接口
| int rdb_curdb | ( | int | h | ) |
获取当前连接的实时库
| int rdb_curdb_inver | ( | int | h | ) |
获取当前实时库的内部版本
| h | [in] rdb_create创建的句柄. |
| int rdb_destory | ( | int | h | ) |
删除句柄
| h | [in] rdb_create创建的句柄. |
| int rdb_disconnect | ( | int | h | ) |
断开实时库
| h | [in] rdb_create创建的句柄. |
| const char* rdb_geterrmsg | ( | int | nerrcode | ) |
根据错误码获取错误描述
| nerrcode | 错误码 |
| int rdb_getoutlimit_snaps | ( | int | h, |
| const char * | station, | ||
| void(*)(rec_tagval pvals[], int nitems, void *param) | onread, | ||
| void * | puserparam | ||
| ) |
读取当前越限标签快照
| h[in] | rdb_create创建的句柄. |
| station[in] | 站名,nullptr表示主站 |
| onread[in] | 数据回调函数 |
| puserparam回调函数的参数,会原样填写到onread的param里。 |
| int rdb_getruninfo | ( | int | h, |
| const char * | stationid, | ||
| void(*)(const char *jsresp, int sizeresp, void *app_param) | fun, | ||
| void * | app_param | ||
| ) |
从中心站查询子站运行信息
| h | [in] rdb_create创建的句柄. |
| stationid[in] | 子站ID,null表示从目前连接的站查询。stationid用 "子站名.master" 表示子站主站,"子站id.slave" 表示子站从站。 |
| fun | [in] 接收消息回调函数。 |
| app_param | [in] 应用层传递的参数, fun函数的最后一个参数. |
| 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的最后一个参数。 |
| int rdb_initwritetodevice | ( | int | h, |
| ctrl_OnValWriteToDevice | funvalw, | ||
| void * | paramvalw, | ||
| ctrl_OnObjWriteToDevice | funobjw, | ||
| void * | paramobjw | ||
| ) |
初始化写设备回调函数
| h | [in] rdb_create创建的句柄. |
| funvalw | [in] 值标签写设备回调函数 |
| paramvalw | [in] 值标签写设备回调函数的pParam参数 |
| funobjw | [in] 对象标签写设备回调函数 |
| paramobjw | [in] 对象标签写设备回调函数的pParam参数 |
| bool rdb_isconnected | ( | int | h | ) |
判断连接状态
| h | [in] rdb_create创建的句柄. |
| 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函数的最后一个参数. |
| long long rdb_localtime2rdbtime | ( | int | nyear, |
| int | nmon, | ||
| int | nday, | ||
| int | nhour, | ||
| int | nmin, | ||
| int | nsec, | ||
| int | nmsec | ||
| ) |
本地时间合成为实时库时标T_TIME
| nyear | [in] 年1970-... |
| nmon | [in] 月1-12 |
| nday | [in] 日1-31 |
| nhour | [in] 时0-23 |
| nmin | [in] 分0-59 |
| nsec | [in] 秒0-59 |
| nmsec | [in] 毫秒0-999 |
| int rdb_manual_del | ( | int | h, |
| const char * | stagname | ||
| ) |
取消人工置数
| h[in] | rdb_create创建的句柄. |
| stagname[in] | 标签名 |
| int rdb_manual_set | ( | int | h, |
| rec_tagval * | pval | ||
| ) |
设置人工置数
| h[in] | rdb_create创建的句柄. |
| pval | [in] 标签和预设值的数据 |
| void rdb_md5_encode | ( | const void * | pdata, |
| int | nsize, | ||
| unsigned char | out[16] | ||
| ) |
计算md5散列值
| pdata | 需要编码的数据 |
| nsize | pdata的长度(字符数) |
| out | 输出区,最小16字节 |
| 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] 回调函数的参数 |
| int rdb_objgetsnapshot | ( | int | h, |
| rec_tagobj | pobjs[], | ||
| int | nsize | ||
| ) |
读取对象标签快照数据(读对象标签实时数据)
| h | [in] rdb_create创建的句柄. |
| pobjs | [in/out] 对象标签数据记录数组,调用前填写每个记录结构体中的标签名sname字段 |
| nsize | [in] pobjs中的记录数. |
| int rdb_objinsert | ( | int | h, |
| rec_tagobj | pobjs[], | ||
| int | nsize | ||
| ) |
补录对象标签历史数据(写对象标签历史数据)
| h | [in] rdb_create创建的句柄. |
| pobjs | [in] 对象标签数据记录数组 |
| nsize | [in] pobjs中的记录数. |
| int rdb_objputsnapshot | ( | int | h, |
| rec_tagobj | pobjs[], | ||
| int | nsize | ||
| ) |
写对象标签快照(写对象标签实时数据)
| h | [in] rdb_create创建的句柄. |
| pobjs | [in/out] 对象标签记录数据数组 |
| nsize | [in] pobjs中的记录数. |
| int rdb_operatoradd | ( | int | h, |
| rec_operator* | po | ||
| ) |
添加用户账号
| h | [in] rdb_create创建的句柄. |
| po | [in] 账号结构体指针 |
| int rdb_operatordel | ( | int | h, |
| const char * | sname | ||
| ) |
删除用户账号
| h | [in] rdb_create创建的句柄. |
| sname | [in] 账号名 |
| int rdb_operatormodifypass | ( | int | h, |
| const char * | sname, | ||
| const char * | soldpass, | ||
| const char * | snewpass | ||
| ) |
更改自己密码
| h | [in] rdb_create创建的句柄. |
| sname | [in] 自己的用户名 |
| soldpass | [in] 旧密码 |
| snewpass | [in] 新密码 |
| int rdb_operatorsget | ( | int | h, |
| rec_operator | opts[], | ||
| int | nrecbufsize, | ||
| int * | pnopts | ||
| ) |
读取账号表
| h | [in] rdb_create创建的句柄. |
| opts | [out] 用于接收账号记录的结构体数组 |
| nrecbufsize | [in] opts数组大小,能容纳账号记录的个数 |
| pnopts | [out] 实际读取到并存放到opts数组中的记录数 |
| int rdb_putmsg | ( | int | h, |
| const char * | jstr, | ||
| int | jstrsize | ||
| ) |
向实时库推送消息
| h[in] | rdb_create创建的句柄. |
| jstr | [in] 推送的JSON消息,utf8编码 |
| jstrsize | [in] jstr的长度,字节数 |
| bool rdb_rdbtime2localtime | ( | T_TIME | ltime, |
| int * | pnyear, | ||
| int * | pnmon, | ||
| int * | pnday, | ||
| int * | pnhour, | ||
| int * | pnmin, | ||
| int * | pnsec, | ||
| int * | pnmsec | ||
| ) |
实时库时标T_TIME分解为本地时间
| ltime | [in] 实时库时标 |
| pnyear | [out] |
| pnmon | [out] |
| pnday | [out] |
| pnhour | [out] |
| pnmin | [out] |
| pnsec | [out] |
| pnmsec | [out] |
| int rdb_regctrltag | ( | int | h, |
| const char * | stagname | ||
| ) |
注册控制标签
| h | [in] rdb_create创建的句柄. |
| stagname | [in] 标签名 |
| int rdb_setmessagenotify | ( | int | h, |
| rdbcd_onmessage | fun, | ||
| void * | param | ||
| ) |
设置消息回掉函数
| h | [in] rdb_create创建的句柄. |
| fun | [in] 处理消息通知的回调函数,注意和调用者不在一个线程中 |
| param | [in] 回调函数自己使用的参数 |
| int rdb_setslavedb | ( | int | h, |
| const char * | sip, | ||
| unsigned short | wport, | ||
| const char * | sUser, | ||
| const char * | sPass | ||
| ) |
设置从库
| h | [in] rdb_create创建的句柄. |
| sip | [in] ipv4地址. |
| wport | [in] 服务端口. |
| sUser | [in] 账号. |
| sPass | [in] 账号密码. |
| int rdb_soeput | ( | int | h, |
| rec_soe | psoe[], | ||
| int | nsize | ||
| ) |
写入SOE事件
| h | [in] rdb_create创建的句柄. |
| psoe | [in] SOE事件记录数组 |
| nsize | psoe中的记录个数 |
| int rdb_soequery | ( | int | h, |
| long long | lts, | ||
| unsigned int | autokey, | ||
| long long | lte, | ||
| const char * | sexp, | ||
| rdbcb_OnReadSoes | pfun, | ||
| void * | pParam | ||
| ) |
查询SOE事件
| h | [in] rdb_create创建的句柄. |
| lts | [in] 开始时标,参见T_TIME |
| autokey | [in] 开始时标处的autokey |
| lte | [in] 结束时标,参见T_TIME,-1表示查询到数据结束 |
| sexp | [in] 查询表达式 |
| pfun | [in] 查询结果记录回调函数 |
| pParam | [in]回调参数 |
| 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] 查询结果记录回调函数 |
| pParam | [in]回调参数 |
| int rdb_soesubscription | ( | int | h, |
| int | flag | ||
| ) |
订阅SOE事件
| h | [in] rdb_create创建的句柄. |
| flag | [in] 订阅模式; 0:取消订阅; 1:订阅最新; 2:订阅更新的SOE(被处理后的SOE); 3:订阅最新和更新后的SOE. |
| int rdb_soesubscription_ex | ( | int | h, |
| int | flag, | ||
| const char * | station | ||
| ) |
订阅SOE的高级版,支持通过中心站订阅子站SOE
| h[in] | rdb_create创建的句柄. |
| flag[in] | 订阅模式; 0:取消订阅; 1:订阅最新; 2:订阅更新的SOE(被处理后的SOE); 3:订阅最新和更新后的SOE. |
| station[in] | 子站名,null表示订阅目前连接的站的SOE(和rdb_soesubscription功能同)。 |
| int rdb_soesubscription_setfun | ( | int | h, |
| rdbcb_OnSscPutSoes | fun, | ||
| void * | param | ||
| ) |
设置处理订阅的SOE事件处理回调函数
| h | [in] rdb_create创建的句柄. |
| fun | [in] 回调函数 |
| param | [in] 回调函数自己带入的参数 |
| int rdb_soeupdate | ( | int | h, |
| rec_soe | psoe[], | ||
| int | nsize | ||
| ) |
更新SOE事件记录
| h | [in] rdb_create创建的句柄. |
| psoe | [in/out] 事件记录数组,返回时cstatus字段会被改写 |
| nsize | [in] psoe中的记录数 |
| int rdb_tagdel | ( | int | h, |
| const char * | sname | ||
| ) |
删除标签
| h | [in] rdb_create创建的句柄. |
| sname | [in] 要删除的标签名. |
| int rdb_tagext_del | ( | int | h, |
| const char * | tagname | ||
| ) |
删除一个标签的扩展属性
| h | [in] rdb_create创建的句柄. |
| tagname[in] | 标签名 |
| int rdb_tagext_get | ( | int | h, |
| tag_ext * | ptags, | ||
| int | size | ||
| ) |
获取一批标签扩展属性
| h | [in] rdb_create创建的句柄. |
| ptags[in] | in/out 标签扩展属性数组,输入时只填写标签名 |
| size | [in] ptags中标签个数 |
| int rdb_tagext_inport | ( | int | h, |
| tag_ext * | pext, | ||
| uint32_t | umask | ||
| ) |
导入标签扩展属性
| h | [in] rdb_create创建的句柄. |
| pext[in] | 扩展属性结构体。 |
| umask | [in] 掩码 |
| int rdb_tagget | ( | int | h, |
| rec_tag * | ptag | ||
| ) |
读取标签属性记录
| h | [in] rdb_create创建的句柄. |
| ptag | [in/out] 标签属性记录,调用前填写sname字段. |
| int rdb_taginport | ( | int | h, |
| unsigned int | dwflag, | ||
| rec_tag * | ptag, | ||
| int * | presult | ||
| ) |
导入(添加,更改)标签
| h | [in] rdb_create创建的句柄. |
| dwflag | [in] 导入策略,指明当标签存在时修改哪些字段,参见TAG_MASK_DES |
| ptag | [in] 标签记录指针 |
| presult | [out] 处理结果; 0未更改; 1修改了; 2添加了 |
| int rdb_tagquery | ( | int | h, |
| const char * | snamefilter, | ||
| const char * | sdesfilter, | ||
| int | ndatatype, | ||
| int | ntagclass, | ||
| rdbcb_OnReadTags | pfun, | ||
| void * | pParam | ||
| ) |
查询标签
| h | [in] rdb_create创建的句柄. |
| snamefilter | [in] 标签名过滤串,空或*表示全部,支持*和?匹配 |
| sdesfilter | [in] 标签描述过滤串,空或*表示全部,支持*和?匹配 |
| ndatatype | [in] 标签名数据类型,-1表示全部 |
| ntagclass | [in] 标签分类,-1表示全部 |
| pfun | [in] 回调函数,参见rdbcb_OnReadTags,查询到标签记录后使用回调函数处理. |
| pParam | [in] 回调函数的参数. |
| long long rdb_time | ( | ) |
获取当前时间的实时库时标
| 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中的记录数. |
| int rdb_valgetsnapshot | ( | int | h, |
| rec_tagval | vals[], | ||
| int | nsize | ||
| ) |
读取值标签快照(读值标签实时数据)
| h | [in] rdb_create创建的句柄. |
| vals | [in/out] 标签值记录数组,调用前填写每个记录结构体中的标签名sname字段 |
| nsize | [in] vals中的记录数. |
| int rdb_valinsert | ( | int | h, |
| rec_tagval | vals[], | ||
| int | nsize | ||
| ) |
补录值标签数据(写值标签历史数据)
| h | [in] rdb_create创建的句柄. |
| vals | [in] 标签值记录数组 |
| nsize | [in] vals中的记录数. |
| int rdb_valputsnapshot | ( | int | h, |
| rec_tagval | vals[], | ||
| int | nsize | ||
| ) |
写值标签快照(写值标签实时数据)
| h | [in] rdb_create创建的句柄. |
| vals | [in/out] 标签值记录数组,rdb_valputsnapshot返回0时,每个记录中的cerr为0表示该记录成功,否则为错误码 |
| nsize | [in] vals中的记录数. |
| 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使用的参数 |
| int rdb_writeobjtodevice | ( | int | h, |
| rec_tagobj * | pobj | ||
| ) |
写对象标签的值到现场设备
| h | [in] rdb_create创建的句柄. |
| pobj | [in] 对象标签数据记录 |
| int rdb_writevaltodevice | ( | int | h, |
| rec_tagval * | pval | ||
| ) |
写值标签的值到现场设备
| h | [in] rdb_create创建的句柄. |
| pval | [in] 值标签数据记录 |
| int64_t rdbtime_fromstr | ( | const char * | str, |
| size_t | zlen | ||
| ) |
本地字符串表达的时间转换为实时库时间
| str | 字符串,比如"2019/12/3 12:24:56.200" 或者 "2019/12/3 12:24:56" |
| zlen | str的长度(字符数) |
| int rdbtime_tostr | ( | int64_t | ltime, |
| char * | sout, | ||
| size_t | outsize | ||
| ) |
实时库时间(从1970-1-1开始的100毫秒数)转换为字符串
| ltime实时库时间 | |
| sout | 输出空间 |
| outsize | 输出空间大小(字节数) |