package dataStruct import "strings" //type DtuConfig struct { // Platform []DtuConfigItem `json:"platform"` //} type DtuConfig struct { Enable bool `json:"enable"` ID int `json:"id"` Name string `json:"name"` IP string `json:"ip"` Port int `json:"port"` Protocol string `json:"protocol"` Pw string `json:"pw"` Mn string `json:"mn"` Secs int `json:"secs"` St string `json:"st"` Cn string `json:"cn"` Others string `json:"others"` Slave []*DtuSlave `json:"slave"` } type DtuSlave struct { Addr int `json:"addr"` //设备串口地址 Cn string `json:"cn"` //设备CN NO string `json:"no"` //设备编号 LvRef float32 `json:"lvRef"` //线电压基准(220) PvRef float32 `json:"pvRef"` //相电压基准(380) MType string `json:"mType"` //设备类型 BmYz map[string]string `json:"bmYz"` //编码因子 } type BmYz struct { P string Pa string Pb string Pc string Q string Qa string Qb string Qc string Pf string Pfa string Pfb string Pfc string Ua string Ub string Uc string Uab string Ubc string Uca string Ia string Ib string Ic string Iz string Uaw string Ubw string Ucw string Uabw string Ubcw string Ucaw string F string FW string IUnbalance string UUnbalance string Dp string Pv string Tpe string Tqe string Fpe string Fqe string Tps string Tqs string Fps string Fqs string T string T2 string T3 string T4 string T5 string T6 string T7 string } // GetBmYzKey 获取BmYz的键 func (ds *DtuSlave) GetBmYzKey(key string) string { if ds.BmYz == nil { return strings.ToLower(key) } value, ok := ds.BmYz[key] if ok { return value } return strings.ToLower(key) } // GetBmYzKeyOrDefault 获取BmYz的键 func (ds *DtuSlave) GetBmYzKeyOrDefault(key string, defaultValue string) string { if ds.BmYz == nil { return defaultValue } value, ok := ds.BmYz[key] if ok { return value } return defaultValue }