dtuConfig.go 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  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. Cn string `json:"cn"` //设备CN
  24. NO string `json:"no"` //设备编号
  25. LvRef float32 `json:"lvRef"` //线电压基准(220)
  26. PvRef float32 `json:"pvRef"` //相电压基准(380)
  27. MType string `json:"mType"` //设备类型
  28. BmYz map[string]string `json:"bmYz"` //编码因子
  29. }
  30. type BmYz struct {
  31. P string
  32. Pa string
  33. Pb string
  34. Pc string
  35. Q string
  36. Qa string
  37. Qb string
  38. Qc string
  39. Pf string
  40. Pfa string
  41. Pfb string
  42. Pfc string
  43. Ua string
  44. Ub string
  45. Uc string
  46. Uab string
  47. Ubc string
  48. Uca string
  49. Ia string
  50. Ib string
  51. Ic string
  52. Iz string
  53. Uaw string
  54. Ubw string
  55. Ucw string
  56. Uabw string
  57. Ubcw string
  58. Ucaw string
  59. F string
  60. FW string
  61. IUnbalance string
  62. UUnbalance string
  63. Dp string
  64. Pv string
  65. Tpe string
  66. Tqe string
  67. Fpe string
  68. Fqe string
  69. Tps string
  70. Tqs string
  71. Fps string
  72. Fqs string
  73. T string
  74. T2 string
  75. T3 string
  76. T4 string
  77. T5 string
  78. T6 string
  79. T7 string
  80. }
  81. // GetBmYzKey 获取BmYz的键
  82. func (ds *DtuSlave) GetBmYzKey(key string) string {
  83. if ds.BmYz == nil {
  84. return strings.ToLower(key)
  85. }
  86. value, ok := ds.BmYz[key]
  87. if ok {
  88. return value
  89. }
  90. return strings.ToLower(key)
  91. }
  92. // GetBmYzKeyOrDefault 获取BmYz的键
  93. func (ds *DtuSlave) GetBmYzKeyOrDefault(key string, defaultValue string) string {
  94. if ds.BmYz == nil {
  95. return defaultValue
  96. }
  97. value, ok := ds.BmYz[key]
  98. if ok {
  99. return value
  100. }
  101. return defaultValue
  102. }