error 更换

main
Rice 1 month ago
parent ce71603127
commit 70b8a2570e

@ -1,13 +1,16 @@
package meterControl package meterControl
import "tgk-touch/internal/library/meterControl/Adl200Impl" import (
"log"
"tgk-touch/internal/library/meterControl/Adl200Impl"
)
import "tgk-touch/internal/library/meterControl/Adl400Impl" import "tgk-touch/internal/library/meterControl/Adl400Impl"
type MeterFirm string type MeterFirm string
const ( const (
ADL200 MeterFirm = "AEM-ADL200" ADL200 MeterFirm = "ADL200"
ADL400 MeterFirm = "AEM-ADL400" ADL400 MeterFirm = "ADL400"
) )
var ( var (
@ -33,6 +36,10 @@ func init() {
} }
func GetMeterControls(firm MeterFirm) IMeterControl { func GetMeterControls(firm MeterFirm) IMeterControl {
log.Println("GetMeterControls", firm)
_, ok := meterControls[firm]
log.Println("GetMeterControls", ok)
log.Println("GetMeterControls", meterControls)
if v, ok := meterControls[firm]; ok { if v, ok := meterControls[firm]; ok {
return v return v
} }

@ -2,6 +2,7 @@
package adl400TtyApi package adl400TtyApi
import ( import (
"log"
"strings" "strings"
"github.com/gogf/gf/v2/util/gconv" "github.com/gogf/gf/v2/util/gconv"
@ -12,19 +13,25 @@ import (
"tgk-touch/internal/module/meterFirm" "tgk-touch/internal/module/meterFirm"
) )
var mc meterControl.IMeterControl var mc2 meterControl.IMeterControl
var deviceInfo config.DeviceInfo var deviceInfo config.DeviceInfo
func Init() { func Init() {
deviceInfo = g.Config().DeviceInfo deviceInfo = g.Config().DeviceInfo
mc = meterFirm.Manager().GetMeterControl() mc2 = meterFirm.Manager().GetMeterControl()
meterFirm.Manager().RegisterReloadCallback(Reload) meterFirm.Manager().RegisterReloadCallback(Reload)
initReadFunc() initReadFunc()
initWriteFunc() initWriteFunc()
} }
func getMc() meterControl.IMeterControl {
log.Println("getMc==", mc2, meterFirm.Manager().Get())
if mc2 == nil {
mc2 = meterFirm.Manager().GetMeterControl()
}
return mc2
}
func Reload() { func Reload() {
mc = meterFirm.Manager().GetMeterControl() mc2 = meterFirm.Manager().GetMeterControl()
} }
func initReadFunc() { func initReadFunc() {
towgo.SetFunc("/adl400/readPhaseData", readPhaseData) towgo.SetFunc("/adl400/readPhaseData", readPhaseData)

@ -21,7 +21,7 @@ func readPhaseData(rpc towgo.JsonRpcConnection) {
addr := getMeterAddr(p.CommUid) addr := getMeterAddr(p.CommUid)
rtuCommUid := p.CommUid rtuCommUid := p.CommUid
var mp deviceManagement.MeterPower var mp deviceManagement.MeterPower
totalEnergy, aEnergy, bEnergy, cEnergy, err := mc.ReadEnergy(rtuCommUid, addr) totalEnergy, aEnergy, bEnergy, cEnergy, err := getMc().ReadEnergy(rtuCommUid, addr)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -30,7 +30,7 @@ func readPhaseData(rpc towgo.JsonRpcConnection) {
mp.BEnergy = math.Round(bEnergy*100) / 100 mp.BEnergy = math.Round(bEnergy*100) / 100
mp.CEnergy = math.Round(cEnergy*100) / 100 mp.CEnergy = math.Round(cEnergy*100) / 100
_, aVoltage, bVoltage, cVoltage, err := mc.ReadVoltage(rtuCommUid, addr) _, aVoltage, bVoltage, cVoltage, err := getMc().ReadVoltage(rtuCommUid, addr)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -38,7 +38,7 @@ func readPhaseData(rpc towgo.JsonRpcConnection) {
mp.BVoltage = math.Round(bVoltage*100) / 100 mp.BVoltage = math.Round(bVoltage*100) / 100
mp.CVoltage = math.Round(cVoltage*100) / 100 mp.CVoltage = math.Round(cVoltage*100) / 100
_, aElectricCurrent, bElectricCurrent, cElectricCurrent, err := mc.ReadElectricCurrent(rtuCommUid, addr) _, aElectricCurrent, bElectricCurrent, cElectricCurrent, err := getMc().ReadElectricCurrent(rtuCommUid, addr)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -46,7 +46,7 @@ func readPhaseData(rpc towgo.JsonRpcConnection) {
mp.BElectricCurrent = math.Round(bElectricCurrent*100) / 100 mp.BElectricCurrent = math.Round(bElectricCurrent*100) / 100
mp.CElectricCurrent = math.Round(cElectricCurrent*100) / 100 mp.CElectricCurrent = math.Round(cElectricCurrent*100) / 100
totalPower, aPower, bPower, cPower, err := mc.ReadPower(rtuCommUid, addr) totalPower, aPower, bPower, cPower, err := getMc().ReadPower(rtuCommUid, addr)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -54,7 +54,7 @@ func readPhaseData(rpc towgo.JsonRpcConnection) {
mp.APower = math.Round(aPower*100) / 100 mp.APower = math.Round(aPower*100) / 100
mp.BPower = math.Round(bPower*100) / 100 mp.BPower = math.Round(bPower*100) / 100
mp.CPower = math.Round(cPower*100) / 100 mp.CPower = math.Round(cPower*100) / 100
tf, af, bf, cf, err := mc.ReadPowerFactor(rtuCommUid, addr) tf, af, bf, cf, err := getMc().ReadPowerFactor(rtuCommUid, addr)
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -73,7 +73,7 @@ func getMsgAddress(rpc towgo.JsonRpcConnection) {
CommUid string `json:"comm_uid"` CommUid string `json:"comm_uid"`
} }
rpc.ReadParams(&p) rpc.ReadParams(&p)
addr, err := mc.ReadMsgAddr(p.CommUid, getMeterAddr(p.CommUid)) addr, err := getMc().ReadMsgAddr(p.CommUid, getMeterAddr(p.CommUid))
if err != nil { if err != nil {
panic(err) panic(err)
} }
@ -87,7 +87,7 @@ func getDailyFreezingTime(rpc towgo.JsonRpcConnection) {
} }
rpc.ReadParams(&p) rpc.ReadParams(&p)
time, err := mc.ReadDailyFreezingTime(p.CommUid, getMeterAddr(p.CommUid)) time, err := getMc().ReadDailyFreezingTime(p.CommUid, getMeterAddr(p.CommUid))
if err != nil { if err != nil {
panic(gerror.Wrap(err, "getDailyFreezingTime")) panic(gerror.Wrap(err, "getDailyFreezingTime"))
} }
@ -101,7 +101,7 @@ func geDeviceTime(rpc towgo.JsonRpcConnection) {
} }
rpc.ReadParams(&p) rpc.ReadParams(&p)
time, err := mc.ReadTime(p.CommUid, getMeterAddr(p.CommUid)) time, err := getMc().ReadTime(p.CommUid, getMeterAddr(p.CommUid))
if err != nil { if err != nil {
panic(gerror.Wrap(err, "geTime")) panic(gerror.Wrap(err, "geTime"))
} }
@ -115,7 +115,7 @@ func getReadMonthlyFreezingTime(rpc towgo.JsonRpcConnection) {
} }
rpc.ReadParams(&p) rpc.ReadParams(&p)
day, hour, err := mc.ReadMonthlyFreezingTime(p.CommUid, getMeterAddr(p.CommUid)) day, hour, err := getMc().ReadMonthlyFreezingTime(p.CommUid, getMeterAddr(p.CommUid))
if err != nil { if err != nil {
panic(gerror.Wrap(err, "getReadMonthlyFreezingTime")) panic(gerror.Wrap(err, "getReadMonthlyFreezingTime"))
} }

@ -15,7 +15,7 @@ func setMsgAddress(rpc towgo.JsonRpcConnection) {
oldAddr := getMeterAddr(p.CommUid) oldAddr := getMeterAddr(p.CommUid)
newAddr := gconv.Byte(strings.TrimPrefix(p.MsgAddr, "0x")) newAddr := gconv.Byte(strings.TrimPrefix(p.MsgAddr, "0x"))
err := mc.WriteMsgAddr(p.CommUid, oldAddr, newAddr) err := getMc().WriteMsgAddr(p.CommUid, oldAddr, newAddr)
if err != nil { if err != nil {
panic(err) panic(err)
} }

Loading…
Cancel
Save