dtuConfig.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. package dataStruct
  2. import "strings"
  3. //type DtuConfig struct {
  4. // Platform []DtuConfigItem `json:"platform"`
  5. //}
  6. type DtuConfig struct {
  7. Enable bool `json:"enable"`
  8. ID int `json:"id"`
  9. Name string `json:"name"`
  10. IP string `json:"ip"`
  11. Port int `json:"port"`
  12. Protocol string `json:"protocol"`
  13. Pw string `json:"pw"`
  14. Mn string `json:"mn"`
  15. Secs int `json:"secs"`
  16. St string `json:"st"`
  17. Cn string `json:"cn"`
  18. Others string `json:"others"`
  19. Slave []*DtuSlave `json:"slave"`
  20. }
  21. type DtuSlave struct {
  22. Addr int `json:"addr"` //设备串口地址
  23. NO string `json:"no"` //设备编号
  24. LvRef float32 `json:"lvRef"` //线电压基准(220)
  25. PvRef float32 `json:"pvRef"` //相电压基准(380)
  26. MType string `json:"mType"` //设备类型
  27. BmYz map[string]string `json:"bmYz"` //编码因子
  28. }
  29. type BmYz struct {
  30. P string
  31. Pa string
  32. Pb string
  33. Pc string
  34. Q string
  35. Qa string
  36. Qb string
  37. Qc string
  38. Pf string
  39. Pfa string
  40. Pfb string
  41. Pfc string
  42. Ua string
  43. Ub string
  44. Uc string
  45. Uab string
  46. Ubc string
  47. Uca string
  48. Ia string
  49. Ib string
  50. Ic string
  51. Iz string
  52. Uaw string
  53. Ubw string
  54. Ucw string
  55. Uabw string
  56. Ubcw string
  57. Ucaw string
  58. F string
  59. FW string
  60. IUnbalance string
  61. UUnbalance string
  62. Dp string
  63. Pv string
  64. Tpe string
  65. Tqe string
  66. Fpe string
  67. Fqe string
  68. Tps string
  69. Tqs string
  70. Fps string
  71. Fqs string
  72. T string
  73. T2 string
  74. T3 string
  75. T4 string
  76. T5 string
  77. T6 string
  78. T7 string
  79. }
  80. // GetBmYzKey 获取BmYz的键
  81. func (ds *DtuSlave) GetBmYzKey(key string) string {
  82. if ds.BmYz == nil {
  83. return strings.ToLower(key)
  84. }
  85. value, ok := ds.BmYz[key]
  86. if ok {
  87. return value
  88. }
  89. return strings.ToLower(key)
  90. }
  91. // GetBmYzKeyOrDefault 获取BmYz的键
  92. func (ds *DtuSlave) GetBmYzKeyOrDefault(key string, defaultValue string) string {
  93. if ds.BmYz == nil {
  94. return defaultValue
  95. }
  96. value, ok := ds.BmYz[key]
  97. if ok {
  98. return value
  99. }
  100. return defaultValue
  101. }