eis/eqpalg/.do_not_use/otheralg/meter_bound.h

42 lines
1.1 KiB
C++

#pragma once
/**
* @file meter_bound.h
* @brief 太原硅钢 上下限报警
* @author your name (you@domain.com)
* @version 0.1
* @date 2023-12-22
*
* Copyright: Baosight Co. Ltd.
* DO NOT COPY/USE WITHOUT PERMISSION
*
*/
#include <eqpalg/algs/exp.h>
#include <eqpalg/gb_item_memory.h>
#include <glob/SingletonTemplate.h>
#include <map>
class MeterBound : public Exp {
public:
MeterBound(const string& name, const mix_cc::json& rule_json,
const string& ruleId, size_t dims);
~MeterBound();
virtual int init() override;
virtual AlarmInfo mon_proc() override;
virtual mix_cc::json exec_cron() override;
virtual AlarmInfo cron_proc() override;
virtual void reset_dev_data() override; ///<更新up down
protected:
double error_up_; ///<报警上限
double error_down_; ///<报警下限
double value_; ///<监控变量
MemCachedClient m_memclient;
private:
string Jvalue_ = "1"; ///已清除
string Jkey_ =
string(CMemVar::Const()->UnitNo) + "_" + "up_down_flag"; ///<更细最大最小
int reload_config();
};