snap_abb.c 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #include "plt.h"
  2. #include "snap_abb.h"
  3. int snap_start_abb(FILE** _fp_snap)
  4. {
  5. //struct snap_t* s = &snap;
  6. int ret = 0;
  7. int y,m,d,h,min,ss;
  8. char szfn[128];
  9. snap_get_datetime( &y, &m, &d, &h, &min, &ss);
  10. //sprintf(s->szcurr_date, "%d-%02d-%02d", y,m,d);
  11. sprintf(szfn,"../snap/%d-%02d-%02d %02d-%02d-%02d.dat",y,m,d,h,min,ss);
  12. *_fp_snap = fopen(szfn, "w+");
  13. if( *_fp_snap == NULL){
  14. ret = -1;
  15. }else{
  16. fprintf(*_fp_snap,"%s,%s,%s,%s,", "time","cpu_occupy","mem_occupy","disk_occupy"); /* 1 2 3 4 */
  17. fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,", "state","err","ap","con_ap","load_ap","soc"); /* 5 6 7 8 */
  18. fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,",
  19. "pcs_runstat","pcs_ap", "pcs_errstat",
  20. "pcs_dcv", "pcs_dcc",
  21. "pcs_gridv", "pcs_ua", "pcs_ub", "pcs_uc","pcs_ia", "pcs_ib", "pcs_ic");
  22. fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,",
  23. "bms_hvstat",
  24. "bms_v",
  25. "bms_c",
  26. "bms_ap",
  27. "bms_sysstat",
  28. "bms_soc",
  29. "bms_nsub",
  30. "bms_cellvmax",
  31. "bms_cellvmin",
  32. "bms_cellvave",
  33. "bms_celltmax",
  34. "bms_celltmin",
  35. "bms_celltave",
  36. "bms_max_dhg_c",
  37. "bms_max_chg_c"); /* bms */
  38. fprintf(*_fp_snap,"%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,",
  39. "ac1_workstat",
  40. "ac1_comp",
  41. "ac1_rtntemp",
  42. "ac1_condtemp",
  43. "ac1_evatemp",
  44. "ac2_workstat",
  45. "ac2_comp",
  46. "ac2_rtntemp",
  47. "ac2_condtemp",
  48. "ac2_evatemp"); /* ac */
  49. fprintf(*_fp_snap,"%s,%s,%s,%s,%s,\
  50. %s,%s,%s,%s,%s,",
  51. "m1_state","m1_com_ap", "m1_com_ae","m1_pos_ae","m1_neg_ae",
  52. "m2_state","m2_com_ap", "m2_com_ae","m2_pos_ae","m2_neg_ae"); /* meter */
  53. fprintf(*_fp_snap,"%s,%s,%s,%s,",
  54. "env1_temp",
  55. "env1_humi",
  56. "env2_temp",
  57. "env2_humi"); /* env */
  58. fprintf(*_fp_snap,"%s\n",
  59. "plc_transtemp"); /* plc */
  60. //s->started = 0;
  61. }
  62. return ret ;
  63. }
  64. int snap_run_abb(FILE* _fp_snap)
  65. {
  66. int ret = 0;
  67. int y, m, d, h, min, s;
  68. snap_get_datetime( &y, &m, &d, &h, &min, &s);
  69. /* time and mac */
  70. fprintf(_fp_snap, "%02d:%02d:%02d,%.1f,%.1f,%.1f,",
  71. h,min,s, mac_get_cpu_occupy_info(),mac_get_mem_occupy_info(),mac_get_disk_occupy_info());
  72. /* sys */
  73. fprintf(_fp_snap,"%s,%s,%d,%d,%d,%.1f,",
  74. cess2000_get_state_str(1),cess2000_get_err_str(1),cess2000_get_ap(1),
  75. ems_get_transf_con_ap(),ems_get_transf_load_ap(),
  76. cess2000_get_soc(1));
  77. /* pcs */
  78. fprintf(_fp_snap, "%s,%d,%d,\
  79. %d,%d,\
  80. %.1f,%.1f,%.1f,%.1f,%.1f,%.1f,%.1f,",
  81. pcs_get_runstat_str(), pcs_get_ap(), pcs_get_errstat(),
  82. pcs_get_dcv(), pcs_get_dcc(),
  83. pcs_get_gridv(), pcs_get_ua(),pcs_get_ub(),pcs_get_uc(),pcs_get_ia(),pcs_get_ib(),pcs_get_ic());
  84. /* bms */
  85. fprintf(_fp_snap, "%s,%d,%d,%d,%s,%.1f,%d,%.3f,%.3f,%.3f,%d,%d,%d,%d,%d,",
  86. pack_get_hvstat(),
  87. pack_get_v(),
  88. pack_get_c(),
  89. pack_get_ap(),
  90. pack_get_sysstat_str(),
  91. pack_get_soc(),
  92. pack_get_nsub(),
  93. pack_get_cellvmax(),
  94. pack_get_cellvmin(),
  95. pack_get_cellvave(),
  96. pack_get_celltmax(),
  97. pack_get_celltmin(),
  98. pack_get_celltave(),
  99. pack_get_max_dhgc(),
  100. pack_get_max_chgc());
  101. /* ac */
  102. fprintf(_fp_snap, "%s,%s,%d,%d,%d,%s,%s,%d,%d,%d,",
  103. 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),
  104. 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));
  105. /* meter */
  106. fprintf(_fp_snap, "%s,%d,%.1f,%.1f,%.1f,",
  107. meter_get_state_string(DEVM_ABB_B23_4, 1),
  108. meter_get_com_ap(DEVM_ABB_B23_4, 1),
  109. meter_get_com_ae(DEVM_ABB_B23_4 ,1),
  110. meter_get_pos_ae(DEVM_ABB_B23_4 ,1),
  111. meter_get_neg_ae(DEVM_ABB_B23_4 ,1));
  112. fprintf(_fp_snap, "%s,%d,%.1f,%.1f,%.1f,",
  113. meter_get_state_string(DEVM_ABB_B23_4, 2),
  114. meter_get_com_ap(DEVM_ABB_B23_4, 2),
  115. meter_get_com_ae(DEVM_ABB_B23_4 ,2),
  116. meter_get_pos_ae(DEVM_ABB_B23_4 ,2),
  117. meter_get_neg_ae(DEVM_ABB_B23_4 ,2));
  118. /* env */
  119. 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));
  120. /* plc */
  121. fprintf(_fp_snap, "%d",plc_get_transf_temp());
  122. fprintf(_fp_snap,"\n"); /* end of row */
  123. fflush(_fp_snap);
  124. return 0;
  125. }