collect.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package dataStruct
  2. type CollectData struct {
  3. Slave *DtuSlave
  4. MeterRef *MeterRef //电表参数
  5. PT int //电压变比
  6. CT int //电流变比
  7. //电表参数
  8. P float32
  9. Pa float32
  10. Pb float32
  11. Pc float32
  12. Q float32
  13. Qa float32
  14. Qb float32
  15. Qc float32
  16. Pf float32
  17. Pfa float32
  18. Pfb float32
  19. Pfc float32
  20. Ia float32
  21. Ib float32
  22. Ic float32
  23. Iz float32
  24. Ua float32
  25. Ub float32
  26. Uc float32
  27. Uab float32
  28. Ubc float32
  29. Uca float32
  30. Uaw float32
  31. Ubw float32
  32. Ucw float32
  33. Uabw float32
  34. Ubcw float32
  35. Ucaw float32
  36. Pv float32
  37. Freq float32
  38. Fw float32
  39. Dp float32 //需量负荷
  40. IUnbalance float32 //电流不平衡度
  41. UUnbalance float32 //电压不平衡度
  42. TemperatureA float32
  43. TemperatureB float32
  44. TemperatureC float32
  45. TemperatureZ float32
  46. Tps float32
  47. Tqs float32
  48. Fps float32
  49. Fqs float32
  50. Tpe float32
  51. Tqe float32
  52. Fpe float32
  53. Fqe float32
  54. BaseIa float32
  55. BaseIb float32
  56. BaseIc float32
  57. BaseUa float32
  58. BaseUb float32
  59. BaseUc float32
  60. HarIa float32
  61. HarIb float32
  62. HarIc float32
  63. HarUa float32
  64. HarUb float32
  65. HarUc float32
  66. IaHar float32
  67. IbHar float32
  68. IcHar float32
  69. UaHar float32
  70. UbHar float32
  71. UcHar float32
  72. Hia [15]float32 //A相3-31奇次电流谐波
  73. Hib [15]float32 //B相3-31奇次电流谐波
  74. Hic [15]float32 //C相3-31奇次电流谐波
  75. Hua [15]float32 //A相3-31奇次电压谐波
  76. Hub [15]float32 //B相3-31奇次电压谐波
  77. Huc [15]float32 //C相3-31奇次电压谐波
  78. }
  79. // CalcDiff 计算偏差
  80. func (d *CollectData) CalcDiff() {
  81. ref := d.MeterRef
  82. d.Fw = d.Freq - float32(50.0)
  83. d.Uaw = (d.Ua - ref.LvRef) * float32(100.0) / ref.LvRef
  84. d.Ubw = (d.Ub - ref.LvRef) * float32(100.0) / ref.LvRef
  85. d.Ucw = (d.Uc - ref.LvRef) * float32(100.0) / ref.LvRef
  86. d.Uabw = (d.Uab - ref.PvRef) * float32(100.0) / ref.PvRef
  87. d.Ubcw = (d.Ubc - ref.PvRef) * float32(100.0) / ref.PvRef
  88. d.Ucaw = (d.Uca - ref.PvRef) * float32(100.0) / ref.PvRef
  89. }
  90. // CalcWithParam 计算电表部分数据
  91. func (d *CollectData) CalcWithParam(m *MeterCalcParam) {
  92. m.CalcAndSetPowerRate(d)
  93. m.CalcAndSetDayEnergy(d)
  94. m.SetTotalEnergy(d)
  95. d.Tpe = m.DayTotalEnergy.Tp
  96. d.Tqe = m.DayTotalEnergy.Tq
  97. d.Fpe = m.DayTotalEnergy.Fp
  98. d.Fqe = m.DayTotalEnergy.Fq
  99. d.Pv = m.CalcRate()
  100. }