#include "plt.h" #include "snap_abb.h" int snap_start_abb(FILE** _fp_snap) { //struct snap_t* s = &snap; int ret = 0; int y,m,d,h,min,ss; char szfn[128]; snap_get_datetime( &y, &m, &d, &h, &min, &ss); //sprintf(s->szcurr_date, "%d-%02d-%02d", y,m,d); sprintf(szfn,"../snap/%d-%02d-%02d %02d-%02d-%02d.dat",y,m,d,h,min,ss); *_fp_snap = fopen(szfn, "w+"); if( *_fp_snap == NULL){ ret = -1; }else{ fprintf(*_fp_snap,"%s,%s,%s,%s,", "time","cpu_occupy","mem_occupy","disk_occupy"); /* 1 2 3 4 */ fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,", "state","err","ap","con_ap","load_ap","soc"); /* 5 6 7 8 */ fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,", "pcs_runstat","pcs_ap", "pcs_errstat", "pcs_dcv", "pcs_dcc", "pcs_gridv", "pcs_ua", "pcs_ub", "pcs_uc","pcs_ia", "pcs_ib", "pcs_ic"); fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,", "bms_hvstat", "bms_v", "bms_c", "bms_ap", "bms_sysstat", "bms_soc", "bms_nsub", "bms_cellvmax", "bms_cellvmin", "bms_cellvave", "bms_celltmax", "bms_celltmin", "bms_celltave", "bms_max_dhg_c", "bms_max_chg_c"); /* bms */ fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,", "ac1_workstat", "ac1_comp", "ac1_rtntemp", "ac1_condtemp", "ac1_evatemp", "ac2_workstat", "ac2_comp", "ac2_rtntemp", "ac2_condtemp", "ac2_evatemp"); /* ac */ fprintf(*_fp_snap,"%s,%s,%s,%s,%s,\ %s,%s,%s,%s,%s,", "m1_state","m1_com_ap", "m1_com_ae","m1_pos_ae","m1_neg_ae", "m2_state","m2_com_ap", "m2_com_ae","m2_pos_ae","m2_neg_ae"); /* meter */ fprintf(*_fp_snap,"%s,%s,%s,%s,", "env1_temp", "env1_humi", "env2_temp", "env2_humi"); /* env */ fprintf(*_fp_snap,"%s\n", "plc_transtemp"); /* plc */ //s->started = 0; } return ret ; } int snap_run_abb(FILE* _fp_snap) { int ret = 0; int y, m, d, h, min, s; snap_get_datetime( &y, &m, &d, &h, &min, &s); /* time and mac */ fprintf(_fp_snap, "%02d:%02d:%02d,%.1f,%.1f,%.1f,", h,min,s, mac_get_cpu_occupy_info(),mac_get_mem_occupy_info(),mac_get_disk_occupy_info()); /* sys */ fprintf(_fp_snap,"%s,%s,%d,%d,%d,%.1f,", cess2000_get_state_str(1),cess2000_get_err_str(1),cess2000_get_ap(1), ems_get_transf_con_ap(),ems_get_transf_load_ap(), cess2000_get_soc(1)); /* pcs */ fprintf(_fp_snap, "%s,%d,%d,\ %d,%d,\ %.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,", pcs_get_runstat_str(), pcs_get_ap(), pcs_get_errstat(), pcs_get_dcv(), pcs_get_dcc(), pcs_get_gridv(), pcs_get_ua(),pcs_get_ub(),pcs_get_uc(),pcs_get_ia(),pcs_get_ib(),pcs_get_ic()); /* bms */ fprintf(_fp_snap, "%s,%d,%d,%d,%s,%.1f,%d,%.3f,%.3f,%.3f,%d,%d,%d,%d,%d,", pack_get_hvstat(), pack_get_v(), pack_get_c(), pack_get_ap(), pack_get_sysstat_str(), pack_get_soc(), pack_get_nsub(), pack_get_cellvmax(), pack_get_cellvmin(), pack_get_cellvave(), pack_get_celltmax(), pack_get_celltmin(), pack_get_celltave(), pack_get_max_dhgc(), pack_get_max_chgc()); /* ac */ fprintf(_fp_snap, "%s,%s,%d,%d,%d,%s,%s,%d,%d,%d,", ac_get_work_stat_str(1), ac_get_cmp_stat_str(1), ac_get_rtnwind_temp(1), ac_get_cond_temp(1), ac_get_eva_temp(1), ac_get_work_stat_str(2), ac_get_cmp_stat_str(2), ac_get_rtnwind_temp(2), ac_get_cond_temp(2), ac_get_eva_temp(2)); /* meter */ fprintf(_fp_snap, "%s,%d,%.1f,%.1f,%.1f,", meter_get_state_string(DEVM_ABB_B23_4, 1), meter_get_com_ap(DEVM_ABB_B23_4, 1), meter_get_com_ae(DEVM_ABB_B23_4 ,1), meter_get_pos_ae(DEVM_ABB_B23_4 ,1), meter_get_neg_ae(DEVM_ABB_B23_4 ,1)); fprintf(_fp_snap, "%s,%d,%.1f,%.1f,%.1f,", meter_get_state_string(DEVM_ABB_B23_4, 2), meter_get_com_ap(DEVM_ABB_B23_4, 2), meter_get_com_ae(DEVM_ABB_B23_4 ,2), meter_get_pos_ae(DEVM_ABB_B23_4 ,2), meter_get_neg_ae(DEVM_ABB_B23_4 ,2)); /* env */ fprintf(_fp_snap, "%d,%d,%d,%d,",env_get_temp(DEVM_RS_WS_N,1), env_get_humi(DEVM_RS_WS_N,1),env_get_temp(DEVM_RS_WS_N,2), env_get_humi(DEVM_RS_WS_N,2)); /* plc */ fprintf(_fp_snap, "%d",plc_get_transf_temp()); fprintf(_fp_snap,"\n"); /* end of row */ fflush(_fp_snap); return 0; }