#ifndef EMS_H #define EMS_H #include "plt.h" enum ems_mode_t{ EMSMOD_NONE = 0, EMSMOD_PCURV, EMSMOD_PDEM, }; struct pow_regulate_t{ int enable; int high; int low; int intv; int timer; int aps_max; int aps_min; }; struct ems_t{ int mode; char szmode[32]; //int pdmode; // sta power distribution mode //char szpdmode[32]; struct pow_regulate_t pow_reg; int pcurv_aps; int last_pcurv_aps; int pcurv_idx; struct pcurv_t pcurv; char sztransf_conm_model[32]; int transf_conm_model; int transf_conm_idx; // 0 means no con meter int transf_conm_com_ap; double transf_conm_com_ae; double transf_conm_pos_ae; double transf_conm_neg_ae; char sztransf_loadm_model[32]; int transf_loadm_model; int transf_loadm_idx; // 0 means no load meter int transf_loadm_com_ap; double transf_loadm_com_ae; double transf_loadm_pos_ae; double transf_loadm_neg_ae; double transf_ts_last_m_integ; int transf_con_ap; int transf_load_ap; char szfactory_conm_model[32]; int factory_conm_model; int factory_conm_idx; // 0 means no con meter int factory_conm_com_ap; double factory_conm_com_ae; double factory_conm_pos_ae; double factory_conm_neg_ae; char szfactory_loadm_model[32]; int factory_loadm_model; int factory_loadm_idx; // 0 means no load meter int factory_loadm_com_ap; double factory_loadm_com_ae; double factory_loadm_pos_ae; double factory_loadm_neg_ae; double factory_ts_last_m_integ; int factory_con_ap; int factory_load_ap; struct statemachine_t sm; int cmd; int cur_timeseg_type; int last_timeseg_type; int timeseg_idx; struct timeseg_t timeseg; struct estats_t estats; int debug_mode;//0é¯˛debug 1debug }; extern struct ems_t ems; int ems_init( void ); void ems_exit(); void ems_run(); int ems_get_debug_mode(); int ems_set_debug_mode(int mode); void ems_fire_warning(); int ems_start_aux(); int ems_sta_aps_regulate( void ); int ems_sta_aps_dis( void ); int ems_set_pdmode( int val ); int ems_set_pcurv(int newidx); int ems_edit_pcurv(int starthh, int startnn, int endhh, int endnn, int aps ); int ems_save_pcurv(); int ems_set_powreg_highlow(int hi, int lo); int ems_get_pcurv_pts(); int ems_get_mode(void); int ems_set_mode( int mod ); double ems_get_con_ua(); double ems_get_con_ub(); double ems_get_con_uc(); double ems_get_con_ia(); double ems_get_con_ib(); double ems_get_con_ic(); int ems_send_sm_cmd(int val); int ems_get_cmd(); void ems_reset_cmd(); int ems_get_pcurv_aps(); int ems_get_reglo(); int ems_get_reghi(); char* ems_get_modestr(void); void ems_exe_pdem(); int ems_get_regulate_en(); int ems_set_reg_en(int val); int ems_set_reg_intv(int val); int ems_set_timeseg(int idx); int ems_save_timeseg(); int ems_reset_timeseg(); char* ems_get_state_str(void); int ems_get_tick(); int ems_get_tick_ave(); int ems_get_tick_cur(); int ems_get_tick_max(); int ems_get_step(); char* ems_get_err_str(); int ems_get_pow_reg_timer(); int ems_get_pow_reg_intv(); int ems_get_pow_reg_aps_min(); int ems_get_pow_reg_aps_max(); int ems_get_timeseg_idx(); char* ems_get_timeseg_status_str(); char* ems_get_timeseg_type_str(); int ems_get_estats_step(); double ems_get_day_sharp_pos_ae(); double ems_get_day_sharp_neg_ae(); double ems_get_day_peak_pos_ae(); double ems_get_day_peak_neg_ae(); double ems_get_day_flat_pos_ae(); double ems_get_day_flat_neg_ae(); double ems_get_day_valley_pos_ae(); double ems_get_day_valley_neg_ae(); int ems_get_pcurv_idx(); char* ems_get_pcurv_status_str(); char* ems_get_pcurv_info_str(); struct pcurv_t* ems_get_pcurv_t(); int ems_get_tool_data(char* buf); int ems_get_tool_pcurv_data(char* buf); int ems_get_tool_timeseg_data(char* buf); char* ems_get_factory_conm_model_str(); int ems_get_factory_conm_idx(); int ems_get_factory_con_ap(); double ems_get_factory_con_com_ae(); double ems_get_factory_con_pos_ae(); double ems_get_factory_con_neg_ae(); int ems_get_factory_con_com_ap(); char* ems_get_factory_load_model_str(); int ems_get_factory_loadm_idx(); int ems_get_factory_load_ap(); double ems_get_factory_load_com_ae(); double ems_get_factory_load_pos_ae(); double ems_get_factory_load_neg_ae(); int ems_get_factory_load_com_ap(); char* ems_get_transf_conm_model_str(); int ems_get_transf_conm_idx(); int ems_get_transf_con_ap(); double ems_get_transf_con_com_ae(); double ems_get_transf_con_pos_ae(); double ems_get_transf_con_neg_ae(); int ems_get_transf_con_com_ap(); char* ems_get_transf_load_model_str(); int ems_get_transf_loadm_idx(); int ems_get_transf_load_ap(); double ems_get_transf_load_com_ae(); double ems_get_transf_load_pos_ae(); double ems_get_transf_load_neg_ae(); int ems_get_transf_load_com_ap(); #endif /* EMS_H */