1. %SBDATA 单台设备下数据集合
  2. % 包含单台设备的指标读取, 根据测点和指标类型过滤指标, 指标同步. 可以成为停机判断, 趋势识别的输入.
  3. % properties
  4. % tbs - 指标序列. 结构体数组. 每个结构体包括一个table, + 一个measprop
  5. % synctime - 按测点同步的时间
  6. % graph entfun.Graph - 设备graph
  7. % methods
  8. % read_indices 按照一个mask过滤器, 读取指标 (mask过滤的功能暂时没有实现)
  9. % read_saved_fe_from_cassandra c
  10. % try_to_identify_cldyidx_by_feid 通过feid定位是哪条测量定义. (硬写入, 比如1602 是对应高加)
  11. % sync_tbs_by_method_a1 时间同步多测点指标, 同步的时间保存在synctime里. tbs中会出现nan(同步时间下没有数据)
  12. % sync_tbs 集成的测点指标同步方法(Newly Added)
  13. % read_measdef_data 按照feid 读取单个指标. 可以在此添加不同的指标类型
  14. % apply_mask 通过mask筛选tbs
  15. % get_flatten_tbs tbs本来是按测点存成cell的, 展成一个结构体数组.
  16. % convert_to_waveagg 功能待完善. waveagg是波形集合. 每条波形tb, 对应一个measprop, 对应一个graph
  17. % judge_sb_stop_status "同步后"的测点, 判定机组的启停机状态.

Syntax

sb=entfun.SbData(graph);

Methods

rst=isdataempty(obj); %判断实例中有没有读指标数据, 是否读到指标数据全为空.
clear_data(obj); %删除指标数据, 用于重新读数据
read_devnode_fe(obj,feid,st,ed,logfilepath,fenametb); %读取设备节点的指标, 如转速, 停机状态等. 输入feid 待读取的指标feid, st开始时间, ed结束时间, logfilepath[可选]日志文件的路径, fenametb[可选]指标编号-名称对照表
strErrorReadFeids=read_saved_fe_from_cassandra(obj,mask,st,ed,logfilepath,dbname,fenametb); %读取该机组不同测点下 自定义指标编号的指标值. mask结构体,指明读哪些feid.st开始时间,ed结束时间,logfilepath日志文件的路径, fenametb指标编号-名称对照表
sync_tbs(obj,syncMethod,allowSynWin,minSampleInterval,isFillMissing); %  时间同步多测点指标, 同步的时间保存在synctime里. tbs中会出现NaT,NaN(同步时间下没有数据)
input: 
syncMethod 同步方法. 'minDist': 按照最小时间间隔同步. 例obj.sync_tbs('minDist',allowSynWin,minSampleInterval,isFillMissing)
allowSynWin 允许同步的时间间隔, 最低设成minutes(5)/days(1), isFillMissing
minSampleInterval tSyncTime的最小间隔. 默认minutes(2)/days(1)
isFillMissing是否用最近的点填充, 允许多对一. 默认不填充isFillMissing=0.
output:
同步后的指标存回obj.tbs中. obj.tbs(n).va(table)中插入(NaT,nan)的记录,表明该时刻指标n无数据,以缺省填充. tbs中每个指标都变成长度相等
unsync_tbs(obj);  %将已经同步的指标, 恢复成未同步的状态,去除va.measdate中NaT的值
[tb,idx,status]=read_measdef_data(obj,vibnode,datatype,st,ed,logfilepath,dbname); %读取单个指标, 保存在tb中. 对于指标feid=1,2,3,5,27,28,21,22,23, 返回所在测量定义的序号idx, status指标读取状态0成功-1失败

非通用,需要预读取指标和条件(未来考虑放在单独的库中管理)

remove_error_signal(obj); %移除指标中已识别为误信号的值
judge_sb_rpm(obj,method); %融合各测点的转频指标得到设备级转速, 储存在obj.rpm属性中.
update_graph_stp_thd(obj); %使用停机门限计算方法重新计算门限, 并更新到各测点的停机门限属性中
judge_sb_stop_status(obj); %判断设备启停机状态. 
set_rpm(obj)% 读取的rpm指标72179, 挂载到sb.rpm中. 同时删除tbs中的rpm记录. 
filter_out_stop(obj, fcn_cal_nonstop_index) %

不维护

parread_saved_fe_from_cassandra(obj,mask,st,ed,logfilepath,dbname,fenametb)
convert_tbs_to_lines(obj)
covert_tbs_to_pbs(obj,fenametb)
waveagg=convert_to_waveagg(obj,tbidx)
apply_mask(obj,mask)
tb=generate_nthPt_pb(obj,ipt)
tbsSub=get_nth_pt_tbs(obj,nthPtInTbs); % 拿到第n个测点下的所有指标, 转换成table的格式
flattbs=get_flatten_tbs(obj)
tblen=len(obj);   % 获得读取的指标个数
len=dataPtLen(obj); % 获得测点个数

Examples